Hello All,

>From the discussion:
> The IPB currently shows the ALSA port the instrument is
> connected to. Just 
> make it editable here.  Most users would never need to
> use the device manager 
> ever again if...
> 

I like that idea.

> 
> > In no circumstance do we create or delete a device
> automatically,
> > except the very first one in an empty composition.
> 
> ...if we DON'T enforce that rule.  This part I don't
> agree with.  If a user 
> changes something while we're running, odds are they meant
> to do that, and we 
> should act on it.  If Hydrogen starts, and no device
> lacks a connection, then 
> create a device for Hydrogen and connect to it. 
> Optionally we could ask, and 
> that's what Emanuel and I were thinking the other day, but
> now that I've seen 
> how the "detected that you started a new synth" code runs
> in an environment 
> that isn't trashed up with a bunch of extra garbage, I
> think it is probably 
> safe to assume the user meant to do that in this kind of
> situation, and it's 
> OK to be helpful.
> 
> Especially bearing in mind rule 2.  DON'T create the
> new device for Hydrogen 
> if there's already something empty to fill.

Here again, how do we know the user wants Hydrogren to occupy a device.  Maybe 
the device was created for another purpose--like a yamaha sythn or something.

Basically, we need to distinguish between 'no connection' (intentional) or 'no 
connection' (but available for what ever).

I guess my thought is that if I name a connection "yamaha xg synth" and don't 
currently have it connected --therefore RG doesn't find it--I don't want 
Hydrogen filling the gap.

We need a way to let RG know when to fill the device.  So say I create and set 
the yamaha xg synth device.  on another run of RG, If a new device is 
connected, it should first see if it matches the yamaha device 
criteria--whatever that is--and only connect to that device if it matches.  But 
a device that is 'available for whatever' comes available can take the 
connection.

I mentioned locking--which has some potential.  But, I think just a two state 
system in the connection manager would work:
"available": which means its ready to receive new connections
"not connected": which means the device did not find a matching connection.

---actual verbiage is up for debate.

Therefore, the logic for "auto sensing" would first attempt to match to "not 
connected" devices--checking connection criteria.  If that fails, find an 
"available" device. How much logic do we can incorporate?  I don't know.  I 
don't really know the limits of what is communicated to RG.

Michael says:
> 
> But if there isn't, no, I don't think I should have to go
> invoke the MIDI 
> device manager and manually create a device just because I
> started Hydrogen.
> 

Yes.  I agree.  But this still goes back to auto-connect issues.  How do we 
distinguish between all the clutter that RG sees upon startup and a new device 
starting or being plugged in.  Obviously timing.  In one case RG is just firing 
up.  and we can promise not to create devices at this stage.  After RG is up 
and going, when it sees a new connection then it could be nice and 'create' a 
device.

But I would want this logic to be very clear.  Otherwise, we will end up with 
RG making devices all over the place.

Also, I don't think this behavior is alway beneficial.  But more often than not 
is.

> Let me add here at the bottom that one thing all of this
> discussion 
> presupposes so far is that the user has something "General
> MIDI" at all.  

...

I like the idea that RG tries to establish a General MIDI connection if no 
devices are present.  But beyond that it should not create any devices on its 
own.  That will solve much of this.

Sincerely,
Julie S.



      

------------------------------------------------------------------------------
_______________________________________________
Rosegarden-devel mailing list
[email protected] - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to