You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(90) |
Sep
(38) |
Oct
(22) |
Nov
(3) |
Dec
(13) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(40) |
Feb
(119) |
Mar
(236) |
Apr
(41) |
May
(45) |
Jun
(10) |
Jul
(9) |
Aug
(12) |
Sep
(5) |
Oct
(17) |
Nov
(2) |
Dec
(3) |
2006 |
Jan
(23) |
Feb
(36) |
Mar
(49) |
Apr
|
May
|
Jun
(1) |
Jul
(11) |
Aug
(11) |
Sep
(15) |
Oct
(30) |
Nov
(36) |
Dec
(13) |
2007 |
Jan
|
Feb
(1) |
Mar
|
Apr
(1) |
May
(3) |
Jun
(7) |
Jul
(4) |
Aug
(1) |
Sep
(19) |
Oct
(1) |
Nov
(2) |
Dec
(5) |
2008 |
Jan
|
Feb
(2) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(5) |
Dec
|
2009 |
Jan
(26) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(26) |
Sep
(6) |
Oct
(5) |
Nov
(6) |
Dec
(6) |
2010 |
Jan
(3) |
Feb
|
Mar
(5) |
Apr
|
May
(1) |
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
(6) |
Aug
(8) |
Sep
(220) |
Oct
(9) |
Nov
(27) |
Dec
(33) |
2012 |
Jan
|
Feb
(4) |
Mar
(9) |
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
|
Dec
|
2013 |
Jan
(6) |
Feb
(20) |
Mar
(6) |
Apr
(3) |
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(17) |
Nov
(2) |
Dec
|
2014 |
Jan
(9) |
Feb
(1) |
Mar
(11) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
(2) |
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Rib R. <ri...@gm...> - 2004-08-31 07:17:39
|
Well, I committed what I have so far. Once again eclipse gave errors during the commit, so let me know if it looks like something's missing. I've added two jar files which you will need to put in your classpath. These are for the Groovy scripting language, which has most of the features of languages like Ruby and Python, but is designed specifically to integrate with Java. This stuff will still be pretty useless and untested until I add editor support and sending and receiving patches. Once that's done (it shouldn't be too hard, but I'm going to have less time to work on it right now), EditorBuilder needs to be modified to remove sun's code so it can be GPL'd, and updated to work with XML drivers. If I recall correctly, the only part that needs the sun license is the method that draws the arrows between widgets. Oh, and I'm going to have to document this so people can start using it! ;-) |
From: Jeff W. <jww...@ya...> - 2004-08-31 02:01:53
|
I started working on a Converter for the Bass Pod and I immediately ran into a problem. After I added the converter to my config, I tried opening a library window and selecting Get... (making sure the library window has the focus). The Get Sysex Data dialog does not appear and the following exception is generated: java.lang.NullPointerException at core.SysexGetDialog$DriverActionListener.actionPerformed(SysexGetDialog.java:231) at javax.swing.JComboBox.fireActionEvent(JComboBox.java:1197) at javax.swing.JComboBox.contentsChanged(JComboBox.java:1268) at javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:100) at javax.swing.DefaultComboBoxModel.setSelectedItem(DefaultComboBoxModel.java:88) at javax.swing.DefaultComboBoxModel.addElement(DefaultComboBoxModel.java:126) at javax.swing.JComboBox.addItem(JComboBox.java:690) at core.SysexGetDialog$DeviceActionListener.actionPerformed(SysexGetDialog.java:201) at javax.swing.JComboBox.fireActionEvent(JComboBox.java:1197) at javax.swing.JComboBox.contentsChanged(JComboBox.java:1268) at javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:100) at javax.swing.DefaultComboBoxModel.setSelectedItem(DefaultComboBoxModel.java:88) at javax.swing.DefaultComboBoxModel.addElement(DefaultComboBoxModel.java:126) at javax.swing.JComboBox.addItem(JComboBox.java:690) at core.SysexGetDialog.<init>(SysexGetDialog.java:75) at core.Actions$GetAction.actionPerformed(Actions.java:896) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1819) at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1872) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258) at javax.swing.AbstractButton.doClick(AbstractButton.java:321) at apple.laf.ScreenMenuItem.actionPerformed(ScreenMenuItem.java:83) at java.awt.MenuItem.processActionEvent(MenuItem.java:589) at java.awt.MenuItem.processEvent(MenuItem.java:548) at java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:285) at java.awt.MenuComponent.dispatchEvent(MenuComponent.java:273) at java.awt.EventQueue.dispatchEvent(EventQueue.java:458) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:170) at java.awt.EventDispatchThread.run(EventDispatchThread.java:100) I thought it was something with my Bass Pod Converter so I removed it from my config (leaving the other Bass Pod drivers in place) and repeated the test. This time the Get Sysex Data dialog displays and everything appears to work normally. I put the converter back in and the problem comes back. I decided to remove the Bass Pod from the config entirely and test with other device/drivers that use a Converter. I cleaned the config out completely and tested with one device/driver at a time. The same NullPointerException occurs on all of the ones I tested. I tested the following devices, quitting and restarting the program and cleaning out the config between each test: Yamaha TG100 Kawai K4 Yamaha DX7 Korg X3 (this one has two converters) Yamaha FS1R I tried using my debugger to place breakpoints around where the exception is happening but for some reason, my breakpoints aren't working. Anybody have any ideas? Could somebody run this test and see if they get the same result? Thanks, Jeff _______________________________ Do you Yahoo!? Win 1 of 4,000 free domain names from Yahoo! Enter now. http://promotions.yahoo.com/goldrush |
From: Hiroo H. <hir...@co...> - 2004-08-30 13:21:06
|
OK, take your time. I have some questions. (You don't have to answer. I can wait to seeing your code.) Why some method in Parameter has 'IPatch p' argument. I guess the IPatch object is passed to Parameter object via constructor. How does IPatchDriver.sendParameter(IPatch, Parameter) works. Parameter object does not have information about SysexMessage data format. I guess what we need is 'void Parameter.send()'. I must be misunderstanding something. On Sun, 29 Aug 2004 20:11:50 -0700 Rib Rdb <ri...@gm...> wrote: Rib> On Sun, 29 Aug 2004 13:22:51 -0500, Hiroo Hayashi Rib> <hir...@co...> wrote: Rib> > Rib, are you changing these files for your XML driver? If so, I'll Rib> > check-in my fix after your check-in. Rib> Rib> Yes. What I've done is changed the sysex widgets to support both the Rib> current param model/sysex senders, as well as a new api: an interface Rib> Parameter, and a method IPatchDriver.sendParameter(IPatch, Parameter). Rib> Here is the parameter interface: Rib> public interface Parameter { Rib> public String getName(); Rib> Rib> /* For numeric parameters */ Rib> public int getMin(); Rib> public int getMax(); Rib> public int get(IPatch p); Rib> public void set(IPatch p, int val); Rib> Rib> /* For list parameters */ Rib> public String[] getValues(); Rib> Rib> /* For String parameters */ Rib> public String getString(IPatch p); Rib> public int getLength(); Rib> public void set(IPatch p, String stringval); Rib> } Rib> Rib> This way all the sysex sender objects aren't necessary, and the Rib> parameter objects can be shared between instances. Also, sysex Rib> widgets can be constructed from the parameter objects instead of Rib> hardcoding the values to the constructor like is currently done. This Rib> is meant to help with editor builder. Rib> Rib> Speaking of the XML driver: I have finished the parser and the plugin Rib> support. I merely have to finish implementing the XMLPatch class. Rib> Hopefully I'll be able to get it done in the next couple days. -- Hiroo Hayashi |
From: Hiroo H. <hir...@co...> - 2004-08-30 01:15:49
|
Jeff, Jeff> One question--How do you clear your preferences? Jeff> > If this is OK, try clear preference. See FAQ in Jeff> > documentation.html to Jeff> > see where the preference is saved. If you are using Jeff> > Windows, you can Jeff> > delete the preference by using regedit. I need more specific question. # 'regedit' (Registory Editor) is a standard Windows application. -- Hiroo Hayashi |
From: Jeff W. <jww...@ya...> - 2004-08-29 23:54:18
|
Hiroo, I think I know what the problem is. I wanted to run JSynthLib without my drivers installed. I checked out a new version and compiled without my drivers and ran the program. The synthdrivers.properties file did not have my drivers listed but my preferences still did. As soon as I added my drivers, everything worked again. One question--How do you clear your preferences? Jeff --- Hiroo Hayashi <hir...@co...> wrote: > I made a change for AppConfig. I made all methods > in AppConfig static. > But it should not change the behavior of JSynthLib. > Of course I have no > problem. > > Double check if all *.java files are up-to-date and > all *.class file is > updated. > If this is OK, try clear preference. See FAQ in > documentation.html to > see where the preference is saved. If you are using > Windows, you can > delete the preference by using regedit. > > I've cleared my preference and rerun JSynthLib, but > I don't see stack > trace. > > Hope this helps. > > Jeff> Has something changed with the preferences? I > tried > Jeff> running a version of the code which I checked > out Sun. > Jeff> 8/29. Every time I start the program it throws > a > Jeff> NullPonterException: > Jeff> java.lang.NullPointerException > Jeff> at > Jeff> > core.DevicesConfig.createDevice(DevicesConfig.java:162) > Jeff> at > core.AppConfig.addDevice(AppConfig.java:317) > Jeff> at > core.AppConfig.loadPrefs(AppConfig.java:67) > Jeff> at core.PatchEdit.<init>(PatchEdit.java:35) > Jeff> at JSynthLib.main(JSynthLib.java:31) > Jeff> > Jeff> Even after I configure drivers and relaunch, > the same > Jeff> thing happens and none of the configs get > saved. > Jeff> > Jeff> Has anyone else noticed this or is it just me? > > -- > Hiroo Hayashi > > > > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic > Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 > today. > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > _______________________________________________ > Jsynthlib-devel mailing list > Jsy...@li... > https://lists.sourceforge.net/lists/listinfo/jsynthlib-devel > __________________________________ Do you Yahoo!? New and Improved Yahoo! Mail - 100MB free storage! http://promotions.yahoo.com/new_mail |
From: Hiroo H. <hir...@co...> - 2004-08-29 22:25:28
|
Jeff, You can use Converter for your purpose. Do you mean; your converter worked fine a week ago. it does not work with current CVS head. ? I made a change on this area, but it should not change the behavior. (Of course I might make a mistake.) Make sure your driver does not have any reference to new interfaces, IDriver, IPatchDriver, IConverter, IPatch, ... etc. They don't have to be referred by a driver which extends Driver class. And their APIs are unstable, your driver would be unstable if your driver refers them. On Sun, 29 Aug 2004 13:47:03 -0700 (PDT) Jeff Weber <jww...@ya...> wrote: Jeff> I had my Line6 POD drivers working with a version of Jeff> the code from about a week ago but this weekend when I Jeff> downloaded the latest version I'm ran into some Jeff> problems. Jeff> Jeff> The PODs have some special issues that need to be Jeff> dealt with. Whenever you request any kind of dump, Jeff> they send a lot of garbage data along with the Jeff> requested patch. The patch can appear anywhere within Jeff> the garbage data and there are different lengths to Jeff> the patches, depending upon what type of patch you Jeff> have requested (bank, program, or edit buffer). The Jeff> behavior is unpredictable. It goes beyond what Jeff> Driver.trimSysex can deal with. Jeff> Jeff> I want to use a Converter to filter out the garbage Jeff> but judging by recent posts it sounds like the purpose Jeff> of the Converter has shifted a little bit. I just want Jeff> to make sure I'm on the right track. Is this still an Jeff> appropriate use for a Converter? -- Hiroo Hayashi |
From: Hiroo H. <hir...@co...> - 2004-08-29 22:10:56
|
I made a change for AppConfig. I made all methods in AppConfig static. But it should not change the behavior of JSynthLib. Of course I have no problem. Double check if all *.java files are up-to-date and all *.class file is updated. If this is OK, try clear preference. See FAQ in documentation.html to see where the preference is saved. If you are using Windows, you can delete the preference by using regedit. I've cleared my preference and rerun JSynthLib, but I don't see stack trace. Hope this helps. Jeff> Has something changed with the preferences? I tried Jeff> running a version of the code which I checked out Sun. Jeff> 8/29. Every time I start the program it throws a Jeff> NullPonterException: Jeff> java.lang.NullPointerException Jeff> at Jeff> core.DevicesConfig.createDevice(DevicesConfig.java:162) Jeff> at core.AppConfig.addDevice(AppConfig.java:317) Jeff> at core.AppConfig.loadPrefs(AppConfig.java:67) Jeff> at core.PatchEdit.<init>(PatchEdit.java:35) Jeff> at JSynthLib.main(JSynthLib.java:31) Jeff> Jeff> Even after I configure drivers and relaunch, the same Jeff> thing happens and none of the configs get saved. Jeff> Jeff> Has anyone else noticed this or is it just me? -- Hiroo Hayashi |
From: Jeff W. <jww...@ya...> - 2004-08-29 20:47:25
|
Has something changed with the preferences? I tried running a version of the code which I checked out Sun. 8/29. Every time I start the program it throws a NullPonterException: java.lang.NullPointerException at core.DevicesConfig.createDevice(DevicesConfig.java:162) at core.AppConfig.addDevice(AppConfig.java:317) at core.AppConfig.loadPrefs(AppConfig.java:67) at core.PatchEdit.<init>(PatchEdit.java:35) at JSynthLib.main(JSynthLib.java:31) Even after I configure drivers and relaunch, the same thing happens and none of the configs get saved. Has anyone else noticed this or is it just me? __________________________________ Do you Yahoo!? New and Improved Yahoo! Mail - 100MB free storage! http://promotions.yahoo.com/new_mail |
From: Jeff W. <jww...@ya...> - 2004-08-29 20:47:12
|
I had my Line6 POD drivers working with a version of the code from about a week ago but this weekend when I downloaded the latest version I'm ran into some problems. The PODs have some special issues that need to be dealt with. Whenever you request any kind of dump, they send a lot of garbage data along with the requested patch. The patch can appear anywhere within the garbage data and there are different lengths to the patches, depending upon what type of patch you have requested (bank, program, or edit buffer). The behavior is unpredictable. It goes beyond what Driver.trimSysex can deal with. I want to use a Converter to filter out the garbage but judging by recent posts it sounds like the purpose of the Converter has shifted a little bit. I just want to make sure I'm on the right track. Is this still an appropriate use for a Converter? __________________________________ Do you Yahoo!? Yahoo! Mail is new and improved - Check it out! http://promotions.yahoo.com/new_mail |
From: Jeff W. <jww...@ya...> - 2004-08-29 20:23:08
|
Hi Hiroo, That should solve my problem. All I would have to do is add the override to send(IPatchDriver driver, int value) to my sender. Jeff --- Hiroo Hayashi <hir...@co...> wrote: > I'd like to propose two inner interfaces for > SysexWidget. > > 1. IParamModel > public interface IParamModel { > void set(int value); > int get(); > } > > The current ParamModel class depends on Patch class > which is an > implementation of IPatch. It cannot be used for > other implementation of > IPatch. By introducing this interface, SysexWidget > and its subclasses > can support any implementation of IPatch. > > 2. ISender > public interface ISender { > void send(IPatchDriver driver, int value); > } > > Now SysexSender.generate() returns a byte array and > SysexWidget.sendSysex() converts the byte array into > a SysexMessage and > send it to MIDI port. After my proposal > SysexWidget.sendSysex() will > just call ISender.send() method and send() method > does all of the job. > > The main job of SysexSender class becomes sending > Sysex Message. Easy > to understand, isn't it? More importantly a sender > has more flexibility. > It can send any message, short message, multiple > message, and mix of > sysex and short message. > > For example > WaldorfPulseSingleEditor.WaldorfPulseSender (the > only sender > which sends short message, I could find.) becomes as > follows; > > class WaldorfPulseSender implements > SysexWidget.ISender { > private int param; > private int mult; > > public WaldorfPulseSender(int param) { > this(param, 1); > } > > public WaldorfPulseSender(int param, int > multiplier) { > this.param = param; > this.mult = multiplier; > } > > public void send(IPatchDriver driver, int > value) { > ShortMessage msg = new ShortMessage(); > try { > > msg.setMessage(ShortMessage.CONTROL_CHANGE, > driver.getChannel() - 1, > param, value * mult); > driver.send(msg); > } catch (InvalidMidiDataException e) { > ErrorMsg.reportStatus(e); > } > } > } > > This proposal requires little changes of > SysexWidget, its subclasses in > core, SysexSender, and ParamModel. No change for > synthdrivers. I'm > ready to commit them. > > Rib, are you changing these files for your XML > driver? If so, I'll > check-in my fix after your check-in. > -- > Hiroo Hayashi > > > > ------------------------------------------------------- > This SF.Net email is sponsored by BEA Weblogic > Workshop > FREE Java Enterprise J2EE developer tools! > Get your free copy of BEA WebLogic Workshop 8.1 > today. > http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click > _______________________________________________ > Jsynthlib-devel mailing list > Jsy...@li... > https://lists.sourceforge.net/lists/listinfo/jsynthlib-devel > __________________________________ Do you Yahoo!? Y! Messenger - Communicate in real time. Download now. http://messenger.yahoo.com |
From: Hiroo H. <hir...@co...> - 2004-08-29 19:22:59
|
I'd like to propose two inner interfaces for SysexWidget. 1. IParamModel public interface IParamModel { void set(int value); int get(); } The current ParamModel class depends on Patch class which is an implementation of IPatch. It cannot be used for other implementation of IPatch. By introducing this interface, SysexWidget and its subclasses can support any implementation of IPatch. 2. ISender public interface ISender { void send(IPatchDriver driver, int value); } Now SysexSender.generate() returns a byte array and SysexWidget.sendSysex() converts the byte array into a SysexMessage and send it to MIDI port. After my proposal SysexWidget.sendSysex() will just call ISender.send() method and send() method does all of the job. The main job of SysexSender class becomes sending Sysex Message. Easy to understand, isn't it? More importantly a sender has more flexibility. It can send any message, short message, multiple message, and mix of sysex and short message. For example WaldorfPulseSingleEditor.WaldorfPulseSender (the only sender which sends short message, I could find.) becomes as follows; class WaldorfPulseSender implements SysexWidget.ISender { private int param; private int mult; public WaldorfPulseSender(int param) { this(param, 1); } public WaldorfPulseSender(int param, int multiplier) { this.param = param; this.mult = multiplier; } public void send(IPatchDriver driver, int value) { ShortMessage msg = new ShortMessage(); try { msg.setMessage(ShortMessage.CONTROL_CHANGE, driver.getChannel() - 1, param, value * mult); driver.send(msg); } catch (InvalidMidiDataException e) { ErrorMsg.reportStatus(e); } } } This proposal requires little changes of SysexWidget, its subclasses in core, SysexSender, and ParamModel. No change for synthdrivers. I'm ready to commit them. Rib, are you changing these files for your XML driver? If so, I'll check-in my fix after your check-in. -- Hiroo Hayashi |
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-08-29 10:51:11
|
Hi Hiroo, Hiroo Hayashi wrote: > All what I did is set PATH and JAVA_HOME for J2SE 1.4.2 on Windows XP. > > (herbie) hiroo[503] echo $JAVA_HOME > D:\Program Files\j2sdk1.4.2 > > I just followed the installation manual. Since I'm just using Linux I don't concern about this problem by myself. But I've read about some trouble to get JSynthLib running under Windows in several DX mailinglists. I've talked again and again to these people to share our mailinglist to report their problems, but alas without success. Now I found this comment in a DX mailinglist and forward it to our list. . I took a look into our documentation.html file under "Installing JSynthLib - Step 3: Installing and Invoking JSynthLib" in the current CVS version, but can't find a comment about the need to set environment variables like PATH, CLASSPATH or JAVA_HOME. Maybe it's not common for Windows user to handle environment variables or commandline tools and maybe it could be helpful to add some comments about this issue. This was all what I intended. Bye Torsten |
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: <tt_...@gm...> - 2004-08-29 10:50:50
|
Hi Hiroo, Hiroo Hayashi wrote: > Torsten> Perhaps this could make a future localization (translation > Torsten> into other languages as english) easier. > > Why making package for dialog helps localization? I think it is > opposite. But the difference would be very little. I got just the idea of localization as an future task and in my imagination it's easier if all dialogs are placed at one place. That's all. But I have to admit that I have no experience in this questions. 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: Hiroo H. <hir...@co...> - 2004-08-28 19:07:01
|
Rib and Torsten, Rib > Second, I have one more comment on the package structure (although it Rib > does not conflict with my proposed changes). Since there are so many Rib > dialogs, would it not be a good idea to have a package for them, and Rib > perhaps also a package for the config panels? I'm not sure which is better. The number of files under jsynthlib (current core) will be about half of the current one. I would say the current core has too many files. Half of files may be enough to be managed. On the other hand, to access members in a different package we need more public members (methods and fields). A dialog class does not access members of other dialogs, since there are independent each other in general. The package will be a collection of independent classes, and jsynthlib (core) package needs to have more public members. If I have to choose one of the selection, I would take not to create a package for dialogs. But this is not strong preference. Please create it if think it is better. Torsten> Perhaps this could make a future localization (translation Torsten> into other languages as english) easier. Why making package for dialog helps localization? I think it is opposite. But the difference would be very little. -- Hiroo Hayashi |
From: <tt_...@gm...> - 2004-08-28 08:25:01
|
Hi all Windows XP developer, I found this message in an DX mailinglist. I don't now the circumstances why JSyntLib wasn't able to run on these systems, but maybe this helps you to find a bug or to extend the documentation. Bye Torsten -------- Original Message -------- Subject: [YamahaDX] Re: about JSynthlib Date: Sat, 28 Aug 2004 06:42:03 -0000 From: warrick_wilson <war...@av...> Reply-To: Yam...@ya... To: Yam...@ya... --- In Yam...@ya..., a33e <a33e@w...> wrote: > Hi there, > > > > I downloaded and unpacked JSynthlib as per instructions but there > > appears to be a file missing. The only "JSynthlib" file I can find in > > the zip is a "JSynthlib.class" file. I have the latest JRE installed > > on a winXP system. Am I missing something? > > Exactly same here. I just dont get it how to start this prog. > I followed instructions carefully without results!!!!!!!!!!!! I had to come back here looking for messages on JSynthLib. I just downloaded it for Windows XP, and was having trouble. The trick is to set the CLASSPATH environment variable to include "." (that is, the current directory). Under XP, you can get at it by doing Start | Control Panel | System | Advanced and then clicking the Environment Variables button. Easy, huh? Then you can find the CLASSPATH variable and add ".;" to the front (without the double quotes, of course). If you have a command prompt open to the directory (or folder) you installed JSynthLib into, you can try this out first by entering the following command at the prompt: set CLASSPATH=.;%CLASSPATH% and pressing Enter. That's what I did and now JSynthLib is working. You might also want to examine your PATH environment variable to make sure you're pointing to the proper Java Runtime directory. I found I was pointing to the 1.4.2_03 directory, and I'd upgraded to 1.4.2_05 a while ago. Hope this helps someone. I figured I'd post something to try and put some sort of extra help into the threads so that anyone searching would actually find some answers. ------------------------ Yahoo! Groups Sponsor --------------------~--> Over 1 billion served! The most music videos on the web. Click to Watch now! http://us.click.yahoo.com/Xkrq7C/IARHAA/n1hLAA/QnLolB/TM --------------------------------------------------------------------~-> Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/YamahaDX/ <*> To unsubscribe from this group, send an email to: Yam...@ya... <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/ |
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: <tt_...@gm...> - 2004-08-27 07:45:23
|
Hi Ryan, Rib Rdb wrote: > Second, I have one more comment on the package structure (although it > does not conflict with my proposed changes). Since there are so many > dialogs, would it not be a good idea to have a package for them, and > perhaps also a package for the config panels? Perhaps this could make a future localization (translation into other languages as english) easier. Of course, only if we want to do this. Bye Torsten |
From: <tt_...@gm...> - 2004-08-27 07:45:22
|
Hi Jeff, Jeff Weber wrote: > If you have any suggestions let me know, or else feel > free to make changes yourself if you feel so inclined. > I don't have write access to the CVS repository yet (I > just sent you another email requesting it), so if you > want to go ahead and patch this in yourself, feel > free. Otherwise I can put in a commit later. If you want to become a developer I can change your state also. This task doesn't need to be done by Hiroo. Bye Torsten |
From: Jeff W. <jww...@ya...> - 2004-08-27 01:33:58
|
Hiroo, After taking care of family business last night I was finally able to find some time to work on a simple fix for the SysexWiget.sendSysex method. I'm guessing this is probably pretty close to what you had in mind. The SysexMessage handles sysex only and ShortMessage handles everything else. Also--the current version sends 0xF0 0xF7 even if the InvalidMidiDataException occurs. I assumed that it shouldn't send anything when the exception occurs so I moved driver.send(m) inside the try block. Now nothing will get sent on an exception. protected void sendSysex(SysexSender s, int v) { if (s != null) { // do it only if there is a sysex-sender available s.channel = (byte) device.getDeviceID(); byte[] sysex = s.generate(v); try { MidiMessage m; if (sysex[0] == (byte)0xF0) { m = new SysexMessage(); ((SysexMessage)m).setMessage(sysex, sysex.length); } else { m = new ShortMessage(); ((ShortMessage)m).setMessage(sysex[0], sysex[1], sysex[2]); } driver.send(m); } catch (InvalidMidiDataException e) { ErrorMsg.reportStatus(e); } } } I haven't done extensive testing with it but I used my Midi Monitor program to watch the MIDI datastream. I tested with the Bass Pod and I also loaded up the Yamaha TX81z and tested with that one. The Pod sends CC messages and the Yamaha sends sysex, just like they're supposed to. If you have any suggestions let me know, or else feel free to make changes yourself if you feel so inclined. I don't have write access to the CVS repository yet (I just sent you another email requesting it), so if you want to go ahead and patch this in yourself, feel free. Otherwise I can put in a commit later. Thanks, Jeff _______________________________ Do you Yahoo!? Express yourself with Y! Messenger! Free. Download now. http://messenger.yahoo.com |
From: Rib R. <ri...@gm...> - 2004-08-26 16:19:59
|
(I accidentally sent this message to the yahoo groups list. Please ignore that one, as it contains an error) I'm about ready to commit the first part of XML single bank support, so I want to make sure I put the new files in the right package. After reviewing the previous thread, here's what it looks like we've suggested so far (all under org.jsynthlib): .midi - MIDI support classes .widgets - Sysex widgets .desktop - JSL* classes .editorbuilder - GUI editorbuilder .utils - MacUtils, ErrorMsg .jsynthlib - current core .jsynthlib.synthdrivers - all (xml and java) drivers .jsynthlib.xml - XML driver and support files So, first of all, when I commit my changes I propose to create four package= s: org.jsynthlib.utils - I will place several generic xml utilities here (it would be confusing to have both org.jsynthli= b.xml and org.jsynthlib.jsynthlib.xml) org.jsynthlib.jsynthlib.xml - XML driver's parser, factories, etc. org.jsynthilb.jsynthlib.plugins - checksum and decoding algorithms for XML drivers org.jsynthlib.jsynthlib.synthdrivers.yamaha.motif - YamahaMotif.xml and NormalVoice.xml Second, I have one more comment on the package structure (although it does not conflict with my proposed changes). =A0Since there are so many dialogs, would it not be a good idea to have a package for them, and perhaps also a package for the config panels? |
From: Hiroo H. <hir...@co...> - 2004-08-25 04:13:27
|
Rib, I still don't understand. Sorry for my poor English. Rib> > Rib> Also, I was thinking it might be better to have Rib> > Rib> IPatchDriver.supportsMessage so that each message can be checked Rib> > Rib> instead of just whatever's at the beginning. Then it would probably Rib> > Rib> > Sorry, I don't understand the purpose of this method. Does this check Rib> > if IPatch.getDriver() returned correct value? (I guess this is wrong.) Rib> Rib> I was thinking of using this instead of supportsPatch(String, byte[]) Rib> in the patch factory method. If there are multiple messages it can Rib> check if there is a single driver that supports all the messages. If Rib> so, it will use that driver; otherwise it can send messages Rib> individually to drivers that support them. I understand you mean multiple patch (IPatch) by multiple message instead of multiple sysex message (SysexMessage). Am I correct? If I'm correct, this is the only job of Converter. Converter's createPatch() divides the input message into multiple patch and assigns a proper driver onto each patch by using IDriver.supportsPatch(). The process does not care if all of the patch are supported by a single driver or not. And now a converter can override createPatch() method directly instead of Converter.extractPatch(). Converter has more flexibility than before. Am I on the same page with you? -- Hiroo Hayashi |
From: Jeff W. <jww...@ya...> - 2004-08-25 02:51:39
|
Hiroo, Somehow I lost your last message and I could not find it in the mailing list archive either. If I'm understanding correctly, I believe what you were suggesting was to use Driver.send to send the CC message directly from my SysexSender subclass. Trouble is, Driver.send is an instance method and I don't have a reference to the driver object (or the Device object for that matter) from within my SysexSender. Secondly, even if I could get it to work, SysexSender.sendSysex will still continue to send 0xF0 0xF7 in between all of my CC messages. That probably wouldn't hurt anything but it's probably not what we really want. All of my SysexSender subclasses were already tested under version 0.18 anyway so it's not something I need to have addressed right away. It sounds like you guys already have enough on your plate right now as it is. In the mean time if you'd like, I'd be happy to volunteer to muck around with the SysexSender.sendSysex method and see if I can come up with a solution. It doesn't seem to me like it should be that difficult. I won't commit anything until I've given you a chance to review it. What do you think? Thanks, Jeff __________________________________ Do you Yahoo!? Y! Messenger - Communicate in real time. Download now. http://messenger.yahoo.com |