1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410
|
0.17.1 / 2025-11-09
Important Bug Fixes release. The update is highly recommended because some connections may have been lost during session save with v0.17.0.
Bug fixes:
client jack_naming wrongly considered as True when not specified in xml file (very strong)
broadcast broken, impossibility for clients to talk together, breaking automations between non-timeline-xt and non-mixer-xt (and maybe others)
unkwown behavior if client_id is not specified in template
possible crash when a port is renamed by its client
add group without saved position could not update the scene size
0.17.0 / 2025-11-02
Mainly a patchbay features release. There are important structural changes in the code, here are mentionned only the most important new features.
Qt6 is now the default framework (instead of Qt5).
New dependencies:
python3-qtpy
python3 JACK-Client
RaySession itself:
New protocol: Internal. Used by ray-jackpatch, ray-alsapatch and ray-sooperlooper.
Avoid some UDP ports, some JACK clients, use less RAM.
(in config: daemon/internal_mode can be FORCE_INTERNAL, FORCE_NSM or FOLLOW_PROTOCOL)
Patchbay daemon now runs in the daemon process
(in config: daemon/internal_patchbay can be 'true' or 'false')
ray_control: auto-completion for bash
Tool bar: tool bar is now responsive design, it can have many lines if too much widgets are shown
Patchbay:
Views: you can now use as much views as you want, switching them with Alt+Num
Hide: Boxes are now hideable (a widget in the tool bar allows to set hidden boxes visible)
Arrange: two scripts can be now arrange the graph, "follow the signal chain" or "two rows facing each other"
Custom Names: Clients and ports are now renamable in the canvas,
it can optionnally set this name as JACK metadata and auto-export custom names to JACK pretty names.
Undo/Redo: all box move, wrap/unwrap, hide/restore, arrange, change view events can be undone/redone
+ Many many optimizations to prevent lagging when patchbay is consequent.
0.14.4 / 2024-11-11
Bug fix release.
Bug Fixes:
Support pyliblo3 as well as pyliblo (Done by AdamWill)
ray_control open_session_off fixed (very important for some scripts)
execute chmod +w on session files after their copy from template (needed for NixOs)
save_via_windows script is now POSIX compliant (Done by Dennis Braun)
Improvments:
add --osc-port argument to sooperloooper_nsm executable (Done by Jean-Emmanuel)
0.14.3 / 2023-12-02
Bug fix release.
Bug Fixes:
Daemon crashed at session open with no clients (making Network Sessions not working well)
Desktops Memory option was totally broken
Daemon crashed if $LANG environment variable was not defined (thanks to Gaƫl de Chalendar)
Templates:
add Mixbus9 and Mixbus32C 8 and 9 templates (thanks to Erich Eickmeyer)
remove Jack Mixer old LASH template (Ray-Hack) (Jack Mixer uses NSM for a long time now)
rename Calf JACK Host template with a folder without spaces (adapt to debian policy)
0.14.2 / 2023-10-22
Minor bug fix release, probably the last of the year.
BugFix:
Top left Favorites button was not working, template were listed, but nothing happened when clicking on it
fix a possible ray-alsapatch crash
some widgets were not locked in client properties dialog when it is launched for a template preview
Change:
client full rename now restarts the client or make it reload its project if it is already started
Templates:
add Ardour8 template
0.14.1 / 2023-09-23
Important Bug Fix Release
Major Fixes:
Some client project files were not renamed at session duplicate (and certainly when creating a session from user template)
ray-jackpatch and ray-alsapatch various problems that involve loss of connections
"Optional-gui states" option was not working at all
typo: replace 'identifiant' with 'identifier' in english version
Minor fixes in patchbay (all theses bugs did already existed in 0.13.1)
'navigation on borders' option state was not restored at startup
Drag with middle click wrongly activate 'navigation on borders'
Shift + Mouse wheel for horizontal scrolling was not working
0.14.0 / 2023-09-18
This release is probably the last major release before 1.0.0 (others 0.14.X may exist).
Packagers should set python3-pyalsa (>=1.2.4) as a dependency, else ALSA MIDI ports wont be displayed in the patchbay, and ALSA Connections client will not work.
Long time users (before 0.9.0) may note that ray-proxy and related methods will be removed in 1.0.0, because RayHack pseudo-protocol does the same thing better, and I don't want to maintain this code part anymore.
RaySession itself:
New Features:
RaySession has now a preferences dialog with tooltips.
List factory templates also list templates for Ardour (and Mixbus) templates, it allows user to start directly Ardour with an ardour user session template.
Start a template choosing its unique identifier (this identifier is also used by client to set its JACK group names), useful if you use many instances of the same client.
Change client identifier, prefix mode or jack_naming method when the client is stopped, connections are updated.
Start NSM client in a terminal, with a customizable global terminal command.
Changes:
"Gui states" option is now disabled by default, because it can be very confusing for NSM apps devs.
Add new client status (lose) when the client is closed but its terminal is still running.
Use xml.etree everywhere instead of qtpy.QtXml to read/write xml files, now attributes order is always the same at each save.
Take systray icon from system if it exists
Fixes:
fix SESSION_NAME not replaced in advanced trashed client properties
JACK Connections (ray-jackpatch):
Has been fully rewritten to not use Qt anymore, so, it should be lighter.
At startup, it now disconnects ports if theses ports were present and not connected at last save
ALSA Connections (ray-alsapatch):
This NSM client has been added, it makes exactly the same thing than ray-jackpatch, but for ALSA MIDI ports.
HoustonPatchbay:
Add the possibility to show ALSA MIDI ports (not enabled by default).
Port types view is now restored at startup if the ports type filter widget is visible.
make Mixbus groups behave as Ardour ones
Fix box layout (large or high) not restored with python >=3.10
fix various crashes
0.13.1 / 2023-01-20
This release fixes the following bugs:
RaySession itself:
window was highlighted on right click on systray icon
fix multiple same group positions possible in json files (at load)
add Ardour7 template / remove Ardour 4 template (probably no one use it anymore)
save environment variables for clients
HoustonPatchbay :
add Patchichi export function in options dialog (this is the only one new feature)
Port is now CV if it is mentioned only in the port metadatas
fix CV ports not really readable in "dark boards" theme
allow custom metadata icons for any box type
fix theme not renamed after duplicate with new name
fix inconsistent portgroup name if portgroup name endswith with AUX with at least digits at end of the port name.
Patchbay manual has been splitted from the RaySession manual, because of the existence of Patchance and Patchichi.
0.13.0 / 2022-09-18
Patchbay has been extracted in a new submodule named HoustonPatchbay. This module is now used by Patchance and could be used by any other python Qt program.
New Features (all coming for HoustonPatchbay):
Editable themes (+ 6 new themes) in a .conf file format
boxes can have two different layouts
Move the view when mouse cursor is near the border while selecting, moving or connecting boxes (optional)
Adapt port/portgroup connect context menu style to patchbay theme
Start connection from double click on port/portgroup for easier touchpad use
Add JACK Tranport widget to the tool bar
Add port type filter to the tool bar
Customizable tool bar, right click and select which widgets you want
Bug Fixes
fix box making leapfrog when moved from another box with "prevent overlap" option
fix some python3.10 crashes
0.12.0 / 2021-12-17
Features:
Add "Startup" dialog which let you open a recent session. This way, just lanch RaySession and press Enter to load the last session.
Add optional systray icon, activated only when a session is loaded, but user can also decide to use it always or never.
"Open Session" dialog largely improved, user can now see clients, notes and snapshots in the session to load. We can also see session folder size and date, and if session contains scripts. It is also now possible to rename, duplicate or save as template a not loaded session, or to load in the current session a client from another session.
add "long jack naming" checkbox in "add executable" dialog.
Add "utility scripts" to menubar:
convert an ardour session to a Ray session (containing this ardour session)
Convert the current session to the NSM file format
Convert Ray-Hack clients to NSM, for Jack-Mixer and Hydrogen
Add "recent sessions" to menubar and to systray icon.
Add "prevent overlap" default option, with this, when a box is moved on front of other ones, theses other boxes are moved elsewhere (near).
double click on patchbay box to show/hide optional-gui, if this box is recognized as a client box
Add 'Find a box' (Ctrl+F) filter bar, to highlight boxes matching with a given pattern
Add 'Find patchbay boxes' in client menu, it highlights boxes of the client (if recognized with their name)
Add box wrap button if box is fat.
Limit patchbay port width, truncking port name in the middle, the max width can be changed in canvas options dialog
Ports in portgroups can now be larger if their name requires that
Specific decorations for pipewire Monitor clients
ray_control: trashed_client remove_keep_files option added.
Add :monitor: NSM capability, a client can now be aware of other clients events.
Behavior changes:
Patchbay is now shown by default.
"Keep Focus while opening clients" option is now de-activated by default, its shortcut has been changed to Ctrl+H.
In patchbay, if zoom is lower than 40%, a mouse click and drag anywhere in a box moves this box.
Session file is now automatically saved in case of consequent changes: session renamed, client prefix changed, client definitely removed.
Sessions in a session directory are not listed anymore, mostly for faster listing.
Bug Fixes:
Display true client names if "use graceful names" canvas option is unchecked
Remove the vertical white line on the left, in fullscreen patchbay
No more possibility to see boxes with no ports
Fix connections moving with a delay in case of fast box move.
Fix too long or empty Midi-Bridge port names with pipewire option jack.filter_name=true
fix crashes with recent versions of python or python-qt
consider '/' as box title divisor only if it seems to be a client of session, and this way prevent some pipewire titles to be wrongly splitted
fix crashes because of recursives error while moving a patchbay box.
fix crash with Ray-Net (Network Session) save client template action
sooperlooper_nsm now follows given jack_client_name (with option, to prevent connections loses)
New Templates:
seq192
0.11.1 / 2021-08-27
Bug Fixes:
fix GUI crash when showing snapshots without config for info dialog
fix missing icons and applications infos in "Add Application" dialog under Fedora
fix patchbay context menu displayed at wrong place under Wayland
grey background for all QGroupBox, because some qt styles doesn't separate them from the rest of window (grrr...), and it becomes not understandable).
patchbay: ardour "physical_audio_input_monitor_enable" becomes "physical monitor" with graceful names enable, same for midi
Improvements:
Manual : style review and patchbay section added
Patchbay boxes allow 3 or 4 lines title, because PipeWire uses sometimes veryyyy long group names for hardware boxes
0.11.0 / 2021-08-05
The most important new feature in this release is the apparition of the JACK patchbay. You also can press Ctrl+J to show/hide the patchbay.
The patchbay has been forked from Carla, with some improvements.
For the moment, there are only 3 advantages to have the patchbay directly in RaySession's GUI
Boxes positions are memorized and replaced per session
Boxes have icons of the corresponding NSM client
of course: only one window for two things you generally need in a session
Note that :
The session frame is now "responsive design" to be reduced in width and allow more space to the patchbay.
messages were moved from the right to the bottom left (under the session frame)
The list below concerns the improvements of patchbay:
Most important probably: portgroups and stereo detection. Ports are automatically grouped into a portgroup if they seems to form a stereo pair. This allows faster connections, and also a more readable canvas, with less and less useless text. This improve has been proposed for PR to Carla. Portgroups can be also set by JACK metadatas, and without limitation of number of ports.
wrap/unwrap boxes: you can hide all ports of a box, very useful for big groups as Ardour or Hydrogen boxes. Hide what you don't need let's you see better what you need !
hardware boxes have specific decorations
Port order follows JACK metadata "port-order"
Boxes have their application icon if possible. Box header is a little higher, but it allows box to be consequently shorter in width in case group name is long.
connect menu by right click: by right click on a port, you can directly connect the port to any connectable port of the canvas. Connect a port doesn't close the context menu, so you can connect to many ports quickly. It also works for portgroups.
Clipboard: cut/copy connections of a port to another port, in port context menu. Also works for portgroups.
filter ports: by right click in the background, you can display only Audio ports, or only MIDI ports, or all ports of course.
when you click and drag to connect 2 ports, you also can connect with right click (while keeping left mouse button down), this way you can connect quickly one port to many others.
with click and drag on a port, you can also move to a port with same mode (input/output), it will cut and copy connections from the first port to the second one. To prevent wrong movements, it works only if the second port has no connections
Beziers connections lines have been reviewed to be more visible when the ports are close in abscissa and distant in ordinate
canvas option window is a tool dialog where options take effect on place
graceful names (default option): port names are shortened with custom rules, it doesn't uses JACK aliases. Allow boxes to be less large.
elastic canvas (default option): the scene is automatically resized to the contents, so the view is directly optimized when group is added or moved
option to group or not hardware A2J ports
Box moves are animated when they are moved to their session position, when the port type filter change, or when they are joined/splitted
Double-click anywhere in patchbay to toggle fullscreen patchbay
Regressions:
No option to use straight lines instead of bezier lines, I find it very ugly and unusable
No option to animate box apparition
No theme support, only color scheme
0.10.1 / 2021-02-04
Manual:
Add a complete online and offline manual accessible from the help tab of the menu bar. It opens RaySession's manual in your web browser.
Note that english is not my mother language, corrections are welcome.
Bug Fixes:
Client label is now grayed out when client is added stopped
Jack config memory script won't prevent anymore to load the session if ALSA device is set to 'none'
French translation fixes (thanks to Olivier Humbert)
New Template:
Rakarack-plus
0.10.0 / 2020-11-10
New Features:
Add option "Remember optional GUI states" which recalls the optional GUIs visibility state
Add Application dialog largely improved with access to all possible informations about the templates
Session Notes dialog where you can edit...session notes
'duplicate', 'save session as template' and 'rename session' moved to a menu at top left of the session frame
provide log files in ~/.config/RaySession/logs/
improve open session dialog behavior between filter bar and treelist
add "Make Reappear all hidden dialogs" action
add RayNet client protocol, which is used only for Network Sessions
change icon for optional GUI visible/hidden (shamelessly pricked idea at Agordejo)
ray_control : add_client_template not started option added
clients now remember their template origin
"save as template" button becomes "Update the Template" in save as template (session/client) dialog if template exists
Jack config script now saves all pulse2jack configurations, even the more complex ones
API change:
raysession's --session argument has been replaced with --start-session because --session was taken by Qt, -s still works fine
Bug Fixes:
Now translated in french for french speaking users out of France
Add all default Qt translations
raysession should connect to a running daemon without GUI, even after a GUI crash (GUI crash should not happen of course ;) )
ray_control start now start with the good session root if it is not the default one (~/Ray Sessions)
remove Hydrogen NSM template because RayHack template is safer for now
Sequencer64 template has a -m option to work fine with JACK connections
New Templates:
Xtuner
Mamba
0.9.2 / 2020-08-01
Bug Fix:
Strong: Fix empty client templates list if there was no user client template
0.9.1 / 2020-07-21
Bug Fix:
Remove a binary file added by error to source code
0.9.0 / 2020-07-16
New Features:
CLI: Control allmost all GUI actions and more with the CLI ray_control.
Session scripts: allow user to edit shell scripts at session load, save and close.
JACK config session script: script that saves and recalls the JACK configuration for the session.
Add this from session templates in "New Session" window.
RayHack: New client protocol which is an alternative to ray-proxy.
This allows to launch directly the process and to edit its properties even if process is stopped.
I know this feature will be considered as heretic by someones, this is not strong, I know it doesn't changes things too much.
Factory client templates are installed in /etc/xdg/raysession to allow packagers to add some templates.
Get client label, icon and description from their .desktop file.
Subfolder combobox removed in New Session Dialog
Daemon option "Save from client" has been removed. Please affect a global keyboard shortcut (Meta+Ctrl+S) to ray_control save instead.
0.8.3 / 2019-11-25
This release fixes the link for src/bin/ray_control from absolute to relative path.
Sorry for the inconvenience.
0.8.2 / 2019-11-20
this new version is here to fix a big bug with snapshots.
If user name and user email were not mentioned to git, snapshot always failed with some versions of git.
Fix snapshot/git bug
Fix network session not working
Provide fallback icons for allmost all system icons
add little script 'ray_control', this way you can use 'ray_control save' to save your running session (and affect this to a global keyboard shortcut (eg, Meta+Ctrl+S)).
0.8.1 / 2019-10-23
Just a bug fix release. In v0.8.0 , first session creation failed (first session of the directory (e.g. ~/Ray Sessions/first session).
Ray Session has also been renamed to RaySession everywhere it was.
0.8.0 / 2019-10-15 Autumn Release.
This release contains many new features. Mainly the snapshot manager.
Snapshot manager (requires git): Take a snapshot at each session save. User can go back to a previous snapshot with the "rewind" button at the right of "executable" button. See "snapshots explain" file in code root for more info.
Proxy: Improve integration of non savable clients. Possibility to display a special save icon and prevent accidental close on RaySession in this case. Try to close gracefully client window is possible (requires wmctrl).
Favorites: User can quickly add a favorite template with "Favorites" button or with a right click below clients.
Add Application dialog: Now shows an "User" icon at right of each user template, click on it to remove this template. Click on favorite icon to add the template to favorites. Double click on template to launch it.
Open Session dialog: Now shows all session in a tree-view (if some sessions are under a sub-folder). Double-click on session to open it.
New Session Dialog: If some sessions are in a sub-folder, shows a sub-folder combo box for the new session.
Add Executable Dialog: Click on "Show More Options" to change Prefix or client_id. Useful to integrate in the session files made outside (for advanced users).
Client Properties Dialog: global re-design, edit line added to edit extensions ignored for snapshots.
add a donations Dialog
NSM Compatibility review: Possibility to launch a client externally with the environment variable NSM_URL, Absolute PATH are not allowed anymore when adding an executable. Integration of server-control NSM OSC messages which try to reproduce exact NSM behavior.
Bug Fix: fix prevent desktop session disconnection (on KDE and maybe other ones desktops).
0.7.2 / 2019-07-15
New Application Templates for OPNplug* and amsynth.
fix unsaved stop signal in ray-proxy
faster pid check for desktops memory
Thanks to jpcima for the OPNplug template pull request.
0.7.1 / 2019-01-16
Bug Fixes:
Fix bug with drag and drop client items. Clients order wasn't saved.
Fix untranslated proxy window.
Fix non removed stopped clients at session close.
Fix search of switchable clients if client executable or arguments have been recently modified
Now send hide_optional_gui to client only once "open" has been sent. This can now makes some window flashes but it did make crash some softwares as Patroneo and Fluajho.
New Templates:
Add Patroneo and Fluajho templates to Factory
0.7.0 / 2019-01-07
New features:
New Option (activated by default): provide bookmark (shortcut) of the session folder for gtk2, gtk3, qt4, qt5, fltk and kde5 file pickers.
New Option: Desktops Memory (requires wmctrl). If activated, clients windows will be moved to the given desktop when session is ready, or when a client is ready. It may not works depending on your D.E.
Edit executable and arguments in client properties window. Arguments are supposed to be not supported by NSM. Sometimes it works and it can be useful.
option -s to load session at startup
ray-proxy: new option "wait window for reply" (requires wmctrl)
sooperlooper_nsm: option to pause and trig with jack_transport events (play/pause)
new factory templates for ADLplug, Petri-Foo, Shuriken, Sequencer64 and SooperLooper +Transport
|