TK. Posted December 18, 2010 Report Share Posted December 18, 2010 4 years after the last "inofficial" JSynthLib release it made sense to provide a new .jar file with the latest changes. It can be downloaded from: http://www.ucapps.de/jsynthlib.html MacOS users: the Java MIDI driver provided by Apple doesn't support SysEx - you have to install MMJ http://www.humatic.de/htools/mmj.htm Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
Davo Posted December 18, 2010 Report Share Posted December 18, 2010 Nifty. Maybe it's time to semi-officially take over custody of JSynthLib since nobody else but the Midibox community seems to want to keep it up to date. Quote Link to comment Share on other sites More sharing options...
Wilba Posted December 19, 2010 Report Share Posted December 19, 2010 Maybe it's time someone wrote a dedicated MIDIbox FM patch editor/librarian... :D Quote Link to comment Share on other sites More sharing options...
TK. Posted December 19, 2010 Author Report Share Posted December 19, 2010 If somebody would ever do this, please use Juce to ensure platform independency! This would also allow to port the editor to an iPad w/o much effort :) Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
sonicwarrior Posted September 23, 2011 Report Share Posted September 23, 2011 (edited) Maybe it's time to semi-officially take over custody of JSynthLib since nobody else but the Midibox community seems to want to keep it up to date. JSynthLib has always been Open Source. If someone wants to contribute code he can do it anytime. Just subscribe to the JSynthLib mailing list and ask to be added as a developer. It's as simple as that. Anyway in the last weeks there has been a revival as a group of new and not-that-new developers has taken action. One of them is trying to contact Thorsten regarding the changes (were there any?) mentioned here. Edited September 23, 2011 by sonicwarrior Quote Link to comment Share on other sites More sharing options...
frankster Posted September 23, 2011 Report Share Posted September 23, 2011 Thorsten's replied to me (already!) and the changes discussed here are already in the repository so they will be included in the next official release (0.21) which is likely to come out within the next few weeks. Quote Link to comment Share on other sites More sharing options...
'tini Posted November 23, 2011 Report Share Posted November 23, 2011 can anyone else confirm this as not working in osx lion? all i can get jsynth to do is play a note, it won't read/write patches at all. works fine on my windows XP machine... poo. the mac is my music machine, no editor for the FM will suck big time.. Quote Link to comment Share on other sites More sharing options...
frankster Posted November 23, 2011 Report Share Posted November 23, 2011 Can I ask which version of jsynthlib are you using? And which version of java you have? I know that with older version of java/mac os you needed to use a midi provider (http://sourceforge.net/projects/jsynthlib/files/CAProvider/1.1/) but I assume that with more recent versions of java, this is no longer required. Does your problem sound similar to the problem someone describes having here? http://stackoverflow.com/questions/7749172/why-java-midi-synth-on-mac-stop-playing-notes Also, it could be worth checking if the problem happens with the release candidate for version 0.21 of jsynthlib ( http://dl.dropbox.com/u/9112508/distribution.zip ) thanks, frankie Quote Link to comment Share on other sites More sharing options...
'tini Posted November 23, 2011 Report Share Posted November 23, 2011 Can I ask which version of jsynthlib are you using? And which version of java you have? I know that with older version of java/mac os you needed to use a midi provider (http://sourceforge.net/projects/jsynthlib/files/CAProvider/1.1/) but I assume that with more recent versions of java, this is no longer required. Does your problem sound similar to the problem someone describes having here? http://stackoverflow.com/questions/7749172/why-java-midi-synth-on-mac-stop-playing-notes Also, it could be worth checking if the problem happens with the release candidate for version 0.21 of jsynthlib ( http://dl.dropbox.com/u/9112508/distribution.zip ) thanks, frankie thanks for the swift reply! i'll try and get you more details later when i sit down with the synth again.. Quote Link to comment Share on other sites More sharing options...
sonicwarrior Posted November 23, 2011 Report Share Posted November 23, 2011 Unfortunately I don't have a Mac anymore since the HD on my iBook crashed one and a half years ago. But hopefully using the latest Java 1.6.0_29 and the RC will help. Quote Link to comment Share on other sites More sharing options...
'tini Posted November 23, 2011 Report Share Posted November 23, 2011 (edited) no joy. went over everything again and followed install instructions to the letter, still can't edit patches, just the play sound button works. also tried the new release candidate... i do get this error on the midi loopback test though: The error was: null The exception text is: core.MidiUtil$TimeoutException at core.MidiUtil$SysexInputQueue.getMessage(MidiUtil.java:640) at core.MidiUtil.getMessage(MidiUtil.java:407) at core.MidiTest.runLoopbackTest(MidiTest.java:111) at core.MidiTest.runLoopbackTest(MidiTest.java:63) at core.MidiConfigPanel$4.actionPerformed(MidiConfigPanel.java:152) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6373) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6138) at java.awt.Container.processEvent(Container.java:2085) at java.awt.Component.dispatchEventImpl(Component.java:4735) at java.awt.Container.dispatchEventImpl(Container.java:2143) at java.awt.Component.dispatchEvent(Component.java:4565) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212) at java.awt.Container.dispatchEventImpl(Container.java:2129) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4565) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:679) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:638) at java.awt.EventQueue$1.run(EventQueue.java:636) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:652) at java.awt.EventQueue$2.run(EventQueue.java:650) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:649) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:205) at java.awt.Dialog$1.run(Dialog.java:1046) at java.awt.Dialog$3.run(Dialog.java:1098) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1096) at java.awt.Component.show(Component.java:1584) at java.awt.Component.setVisible(Component.java:1536) at java.awt.Window.setVisible(Window.java:842) at java.awt.Dialog.setVisible(Dialog.java:986) at core.PatchEdit.showPrefsDialog(PatchEdit.java:114) at core.Actions$PrefsAction.actionPerformed(Actions.java:1340) at core.MacUtils$1$3.run(MacUtils.java:63) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:677) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:638) at java.awt.EventQueue$1.run(EventQueue.java:636) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:647) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Edited November 23, 2011 by 'tini Quote Link to comment Share on other sites More sharing options...
sonicwarrior Posted November 23, 2011 Report Share Posted November 23, 2011 Are you sure your MIDI interface is working properly? At first sight this looks a MIDI interface driver issue. Quote Link to comment Share on other sites More sharing options...
'tini Posted November 23, 2011 Report Share Posted November 23, 2011 (edited) interface is fine. both of them. tried them individually with jsynthlib, no dice, same issue. no problem sending and receiving midi data in other programs. out of ideas really... Edited November 23, 2011 by 'tini Quote Link to comment Share on other sites More sharing options...
sonicwarrior Posted November 23, 2011 Report Share Posted November 23, 2011 Which Java version are you using? If you don't know that try java -version in a terminal (command line) window. Quote Link to comment Share on other sites More sharing options...
'tini Posted November 23, 2011 Report Share Posted November 23, 2011 1.6.0_29 Quote Link to comment Share on other sites More sharing options...
sonicwarrior Posted November 23, 2011 Report Share Posted November 23, 2011 (edited) Ok, and did you use the JSynthLib from http://dl.dropbox.com/u/9112508/distribution.zip? Because when I browse the SVN repository and look at the line 640 of MidiUtil.java it shows this: } On the 0.20 version I get (that's javadoc aka cannot cause an exception): * Convert <code>SysexMessage</code> into a hexa-dump string. So either the line in the stacktrace is wrong or you are using a different version. Edited November 23, 2011 by sonicwarrior Quote Link to comment Share on other sites More sharing options...
'tini Posted November 23, 2011 Report Share Posted November 23, 2011 ok, thanks for your help! i double checked and made sure i was running the version you mention above, and get the following error: The error was: null The exception text is: core.MidiUtil$TimeoutException at core.MidiUtil$SysexInputQueue.getMessage(Unknown Source) at core.MidiUtil.getMessage(Unknown Source) at core.MidiTest.runLoopbackTest(Unknown Source) at core.MidiTest.runLoopbackTest(Unknown Source) at core.MidiConfigPanel$4.actionPerformed(Unknown Source) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2028) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2351) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6373) at javax.swing.JComponent.processMouseEvent(JComponent.java:3267) at java.awt.Component.processEvent(Component.java:6138) at java.awt.Container.processEvent(Container.java:2085) at java.awt.Component.dispatchEventImpl(Component.java:4735) at java.awt.Container.dispatchEventImpl(Container.java:2143) at java.awt.Component.dispatchEvent(Component.java:4565) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4621) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212) at java.awt.Container.dispatchEventImpl(Container.java:2129) at java.awt.Window.dispatchEventImpl(Window.java:2478) at java.awt.Component.dispatchEvent(Component.java:4565) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:679) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:638) at java.awt.EventQueue$1.run(EventQueue.java:636) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:98) at java.awt.EventQueue$2.run(EventQueue.java:652) at java.awt.EventQueue$2.run(EventQueue.java:650) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:649) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:205) at java.awt.Dialog$1.run(Dialog.java:1046) at java.awt.Dialog$3.run(Dialog.java:1098) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Dialog.show(Dialog.java:1096) at java.awt.Component.show(Component.java:1584) at java.awt.Component.setVisible(Component.java:1536) at java.awt.Window.setVisible(Window.java:842) at java.awt.Dialog.setVisible(Dialog.java:986) at core.PatchEdit.showPrefsDialog(Unknown Source) at core.Actions$PrefsAction.actionPerformed(Unknown Source) at core.MacUtils$1$3.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:677) at java.awt.EventQueue.access$000(EventQueue.java:85) at java.awt.EventQueue$1.run(EventQueue.java:638) at java.awt.EventQueue$1.run(EventQueue.java:636) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:647) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Quote Link to comment Share on other sites More sharing options...
frankster Posted November 24, 2011 Report Share Posted November 24, 2011 Hi, So what this message is saying is that JSynthLib waited a while to receive some messages during the loopback test, but didn't receive anything. If you don't mind fiddling around a little bit maybe we can track down where the problem is. Firstly I've just run the midi loopback test on my PC to check that it does work - in at least one case ;). The loopback test worked which proves its possible although as I'm running windows it doesn't shed too much light on your problem. We can be sure that your problem is caused either by JSynthLib failing to transmit midi data, or by somehow failing to receive it. Perhaps we can start by trying to work out which one of these problems we are having. I suspect that as you are able to use the play sound button, the problem is not with sending midi data but lets be thorough and verify this. Is it possible to check that JSynthLib transmits something when you initiate the loopback test? For example, on my interface it flashes a light every time midi data is transmitted or received. Maybe there is some midi software on mac that can monitor midi ports, or perhaps you could connect your midi port to your xp machine and use midi-ox or similar on the xp machine? I'll have a think about ways we can test the receiving side of JSynthLib. frankie Quote Link to comment Share on other sites More sharing options...
'tini Posted November 24, 2011 Report Share Posted November 24, 2011 frank, thanks so much for taking the time with this. my music set up is something like this: * cakewalk um3g midi interface> hardware synths - connected via a usb hub to my macbook. * akai mpk49 keyboard> macbook - connected via usb hub * motu ultralite mk3> macbook - conncted via firewire i tried jsynthlib via both of these midi interfaces and experienced the same issues. in jsynthlib: * midi interface Input/output port – connected to sammichFM * Master controller – mpk keyboard when i tested the sammichFM shortly after building it, i only had a single midi cable connected to the midi in of the device. on my windows machine this was enough to test that jsynthlib worked and my new synth could be addressed by the windows machine. do i remember this correctly? i only need the midi in connected to be able to edit patches from the computer right? so my next steps are to independently verify that my midi out port on the sammich is working correctly, and poke around to see what midi messages are being sent/received. the built in midi monitor in jsynthlib was showing all the note messages as i entered them on the keyboard. it did not show any "patch editing" messages. also when the sammich midi out is connected, this monitor should also register things like sysex dumps and the like? and for the record, the latest jar as provided in this thread is the version i should be using? thanks again. Hi, So what this message is saying is that JSynthLib waited a while to receive some messages during the loopback test, but didn't receive anything. If you don't mind fiddling around a little bit maybe we can track down where the problem is. Firstly I've just run the midi loopback test on my PC to check that it does work - in at least one case ;). The loopback test worked which proves its possible although as I'm running windows it doesn't shed too much light on your problem. We can be sure that your problem is caused either by JSynthLib failing to transmit midi data, or by somehow failing to receive it. Perhaps we can start by trying to work out which one of these problems we are having. I suspect that as you are able to use the play sound button, the problem is not with sending midi data but lets be thorough and verify this. Is it possible to check that JSynthLib transmits something when you initiate the loopback test? For example, on my interface it flashes a light every time midi data is transmitted or received. Maybe there is some midi software on mac that can monitor midi ports, or perhaps you could connect your midi port to your xp machine and use midi-ox or similar on the xp machine? I'll have a think about ways we can test the receiving side of JSynthLib. frankie Quote Link to comment Share on other sites More sharing options...
monokinetic Posted November 24, 2011 Report Share Posted November 24, 2011 (edited) Hi Frankie ('tini actually), I haven't used JSynthLib on Mac OS Lion, but on my SnowLeopard (10.6.8) install I had to install the MMJ library to get sysex working correctly. TK has the MMJ link in his post at the top of the thread. Not sure if you have installed that yet? David Edited November 29, 2011 by monokinetic Quote Link to comment Share on other sites More sharing options...
'tini Posted November 24, 2011 Report Share Posted November 24, 2011 no i didn't. i presumed it had been rolled into the java version i have now. i'll try it though. thanks. Quote Link to comment Share on other sites More sharing options...
'tini Posted November 24, 2011 Report Share Posted November 24, 2011 no dice. independently checked the midi out of the FM by dumping sysex no problems... Quote Link to comment Share on other sites More sharing options...
'tini Posted November 24, 2011 Report Share Posted November 24, 2011 (edited) fuck it. can't be bothered spending another night poking around at this. i might just hack up a max patch for it, or just use my windows machine to edit patches..shame. thanks for your help fellers. Edited December 1, 2011 by 'tini Quote Link to comment Share on other sites More sharing options...
'tini Posted January 11, 2012 Report Share Posted January 11, 2012 just to check on this before i start a max patch for this, can anyone confirm or otherwise whether jsynthlib works on osx lion? Quote Link to comment Share on other sites More sharing options...
Thomasch Posted March 20, 2012 Report Share Posted March 20, 2012 just to check on this before i start a max patch for this, can anyone confirm or otherwise whether jsynthlib works on osx lion? My MBFM is not finished yet and my macbook runs snow leopard. But if you build a MAX for Live patch, then please post it here. :) Regards Thomasch Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.