-
-
Notifications
You must be signed in to change notification settings - Fork 20
/
CHANGELOG
371 lines (285 loc) · 21.7 KB
/
CHANGELOG
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
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