You are here

opening a saved project does not restore connections

Hi
This is my first post here, been using qtractor for about 2 months, very successfully.
love the software , its almost perfect. but.....

I suspect that this problem I am seeing wont be seen by everyone. (as i think its unique to two identical sound cards)

I open a new project, I change the master bus to be topsynth (as the topsynth in my rack of jv2080's is connected to the first maudio ice1712 sound card)
I create a second bus which is called bottom synth (same idea as above connected to my second maudio ice1712 sound card and second jv2080).

I then go into connections and I add a connection between topsyth and the maudio sound card shown as 16 maudio.......
I then make a connection between bottom synth and my second maudio sound card identified as 20 maudio ......

I then import a midi file, setup each track as i want, to either the topsynth bus or the bottomsynth bus, and everything works perfectly.

I save the project and then when i reopen the project both the topsyth and bottom synth are now connected to the 20 maudio sound card.

Now ive checked the project file which appears to be some kind of xml and I can see that each connection is in fact connected as you would expect ie top synth connected to the first sound card and bottom synth connected to the second one, but and im guessing here, because both sound cards ports look identical Im guessing that when the connections are restored the two sound cards look like one and qtractor assigns both connections to the second sound card.

this is 100% reproducible if you have two identical ice1712 sound cards.

I also have a separate xv2020 that is connected by usb, and any connections i make to that are always restored correctly ie when ive got 3 connections in total, but still the topsynth and bottomsyth both connect to the second maudio card (its the 2496 variant of the card known as the audophile).

If the above is not enough information then please ask and ill provide screenshots and example files as you need them.

regards peter

Forums: 
rncbc's picture

hi thanks, you're of course very welcome here

and yes, the issue is exactly about two (or more) sound-cards having the very exact system name or label ("M Audio Audiophile 24/96"); qtractor search for this name and matches the first one it finds around at the time the session gets re-opened any time later on.

i'm afraid it is not possible to change the name of an ALSA device so you'll probably stuck with that shortcoming as is. sorry

but maybe, just may be one solution for this kind of conundrum: I would try to have at least two "Midi Through" ports as possibly given by the following entry in /etc/modprobe.conf

options snd-seq-dummy ports=2

one for each of the MIDI ports of the existing identical soundcards and redirect and connect them permanently on system startup or using your favorite patchbay application ;), like this

  1. connect first 14:Midi Through port 0 to first 16:M Audio Audiophile 24/96 MIDI port 0
    aconnect 14:0 16:0
  2. connect second 14:Midi Through port 1 to second 20:M Audio Audiophile 24/96 MIDI port 0
    aconnect 14:1 20:0

from this moment on you could resort to use Midi Through port 0 and 1 to route the session's top and bottom synth buses respectively.
got it?
hth.
cheers

Thanks
your solution works.

I use your appimage download rather than fedora's as fedora's package is so out of date.

and I copy the appimage binary to /opt/qtractor/qtractor.

to make the sound cards consistent I already had a modprobe file, so this will make sense.

heres my modprobe file and wrapper script, in case anyone else needs to do this.

[qtractor]# cat /etc/modprobe.d/alsa-base.conf
# ALSA portion
#first m-audio
options snd-ice1712 index=0 model=audiophile
#second maudio
options snd-ice1712 index=1 model=audiophile
#X2222 mixer USB
options snd_usb_audio index=2
#ati cards HDMI audio
options snd_hda_intel index=3
#extra two midi through ports
options snd-seq-dummy ports=4

[qtractor]# cat qtractor.sh

#!/bin/sh
aconnect -x
aconnect -l|grep "Connecting To: 16:0" > /dev/null 2>&1

if [ $? -eq 1 ]
then
aconnect 14:0 16:0
fi

aconnect -l|grep "Connecting To: 20:0" > /dev/null 2>&1

if [ $? -eq 1 ]
then
aconnect 14:1 20:0
fi
/opt/qtractor/qtractor

[qtractor]#

rncbc's picture

hi,
there are (good) news wrt. topic above:
starting from qtractor >= 0.9.31.24git.4c221e, this issue has been hopefully fixed;
you may test it with all your old saved sessions or new ones that you do without the so called "midi-through" workaround.

hth.
cheers

Add new comment