Here it is, warts and all.
Remember it's an experimental work in progress !
It is full of /large/ commented sections.
Some greyish ideas and code may change, you know how it is.

It should compile and run out of the box.

It is not ready for prime time yet, but is ready for testing.
Maybe the users want to try it for fun. Early adopters.

You will see a /large/ amount of debugging output,
 relating to Jack and routes and so on.

Results may vary depending on Jack version and Jack Midi driver in use.
I can't control that.

Jack-2 with ALSA SEQ midi driver OK. ALSA RAW seems OK.
Jack-1/2 with a2jmidid bridge OK, but maybe 'day-2-day' port rename problems.
New '-X' submodules in Jack-1/2 not recommended, yet.

Let me know if it works. Give some setup details.


You can test a few ways:
===================
1)
By wiring up some MusE <->Jack Midi routes 
 to/from a hot plug-able device like USB midi.
Do all this in the midi configuration dialog.
Save this as a song.

Then unplug the device.
Observe the routes disappear from the 'in routes' and 'out routes'
 columns of the midi port list, and from QJackCtl etc.

Then re-plug the device.
Observe the routes soon come back preserved.

2)
Then close MusE. 
Then unplug the device.
Re-start MusE and re-load the song.
Observe some routes are missing (the device is not plugged in).
Now re-plug the device.
Observe all routes are soon restored.

3)
Next, run MusE either with Jack stopped or run MusE with the -a switch,
 meaning use dummy driver, no audio.
Load the saved song and observe no routes available.
Re-save the song (to test preservation of persistent routes).
Then close MusE. Start Jack. Re-start MusE and load the song.
Observe all routes are soon restored.

3)
Similarly, create some Audio Input and Audio Output tracks, and 
 wire them up to/from Jack ports of a hot plug-able audio device.
Save this as a song.
Now, I am told that unplugging your main audio device may 
 crash MusE or Jack, but try it for me. I don't have one.
If you are lucky, MusE will still be running. 
Hopefully if Jack first notifies MusE of the disconnections, you 
 may be able to re-save the song and it will remember the connections
 next time you start (with audio). Probably not. 
But I suspect we can make this work, and stop the crashes.
I think MusE handling of Jack shutdowns has fallen weak over the years...

4)
Exact *same* as step 3). 
Observe all routes are restored. (Or not. Audio part might not be done yet.)

Timeline:
=========
GUTS:
Currently working on similar ALSA support. Don't use ALSA right now !
Check a few more areas of routing usage for support needed.
Stuff.

GUI:
GUI generally not touched yet. Good thing for QT5 porting ?
Audio Input/Output track + JackMidi routing popups to be changed for sure. 
They currently don't show these 'hidden' persistent routes.

CLEANUP: 
Large commented sections.

Tim.

------------------------------------------------------------------------------
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Lmuse-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/lmuse-developer

Reply via email to