From: <tt_...@gm...> - 2004-08-28 08:23:45
|
Hi, I recently upgraded my Linux JAVA SDK to 1.5 (or 5.0?) and my sequencer function works as expected (with some minor blemishs, of course). Now I will make some further improvements. But I like to get some feedback, if the sequencer works also under Windows resp. MacOSX. If someone want to take a look to this feature he has to set "useSequencer" in core.NoteChooserConfigPanel to "true", recompile and make the corresponding settings in the config panel. BTW, the function isn't reentrant save and you can't stop the sequencer. So don't play a very long song. (some of the things I have to do). Maybe the javasound part of the Java 1.4 version isn't generally able to make what I want. But maybe only the Linux port is buggy. This point is very interesting for me. Bye Torsten |
From: Hiroo H. <hir...@co...> - 2004-08-28 23:17:50
|
Torsten, I've tried your sequencer today. When I click 'Play', it sends Sysex message but does not send MIDI note messages. ------------------------------------------------------------------------ DBG>JSynthLib: 0.20-alpha, Java: 1.4.2, OS: Windows XP, 5.1 =2E.. core.MidiUtil.startSequencer: seqTrans =3D com.sun.media.sound.AbstractPlay= er$PlayerOutTransmitter@1885088 core.MidiUtil.startSequencer: output MidiDevice =3D com.sun.media.sound.Mid= iOutDevice@5f387c core.MidiUtil.startSequencer: outRcvr =3D com.sun.media.sound.MidiOutDevice= $MidiOutReceiver@1756db3 =2E.. ------------------------------------------------------------------------ These are MIDI related descriptions in Bugs fixed in J2SETM 1.5.0 Beta1 (http://java.sun.com/j2se/1.5.0/fixedbugs/fixedbugs.html). ------------------------------------------------------------------------ 4773012 java classes_sound 36 votes RFE: Implement a new stand= -alone sequencer 4851018 java classes_sound 3 votes MidiMessage.getLength and .= getData return wrong values 4493775 java classes_sound 2 votes Sequencer method, setTickP= osition(long) doesnot set the Tick position 4782924 java classes_sound 2 votes RFE: Linux: Implement MIDI= device I/O 4204105 java classes_sound 1 vote RFE: add loop() method(s) = to Sequencer 4782900 java classes_sound 1 vote RFE: Linux: Implement Port= s ------------------------------------------------------------------------ Does this mean the MIDI sequencer is not implemented in 1.4? Torsten> But I like to get some feedback, if the sequencer works also Torsten> under Windows resp. MacOSX. Torsten> If someone want to take a look to this feature he has to set Torsten> "useSequencer" in core.NoteChooserConfigPanel to "true", Torsten> recompile and make the corresponding settings in the config Torsten> panel. Torsten> BTW, the function isn't reentrant save and you can't stop the Torsten> sequencer. So don't play a very long song. (some of the Torsten> things I have to do). Torsten> Maybe the javasound part of the Java 1.4 version isn't Torsten> generally able to make what I want. Torsten> But maybe only the Linux port is buggy. Torsten> This point is very interesting for me. --=20 Hiroo Hayashi |
From: <tt_...@gm...> - 2004-08-29 10:51:00
|
Hi Hiroo, Hiroo Hayashi wrote: > Torsten, > > I've tried your sequencer today. > > When I click 'Play', it sends Sysex message but does not send MIDI > note messages. If I'm not wrong these SysexMessages are only the Patch which is send to your synth. I think the NoteOn/NoteOff messages are send bye the sequencer and not catched by our midi-monitor. I don't see NoteOn/NoteOff messages too, but under jdk1.5 the midi file is played correctly about my synth. > ------------------------------------------------------------------------ > DBG>JSynthLib: 0.20-alpha, Java: 1.4.2, OS: Windows XP, 5.1 > ... > core.MidiUtil.startSequencer: seqTrans = com.sun.media.sound.AbstractPlayer$PlayerOutTransmitter@1885088 > core.MidiUtil.startSequencer: output MidiDevice = com.sun.media.sound.MidiOutDevice@5f387c > core.MidiUtil.startSequencer: outRcvr = com.sun.media.sound.MidiOutDevice$MidiOutReceiver@1756db3 > ... > ------------------------------------------------------------------------ This looks like my own output and tells that the right Receiver is connected. But alas the MIDI events of the Midi file are never send to this Receiver, only to Java's default synthesizer. > These are MIDI related descriptions in Bugs fixed in J2SETM 1.5.0 > Beta1 (http://java.sun.com/j2se/1.5.0/fixedbugs/fixedbugs.html). > > ------------------------------------------------------------------------ > 4773012 java classes_sound 36 votes RFE: Implement a new stand-alone sequencer > 4851018 java classes_sound 3 votes MidiMessage.getLength and .getData return wrong values > 4493775 java classes_sound 2 votes Sequencer method, setTickPosition(long) doesnot set the Tick position > 4782924 java classes_sound 2 votes RFE: Linux: Implement MIDI device I/O > 4204105 java classes_sound 1 vote RFE: add loop() method(s) to Sequencer > 4782900 java classes_sound 1 vote RFE: Linux: Implement Ports > ------------------------------------------------------------------------ > > Does this mean the MIDI sequencer is not implemented in 1.4? I'm suspecting that the MIDI sequencer isn't implemented properly in 1.4. It seems that the MIDI Sequencer in the Linux 1.4 Java environment doesn't concern about the new assigned Receiver "outRcvr". It only plays the midi file over Java's default synthesizer, which means you can hear the song over the "Line Out" output of your soundcard. Is this also correct under Windows?. Can you make a quick test with jdk1.5? If my sequencer part is working properly the MIDI file should be played over your synthesizer. If this is the case, I think the wrong behaviour is a Java 1.4 issue and I don't activate this feature until jdk1.5 will become a requirement and my code reached a "stable" state, of course. Bye Torsten |
From: Hiroo H. <hir...@co...> - 2004-08-29 18:08:19
|
Hi Torsten, Torsten> > When I click 'Play', it sends Sysex message but does not send MIDI Torsten> > note messages. Torsten> If I'm not wrong these SysexMessages are only the Patch which Torsten> is send to your synth. I think the NoteOn/NoteOff messages Torsten> are send bye the sequencer and not catched by our Torsten> midi-monitor. I'm using an external MIDI monitor program (MIDI-OX). Torsten> But alas the MIDI events of the Midi file are never send to Torsten> this Receiver, only to Java's default synthesizer. I guess default Synthesizer (returned by MidSystem.getSysnthsizer()) on my system is software synth of Windows. But I hear nothing. Torsten> It seems that the MIDI Sequencer in the Linux 1.4 Java Torsten> environment doesn't concern about the new assigned Receiver Torsten> "outRcvr". It only plays the midi file over Java's default Torsten> synthesizer, which means you can hear the song over the "Line Torsten> Out" output of your soundcard. Is this also correct under Torsten> Windows?. It seems my XP system is worse than Linux. Torsten> Can you make a quick test with jdk1.5? Torsten> If my sequencer part is working properly the MIDI file should Torsten> be played over your synthesizer. If this is the case, I Torsten> think the wrong behaviour is a Java 1.4 issue and I don't Torsten> activate this feature until jdk1.5 will become a requirement Torsten> and my code reached a "stable" state, of course. I have not decided to install 1.5 yet. I don't prefer to install beta version. And I'm afraid having two version of SDK will cause trouble for me. You can use core.Utility.getJavaVersion() and disable sequencer without waiting for the time when 1.5 will be requirement. -- Hiroo Hayashi |
From: <tt_...@gm...> - 2004-09-01 07:25:42
|
Hi Hiroo, Hiroo Hayashi wrote: > Hi Torsten, > > Torsten> > When I click 'Play', it sends Sysex message but does not send MIDI > Torsten> > note messages. > > Torsten> If I'm not wrong these SysexMessages are only the Patch which > Torsten> is send to your synth. I think the NoteOn/NoteOff messages > Torsten> are send bye the sequencer and not catched by our > Torsten> midi-monitor. > I'm using an external MIDI monitor program (MIDI-OX). > > Torsten> But alas the MIDI events of the Midi file are never send to > Torsten> this Receiver, only to Java's default synthesizer. > > I guess default Synthesizer (returned by MidSystem.getSysnthsizer()) on > my system is software synth of Windows. But I hear nothing. > > Torsten> It seems that the MIDI Sequencer in the Linux 1.4 Java > Torsten> environment doesn't concern about the new assigned Receiver > Torsten> "outRcvr". It only plays the midi file over Java's default > Torsten> synthesizer, which means you can hear the song over the "Line > Torsten> Out" output of your soundcard. Is this also correct under > Torsten> Windows?. > > It seems my XP system is worse than Linux. > > Torsten> Can you make a quick test with jdk1.5? > Torsten> If my sequencer part is working properly the MIDI file should > Torsten> be played over your synthesizer. If this is the case, I > Torsten> think the wrong behaviour is a Java 1.4 issue and I don't > Torsten> activate this feature until jdk1.5 will become a requirement > Torsten> and my code reached a "stable" state, of course. > > I have not decided to install 1.5 yet. > I don't prefer to install beta version. And I'm afraid having two > version of SDK will cause trouble for me. > > You can use core.Utility.getJavaVersion() and disable sequencer > without waiting for the time when 1.5 will be requirement. OK, I think it's better to use my sequencer code only with jdk1.5. It seem's to me that the 1.4 version doesn't do what I want. Bye Torsten |