I don't know much about the internals of JSynthLib. But I have a feeling 
SysEx bank/patch recognition can be improved.

Am I right if I think this happens? : When importing a SysEx bank file 
JSynthLib reads the first bytes to identify the Manufacturer and Device, 
and then automatically selects the appropriate synth driver for this file.

I have noticed this procedure fails in many cases.
I have tried some files with the Yamaha DX100 (a synth that I own).

There are some things JSynthLib does not seem to consider:

- SysEx files do not always start with F0. Yes, they should, but several 
programs exist(ed) that produce files with an extra header before the real 
SysEx data start.

- Files that can contain DX100 SysEx data do not always start with DX100 
SysEx data. It is possible to concatenate several different SysEx dumps 
and save them in one file. This is also true for SysEx in MIDI files.

- Files can contain more than one block of DX100 banks. For example a 
Yamaha YS200 or V50 file contains 4 banks of DX100 (more or less) 
compatible SysEx bank dumps, and the first usable sysex block does NOT 
start at the first byte. (There is a block identification sysex block 
first)


What could be improved:

JsynthLib should scan a file it wants to import to find the SysEx 
header(s) it is looking for, read the sysex data from there (Offset for FO 
can be byte nr 0, but can also be elsewhere in the file), and continue to 
find more data, if any, until the complete file has been scanned.

This way more files with great sounds that can be found on the internet 
can be imported directly in JSynthLib without extra conversions.

Maybe someone is interested to look into the JSynthjLib code to see waht 
can be done about this.

If I would be a Java programmer I would take a look at it myself.
But I have succesfully used tricks like these in my own projects like 
YSEDITOR (Atari) and DXconvert (Python script).

-- 

MT

------------------------------------------------------------------------------
Doing More with Less: The Next Generation Virtual Desktop 
What are the key obstacles that have prevented many mid-market businesses
from deploying virtual desktops?   How do next-generation virtual desktops
provide companies an easier-to-deploy, easier-to-manage and more affordable
virtual desktop model.http://www.accelacomm.com/jaw/sfnl/114/51426474/
_______________________________________________
Jsynthlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jsynthlib-devel

Reply via email to