Ted:  

I have come up with a way for you to reproduce the problem on your
system.  

I have attached a MIDI file (exported from the demo file I first
recorded to a single track, then split-out based on source channel.  

Save the 1st attachment to your machine.  

If you don't already have a tool for playing MIDI files from the command
line, install pmidi.

Fire up Rosegarden, and prepare to record simultaneously to track 1, and
track 2, setting the recording filters so that track 1 only listens to
MIDI channel 1, and track 2 only listens to MIDI channel 2.  You
probably want to turn off the metronome, as well.  You can have the
MIDI-thru routing going to Qsynth, or whatever you prefer to use, but
leave track 1 selected.  

In a terminal session, enter the following command (if you use pmidi):

pmidi -l

This command will list the available ports.  Look for the "rosegarden
record in" port.  

On my machine, it produced the following output:

aere@aere-Dell-DE051:~/MIDI$ pmidi -l
 Port     Client name                       Port name
 14:0     Midi Through                      Midi Through Port-0
 16:0     SB Live! Value [CT4832]           EMU10K1 MPU-401 (UART)
 17:0     Emu10k1 WaveTable                 Emu10k1 Port 0
 17:1     Emu10k1 WaveTable                 Emu10k1 Port 1
 17:2     Emu10k1 WaveTable                 Emu10k1 Port 2
 17:3     Emu10k1 WaveTable                 Emu10k1 Port 3
128:0     Client-128                        qjackctl
129:0     FLUID Synth (3217)                Synth input port (3217:0)
130:0     rosegarden                        record in
130:2     rosegarden                        external controller

Change directories to where you saved the 1st attachment file (the
'.mid' file).  

Type a command (but don't transmit it yet) to play the MIDI file on the
rosegarden  record in port.  On my machine, it was the following
command:

pmidi -p 130:0 RosegardenCrashTest.mid

Don't hit the 'enter' key yet - you need to get Rosegarden recording
first (if you did, you could hit control-C to terminate it).  

In the Rosegarden window, ensure that everything is set up to record
simultaneously on the two tracks, then hit the record button.  

In the terminal session, hit the 'enter' key on the command to play the
MIDI file.  

Watch the segments being recorded in the two tracks.  The note-marks in
the two tracks should be very different (track 2 is long, sustained
chords, while track 1 is the melody).  

When the piece finishes playing in the terminal window (the cursor
prompt comes back), click the Stop button in the Rosegarden window.  

If you successfully reproduced the problem, Rosegarden will hang
(probably looping, putting out the message reported in a prior
e-mail).  

Beware that sometimes it will succeed.  In my testing, it failed
(reproduced the problem) 3 out of 4 times, and succeeded once.  I
suspect that the problem is triggered by losing a note-off event in the
recording process.  


So this should give you a way of reproducing the problem.  I have
gathered still more information on the problem.  

In my last e-mail, I stated that sometimes it crashed when recording
both channels to the same track.  I now doubt that assertion I stated in
the prior e-mail.  I have since recorded a lot of demo music using my
keyboard under-development, using the technique of recording both
channels to a single track, and it did not ever crash in all those
recording sessions.  

I tried playing a MIDI file made from the Rosegarden demo music (the
Glazanov piece, since it outputs to two MIDI channels), doing the same
test scenario as above.  It succeeded two out of two tries.  I suspect
it uses note durations, rather than strictly note-on/note-off events (as
does my keyboard under development).  

The second attachment file is from the one time when Rosegarden
successfully recorded the playing of the MIDI file.  You can use it as a
model for setting up your test record (deleting the recorded segments).
But beware that the recording filters are not saved in the '.rg' files
(I wish they were), so you have to manually set the recording filters.  


- Aere

On Sun, 2012-06-10 at 23:01 -0400, Ted Felix wrote:

> On 6/5/2012 4:41 PM, Aere Greenway wrote:
> > WARNING: SegmentNotationHelper::makeNoteViable(): No valid split for
> > event of duration 896 at 107520 (split duration 960), ignoring remainder
> > WARNING: This is probably a bug; fix required
> 
>    Boy, that looks familiar.  I've been in that code and fixed something 
> like that.  Anyway, I'm still looking at your problem, but a bit swamped 
> right now.  I'll get back to this hopefully in a week or so.  I did play 
> with the recording filters (which had no effect, still no crash for me) 
> and I have a response that I need to forward to you (don't have email on 
> my Linux machine, so it gets complicated).  Stay tuned....
> 
> Ted.
> 
> 
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and 
> threat landscape has changed and how IT managers can respond. Discussions 
> will include endpoint security, mobile security and the latest in malware 
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Rosegarden-devel mailing list
> Rosegarden-devel@lists.sourceforge.net - use the link below to unsubscribe
> https://lists.sourceforge.net/lists/listinfo/rosegarden-devel


-- 

Sincerely,
Aere

Attachment: RosegardenCrashTest.mid
Description: MIDI audio

Attachment: RosegardenCrashTestRecording.rg
Description: audio/rosegarden

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Rosegarden-devel mailing list
Rosegarden-devel@lists.sourceforge.net - use the link below to unsubscribe
https://lists.sourceforge.net/lists/listinfo/rosegarden-devel

Reply via email to