Skip to main content

Synfire 2.0.7

Posted

This updates brings two important improvements: Menubar should now be stable on macOS and display performance on Windows is much better than before (affects parameter display mostly, but to a very noticeable extent). 

There are 70+ other changes. As usual, I highlighted items you may want to check out.

Keyboard commands had serious issues that lead to mistakes like cutting the wrong objects on Command-X and similar (sorry for that, a big deal). The code was now fundamentally reorganized as was general cut/copy/paste/undo behavior. 

You need to reset your custom keyboard assignments once after the update.

  1. New: Dynamics parameter (experimental)
  2. macOS: Fixed crashes with main menu
  3. macOS: Command focus was messed with by menubar, e.g. Cut might cut something else
  4. macOS: Commands without modifier keys did not show up in menubar
  5. macOS: Native Mac menubar should now be safe
  6. Updated key commands
  7. Use hand cursor only for block-like objects
  8. Chords-Only playback sometimes mute for no apparent reason
  9. Improved responsiveness of help browser
  10. Shift values printed with double minus sign
  11. Shift values should not print as dotted lengths
  12. Shift and Length parameter visualization improved
  13. Fixed bug in Shift template for humanization  
  14. Help browser lags too much behind mouse movements
  15. Editing: Undo needs to backup Figure in HyperEdit mode, not the current parameter
  16. Editing: Vertically scaling a span selection always created accidentals
  17. Editing: Horizontally scaling a span selection did not snap to grid
  18. Editing: Paste should extend parameter length to accommodate new content
  19. Editing: Paste should result in same type of selection and preserve original position
  20. Editing: Repeat, resize handles not always at correct position
  21. Editing: Speed up response of Click Board buttons
  22. Editing: Speed up response of instant audio feedback
  23. Editing: Don't show grid for empty parameters unless current input focus
  24. Editing: Indicate end of paramerer if at an odd position
  25. Editing: Multiple selection does not preserve position when pasted
  26. Editing: Lasso disappeared after a while
  27. Editing: Input focus sometimes lost after drawing
  28. Editing: Show all velocities in context when altering with mouse
  29. Editing: Playback of symbols at negative positions was hampered
  30. Library: Adding channels to a device inadvertently updated all phrase pools
  31. Library: Canceling an import invalidates sound assignments
  32. Library: Extracted phrase could have no valid sound descriptor
  33. Library: Allow phrase extraction (Command-E) from any parameter view and editor
  34. Library: Right-click menu over phrase grid was missing
  35. Library: Fixed several issues with selection, focus, commands
  36. Library: Double-click on pool or phrase should jump to Library page for editing
  37. Library: Collapsed library window lacks EDIT menu for cut/copy/paste
  38. Library: Delete phrase, pool, folder can't be undone
  39. Sound: Fixed issues with document logout
  40. Sound: Device channel controls on sidebar should be disabled
  41. Sound: Rack module menu for icons was broken
  42. Sound: Fixed user interface issues with Audio/MIDI Setup window
  43. Sound: Rack modules and sounds need input focus for Duplicate/Copy/Cut/Paste
  44. Sound: Cut/Paste multiple selected sounds
  45. Sound: Fixed errors with device editor
  46. Sound: Devices in arrangement dont support folders so options should be hidden
  47. Harmony: Added all inversion options to Transform menu
  48. Sound: Global parameters should never allocate a sound
  49. Keyboard: Commands for several View menu items (show/hide)
  50. UI: New option View >> Looped Parameter Values
  51. UI: New option View >> Follow Parameter
  52. UI: Selecting harmony lane should not "disappear" all tracks (unlink parameters instead)
  53. UI: Overhaul of command processing
  54. UI: Reorganized structure of keyboard shortcuts editor
  55. UI: Fixed bugs with keyboard shortcut editor
  56. UI: Fixed zoom handling for several views
  57. UI: Make tool buttons respond on mouse down already
  58. UI: Mitigate lag with drag & drop tracking of containers
  59. UI: Removed several redundant redrawing requests
  60. UI: Avoid redrawing spans clipped by foreground views
  61. UI: Ability to close library from embedded browser menu
  62. UI: Phrase>>New From Selection should be Library>>New Phrase From Selection
  63. UI: Undo was unduly disabled at times
  64. UI: ESC should switch to default tool regardless of current focus
  65. Fixed a fundamental error with the rendering core
  66. Fixed a crash with notation export
  67. Fixed a crash with Force Legato
  68. Fixed a crash when dropping a phrase on slack area
  69. Parameter Conversion: Shift => Velocites was broken
  70. Parameter Conversion: Shift => Length was broken
  71. Parameter outlet for Output must not accept drop/paste (read only)
  72. Palette layout issues fixed
  73. Selection reaching into negative positions doesn't start playback there
  74. Fixed a bug that printed negative durations/lengths wrongly
  75. Various graphics tweaks
  76. Snippets: Fixed Cut/Copy/Paste issues

 


Tue, 2022-07-19 - 16:05 Permalink

Well, the Shift parameter has been fixed for sure.

Clicking containers seems to instantly draw their content.

Adding new notes still has a negligible lag, but it's acceptable considering the rendering, etc.

Though:

UI: Mitigate lag with drag & drop tracking of containers

I don't see any difference, honestly. Probably when you drop them, but the selection gray empty rectangle is always behind.

Anyway, this version re-introduced the issue where drop-down menus don't stay on: I have to keep the mouse button clicked, otherwise they instantly hide.
Hopefully the next patch fixes this and the popups escaping the screen.

Oh, and I don't remember if it was always like that, but the playback vertical line is not shown in the Phrase Editor, and that's annoying because it's harder to keep track of the position by watching only the top part. I hope this can be fixed soon because since I need voices, I'm forced to use this display mode, which is the only current workaround for managing voices.

 

 

Reviewing some points:

New: Dynamics parameter (experimental)

Thank you. This is very useful to keep the "rhythm" of the figure and still making crescendos and other variations in the overall dynamics.
Just a minor glitch when the playback cursor passes by: the lines connecting the points gets glitchy. Well, the playback cursor has always been glitchy, leaving behind vertical gray lines, so very likely related.

Editing: Indicate end of parameter if at an odd position

It sounds useful, but I don't understand what's intended as an odd position. Can you clarify?

Editing: Show all velocities in context when altering with mouse

Thanks, but the velocity points are hidden behind notes, so depending on the figure sometimes I don't see most of the points. You should draw them last.

Library: Double-click on pool or phrase should jump to Library page for editing

UI: ESC should switch to default tool regardless of current focus

Useful.

Library: (fix) Delete phrase, pool, folder can't be undone

Palette layout issues fixed

Thank you, these two were annoying.

UI: New option View >> Looped Parameter Values

Doesn't seem to apply to Figures though, is that intended? They are always shown, when looped, regardless of the checkbox.

UI: New option View >> Follow Parameter

Thanks for bringing back the functionality.

Use hand cursor only for block-like objects

Not important, but I just don't see the cursor anymore at all; what are "block-like objects"?

Mon, 2022-07-18 - 08:41 Permalink

Thanks for the quick feedback and the crash report. Already fixed two crashes.

the selection gray empty rectangle is always behind.

It lags behind fast movement (Windows only) but keeps up again when you slow down. Previously it remained so far off the mouse pointer, it was hard to drop at a specific location.

Anyway, this version re-introduced the issue where drop-down menus don't stay on

Which one? Menus have not changed. There are a few buttons that need to 'fake' menu behavior. Some could have been missed.

I don't understand what's intended as an odd position

Any position not aligned with a measure. It's useful to see at a glance where irregular rhythm is introduced and if that was by intent or not.

Figures always show looped segments, because that's extremely important information. I can't imagine a situation where hiding them would make sense. You always need to know how the next loop merges into the previous one, because segments often overlap. Loops are shown up to container bounds, btw.

Block-like objects are bigger rectangular things, like a rack module, harmonic context. Jürgen was right. Now that moving objects can be tracked visually, it's moot. And yes, it doesn't seem to show much anymore. Only briefly when you drag a harmonic context from the palette sidebar.
 

Mon, 2022-07-18 - 13:50 Permalink

It lags behind fast movement (Windows only) but keeps up again when you slow down. Previously it remained so far off the mouse pointer, it was hard to drop at a specific location.

I don't know, it still behaves the same for me, like in the video I've made, no changes: (https://users.cognitone.com/comment/20021#comment-20021)
Actually, even somewhat worse: if I drag a container horizontally, the rectangle is sometimes left behind for up to 3 seconds.

Which one? Menus have not changed.

All the drop-down menus for parameters, in the inspector panel (clicking on the "v" symbol).
It's not about the DPI scale, by the way.

Any position not aligned with a measure.

Oh ok, I had the container itself misaligned, so it got confusing. Should it probably consider the container position? Because I was expecting it to align with the main metric scheme of the arrangement. It would be more useful this way, so you can drop a container at any position in a measure and still get a red vertical line which respects the actual measure it is in. Right now it seems to depend on the X position of the container.

Mon, 2022-07-18 - 15:58 Permalink

The menus on symbol types are click-and-hold option menus on regular buttons (indicated by the small triangle). They behave the same way in Logic Pro and other programs. It might be less common on Windows. Click once and keep open won't work as that triggers the button action.

But yes, there are other menus that should behave as you suggest (e.g parameter inspector toolbar)

A loop ending on a measure inside an oddly placed container is still odd, because it doesn't loop in multiples of a measure. I mean, it's not a strict definition, just a hint.

Mon, 2022-07-18 - 19:44 Permalink

Ok.

But yes, there are other menus that should behave as you suggest (e.g parameter inspector toolbar)

Yes, it didn't behave like that, previously.

 

BTW, "Follow parameter", in the case of Velocity, only works if the parameter is not Hyper. This may be intended too, however, consider this user case: I'm playing the whole piece while in the Velocity parameter view, and I want Synfire to switch container automatically so that, while the piece plays, I can check the velocities for the Figure that is playing in that particular moment of time. I understand that there could be multiple Figures, but since you already implemented "Follow parameter", you could make it so that it follows the Hyper velocity too. Or maybe a checkbox "Only follows snapshots", I don't know, but I would really like to proofread the velocities while playing.

Tue, 2022-07-19 - 00:31 Permalink

Turning off the various shadows is still required if you want to get the fastest. Not a big deal, after all.

The playback cursor glitches like crazy, though.

Tue, 2022-07-19 - 08:07 Permalink

The -H option doesn't work anymore??

It was a good workaround until the DPI issues are solved.

Tue, 2022-07-19 - 12:46 Permalink

Interesting take on HyperEdit and Follow Parameter. When that mode is active, Synfire can follow Figure in addition. Easy fix.

The -H argument has not changed.

I published a Patch that fixes some crashes and visual glitches as reported so far. I don't see those remnants of the playhead here, so I just included a bit more area to redraw after a move. Hope this improves apperance a bit.

Tue, 2022-07-19 - 17:26 Permalink

The -H argument has not changed

It doesn't work for me anymore since around .0.6.

Maybe I'm doing something wrong?

Or maybe I remember that it reset the application DPI to 100%, but that's not actually the case and it actually does something else?

 

I don't see those remnants of the playhead here, so I just included a bit more area to redraw after a move. Hope this improves apperance a bit.

This seems to have fixed the issue with Dynamics.

What's left is a glitch in the following things:

  • The metric scheme with the measure numbers in both in the track sheet and in the Phrase Editor. Gray vertical lines are drawn and stays.

  • For the bass segment, the playing range triangle towards the left, for the anchor, that appears when the segment is set to the middle range. The triangle disappears while the cursor is passing by.
Attachments

Tue, 2022-07-19 - 17:57 Permalink

The downside of efficient drawing is you need to exactly determine which objects to include left and right of the actual position, because they can be located far away. Imagine a segment that's 4m long. It needs to be redrawn for at least another 4m until it goes out of scope. The code to detect this is pretty costly. It looks back and forth in the parameter a lot and caches a map of used spans in advance. But all that happens to be still a lot faster graphics drawing on Windows.

Ironing out all edge cases takes a lot of time. If we want to get things done, we need to live for a while with a few instances where the playhead erases something that is redrawn only after stop.

Tue, 2022-07-19 - 17:59 Permalink

What really bugs me is those gray remnants. Synfire doesn't even draw those lines. It must be a clipping issue.

Tue, 2022-07-19 - 20:38 Permalink

What really bugs me is those gray remnants. Synfire doesn't even draw those lines. It must be a clipping issue.

Yes, the other issues are minor, but that one looks really bad.

Tue, 2022-07-19 - 22:26 Permalink

Helpfiles do not work anymore since 2.0.7. It only displays "Help files not found". Please help me find them ;-)

Wed, 2022-07-20 - 08:47 Permalink

Switching to English should find them.

I'll check why it doesn't default to English for any yet untranslated content anymore.

Wed, 2022-07-20 - 11:24 Permalink

Edit the desktop shortcut properties and add -H after the program filename in quotes (after the quotes).

As for the help files, please delete the folder DE and FR in C:\Program Files\Cognitone\Synfire\Manuals\Help. They have been published in error (not yet complete). On macOS it's in /Library/Application Support/Synfire/Manuals/Help.

Wed, 2022-07-20 - 14:07 Permalink

Thanks Andre, that helped :-) - and the description of the new "Dynamics" parameter is like I hoped, it would be - great new feature,   I will test it :-)

Wed, 2022-07-20 - 20:07 Permalink

For small midi files (8measures) I have no import issues on Mac. For large files it often crashes.

Wed, 2022-07-20 - 21:59 Permalink

For small midi files (8measures) I have no import issues on Mac. For large files it often crashes.

Does it really chrash, or does it just seem to get stuck? In the latter case, you should let the import run overnight. You might wake up with a big surprise :)

Thu, 2022-07-21 - 10:00 Permalink

Thanks for the quick reports. An infinite recursion sneaked into the import procedure.

Will publish a new build soon.

Thu, 2022-07-21 - 11:03 Permalink

Edit the desktop shortcut properties and add -H after the program filename in quotes (after the quotes).

As I said, it used to work, but it doesn't work anymore since around 2.0.6, the application is still "zoomed in".

Thu, 2022-07-21 - 21:38 Permalink

2.0.7 is also crashing whenever a factory figure is liked (hearted). This time SFP completely locked up and became unresponsive.

Fri, 2022-07-22 - 17:01 Permalink

Build #3 is now online

  1. Option menu buttons should behave like regular popup menus
  2. Corrupted memory reported after awake from sleep on macOS
  3. Some mouse cursors don't scale to HiDPI on Windows
  4. Standalone palette notepad must expand view when progression grows
  5. Fixed issues with Container >> Make Sketch
  6. Fixed an infinite recursion in figure recognition
  7. Fixed issues with horizontal scrolling and content visibility
  8. Fixed a crash with factory buttons for favorite and trash
  9. Follow Parameter should also follow Figure in HyperEdit mode
  10. Fixed a memory leak that caused scrolling to slow down over time
  11. Linear parameter lines wiped out by playhead
  12. Editing: Switching symbol type focus should unselect all
  13. Editing: Simplified click-and-hold menu for symbol types
  14. Snippets: Should be able to select an empty cell for copy/paste
  15. Snippets: Should be possible to paste containers, phrases, parameters, selections
     

Fri, 2022-07-22 - 20:53 Permalink

I'm still experiencing crashes when trying to import a Standard MIDI File. The procedure now works well, except if under the Settings tab I make a selection in "Import for Device," in which case Synfire crashes.

Sat, 2022-07-23 - 10:55 Permalink

Hi, I got a crash report every time I hit a new phrase in the imbedded library!

Sat, 2022-07-23 - 12:13 Permalink

Generating figures with factories also create crashes after newest update.