From: Pedro Lopez-C. <pl...@te...> - 2004-06-15 20:46:51
|
> For me: that works ! I was using kaconnect to configure miniArp has input > device to Rosegarden, but nothing was appening. But if I use the Rosegarden > Open Studio window it works. > What this window do more than a simple aconnect command ?? Rosegarden subscribes an input port with two options: "time update" for event timestamping, and "real time translation" for real seconds instead tick times, over its own sequencer queue. Kaconnect is a very simplistic program, unable to subscribe two ports with any option. You can better use the command line utility "aconnect" with the option -r #|--real #, being # the queue number (cat /proc/asound/seq/queues). > > Second experiment. Start with no programs running. > > 1. Start miniArp > > 2. Start Rosegarden > > 3. Configure miniArp as input device, if it wasn't selected yet > > 4. Start recording. > > The second procedure doesn't work. Nothing is recorded. > For me: Most of the time, I can't even start recording. When I push the record > button, the rosegarden sequencer indicates -3 secondes (sometimes -4, -5 or > -8 ...) and nothing appends and then the sequencer freeze after some button > pushes. > And if it doesn't crash, nothing is recorded. Yes, the queue created by Rosegarden doesn't start, so neither recording nor playing a song can work. This happens every time, and it is reproducible if you start any program running it's own sequencer queue before starting Rosegarden. For instance, start aplaymidi or pmidi to play a song. Then start Rosegarden, and try to press the "play" button. IMO this is a bug, but a preliminary examination of my usual suspect (sound/AlsaDriver.cpp) doesn't show the cause. There are two functions where the subscriptions are made, though: 1. AlsaDriver::initialiseMidi() is called at starting time. Here is where the queue is created, ports are connected and queue is started. 2. AlsaDriver::setRecordDevice(DeviceId id) is called later, to set any other record device, selected on the Studio window. There is some duplicated code between the two functions, but they are doing basically the same. There is another place worth to look : 3. AlsaDriver::setCurrentTimer(QString timer) is called from initialization and several times later. It stops the queue and issues a "continue". > > This is with current Rosegarden CVS and ALSA 1.0.5a > > Anybody else can reproduce this behavior? > I'm using Rosegarden v 0.9.8 and alsa 1.0.5(a?) [~]$ rosegarden -version Qt: 3.1.2 KDE: 3.1.3 Rosegarden: 4-0.9.9cvs [~]$ cat /proc/asound/version Advanced Linux Sound Architecture Driver Version 1.0.5a. Compiled on May 31 2004 for kernel 2.4.23-2plc with versioned symbols. Regards, Pedro |