Houston4444 / RaySession

Session manager for linux musical programs
GNU General Public License v2.0
177 stars 20 forks source link

raysession-gui crashes with unexpected float #132

Closed brobr closed 3 years ago

brobr commented 3 years ago

Hi on Slackware-current (with QT5.15.3, qt5-webkit-5.212.0, python-3.10.0, pyliblo3-0.12.0, PyQt5-5.15.2, pipewire-master built with jack) (no systemd nor qtchooser on this platform; also no qt4; Python is installed in /usr/lib64/python3)

I get this crash...(both with raysession-0.11.1 and with cloned repository)

bash-5.1$ raysession Connecting GUI to existing ray-daemon port 16187 Traceback (most recent call last): File "/usr/share/raysession/src/gui/gui_session.py", line 155, in _osc_receive function(path, args) File "/usr/share/raysession/src/gui/gui_session.py", line 535, in _ray_gui_patchbay_fast_temp_file_running self.patchbay_manager.fast_temp_file_running(*args) File "/usr/share/raysession/src/gui/patchbay_manager.py", line 1890, in fast_temp_file_running self.add_port(p.get('name'), p.get('type'), File "/usr/share/raysession/src/gui/patchbay_manager.py", line 1618, in add_port group.add_to_canvas() File "/usr/share/raysession/src/gui/patchbay_manager.py", line 360, in add_to_canvas patchcanvas.addGroup( File "/usr/share/raysession/src/gui/patchcanvas/patchcanvas.py", line 302, in addGroup group_box = CanvasBox(group_id, group_name, icon_type, icon_name) File "/usr/share/raysession/src/gui/patchcanvas/canvasbox.py", line 244, in init self.updatePositions() File "/usr/share/raysession/src/gui/patchcanvas/canvasbox.py", line 970, in updatePositions canvas.scene.deplace_boxes_from_repulsers([self]) File "/usr/share/raysession/src/gui/patchcanvas/scene.py", line 424, in deplace_boxes_from_repulsers irect.translate(QPoint(box_dict['to_x'], box_dict['to_y'])) TypeError: arguments did not match any overloaded call: QPoint(): too many arguments QPoint(int, int): argument 1 has unexpected type 'float' QPoint(QPoint): argument 1 has unexpected type 'float' Aborted

brobr commented 3 years ago

Recompiling the 0.11.1 source resulted now in a working program....

brobr commented 3 years ago

Ok, this is on jack integrated with pipewire and when qjackctl, ardour and hydrogen are already running. 1) setting up a new raysession with these programs, loaded new instances of them (not what I wanted)

2) then, when choosing open jack-patchbay (which would show an old saved session, not what's active) raysession crashed again. Trying to start it again from a terminal gives another float error ....

bash-5.1$ raysession Connecting GUI to existing ray-daemon port 16187 Traceback (most recent call last): File "/usr/share/raysession/src/gui/patchcanvas/canvasbox.py", line 1482, in paint painter.drawText(title_line.x, title_line.y, title_line.text) TypeError: arguments did not match any overloaded call: drawText(self, Union[QPointF, QPoint], str): argument 1 has unexpected type 'float' drawText(self, QRectF, int, str): argument 1 has unexpected type 'float' drawText(self, QRect, int, str): argument 1 has unexpected type 'float' drawText(self, QRectF, str, option: QTextOption = QTextOption()): argument 1 has unexpected type 'float' drawText(self, QPoint, str): argument 1 has unexpected type 'float' drawText(self, int, int, int, int, int, str): argument 1 has unexpected type 'float' drawText(self, int, int, str): argument 1 has unexpected type 'float' Aborted

Attached a list with how raysession has been installed raysession-installed.txt

Houston4444 commented 3 years ago

ok thanks. The first crash should be fixed by last commit https://github.com/Houston4444/RaySession/commit/874852ea0c18ea295e3c8384e8ab042f2baea253

second one is very very strange, it says title_line.x is a float when I really can't see how it can happens...

Houston4444 commented 3 years ago

oh, I found it !

Houston4444 commented 3 years ago

It should be both fixed now : https://github.com/Houston4444/RaySession/commit/41875f3b6aa84f3dd1cf43701edfe1c493b38d58

brobr commented 3 years ago

Ok, thanks; will try again

brobr commented 3 years ago

Sorry, (cloned git repository, timestamp Nov 2 23.43)

bash-5.1$ raysession Connecting GUI to existing ray-daemon port 16188 Traceback (most recent call last): File "/usr/share/raysession/src/gui/gui_session.py", line 155, in _osc_receive function(path, args) File "/usr/share/raysession/src/gui/gui_session.py", line 535, in _ray_gui_patchbay_fast_temp_file_running self.patchbay_manager.fast_temp_file_running(*args) File "/usr/share/raysession/src/gui/patchbay_manager.py", line 1904, in fast_temp_file_running self.metadata_update( File "/usr/share/raysession/src/gui/patchbay_manager.py", line 1731, in metadata_update port.change_canvas_properties() File "/usr/share/raysession/src/gui/patchbay_manager.py", line 202, in change_canvas_properties patchcanvas.changePortProperties(self.group_id, self.port_id, File "/usr/share/raysession/src/gui/patchcanvas/patchcanvas.py", line 982, in changePortProperties port.widget.parentItem().updatePositions() File "/usr/share/raysession/src/gui/patchcanvas/canvasbox.py", line 970, in updatePositions canvas.scene.deplace_boxes_from_repulsers([self]) File "/usr/share/raysession/src/gui/patchcanvas/scene.py", line 541, in deplace_boxes_from_repulsers rect.translate(QPoint(box_dict['to_x'], box_dict['to_y'])) TypeError: arguments did not match any overloaded call: QPoint(): too many arguments QPoint(int, int): argument 1 has unexpected type 'float' QPoint(QPoint): argument 1 has unexpected type 'float' Aborted bash-5.1$

Houston4444 commented 3 years ago

Ok, sorry that is fixed now by https://github.com/Houston4444/RaySession/commit/755fdea87f75e998c042662a396b7cd128fe1310

brobr commented 3 years ago

Ok, another one... (is this due to python-3.10??)

bash-5.1$ raysession Connecting GUI to existing ray-daemon port 16189 Traceback (most recent call last): File "/usr/share/raysession/src/gui/patchcanvas/canvasbox.py", line 1615, in paint painter.drawText(title_line.x, title_line.y, title_line.text) TypeError: arguments did not match any overloaded call: drawText(self, Union[QPointF, QPoint], str): argument 1 has unexpected type 'float' drawText(self, QRectF, int, str): argument 1 has unexpected type 'float' drawText(self, QRect, int, str): argument 1 has unexpected type 'float' drawText(self, QRectF, str, option: QTextOption = QTextOption()): argument 1 has unexpected type 'float' drawText(self, QPoint, str): argument 1 has unexpected type 'float' drawText(self, int, int, int, int, int, str): argument 1 has unexpected type 'float' drawText(self, int, int, str): argument 1 has unexpected type 'float' Aborted

Houston4444 commented 3 years ago

(is this due to python-3.10??)

No, no, it is just me not working seriously enough, without the same JACK ports and boxes as you, when a fix create another bug. Sorry.

Houston4444 commented 3 years ago

I tried something, there are also some more theme work, I hope this won't make other crashes happen.

brobr commented 3 years ago

Weird, resizing carla when its patchbay is active also crashes the app (carla). Am I missing something on my Slackware box; a KDE dependency (not using KDE) for example? Or could it be something linked to pipewire/jack? (dbus seems not used and I get no fun with qjackctl; it cannot start the jackserver (but that is done by pipewire presumably and I only need something like a patchbay to save my connections)

Houston4444 commented 3 years ago

Weird, resizing carla when its patchbay is active also crashes the app (carla).

So, this is a Carla bug, RS doesn't crashes, no ?

a KDE dependency (not using KDE) for example?

Certainly not. Carla or RaySession both absolutely don't need KDE. I guess a QT related bug. What Carla says at crash ? That said, report a bug to Carla Github.

brobr commented 3 years ago

Ok, will do.

In the meantime:

timestamp Nov 3 17.15 (latest commit b8056da68b370e393e775c901eda47d2dbc16685)

bash-5.1$ raysession Connecting GUI to existing ray-daemon port 16187 Traceback (most recent call last): File "/usr/share/raysession/src/gui/patchcanvas/canvasbox.py", line 1679, in paint painter.drawText(float(title_line.x), TypeError: arguments did not match any overloaded call: drawText(self, Union[QPointF, QPoint], str): argument 1 has unexpected type 'float' drawText(self, QRectF, int, str): argument 1 has unexpected type 'float' drawText(self, QRect, int, str): argument 1 has unexpected type 'float' drawText(self, QRectF, str, option: QTextOption = QTextOption()): argument 1 has unexpected type 'float' drawText(self, QPoint, str): argument 1 has unexpected type 'float' drawText(self, int, int, int, int, int, str): argument 1 has unexpected type 'float' drawText(self, int, int, str): argument 1 has unexpected type 'float' Aborted

Houston4444 commented 3 years ago

Ok. that is strange, here drawText function doesn't complain if first ints are float... This is now fixed, that said in Qt doc drawText accepts only ints, so now they are ints. Maybe you will find other similar crashes... Certainly because of modifications in Qt or python-qt, your version is largely newer than mine. If you see other crashes, they won't be hard to fix.

brobr commented 3 years ago

Progress ;-) The gui loaded, with a small side panel in black. Thinking that could be the patchbay with current connections, I tried to resize the gui (stretching the window to the right). That gave a crash ;-{

bash-5.1$ raysession [ray-daemon]GUI connected at osc.udp://knotsUL:16578/ [ray-daemon]URL : osc.udp:/...... [ray-daemon] osc.udp://.. [ray-daemon]ROOT: /home/rob/Ray Sessions Traceback (most recent call last): File "/usr/share/raysession/src/gui/patchcanvas/canvasbox.py", line 1646, in paint painter.drawLine(5, 16, title_x_pos -29 -5, 16) TypeError: arguments did not match any overloaded call: drawLine(self, QLineF): argument 1 has unexpected type 'int' drawLine(self, QLine): argument 1 has unexpected type 'int' drawLine(self, int, int, int, int): argument 3 has unexpected type 'float' drawLine(self, QPoint, QPoint): argument 1 has unexpected type 'int' drawLine(self, Union[QPointF, QPoint], Union[QPointF, QPoint]): argument 1 has unexpected type 'int' Aborted

Are you on python 3.9? Slackware-current aims to go back to that after trying 3.10 for 3 weeks or so. If that could be a factor, maybe I should come back to this when my box is at that state again....??

Houston4444 commented 3 years ago

ok, let's try again !

Here I use old python 3.7.3 on Librazik (debian buster). I also use Manjaro but I can't remember python version.

I think you should not publish here your local IP address : [ray-daemon]URL : osc.udp://192.168.xx.xx

edit your comment ;)

brobr commented 3 years ago

Thanks, did not notice that ip...

Fab, almost there ;-) Resizing by dragging edges works fine; changing connections, toggle full screen, OK. Then trying to shift the zoom-slider: crash ;-(

bash-5.1$ raysession [ray-daemon]GUI connected at osc.udp://.. [ray-daemon]URL : osc.udp://... [ray-daemon] osc.udp://... [ray-daemon]ROOT: /home/rob/Ray Sessions/ardour-hydrogen Traceback (most recent call last): File "/usr/share/raysession/src/gui/patchbay_tools.py", line 71, in set_zoom patchcanvas.canvas.scene.zoom_ratio(percent) File "/usr/share/raysession/src/gui/patchcanvas/scene.py", line 683, in zoom_ratio widget.top_icon.update_zoom(ratio) File "/usr/share/raysession/src/gui/patchcanvas/canvasicon.py", line 105, in update_zoom pixmap = self.icon.pixmap(24 scale, 24 scale) TypeError: arguments did not match any overloaded call: pixmap(self, QSize, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off): argument 1 has unexpected type 'float' pixmap(self, int, int, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off): argument 1 has unexpected type 'float' pixmap(self, int, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off): argument 1 has unexpected type 'float' pixmap(self, QWindow, QSize, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off): argument 1 has unexpected type 'float' Aborted bash-5.1$

Houston4444 commented 3 years ago

Ok, this should be fixed. I think I need to test RS myself with python 3.10 (or qt 5.15, or both), to try to make it crashes.

brobr commented 3 years ago

Some observations:

After quitting raysessions, there are still running processes: ray-demon, ray-jackpatch). Should these not have been killed ? (maybe something related to by not being on systremd?? or left overs from previous crashes?)

After starting the gui: The options menu start with an unticked box for messages when these are open by default after start-up. The option 'show menu' when ticked/set is not saved after closing ray-sessions.

Typo in File/Utilities/Convert to NSM file format/: "Allmost JACK clients..." should be (?) "Most Jack clients..."

Still a slider-related crash: Clicking the zoom slider to keep reducing patchbay-size goes fine until at a point the program crashes (maybe it goes below 1%??):

bash-5.1$ raysession [ray-daemon]GUI connected at osc.udp://../ [ray-daemon]URL : osc.udp://../ [ray-daemon] osc.udp://../ [ray-daemon]ROOT: /home/rob/Ray Sessions/ardour-hydrogen [ray-daemon]Attempting to open /home/rob/Ray Sessions/ardour-hydrogen/ardour-import .... [ray-daemon]Telling all clients that session is loaded... [ray-daemon]Telling client JACK Connections that session is loaded. [ray-daemon]Telling client Ardour that session is loaded. [ray-daemon]Telling client Hydrogen that session is loaded. [ray-daemon]Loaded [ray-daemon]Done Traceback (most recent call last): File "/usr/share/raysession/src/gui/patchbay_tools.py", line 67, in zoom_changed_from_canvas self.ui.sliderZoom.set_percent(ratio * 100) File "/usr/share/raysession/src/gui/surclassed_widgets.py", line 415, in set_percent self.setValue(self.map_float_to(percent, 20, 100, 0, 500)) TypeError: setValue(self, int): argument 1 has unexpected type 'float' Aborted bash-5.1$

bash-5.1$ raysession Connecting GUI to existing ray-daemon port 16187 [ray-daemon]GUI connected at osc.udp://127.0.0.1:13847/ Traceback (most recent call last): File "/usr/share/raysession/src/gui/patchbay_tools.py", line 67, in zoom_changed_from_canvas self.ui.sliderZoom.set_percent(ratio * 100) File "/usr/share/raysession/src/gui/surclassed_widgets.py", line 415, in set_percent self.setValue(self.map_float_to(percent, 20, 100, 0, 500)) TypeError: setValue(self, int): argument 1 has unexpected type 'float' Aborted

brobr commented 3 years ago

Another observation. Having an Ardour-session (with Hydrogen) running and then opening RaySession loads all connections in the PatchBay panel and these can be altered. However, coming in this way, the state cannot be saved as a new RaySession. (i.e. with all applications etc). RaySessions need to be built up from scratch (i.e. adding Ardour in the above situation adds and opens a new Ardour instance, while one expect that the running Ardour might be imported as that is shown in the patchbay.

So, the existing running apps are not shown or cannot be imported into a (new) RaySession.

Converting the ardour session of that running ardour did not do anything (but no message about success or failure). Maybe nothing happened because that ardour session was not saved in my home folder but on another drive; some programs do not cope with that.

Houston4444 commented 3 years ago

After quitting raysessions, there are still running processes: ray-demon, ray-jackpatch). Should these not have been killed ? (maybe something related to by not being on systremd?? or left overs from previous crashes?)

Normal. When your GUI crash, ray-daemon (which manage session) and ray-jackpatch_to_osc (which is the jack client communicating with patchbay) both still run. And when gui is started, it automatically connects to daemon (and to patchbay daemon).

The options menu start with an unticked box for messages when these are open by default after start-up.

I don't understand your sentence, screenshot ?

The option 'show menu' when ticked/set is not saved after closing ray-sessions.

mmmh, strange... It should, it works here.

Thanks for the typo.

Clicking the zoom slider to keep reducing patchbay-size goes fine until at a point the program crashes (maybe it goes below 1%??):

No, that is again a type error for QT.

For the second comment, I don't know what to answer. I think that when users read manual, they understand that programs not launched in the session are not part of the session, that's all. Patchbay is an utility offered by RS showing all the JACK patchbay, and for Ardour, there is no possibility to separate JACK clients from session to other clients. In the future, we could recognize some clients, but not ensure that a client is not part of the session. Shortly, if you use RS, start Ardour from RS.

Converting the ardour session of that running ardour did not do anything

I hope you did not try to load in the session a RUNNING ardour session !!! (if I didn't say it in the message dialog, it's an error, maybe too obvious for me ;) ).

Maybe nothing happened because that ardour session was not saved in my home folder but on another drive

Ah, maybe a bug in the converter script, can you try the script directly, in RS source code : utility-scripts/ardour_from_external_to_session.sh ?

Houston4444 commented 3 years ago

Zoom slider should be fixed.

brobr commented 3 years ago

Ok thanks, works fine now.

Yes tried to import a running ardour;
Doing it with a non-running one works but is not optimal as the hydrogen link (in that session) is lost and the contact witn the Jack-serever was lost. Well, forget this route ;-) I just have to learn to build a session up from within raysession. (I have to learn a lot here ;-)

The menu issue: Open raysession: start-Screenshot_2021-11-04_16-36-44 Set Menu-Bar visible: (Also note that 'Show Messages' is unticked but messages are shown; is that not inconsistent?) start2-Screenshot_2021-11-04_16-37-41 That works fine: start-2b-Screenshot_2021-11-04_16-38-13 After save and exit, on restart of the same session: menu-setting lost: restart-after-save-and-quit-Screenshot_2021-11-04_16-39-12

Houston4444 commented 3 years ago

Could you check in ~/.config/RaySession/RaySession.conf if the value of ShowMenuBar is consistent after closing RaySession ?

ShowMenuBar=true if you closed RaySession with menubar visible, else ShowMenuBar=false.

brobr commented 3 years ago

somehow the settings are now kept: ok-Screenshot_2021-11-04_21-34-49 edit: yes

[MainWindow] ShowMenuBar=true

Houston4444 commented 3 years ago

What happens with your MIDI ports in Midi-Bridge ??? they have no name !!! Could you get their true name ? (Right click on the port -> get port infos).

brobr commented 3 years ago

Midi-Bridge:Midi Through: capture_0 Midi Through Port-0 JACK UUID 4294967336 MIDI Input

Midi-Bridge:Midi Through: playback_0 Midi Through Port-0 JACK UUID 4294967335 MIDI Output

brobr commented 3 years ago

less /etc/pipewire/jack.conf:

... # global properties for all jack clients jack.properties = {

for jamulus this needs to be low!

node.latency = 256/48000

node.lock-quantum = false

jack.merge-monitor = true jack.short-name = true jack.filter-name = true ...

Houston4444 commented 3 years ago

what happens in canvas options dialog (right click in patchbay background -> canvas options), if you uncheck "Group A2J hardware ports" ?

brobr commented 3 years ago

grouped:

group-Screenshot_2021-11-04_21-52-16

ungrouped:

ungroup-Screenshot_2021-11-04_21-51-52

Houston4444 commented 3 years ago

Ok thanks, could you uncheck "Use graceful names" and see what happens ?

brobr commented 3 years ago

with ungraceful: orig-jack-ungraceful-Screenshot_2021-11-04_21-59-28

with different jack settings... diff-jack-conf-Screenshot_2021-11-04_21-57-57

then without 'Use ungraceful names' diff-jack-ungraceful-Screenshot_2021-11-04_21-59-28

Houston4444 commented 3 years ago

Ok. Thanks a lot. I'd like to see the difference in jack settings, and the difference of port name with jack_lsp. There is probably something wrong in patchbay.

brobr commented 3 years ago

On my setup pipewire has taken over jack, and controls it via a jack.conf

bash-5.1$ jack_lsp HDA Intel PCH:capture_FL HDA Intel PCH:capture_FR HDA Intel PCH:playback_FL HDA Intel PCH:monitor_FL HDA Intel PCH:playback_FR HDA Intel PCH:monitor_FR Midi-Bridge:Midi Through: capture_0 Midi Through Port-0 Midi-Bridge:Midi Through: playback_0 Midi Through Port-0

bash-5.1$ cat /etc/pipewire/jack.conf # JACK client config file for PipeWire version "0.3.39" # # # Copy and edit this file in /etc/pipewire for system-wide changes # or in ~/.config/pipewire for local changes.

context.properties = {

Configure properties in the system.

#mem.warn-mlock  = false
#mem.allow-mlock = true
#mem.mlock-all   = false
log.level        = 0

}

context.spa-libs = {

=

#
# Used to find spa factory names. It maps an spa factory name
# regular expression to a library name that should contain
# that factory.
#
support.* = support/libspa-support

}

context.modules = [

{ name =

#    [ args  = { <key> = <value> ... } ]
#    [ flags = [ [ ifexists ] [ nofail ] ]
#}
#
# Loads a module with the given parameters.
# If ifexists is given, the module is ignored when it is not found.
# If nofail is given, module initialization failures are ignored.
#
#
# Boost the data thread priority.
{ name = libpipewire-module-rt
    args = {
        #nice.level   = -11
        #rt.prio      = 88
        #rt.time.soft = 2000000
        #rt.time.hard = 2000000
    }
    flags = [ ifexists nofail ]
}

# The native communication protocol.
{ name = libpipewire-module-protocol-native }

# Allows creating nodes that run in the context of the
# client. Is used by all clients that want to provide
# data to PipeWire.
{ name = libpipewire-module-client-node }

# Allows applications to create metadata objects. It creates
# a factory for Metadata objects.
{ name = libpipewire-module-metadata }

]

# global properties for all jack clients jack.properties = {

for jamulus this needs to be low!

 node.latency       = 256/48000
 #node.lock-quantum  = false
 jack.merge-monitor = true
 **jack.short-name    = true**                          _<--- commented out for images previous post_
 **jack.filter-name   = true**                            _<--- commented out for images previous post_
 #
 # allow:           Don't restrict self connect requests
 # fail-external:   Fail self connect requests to external ports only
 # ignore-external: Ignore self connect requests to external ports only
 # fail-all:        Fail all self connect requests
 # ignore-all:      Ignore all self connect requests
 #jack.self-connect-mode = allow
 #jack.locked-process    = true

}

# client specific properties jack.rules = [ { matches = [ {

all keys must match the value. ~ starts regex.

            #client.name                = "Carla"
            client.name                 = "Jamulus"
            application.process.binary = "jack_simple_client"
            application.name           = "~jack_simple_client.*"
        }
    ]
    actions = {
        update-props = {
            #node.latency = 512/48000
            node.latency = 64/48000
        }
    }
}

] bash-5.1$

Houston4444 commented 3 years ago

ahhh, I can reproduce the bug ! So now, I can search !

Houston4444 commented 3 years ago

fixed for Midi-Bridge. I hope there is no similar bug with a2j.

brobr commented 3 years ago

this is what I get now: midilong-Screenshot_2021-11-04_22-57-55

Houston4444 commented 3 years ago

Ok. These port names are now a little shorter in case jack.filter-name = true.

I spent some time to read pw doc, but I am quite lose. Which command do you use to restart pipewire after config changes ?

for now I use systemctl --user --now enable pipewire-media-session.service the problem is that samplerate and buffer size aren't updated in RS.

alternatively systemctl --user --now disable pipewire.service

But my desktop volume systray button is now broken, I don't see any device as pulseaudio does.

brobr commented 3 years ago

Ok, that's fine at my end (have 'playback_0 Midi Through' and 'capture_0 Midi Through' with my jack.conf settings.)

Pipewire seems to restart itself at my end (nothing fancy; close/quite raysession; change jack.conf, open raysession again and changes are visible)

But the tray-icon is only responsive/active when a session is loaded/running:

close session:

17:53:09 waiting for 3 clients to quit... 17:53:09 Hydrogen (hydrogen): stopping 17:53:09 Hydrogen (hydrogen): terminated by server instruction 17:53:09 Ardour (ardour): stopping 17:53:09 Ardour (ardour): terminated by server instruction 17:53:09 JACK Connections (patch): stopping 17:53:09 JACK Connections (patch): terminated by server instruction

systray button shows but not responsive: cannot reopen recent (grayed out) session; cannot open/new session.

17:54:09 -- Opening session 'ardour-hydrogen' -- 17:54:09 waiting announce from 3 clients... 17:54:09 JACK Connections (patch): launched 17:54:10 JACK Connections (patch): announced 17:54:10 JACK Connections (patch): project loaded 17:54:10 Ardour (ardour): launched 17:54:10 Hydrogen (hydrogen): launched 17:54:10 Hydrogen (hydrogen): announced 17:54:10 Ardour (ardour): announced 17:54:10 waiting for 2 clients to load their project... 17:54:12 Ardour (ardour): project loaded 17:54:12 Hydrogen (hydrogen): project loaded 17:54:12 session 'ardour-hydrogen' is loaded.

systray button working fine now.. ... but response is a bit erratic (as if it can blocked sometimes and after some time or by changing workspace it becomes active again)

EDIT: ok, maybe expected behavior; had 'System tray icon options'/'Only when session is running' ticked Un-ticking that option gives an active icon, also without a running session (so can load 'recent session' from there)

But 'aborting' a session inactivates the icon as well.

Houston4444 commented 3 years ago

systray is totally a Qt thing, I have not really much power on it than activate/deactivate, and set context menu. It will essentially depends on your Desktop environment. Note that there is an option to use it never, always, or only when session is loaded (default).

LAM_ gived me another solution to restart pw (no need to restart RS this way): systemctl --user restart pipewire.service pipewire-pulse.socket pipewire-media-session.service

brobr commented 3 years ago

Ok thanks; was good fun. Now back on python-3.9.7, and all is working fine.