On 09/06/2017 03:14 AM, Ted Felix wrote:
On 09/06/2017 03:00 AM, david wrote:
Actually, I just fully replicated my original situation and now get the original simultaneous play problem.

Can you reproduce the problem using just the default "new" empty composition that comes up at startup? Bring up two instances, hook them up to the keyboard via device manager, press play in one.

With the external keyboard turned on: Hitting Play in either plays both.

With keyboard OFF: Hitting play in either plays #2, but cursor moves in both.

OK, so it doesn't seem to be the "THRU" feature of the keyboard contributing. What if you unplug the keyboard from the Xmidi 1x1 interface but leave the Xmidi 1x1 plugged in to the computer?

client 0: 'System' [type=kernel]
     0 'Timer           '
     1 'Announce        '
     Connecting To: 128:0, 129:0, 130:0, 131:0

Announcements to the "record in" ports.  Should be alright.

client 14: 'Midi Through' [type=kernel]
     0 'Midi Through Port-0'
     Connecting To: 129:0[real:0]
     Connected From: 129:0, 130:6

Question here is who is 129:0? For some reason they aren't appearing in this output. Why isn't aconnect showing them? They seem to be very aggressive, connecting to every input and output port they find.

client 28: 'E-MU XMidi1X1' [type=kernel,card=3]
     0 'E-MU XMidi1X1 MIDI 1'
     Connecting To: 129:0[real:0], 130:0, 131:0
     Connected From: 129:0, 130:3, 130:4, 130:5, 130:7, 130:8, 131:3

I assume this is your MIDI interface going to the Yamaha. It's connected for record "to" the aggressive mystery device (129:0) and the two rg instances. This makes sense, I guess. It's connected for playback "from" several rg ports from each instance. Also as expected.

client 130: 'rosegarden' [type=user,pid=5445]
     0 'record in       '
     Connected From: 0:1, 129:0, 28:0

0:1 connection is expected. 129:0 connection is mysterious. 28:0 connection is also expected.

     1 'sync out        '
     Connecting To: 129:0[real:0]

Since you aren't using sync, this should be irrelevant. Nothing should be going out the sync port to the mystery device.

     2 'external controller'
     Connecting To: 129:0[real:0], 131:0
     Connected From: 129:0

This is surprising. Normally, "external controller" is connected to nothing. It doesn't attempt to connect to anything. So, others are connecting to it for some reason. The mystery device is connected for in and out, and the other instance of rg has decided to connect its record in to it. That's a bug, but should be harmless. Since "external controller" isn't really used for much, all of this is odd but probably safe.

     3 'out 1 - General MIDI Device'
     Connecting To: 28:0, 129:0[real:0]

Connection to the MIDI interface makes sense. The mystery device sure is aggressive. It seems to latch on to everything it can find.

     4 'out 2 - Yamaha PSR-270'
     Connecting To: 28:0, 129:0[real:0]

   Same.

     5 'out 3 - out 3 - MIDI external device 2'
     Connecting To: 28:0, 129:0[real:0]

   Same.

     6 'out 4 - out 4 - MIDI external device 3'
     Connecting To: 14:0, 129:0[real:0]

Slightly odd that this is going to THRU, but shouldn't be too harmful. Just another path to the mystery device.

     7 'out 5 - out 5 - MIDI external device 4'
     Connecting To: 28:0, 129:0[real:0]

   Same as 130:3.

     8 'out 6 - out 6 - MIDI output system device'
     Connecting To: 28:0, 129:0[real:0]
   Same as 130:3.

     9 'out 7 - out 7 - MIDI output system device'
     Connecting To: 129:0[real:0]

   This one must be disconnected.  Not a problem.

client 131: 'rosegarden' [type=user,pid=5472]
     0 'record in       '
     Connected From: 0:1, 129:0, 130:2, 28:0

0:1 is expected. Mystery device is very aggressive. Connection from 130:2 indicates that it has decided to record the "external controller" port from the other instance. Bizarre, but shouldn't cause the synced playback problem. 28:0 makes sense.

     1 'sync out        '
     Connecting To: 129:0[real:0]

   The aggressive mystery device.

     2 'external controller'
     Connecting To: 129:0[real:0]
     Connected From: 129:0

   The aggressive mystery device both ways.

     3 'out 1 - General MIDI Device'
     Connecting To: 28:0, 129:0[real:0]

   The MIDI interface and the aggressive mystery device.

Nothing is too out of the ordinary above except for the mystery device at 129:0. Who is it? The answer to that might lead to a solution. If it's not showing up in "aconnect -l" maybe try "aconnect -o" and "aconnect -i". Or is it in the QJackCtl ALSA tab? Or try patchage which might show it.

You might also try paring down the connections with patchage. Maybe disconnect the "sync" ports. Disconnect the mystery device. See if any of those changes make a difference in the behavior.

The MIDI Sync settings in the preferences offer a way for rg to trigger playback on another sequencer or be triggered by another. This might also be coming into play here.

I have those all set to OFF. I don't think I've ever changed them, so I think that's the default? Also "Automatically connect sync output to all devices in use" is unchecked.

This should eliminate sync as a source of the problem. Although, I see sync connections above, so "Automatically connect sync..." is in effect even though it might not be checked. Might be an rg bug that we've not run into yet, or might be fixed in the latest.

Do both instances of RG share the same connection to transport control?

Not that I'm aware of. Since I cannot reproduce this, there's likely something unique about your setup that is causing this. I do know that synced playback is a feature that is frequently used, so it's possible that someone external to rg is providing it.

When I was experimenting with two instances, I noticed that it was impossible to set one instance for sync in and another for sync out. This is because they both share the same Rosegarden.conf file. I also think that the tempo from the one instance affected the tempo of the other. I suspect there are many issues when running two instances of rg. I don't think rg was designed to handle multiple instances properly. I have a feeling that you are going to encounter other issues even if we figure this one out.

We should probably prevent multiple instances from launching. Or at least pop up a warning if we find another at launch.

Ted.

Further research. I started RG and created a new 2 measure 1-voice piece using RG's Fluidsynth DSSI plugin. Then I started another RG session and created a different 2 measure 1 voice piece also using RG's Fluidsynth DSSI plugin. The external keyboard is turned off, so only the EMU USB Midi device is active.

Hitting play in either piece plays both.

Now, QJackCtl's Connections window shows:
The EMU out connected to RG1 (130) 0:record in.
RG1 sync out not connected to anything.
RG1's 2:external controller connected to RG2's 0:record in.
RG1's 3:out 1 - General MIDI device connected to EMU.
RG2 (131) has sync out not connected to anything.
RG2 2:external controller connected to nothing.
RG2 3:out 1 - General MIDI device connected to RG1's 2:external controller.

No mysterious device 129 showing there.

aconnect -l shows the mysterious device, though:

client 14: 'Midi Through' [type=kernel]
    0 'Midi Through Port-0'
        Connecting To: 129:0[real:0]
        Connected From: 129:0
client 28: 'E-MU XMidi1X1' [type=kernel,card=3]
    0 'E-MU XMidi1X1 MIDI 1'
        Connecting To: 129:0[real:0], 130:0
        Connected From: 129:0, 130:3
client 130: 'rosegarden' [type=user,pid=4544]
    0 'record in       '
        Connected From: 0:1, 129:0, 28:0
    1 'sync out        '
        Connecting To: 129:0[real:0]
    2 'external controller'
        Connecting To: 129:0[real:0], 131:0
        Connected From: 129:0, 131:3
    3 'out 1 - General MIDI Device'
        Connecting To: 129:0[real:0], 28:0
client 131: 'rosegarden' [type=user,pid=4597]
    0 'record in       '
        Connected From: 0:1, 129:0, 130:2
    1 'sync out        '
        Connecting To: 129:0[real:0]
    2 'external controller'
        Connecting To: 129:0[real:0]
        Connected From: 129:0
    3 'out 1 - General MIDI Device'
        Connecting To: 129:0[real:0], 130:2

So, I wondered: could device 129 be the Fluidsynth DSSI plugin?

I went one of the new (unsaved) RG instances and clicked the button to change to a different synth plugin. The RG window disappeared without a trace. Tried it in the second instance and got the same result.

I started a new RG session, created a few measures, set it to the Zyn DSSI plugin. aconnect shows device 129 again. Closed that session, device 129 gone. Started new RG session, didn't set anything up, but aconnect shows device 129 back.

Could the mysterious device 129 be something internal to RG? Maybe connected with RG's DSSI support?

--
David W. Jones
gn...@hawaii.rr.com
authenticity, honesty, community
http://dancingtreefrog.com

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Rosegarden-user mailing list
Rosegarden-user@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-user

Reply via email to