RaySession v0.12.0

Discuss anything new and newsworthy! See http://planet.linuxaudio.org and https://libreav.org/news for more Linux Audio News!

Announcements of proprietary software may fit better in the Marketplace.


Moderators: raboof, MattKingUSA, khz

Post Reply
houston4444
Established Member
Posts: 78
Joined: Mon Apr 02, 2018 6:53 pm
Has thanked: 3 times
Been thanked: 25 times

RaySession v0.12.0

Post by houston4444 »

Hi.
I publish a new RaySession release with many improves on the patchbay, the open session dialog and many other things.
RaySession is a session manager for audio production.

Image

Download link : https://github.com/Houston4444/RaySession/releases

here is the changelog:

Features:
  • Main Program
    • 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.
    • List applications found with the key X-NSM-Capable=true in their .desktop file
    • ray_control: trashed_client remove_keep_files option added.
    • Add :monitor: NSM capability, a client can now be aware of other clients events.
  • Patchbay
    • 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
Behavior changes:
  • Applications templates are not listed each time user call Add Application dialog, because now the program looks into all .desktop files and it can be long. User can update them with Refresh Applications push button.
  • 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 the 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 Template:
  • seq192
Enjoy !
User avatar
lilith
Established Member
Posts: 1698
Joined: Fri May 27, 2016 11:41 pm
Location: bLACK fOREST
Has thanked: 117 times
Been thanked: 57 times
Contact:

Re: RaySession v0.12.0

Post by lilith »

Great! I'm using RaySessiin to feed all audio through Jconvolver for Room Mode Correction.
User avatar
Transit_of_Io
Established Member
Posts: 19
Joined: Thu Sep 02, 2021 8:10 pm
Has thanked: 15 times
Been thanked: 14 times

Re: RaySession v0.12.0

Post by Transit_of_Io »

Thank you for RaySession! I'm using it (and ray_control) to switch between setups without a mouse or a screen. It's easy to play a piano song and then switch to something with a semi-automated beat and one synth for each hand, for instance, and then switch over to a Luppp session that sounds completely different. Doing that without a screen makes the artistic flow more natural.

I'm using it with hotkeys controlled through a Pure Data patch. I use RaySession to create and work on sessions, and then the incredibly reliable ray_control to do all the things while I do the other things.

It has helped me move away from being a mediocre amateur programmer/IT person and allows me to focus on being a mediocre amateur keyboardist.
houston4444
Established Member
Posts: 78
Joined: Mon Apr 02, 2018 6:53 pm
Has thanked: 3 times
Been thanked: 25 times

Re: RaySession v0.12.0

Post by houston4444 »

Thanks Transit_of_lo, nice to hear. Especially because ray_control was quite long and not very fun to develop (In fact, what was long was not to code ray_control, but make the daemon works correctly with), and I have very few feedback on it. So nice to hear that you think it is reliable ;).
User avatar
Largos
Established Member
Posts: 616
Joined: Mon Oct 05, 2020 12:21 pm
Has thanked: 70 times
Been thanked: 179 times

Re: RaySession v0.12.0

Post by Largos »

Not as complex a use as the Transit_of_io but I use KDE Plasma and I put a configurable button widget on a panel to trigger "ray_control save". Very useful when there's lots of windows open.
houston4444
Established Member
Posts: 78
Joined: Mon Apr 02, 2018 6:53 pm
Has thanked: 3 times
Been thanked: 25 times

Re: RaySession v0.12.0

Post by houston4444 »

Not as complex a use as the Transit_of_io but I use KDE Plasma and I put a configurable button widget on a panel to trigger "ray_control save". Very useful when there's lots of windows open.
I think I wrote two times in the manual to think to affect "ray_control save" to a keyboard shortcut (for example Ctrl+Meta+S), it is easy in KDE, but if you prefer something graphical, you can of course.
User avatar
Transit_of_Io
Established Member
Posts: 19
Joined: Thu Sep 02, 2021 8:10 pm
Has thanked: 15 times
Been thanked: 14 times

Re: RaySession v0.12.0

Post by Transit_of_Io »

houston4444 wrote: Wed Jan 26, 2022 8:39 am Thanks Transit_of_lo, nice to hear. Especially because ray_control was quite long and not very fun to develop (In fact, what was long was not to code ray_control, but make the daemon works correctly with), and I have very few feedback on it. So nice to hear that you think it is reliable ;).
I document like crazy, so in case any of this might be useful:

I keep one session running and have others open and close on the fly, and keep them separate using --port. I was not expecting it to just work right away, or for the sessions to open and close over and over without giving weird errors. This started about 3 weeks ago. The always-on session has a set of soundfonts and a synth I like to keep available, and those are still living in Ardour for now. Even with Ardour, it loads right up from a script I run at boot. I can turn on the machine, wait a few minutes, and start playing.

So in short that's one session running all the time on one port, others loading and unloading as needed, with no fuss whatsoever, on another.

I'm using an Android midi control app (TouchDAW) through qmidinet to control jack_mixer and some other stuff in the sessions, routed by way of Pure Data (to centralize all my MIDI). PD uses ALSA MIDI, and a2j doesn't always reconnect those ports when a session loads. I think that's because of changing client numbers that ALSA MIDI uses to identify ports. For that reason I use aconnect and individual a2jmidi_bridge ports to connect PD and seq24 to JACK MIDI (where Ray connects everything reliably). Aconnect can find ports by strings, so that can all be scripted and connect the same way every time.

It's possible that I'm just using Ray/a2j wrong. It wasn't that much work to script with aconnect though, and it works so well I forget how to tweak it between tweaks.

Anyway, once all of that connects I'm able to control the mix and some effects parameters from an android device over wifi without having to do anything but trigger the hotkey for a given session.

My next step (after catching up on practice) will be integrating the sessions into Raspberry Pi 4, where headless session management means carrying less hardware and using less power. I can keep you posted on any bugs I find. I'm too poor to offer much else right now.

Thank you again!
houston4444
Established Member
Posts: 78
Joined: Mon Apr 02, 2018 6:53 pm
Has thanked: 3 times
Been thanked: 25 times

Re: RaySession v0.12.0

Post by houston4444 »

PD uses ALSA MIDI, and a2j doesn't always reconnect those ports when a session loads.
A2J creates ports, it doesn't make connections if I am not wrong. That said, I saw that a2j does not rename ports exactly with the pattern of the ALSA port name, especially with some special characters. If for one or another one reason, an A2J port has not exactly the same name than the previous time, ray-jackpatch won't recognize it, sure, and won't connect.
My next step (after catching up on practice) will be integrating the sessions into Raspberry Pi 4, where headless session management means carrying less hardware and using less power.
The GUI is not very resource-intensive, but of course, when you don't need it, it is always a good thing. If needed, you can start the GUI when a daemon is running, it will automatically connects to the daemon at default RAY_CONTROL_PORT.
I can keep you posted on any bugs I find. I'm too poor to offer much else right now.
You're welcome ! I'll wait until you get rich ;)
Tapper
Established Member
Posts: 43
Joined: Fri Dec 14, 2012 1:41 pm
Has thanked: 3 times
Been thanked: 4 times

Re: RaySession v0.12.0

Post by Tapper »

Nice. Congratulations. Your patching system is so gorgeous! After it I can't look at Carla without pain, but, unfortunately, RaySession does not act as a plugin host.
User avatar
Transit_of_Io
Established Member
Posts: 19
Joined: Thu Sep 02, 2021 8:10 pm
Has thanked: 15 times
Been thanked: 14 times

Re: RaySession v0.12.0

Post by Transit_of_Io »

houston4444 wrote: Wed Jan 26, 2022 10:41 pm That said, I saw that a2j does not rename ports exactly with the pattern of the ALSA port name, especially with some special characters.


I was hanging on to an old assumption with that, and had no clue. Thank you.
The GUI is not very resource-intensive, but of course, when you don't need it, it is always a good thing.
The GUI is indeed light, but even lighter (in the case of Pi) is being able to operate with no monitor at all. With Ray managing all these sessions so gracefully, my little screen and its powerbank aren't needed for playing. It's nice to shed hardware.
If needed, you can start the GUI when a daemon is running, it will automatically connects to the daemon at default RAY_CONTROL_PORT.
This has brought awesome changes to my workflow. Instead of taking notes during music practice and hoping to remember, it's easy to make changes on the fly.
Last edited by Transit_of_Io on Sat Jan 29, 2022 7:53 pm, edited 1 time in total.
User avatar
Transit_of_Io
Established Member
Posts: 19
Joined: Thu Sep 02, 2021 8:10 pm
Has thanked: 15 times
Been thanked: 14 times

Re: RaySession v0.12.0

Post by Transit_of_Io »

Tapper wrote: Fri Jan 28, 2022 2:39 pm After it I can't look at Carla without pain, but, unfortunately, RaySession does not act as a plugin host.
Have you tried using Carla inside RaySession sessions? That's how I bring in plugins. I think you can also use Carla inside a Carla session, by my tender young brain can't handle that.*

*"young" compared to the age of the Earth
Natelok
Established Member
Posts: 58
Joined: Fri Feb 08, 2019 7:18 pm
Location: Donnybrook Western Australia
Has thanked: 78 times
Been thanked: 14 times

Re: RaySession v0.12.0

Post by Natelok »

I've only been using Raysession for a couple of days, but so far I love it. Thanks man.
Nate!

Music Nerd, Guitarist, Fixer of Things, DJ, currently employed by Donnybrook Balingup Community Radio (Station Manager & Drive Time DJ, Recording Engineer for a small attached studio for local artists)

DAW: Mixbus at home, Mixbus32C at work
Post Reply