I'm currently trying to use JSynthLib to do single patch auditioning to
organize thousands of Ensoniq ESQ-1 patches contained in bank sysex
dumps into banks that are useful for me.
I'm on Linux, and I have four hardware Midi in/out port pairs. Three
are provided on an Edirol UM-3EX connected by USB, and another in/out
port pair provided on the breakout box of an RME Hammerfall Multiface
II.
All the hardware i/o's work, and I can do bank dump and receive over any
of them with the ESQ-1. This proves there's no communication problem in
hardware or software. It works with single patches or whole banks.
Also, I have a Yamaha SY99 connected to a different hardware port than
the ESQ-1, setup in JSynthLib as a master controller. This also works
(mostly, see below), because when I play the SY99, its Midi output is
being echoed by the program to the port the ESQ-1 is on, and it plays
the ESQ-1.
Here's the problem:
The documentation says...
The Master Controller Port determines which MIDI port JSynthLib
will watch for Notes being played. If notes are played (for example
from a MIDI keyboard or MIDI sequencer) on this port, JSynthLib
will echo them to whatever Synthesizer you are currently working with.
(Either by having an editor open in the foreground or having a library
open in the foreground and having a patch selected). This allows you
more controlling auditioning patches than just using the "play" command.
The "either by having an editor open in the forground or having a
library open in the foreground and having a patch selected" part
strongly implies that the patch you're auditioning when you play your
master keyboard will be the patch you've done all this selecting to in
the program...except...unless I'm doing something wrong, it isn't.
It plays whatever patch you've selected on the synthesizer's own control
panel. When you choose a new patch in JSynthLib, it *still* plays
whatever patch you've selected on the control panel. Selecting patches
in JSynthLib has no effect on what your master keyboard is playing, and
there's no evidence from the ESQ-1's screen that it heard upstream Midi
tell it to do anything with sysex at all.
Oddly, right-clicking on a patch and clicking "Play", which is supposed
to send whatever patch you just selected to an edit buffer on the synth
and play a note on it for a configurable period of time, works! It does
exactly what master keyboard audition is supposed to let you do but
doesn't. That means the program has the facility for this...just not in
all the places you need it. (Also, the fact that it works there but not
from master keyboard strongly implies it's a bug, and not just me doing
something bad.)
Of course you can't really audition patches without being able to really
play them on a keyboard, so this is needed to make it useful for more
than just storing sysex files.
I'm willing to help with debugging this. I don't know Java, but I do
know Perl, so I may be able to get the general idea of some things,
which may be useful since I've seen that JSynthLib is really starved for
developers.
Also, I happen to have a well-known but now defunct Windows-based
editor/librarian program with a Midi monitor feature, so if you need to
know the hex codes that accomplish certain things, I can probably
capture those. (Surely it's not a copyright violation to capture raw
Midi traffic...)
--
+ Brent A. Busby + "We've all heard that a million monkeys
+ Sr. UNIX Systems Admin + banging on a million typewriters will
+ University of Chicago + eventually reproduce the entire works of
+ James Franck Institute + Shakespeare. Now, thanks to the Internet,
+ Materials Research Ctr + we know this is not true." -Robert Wilensky
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
Jsynthlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jsynthlib-devel