├── .gitignore ├── src └── main │ ├── misc │ ├── mainClass │ ├── macosx │ │ ├── PatchLib.icns │ │ └── JSynthLib.icns │ ├── MANIFEST │ └── ASM_License.txt │ ├── midiprovider │ ├── LinuxCharDev │ │ ├── linuxdevices.conf │ │ ├── META-INF │ │ │ └── services │ │ │ │ └── javax.sound.midi.spi.MidiDeviceProvider │ │ ├── build.sh │ │ └── README │ └── OSX │ │ ├── META-INF │ │ └── services │ │ │ └── javax.sound.midi.spi.MidiDeviceProvider │ │ ├── build.sh │ │ ├── README │ │ └── CAProvider │ │ └── CAMidiDeviceInfo.java │ ├── META-INF │ ├── services │ │ └── javax.sound.midi.spi.MidiDeviceProvider │ └── MANIFEST.MF │ ├── images │ ├── copy.png │ ├── cut.png │ ├── edit.png │ ├── new.png │ ├── next.png │ ├── open.png │ ├── play.png │ ├── prev.png │ ├── save.png │ ├── Error.gif │ ├── export.png │ ├── import.png │ ├── paste.png │ ├── store.png │ └── JSLIcon48x48.png │ ├── java │ ├── org │ │ └── jsynthlib │ │ │ ├── drivers │ │ │ ├── yamaha │ │ │ │ ├── dx100 │ │ │ │ │ ├── 1.gif │ │ │ │ │ ├── 2.gif │ │ │ │ │ ├── 3.gif │ │ │ │ │ ├── 4.gif │ │ │ │ │ ├── 5.gif │ │ │ │ │ ├── 6.gif │ │ │ │ │ ├── 7.gif │ │ │ │ │ └── 8.gif │ │ │ │ ├── tx81z │ │ │ │ │ ├── 1.gif │ │ │ │ │ ├── 2.gif │ │ │ │ │ ├── 3.gif │ │ │ │ │ ├── 4.gif │ │ │ │ │ ├── 5.gif │ │ │ │ │ ├── 6.gif │ │ │ │ │ ├── 7.gif │ │ │ │ │ ├── 8.gif │ │ │ │ │ └── YamahaTX81zDevice.java │ │ │ │ ├── motif │ │ │ │ │ ├── drum.syx │ │ │ │ │ ├── normal.syx │ │ │ │ │ ├── YamahaMotifDrumVoiceDriver.java │ │ │ │ │ ├── YamahaMotifNormalVoiceDriver.java │ │ │ │ │ └── YamahaMotif.xml │ │ │ │ ├── a01v │ │ │ │ │ ├── 01v_Scene.syx │ │ │ │ │ ├── 01v_Setup.syx │ │ │ │ │ ├── 01v_Dynamics.syx │ │ │ │ │ ├── 01v_Effect.syx │ │ │ │ │ ├── 01v_Equalizer.syx │ │ │ │ │ ├── 01v_RemoteInt.syx │ │ │ │ │ ├── 01v_RemoteMMC.syx │ │ │ │ │ ├── 01v_RemoteUser.syx │ │ │ │ │ ├── 01v_CtrlChangeTab.syx │ │ │ │ │ └── 01v_PrChangeTab.syx │ │ │ │ ├── fs1r │ │ │ │ │ ├── images │ │ │ │ │ │ ├── a1.gif │ │ │ │ │ │ ├── a2.gif │ │ │ │ │ │ ├── a3.gif │ │ │ │ │ │ ├── a4.gif │ │ │ │ │ │ ├── a5.gif │ │ │ │ │ │ ├── a6.gif │ │ │ │ │ │ ├── a7.gif │ │ │ │ │ │ ├── a8.gif │ │ │ │ │ │ ├── a9.gif │ │ │ │ │ │ ├── a10.gif │ │ │ │ │ │ ├── a11.gif │ │ │ │ │ │ ├── a12.gif │ │ │ │ │ │ ├── a13.gif │ │ │ │ │ │ ├── a14.gif │ │ │ │ │ │ ├── a15.gif │ │ │ │ │ │ ├── a16.gif │ │ │ │ │ │ ├── a17.gif │ │ │ │ │ │ ├── a18.gif │ │ │ │ │ │ ├── a19.gif │ │ │ │ │ │ ├── a20.gif │ │ │ │ │ │ ├── a21.gif │ │ │ │ │ │ ├── a22.gif │ │ │ │ │ │ ├── a23.gif │ │ │ │ │ │ ├── a24.gif │ │ │ │ │ │ ├── a25.gif │ │ │ │ │ │ ├── a26.gif │ │ │ │ │ │ ├── a27.gif │ │ │ │ │ │ ├── a28.gif │ │ │ │ │ │ ├── a29.gif │ │ │ │ │ │ ├── a30.gif │ │ │ │ │ │ ├── a31.gif │ │ │ │ │ │ ├── a32.gif │ │ │ │ │ │ ├── a33.gif │ │ │ │ │ │ ├── a34.gif │ │ │ │ │ │ ├── a35.gif │ │ │ │ │ │ ├── a36.gif │ │ │ │ │ │ ├── a37.gif │ │ │ │ │ │ ├── a38.gif │ │ │ │ │ │ ├── a39.gif │ │ │ │ │ │ ├── a40.gif │ │ │ │ │ │ ├── a41.gif │ │ │ │ │ │ ├── a42.gif │ │ │ │ │ │ ├── a43.gif │ │ │ │ │ │ ├── a44.gif │ │ │ │ │ │ ├── a45.gif │ │ │ │ │ │ ├── a46.gif │ │ │ │ │ │ ├── a47.gif │ │ │ │ │ │ ├── a48.gif │ │ │ │ │ │ ├── a49.gif │ │ │ │ │ │ ├── a50.gif │ │ │ │ │ │ ├── a51.gif │ │ │ │ │ │ ├── a52.gif │ │ │ │ │ │ ├── a53.gif │ │ │ │ │ │ ├── a54.gif │ │ │ │ │ │ ├── a55.gif │ │ │ │ │ │ ├── a56.gif │ │ │ │ │ │ ├── a57.gif │ │ │ │ │ │ ├── a58.gif │ │ │ │ │ │ ├── a59.gif │ │ │ │ │ │ ├── a60.gif │ │ │ │ │ │ ├── a61.gif │ │ │ │ │ │ ├── a62.gif │ │ │ │ │ │ ├── a63.gif │ │ │ │ │ │ ├── a64.gif │ │ │ │ │ │ ├── a65.gif │ │ │ │ │ │ ├── a66.gif │ │ │ │ │ │ ├── a67.gif │ │ │ │ │ │ ├── a68.gif │ │ │ │ │ │ ├── a69.gif │ │ │ │ │ │ ├── a70.gif │ │ │ │ │ │ ├── a71.gif │ │ │ │ │ │ ├── a72.gif │ │ │ │ │ │ ├── a73.gif │ │ │ │ │ │ ├── a74.gif │ │ │ │ │ │ ├── a75.gif │ │ │ │ │ │ ├── a76.gif │ │ │ │ │ │ ├── a77.gif │ │ │ │ │ │ ├── a78.gif │ │ │ │ │ │ ├── a79.gif │ │ │ │ │ │ ├── a80.gif │ │ │ │ │ │ ├── a81.gif │ │ │ │ │ │ ├── a82.gif │ │ │ │ │ │ ├── a83.gif │ │ │ │ │ │ ├── a84.gif │ │ │ │ │ │ ├── a85.gif │ │ │ │ │ │ ├── a86.gif │ │ │ │ │ │ ├── a87.gif │ │ │ │ │ │ ├── a88.gif │ │ │ │ │ │ ├── algo1.jpg │ │ │ │ │ │ ├── algo2.jpg │ │ │ │ │ │ ├── algo3.jpg │ │ │ │ │ │ └── algo4.jpg │ │ │ │ │ ├── ComboActionListener.java │ │ │ │ │ ├── YamahaFS1RVoiceEditor.java │ │ │ │ │ ├── help.html │ │ │ │ │ ├── ComboActionWidget.java │ │ │ │ │ ├── HelpWindow.java │ │ │ │ │ ├── YamahaFS1RDevice.java │ │ │ │ │ └── YamahaFS1RBankEditor.java │ │ │ │ ├── dx7 │ │ │ │ │ ├── images │ │ │ │ │ │ ├── algo01.gif │ │ │ │ │ │ ├── algo02.gif │ │ │ │ │ │ ├── algo03.gif │ │ │ │ │ │ ├── algo04.gif │ │ │ │ │ │ ├── algo05.gif │ │ │ │ │ │ ├── algo06.gif │ │ │ │ │ │ ├── algo07.gif │ │ │ │ │ │ ├── algo08.gif │ │ │ │ │ │ ├── algo09.gif │ │ │ │ │ │ ├── algo10.gif │ │ │ │ │ │ ├── algo11.gif │ │ │ │ │ │ ├── algo12.gif │ │ │ │ │ │ ├── algo13.gif │ │ │ │ │ │ ├── algo14.gif │ │ │ │ │ │ ├── algo15.gif │ │ │ │ │ │ ├── algo16.gif │ │ │ │ │ │ ├── algo17.gif │ │ │ │ │ │ ├── algo18.gif │ │ │ │ │ │ ├── algo19.gif │ │ │ │ │ │ ├── algo20.gif │ │ │ │ │ │ ├── algo21.gif │ │ │ │ │ │ ├── algo22.gif │ │ │ │ │ │ ├── algo23.gif │ │ │ │ │ │ ├── algo24.gif │ │ │ │ │ │ ├── algo25.gif │ │ │ │ │ │ ├── algo26.gif │ │ │ │ │ │ ├── algo27.gif │ │ │ │ │ │ ├── algo28.gif │ │ │ │ │ │ ├── algo29.gif │ │ │ │ │ │ ├── algo30.gif │ │ │ │ │ │ ├── algo31.gif │ │ │ │ │ │ └── algo32.gif │ │ │ │ │ └── common │ │ │ │ │ │ ├── DX7FamilyPerformanceEditor.java │ │ │ │ │ │ └── DX7FamilyAdditionalVoiceEditor.java │ │ │ │ ├── ub99 │ │ │ │ │ ├── format │ │ │ │ │ │ ├── ListFormat.java │ │ │ │ │ │ ├── IFormat.java │ │ │ │ │ │ ├── IntFormat.java │ │ │ │ │ │ └── DoubleFormat.java │ │ │ │ │ └── IdItem.java │ │ │ │ ├── tg33 │ │ │ │ │ └── YamahaTG33Device.java │ │ │ │ └── tx7 │ │ │ │ │ └── YamahaTX7SysexHelper.java │ │ │ ├── kawai │ │ │ │ ├── k5000 │ │ │ │ │ └── k5k.syx │ │ │ │ └── k4 │ │ │ │ │ ├── WaveModel.java │ │ │ │ │ ├── K4Sender.java │ │ │ │ │ ├── K4Model.java │ │ │ │ │ └── KawaiK4Device.java │ │ │ ├── roland │ │ │ │ ├── mt32 │ │ │ │ │ ├── 01_ss-.gif │ │ │ │ │ ├── 03_ps-.gif │ │ │ │ │ ├── 06_pp-.gif │ │ │ │ │ ├── 08_ss_-.gif │ │ │ │ │ ├── 09_pp_-.gif │ │ │ │ │ ├── 10_ss-r.gif │ │ │ │ │ ├── 11_ps-r.gif │ │ │ │ │ ├── 12_sp-r.gif │ │ │ │ │ ├── 13_pp-r.gif │ │ │ │ │ ├── 02_ss-r+s.gif │ │ │ │ │ ├── 04_ps-r+p.gif │ │ │ │ │ ├── 05_sp-r+s.gif │ │ │ │ │ ├── 07_pp-r+p.gif │ │ │ │ │ ├── MT32_jargon.txt │ │ │ │ │ └── WaveModel.java │ │ │ │ ├── td6 │ │ │ │ │ └── newpatch.syx │ │ │ │ ├── d10 │ │ │ │ │ ├── images │ │ │ │ │ │ ├── structure01.png │ │ │ │ │ │ ├── structure02.png │ │ │ │ │ │ ├── structure03.png │ │ │ │ │ │ ├── structure04.png │ │ │ │ │ │ ├── structure05.png │ │ │ │ │ │ ├── structure06.png │ │ │ │ │ │ ├── structure07.png │ │ │ │ │ │ ├── structure08.png │ │ │ │ │ │ ├── structure09.png │ │ │ │ │ │ ├── structure10.png │ │ │ │ │ │ ├── structure11.png │ │ │ │ │ │ ├── structure12.png │ │ │ │ │ │ └── structure13.png │ │ │ │ │ └── D10ParamModel.java │ │ │ │ ├── jv80 │ │ │ │ │ └── images │ │ │ │ │ │ ├── velocity1.png │ │ │ │ │ │ ├── velocity2.png │ │ │ │ │ │ ├── velocity3.png │ │ │ │ │ │ ├── velocity4.png │ │ │ │ │ │ ├── velocity5.png │ │ │ │ │ │ ├── velocity6.png │ │ │ │ │ │ └── velocity7.png │ │ │ │ ├── jd800 │ │ │ │ │ └── JD800_InitialPatch.syx │ │ │ │ ├── vg88 │ │ │ │ │ ├── RolandVG88DefaultBank.syx │ │ │ │ │ ├── RolandVG88DefaultPatch.syx │ │ │ │ │ └── RolandVG88Device.java │ │ │ │ ├── mks50 │ │ │ │ │ └── RolandMKS50Device.java │ │ │ │ ├── xv5080 │ │ │ │ │ └── RolandXV5080Device.java │ │ │ │ ├── gp16 │ │ │ │ │ └── RolandGP16Device.java │ │ │ │ └── mks7 │ │ │ │ │ └── RolandMKS7Device.java │ │ │ ├── waldorf │ │ │ │ ├── pulse │ │ │ │ │ ├── plus.png │ │ │ │ │ ├── pulse_default.syx │ │ │ │ │ └── WaldorfPulseInitPatch.java │ │ │ │ └── mw2 │ │ │ │ │ └── mw2_default.syx │ │ │ ├── midibox │ │ │ │ └── fm │ │ │ │ │ └── images │ │ │ │ │ ├── alg_0.gif │ │ │ │ │ ├── alg_1.gif │ │ │ │ │ ├── alg_2.gif │ │ │ │ │ ├── alg_3.gif │ │ │ │ │ ├── ws_0.gif │ │ │ │ │ ├── ws_1.gif │ │ │ │ │ ├── ws_2.gif │ │ │ │ │ ├── ws_3.gif │ │ │ │ │ ├── ws_4.gif │ │ │ │ │ ├── ws_5.gif │ │ │ │ │ ├── ws_6.gif │ │ │ │ │ └── ws_7.gif │ │ │ ├── boss │ │ │ │ └── dr660 │ │ │ │ │ ├── BossDR660Drumkit.new │ │ │ │ │ ├── package.html │ │ │ │ │ └── BossDR660Device.java │ │ │ ├── novation │ │ │ │ ├── sbs │ │ │ │ │ └── SBS_ProgramInit.syx │ │ │ │ ├── nova1 │ │ │ │ │ └── NovationNova1Device.java │ │ │ │ └── xiosynth │ │ │ │ │ └── NovationXioSynthDevice.java │ │ │ ├── tcelectronic │ │ │ │ └── gmajor │ │ │ │ │ ├── newpatch.syx │ │ │ │ │ └── TCModel.java │ │ │ ├── casio │ │ │ │ └── cz1000 │ │ │ │ │ └── package.html │ │ │ ├── package.html │ │ │ ├── korg │ │ │ │ ├── er1 │ │ │ │ │ ├── KorgER1BankDriver.txt │ │ │ │ │ └── KorgER1Device.java │ │ │ │ ├── x3 │ │ │ │ │ └── KorgX3Device.java │ │ │ │ └── wavestation │ │ │ │ │ └── KorgWavestationDevice.java │ │ │ ├── peavey │ │ │ │ └── pc1600 │ │ │ │ │ └── PeaveyPC1600Device.java │ │ │ ├── alesis │ │ │ │ ├── qs │ │ │ │ │ └── AlesisQSDevice.java │ │ │ │ └── a6 │ │ │ │ │ └── AlesisA6Device.java │ │ │ ├── emu │ │ │ │ └── proteusmps │ │ │ │ │ └── EmuProteusDevice.java │ │ │ ├── sci │ │ │ │ └── prophet600 │ │ │ │ │ └── SCIProphet600Device.java │ │ │ ├── ensoniq │ │ │ │ └── esq1 │ │ │ │ │ └── EnsoniqESQ1Device.java │ │ │ ├── clavia │ │ │ │ └── nordstage │ │ │ │ │ └── NordStageDevice.java │ │ │ ├── oberheim │ │ │ │ └── matrix │ │ │ │ │ ├── OberheimMatrix1000Device.java │ │ │ │ │ └── OberheimMatrix6Device.java │ │ │ ├── line6 │ │ │ │ ├── pod20 │ │ │ │ │ ├── NullModel.java │ │ │ │ │ └── HideableKnobWidget.java │ │ │ │ └── basspod │ │ │ │ │ ├── NullModel.java │ │ │ │ │ └── HideableKnobWidget.java │ │ │ └── behringer │ │ │ │ └── vamp2 │ │ │ │ └── VAmp2Device.java │ │ │ ├── editorbuilder │ │ │ ├── WidgetListListener.java │ │ │ ├── AnchorListener.java │ │ │ ├── widgets │ │ │ │ ├── WidgetPosition.java │ │ │ │ ├── LabelWidget.java │ │ │ │ ├── ParameterWidget.java │ │ │ │ ├── ButtonWidget.java │ │ │ │ ├── LabeledWidget.java │ │ │ │ ├── RootPanelWidget.java │ │ │ │ ├── WidgetBeanInfo.java │ │ │ │ ├── RootPanelWidgetBeanInfo.java │ │ │ │ ├── PanelWidget.java │ │ │ │ ├── StringParameterWidget.java │ │ │ │ └── Strut.java │ │ │ ├── TODO │ │ │ ├── DummyPatch.java │ │ │ ├── Editor.java │ │ │ ├── DummyDecoder.java │ │ │ ├── AnchorEditor.java │ │ │ ├── PGSNode.java │ │ │ ├── AnchorChangeEvent.java │ │ │ └── QuickSort.java │ │ │ ├── utils │ │ │ ├── Writable.java │ │ │ └── Generator.java │ │ │ ├── xml │ │ │ ├── NotDeviceException.java │ │ │ ├── FinishedParsingException.java │ │ │ ├── editor │ │ │ │ ├── WidgetPosition.java │ │ │ │ ├── XMLEditor.java │ │ │ │ ├── LabelDescription.java │ │ │ │ ├── ParameterKey.java │ │ │ │ ├── ButtonDescription.java │ │ │ │ ├── WidgetSize.java │ │ │ │ ├── AbsolutePosition.java │ │ │ │ ├── StrutDescription.java │ │ │ │ ├── EditorDescription.java │ │ │ │ ├── RelativePosition.java │ │ │ │ └── Anchor.java │ │ │ ├── SysexGroup.java │ │ │ ├── DecoderGenerator.java │ │ │ ├── ChecksumGenerator.java │ │ │ ├── ParamCacheEntry.java │ │ │ ├── XMLDevice.java │ │ │ ├── Sequence.java │ │ │ └── SysexDesc.java │ │ │ ├── core │ │ │ ├── package.html │ │ │ ├── PatchContainer.java │ │ │ ├── Storable.java │ │ │ ├── ProxyImportHandler.java │ │ │ ├── LabelWidget.java │ │ │ ├── JSLFrameEvent.java │ │ │ ├── ReassignPatchDialog.java │ │ │ ├── IConverter.java │ │ │ ├── JSLFrameListener.java │ │ │ ├── SysexSendToDialog.java │ │ │ ├── ParamModel.java │ │ │ ├── ISinglePatch.java │ │ │ ├── Constants.java │ │ │ ├── ClipboardUtil.java │ │ │ ├── ImportMidiFile.java │ │ │ ├── PatchesAndScenes.java │ │ │ ├── SysexStoreDialog.java │ │ │ └── ColumnLayout.java │ │ │ ├── plugins │ │ │ ├── Checksum.java │ │ │ ├── DefaultChecksum.groovy │ │ │ └── BasicChecksum.groovy │ │ │ └── JSynthLib.java │ └── com │ │ ├── dreamfabric │ │ └── package.html │ │ └── apple │ │ └── eawt │ │ ├── package.html │ │ ├── ApplicationEvent.java │ │ ├── ApplicationListener.java │ │ ├── Application.java │ │ └── ApplicationAdapter.java │ └── resources │ └── build.properties ├── jdom.jar ├── groovy.jar ├── .project ├── ChangeLog └── .classpath /.gitignore: -------------------------------------------------------------------------------- 1 | build/* 2 | bin/* 3 | target/* 4 | -------------------------------------------------------------------------------- /src/main/misc/mainClass: -------------------------------------------------------------------------------- 1 | Main-Class: JSynthLib 2 | -------------------------------------------------------------------------------- /jdom.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/jdom.jar -------------------------------------------------------------------------------- /groovy.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/groovy.jar -------------------------------------------------------------------------------- /src/main/midiprovider/LinuxCharDev/linuxdevices.conf: -------------------------------------------------------------------------------- 1 | /dev/null 2 | /dev/midi 3 | -------------------------------------------------------------------------------- /src/main/META-INF/services/javax.sound.midi.spi.MidiDeviceProvider: -------------------------------------------------------------------------------- 1 | WireProvider.WireProvider -------------------------------------------------------------------------------- /src/main/images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/images/copy.png -------------------------------------------------------------------------------- /src/main/images/cut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/images/cut.png -------------------------------------------------------------------------------- /src/main/images/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/images/edit.png -------------------------------------------------------------------------------- /src/main/images/new.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/images/new.png -------------------------------------------------------------------------------- /src/main/images/next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/images/next.png -------------------------------------------------------------------------------- /src/main/images/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/images/open.png -------------------------------------------------------------------------------- /src/main/images/play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/images/play.png -------------------------------------------------------------------------------- /src/main/images/prev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/images/prev.png -------------------------------------------------------------------------------- /src/main/images/save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/images/save.png -------------------------------------------------------------------------------- /src/main/images/Error.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/images/Error.gif -------------------------------------------------------------------------------- /src/main/images/export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/images/export.png -------------------------------------------------------------------------------- /src/main/images/import.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/images/import.png -------------------------------------------------------------------------------- /src/main/images/paste.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/images/paste.png -------------------------------------------------------------------------------- /src/main/images/store.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/images/store.png -------------------------------------------------------------------------------- /src/main/images/JSLIcon48x48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/images/JSLIcon48x48.png -------------------------------------------------------------------------------- /src/main/midiprovider/OSX/META-INF/services/javax.sound.midi.spi.MidiDeviceProvider: -------------------------------------------------------------------------------- 1 | CAProvider.CAMidiDeviceProvider 2 | -------------------------------------------------------------------------------- /src/main/misc/macosx/PatchLib.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/misc/macosx/PatchLib.icns -------------------------------------------------------------------------------- /src/main/misc/macosx/JSynthLib.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/misc/macosx/JSynthLib.icns -------------------------------------------------------------------------------- /src/main/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Main-Class: JSynthLib 3 | Created-By: 1.3.0 (Sun Microsystems Inc.) 4 | Class-Path: . 5 | 6 | -------------------------------------------------------------------------------- /src/main/midiprovider/LinuxCharDev/META-INF/services/javax.sound.midi.spi.MidiDeviceProvider: -------------------------------------------------------------------------------- 1 | LinuxCharDevMidiProvider.LinuxCharDevMidiDeviceProvider 2 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx100/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx100/1.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx100/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx100/2.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx100/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx100/3.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx100/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx100/4.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx100/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx100/5.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx100/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx100/6.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx100/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx100/7.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx100/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx100/8.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/tx81z/1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/tx81z/1.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/tx81z/2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/tx81z/2.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/tx81z/3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/tx81z/3.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/tx81z/4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/tx81z/4.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/tx81z/5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/tx81z/5.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/tx81z/6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/tx81z/6.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/tx81z/7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/tx81z/7.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/tx81z/8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/tx81z/8.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/kawai/k5000/k5k.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/kawai/k5000/k5k.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/mt32/01_ss-.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/mt32/01_ss-.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/mt32/03_ps-.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/mt32/03_ps-.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/mt32/06_pp-.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/mt32/06_pp-.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/mt32/08_ss_-.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/mt32/08_ss_-.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/mt32/09_pp_-.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/mt32/09_pp_-.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/mt32/10_ss-r.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/mt32/10_ss-r.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/mt32/11_ps-r.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/mt32/11_ps-r.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/mt32/12_sp-r.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/mt32/12_sp-r.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/mt32/13_pp-r.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/mt32/13_pp-r.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/td6/newpatch.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/td6/newpatch.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/waldorf/pulse/plus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/waldorf/pulse/plus.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/motif/drum.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/motif/drum.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/motif/normal.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/motif/normal.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/mt32/02_ss-r+s.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/mt32/02_ss-r+s.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/mt32/04_ps-r+p.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/mt32/04_ps-r+p.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/mt32/05_sp-r+s.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/mt32/05_sp-r+s.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/mt32/07_pp-r+p.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/mt32/07_pp-r+p.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_Scene.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_Scene.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_Setup.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_Setup.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a1.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a2.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a3.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a4.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a5.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a6.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a7.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a8.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a8.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a9.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a9.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/midibox/fm/images/alg_0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/midibox/fm/images/alg_0.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/midibox/fm/images/alg_1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/midibox/fm/images/alg_1.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/midibox/fm/images/alg_2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/midibox/fm/images/alg_2.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/midibox/fm/images/alg_3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/midibox/fm/images/alg_3.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/midibox/fm/images/ws_0.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/midibox/fm/images/ws_0.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/midibox/fm/images/ws_1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/midibox/fm/images/ws_1.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/midibox/fm/images/ws_2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/midibox/fm/images/ws_2.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/midibox/fm/images/ws_3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/midibox/fm/images/ws_3.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/midibox/fm/images/ws_4.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/midibox/fm/images/ws_4.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/midibox/fm/images/ws_5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/midibox/fm/images/ws_5.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/midibox/fm/images/ws_6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/midibox/fm/images/ws_6.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/midibox/fm/images/ws_7.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/midibox/fm/images/ws_7.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/waldorf/mw2/mw2_default.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/waldorf/mw2/mw2_default.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_Dynamics.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_Dynamics.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_Effect.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_Effect.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo01.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo01.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo02.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo02.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo03.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo03.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo04.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo04.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo05.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo05.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo06.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo06.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo07.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo07.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo08.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo08.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo09.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo09.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo10.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo11.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo12.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo13.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo14.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo15.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo16.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo17.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo18.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo19.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo20.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo21.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo22.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo23.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo24.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo25.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo26.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo27.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo28.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo29.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo30.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo31.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/images/algo32.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a10.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a10.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a11.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a11.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a12.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a12.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a13.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a13.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a14.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a14.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a15.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a15.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a16.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a16.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a17.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a17.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a18.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a18.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a19.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a19.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a20.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a20.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a21.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a21.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a22.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a22.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a23.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a23.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a24.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a24.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a25.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a25.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a26.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a26.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a27.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a27.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a28.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a28.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a29.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a29.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a30.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a30.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a31.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a31.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a32.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a32.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a33.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a33.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a34.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a34.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a35.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a35.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a36.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a36.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a37.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a37.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a38.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a38.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a39.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a39.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a40.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a40.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a41.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a41.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a42.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a42.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a43.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a43.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a44.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a44.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a45.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a45.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a46.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a46.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a47.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a47.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a48.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a48.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a49.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a49.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a50.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a50.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a51.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a51.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a52.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a52.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a53.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a53.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a54.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a54.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a55.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a55.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a56.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a56.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a57.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a57.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a58.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a58.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a59.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a59.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a60.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a60.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a61.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a61.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a62.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a62.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a63.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a63.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a64.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a64.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a65.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a65.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a66.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a66.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a67.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a67.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a68.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a68.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a69.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a69.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a70.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a70.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a71.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a71.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a72.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a72.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a73.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a73.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a74.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a74.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a75.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a75.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a76.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a76.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a77.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a77.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a78.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a78.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a79.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a79.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a80.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a80.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a81.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a81.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a82.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a82.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a83.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a83.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a84.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a84.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a85.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a85.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a86.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a86.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a87.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a87.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a88.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/a88.gif -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/algo1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/algo1.jpg -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/algo2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/algo2.jpg -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/algo3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/algo3.jpg -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/algo4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/images/algo4.jpg -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_Equalizer.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_Equalizer.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_RemoteInt.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_RemoteInt.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_RemoteMMC.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_RemoteMMC.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_RemoteUser.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_RemoteUser.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/boss/dr660/BossDR660Drumkit.new: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/boss/dr660/BossDR660Drumkit.new -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/novation/sbs/SBS_ProgramInit.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/novation/sbs/SBS_ProgramInit.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/d10/images/structure01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/d10/images/structure01.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/d10/images/structure02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/d10/images/structure02.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/d10/images/structure03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/d10/images/structure03.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/d10/images/structure04.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/d10/images/structure04.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/d10/images/structure05.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/d10/images/structure05.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/d10/images/structure06.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/d10/images/structure06.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/d10/images/structure07.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/d10/images/structure07.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/d10/images/structure08.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/d10/images/structure08.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/d10/images/structure09.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/d10/images/structure09.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/d10/images/structure10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/d10/images/structure10.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/d10/images/structure11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/d10/images/structure11.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/d10/images/structure12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/d10/images/structure12.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/d10/images/structure13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/d10/images/structure13.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/jv80/images/velocity1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/jv80/images/velocity1.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/jv80/images/velocity2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/jv80/images/velocity2.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/jv80/images/velocity3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/jv80/images/velocity3.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/jv80/images/velocity4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/jv80/images/velocity4.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/jv80/images/velocity5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/jv80/images/velocity5.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/jv80/images/velocity6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/jv80/images/velocity6.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/jv80/images/velocity7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/jv80/images/velocity7.png -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/tcelectronic/gmajor/newpatch.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/tcelectronic/gmajor/newpatch.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/waldorf/pulse/pulse_default.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/waldorf/pulse/pulse_default.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_CtrlChangeTab.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_CtrlChangeTab.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_PrChangeTab.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/a01v/01v_PrChangeTab.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/jd800/JD800_InitialPatch.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/jd800/JD800_InitialPatch.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/boss/dr660/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Boss DR660 drum machine. 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/vg88/RolandVG88DefaultBank.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/vg88/RolandVG88DefaultBank.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/vg88/RolandVG88DefaultPatch.syx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/roland/vg88/RolandVG88DefaultPatch.syx -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/ComboActionListener.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.drivers.yamaha.fs1r; 2 | 3 | interface ComboActionListener { 4 | 5 | void notifyChange(int aIndex); 6 | } -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/YamahaFS1RVoiceEditor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/fs1r/YamahaFS1RVoiceEditor.java -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/WidgetListListener.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder; 2 | 3 | 4 | public interface WidgetListListener { 5 | public void listChanged(); 6 | } 7 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/casio/cz1000/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Casio CZ-101/1000 keyboard/synth. 5 | 6 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/AnchorListener.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder; 2 | 3 | public interface AnchorListener { 4 | public void anchorChanged(AnchorChangeEvent e); 5 | } 6 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/common/DX7FamilyPerformanceEditor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/common/DX7FamilyPerformanceEditor.java -------------------------------------------------------------------------------- /src/main/misc/MANIFEST: -------------------------------------------------------------------------------- 1 | JSynthLib.class 2 | JSynthLib.java 3 | Makefile 4 | com/ 5 | core/ 6 | doc/ 7 | images/ 8 | license.txt 9 | makefile.vars 10 | misc/ 11 | org/ 12 | synthdrivers/ 13 | synthdrivers.properties 14 | -------------------------------------------------------------------------------- /src/main/java/com/dreamfabric/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Nifty toys from DreamFabric. 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/dx7/common/DX7FamilyAdditionalVoiceEditor.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jpcaruana/jsynthlib/HEAD/src/main/java/org/jsynthlib/drivers/yamaha/dx7/common/DX7FamilyAdditionalVoiceEditor.java -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/utils/Writable.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.utils; 2 | 3 | import org.xml.sax.SAXException; 4 | 5 | 6 | public interface Writable { 7 | public void write(XMLWriter xml) throws SAXException; 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/widgets/WidgetPosition.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder.widgets; 2 | 3 | import java.awt.Component; 4 | 5 | 6 | public interface WidgetPosition { 7 | public Component getEditor(); 8 | } 9 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Root package for synth drivers. Each driver gets its own sub-package 5 | under here. 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/midiprovider/OSX/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo Compiling... 3 | for n in CAProvider/*.java; do javac -g $n; done 4 | echo Building jar... 5 | jar cf ../CAProvider.jar META-INF/services/javax.sound.midi.spi.MidiDeviceProvider CAProvider/*.class 6 | echo Done. 7 | -------------------------------------------------------------------------------- /src/main/resources/build.properties: -------------------------------------------------------------------------------- 1 | # User-defined properties for the JSynthLib build system. 2 | # Change at your own liking. 3 | 4 | #version=0.99 5 | #build.compiler=jikes 6 | 7 | #linuxdevices=linuxdevices.conf 8 | #linuxdevices=${user.home}/.jsynthlib/linuxdevices.conf 9 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/NotDeviceException.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml; 2 | 3 | import org.xml.sax.SAXException; 4 | 5 | 6 | class NotDeviceException extends SAXException { 7 | NotDeviceException() { 8 | super("This file does not contain a device."); 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/FinishedParsingException.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml; 2 | 3 | import org.xml.sax.SAXException; 4 | 5 | 6 | class FinishedParsingException extends SAXException { 7 | FinishedParsingException() { 8 | super("Finished with this file. Move along..."); 9 | } 10 | } -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/core/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Pretty much the entire JSynthLib app lives here. Some features have 5 | moved into org.jsynthlib.*, and the synth drivers are all under 6 | synthdrivers.*. 7 | 8 | 9 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/TODO: -------------------------------------------------------------------------------- 1 | Load saved editors 2 | Use Springs for anchor padding, strut size 3 | Replace anchors when deleting a widget 4 | Envelope widgets 5 | Checkbox widgets 6 | Multiple frames 7 | Scripts 8 | Template widgets 9 | Custom widgets 10 | Convert property frame, editors, XMLWriter to be bean based -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/plugins/Checksum.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.plugins; 2 | 3 | import org.jsynthlib.xml.XMLPatch; 4 | 5 | /** 6 | * @author ribrdb 7 | */ 8 | public abstract class Checksum { 9 | abstract public void checksum(XMLPatch p, byte[] m); 10 | 11 | abstract public void main(Object args); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/editor/WidgetPosition.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml.editor; 2 | 3 | import java.util.Map; 4 | 5 | import javax.swing.SpringLayout; 6 | 7 | 8 | public interface WidgetPosition { 9 | public SpringLayout.Constraints getConstraints(SpringLayout layout, Map widgetMap); 10 | public void setSize(WidgetSize size); 11 | } 12 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/ub99/format/ListFormat.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.drivers.yamaha.ub99.format; 2 | 3 | public class ListFormat implements IFormat { 4 | private String[] list; 5 | 6 | public ListFormat(String[] list) { 7 | this.list = list; 8 | } 9 | 10 | public String fmtString(int v) { 11 | return list[v]; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/main/java/com/apple/eawt/package.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Stubs for Apple classes. It allows developers to compile the MRJ Adapter 5 | library on platforms other than Mac OS X with the 1.4.1 VM. You don't 6 | need to use these stubs if you're using the precompiled version of MRJ 7 | Adapter. 8 | 9 | 10 | -------------------------------------------------------------------------------- /src/main/midiprovider/LinuxCharDev/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | echo Compiling... 3 | for n in LinuxCharDevMidiProvider/*.java; do javac -g $n; done 4 | echo Building jar... 5 | # put all files into the jar package not only the class files 6 | #jar cf ../LinuxCharDev.jar META-INF/services/javax.sound.midi.spi.MidiDeviceProvider LinuxCharDevMidiProvider/*.class 7 | jar cf ../LinuxCharDev.jar . 8 | echo Done. 9 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/DummyPatch.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder; 2 | import org.jsynthlib.core.IPatchDriver; 3 | import org.jsynthlib.xml.XMLPatch; 4 | 5 | 6 | 7 | 8 | public class DummyPatch extends XMLPatch { 9 | public DummyPatch() { 10 | super(null, null, null, 0); 11 | } 12 | 13 | public IPatchDriver getDriver() { 14 | return null; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/core/PatchContainer.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.core; 2 | 3 | /** 4 | Internal frame (other than PatchEditorFrame) have to implement this interface in order 5 | to treat MIDI input when frame is displayed. Otherwise it could result in nullptrexception 6 | in PatchEdit. 7 | @author denis queffeulou mailto:dqueffeulou@free.fr 8 | */ 9 | public interface PatchContainer 10 | { 11 | IPatch getPatch(); 12 | } 13 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/plugins/DefaultChecksum.groovy: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.plugins; 2 | 3 | 4 | 5 | import org.jsynthlib.xml.XMLPatch 6 | 7 | public class DefaultChecksum extends BasicChecksum { 8 | public byte transform(int sum) { 9 | return (byte)(-sum).and(0x7f) 10 | } 11 | 12 | public void main(args) { 13 | PluginRegistry.registerChecksum("twos complement", DefaultChecksum.class) 14 | } 15 | } -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | JSynthLib 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/editor/XMLEditor.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml.editor; 2 | 3 | import javax.swing.JPanel; 4 | 5 | import org.jsynthlib.core.PatchEditorFrame; 6 | import org.jsynthlib.xml.XMLPatch; 7 | 8 | 9 | 10 | public class XMLEditor extends PatchEditorFrame { 11 | 12 | public XMLEditor(EditorDescription desc, XMLPatch patch) throws Exception { 13 | super("XML Editor", patch, (JPanel)desc.loadRoot(patch)); 14 | } 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/midiprovider/OSX/README: -------------------------------------------------------------------------------- 1 | To install, place CAProvider.jar into one of the Java Extension 2 | folders, preferably /Library/Java/Extensions or 3 | ~/Library/Java/Extension. 4 | 5 | To build simple compile all the sources, and create a jar with the 6 | classes and META-INF/services/javax.sound.midi.spi.MidiDeviceProvider. 7 | Build.sh will do just this. If aren't building on a Mac you'll need 8 | CoreAudio stubs. You can get some on the jsynthlib-dev yahoo group. 9 | -------------------------------------------------------------------------------- /src/main/midiprovider/OSX/CAProvider/CAMidiDeviceInfo.java: -------------------------------------------------------------------------------- 1 | package CAProvider; 2 | 3 | import javax.sound.midi.MidiDevice; 4 | 5 | public class CAMidiDeviceInfo extends MidiDevice.Info { 6 | private Integer uid; 7 | public CAMidiDeviceInfo (String name, String vendor, String description, 8 | String version, Integer _uid) { 9 | super(name, vendor, description, version); 10 | uid = _uid; 11 | } 12 | public Integer getUniqueID() { 13 | return uid; 14 | } 15 | } -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/widgets/LabelWidget.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder.widgets; 2 | 3 | import javax.swing.JLabel; 4 | 5 | public class LabelWidget extends LabeledWidget { 6 | 7 | private JLabel label; 8 | 9 | public LabelWidget() { 10 | this("Label"); 11 | } 12 | 13 | public LabelWidget(String text) { 14 | super("label"); 15 | label = new JLabel(); 16 | setText(text); 17 | add(label); 18 | } 19 | 20 | public void setText(String text) { 21 | label.setText(text); 22 | super.setText(text); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/korg/er1/KorgER1BankDriver.txt: -------------------------------------------------------------------------------- 1 | There is no Bank driver for the Korg yet. Their bank dump seems weird (first patch in the bank is identical to a single, other start to vary in size and content), so my attempt were not sucessfull. The doc they have is not accurate about the content of a patch: there is more byte in a real dump than in the doc and the order of byte is not like in the doc... If someone want to do a bank driver, please contact me (ivanohe@abacom.com), I could provide what I had already done to save you some time. 2 | 3 | Yves 4 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/SysexGroup.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml; 2 | 3 | /** 4 | * @author ribrdb 5 | */ 6 | public class SysexGroup { 7 | private String name; 8 | private SysexDesc[] descs; 9 | 10 | public SysexGroup(String s, SysexDesc[] d) { 11 | name = s; 12 | descs = d; 13 | } 14 | 15 | public String getName() { 16 | return name; 17 | } 18 | public int size() { 19 | return descs.length; 20 | } 21 | public SysexDesc get(int i){ 22 | return descs[i]; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/midiprovider/LinuxCharDev/README: -------------------------------------------------------------------------------- 1 | To install, place LinuxCharDev.jar into one of the Java Extension 2 | folders (for example: /usr/lib/java/jre/lib/ext/). 3 | And copy midiprovider/LinuxCharDev/linuxdevices.conf under the main 4 | JSynthLib Directory and edit it to reflect your setup. 5 | Each line in this file represents one device that you wish to have 6 | accessible in JSynthLib. 7 | 8 | To build simple compile all the sources, and create a jar with the 9 | classes and META-INF/services/javax.sound.midi.spi.MidiDeviceProvider. 10 | Build.sh will do just this. 11 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/editor/LabelDescription.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml.editor; 2 | 3 | import java.awt.Component; 4 | import java.util.Map; 5 | 6 | import javax.swing.JLabel; 7 | 8 | import org.jsynthlib.xml.XMLPatch; 9 | 10 | 11 | public class LabelDescription extends WidgetDescription { 12 | 13 | public LabelDescription() { 14 | super("label"); 15 | } 16 | 17 | public Component create(Map widgets, XMLPatch patch) throws Exception { 18 | Component result = new JLabel(getTitle()); 19 | widgets.put(getId(), result); 20 | return result; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/widgets/ParameterWidget.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder.widgets; 2 | 3 | import org.jsynthlib.editorbuilder.Parameter; 4 | 5 | public abstract class ParameterWidget extends LabeledWidget { 6 | public ParameterWidget(String name) { 7 | super(name); 8 | } 9 | public final String getType() { 10 | return super.getType(); 11 | } 12 | public void setType(String type) { 13 | super.setType(type); 14 | } 15 | public abstract String[] getTypes(); 16 | public abstract Parameter getParam(); 17 | public abstract void setParam(Parameter p); 18 | } 19 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/editor/ParameterKey.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml.editor; 2 | 3 | 4 | public class ParameterKey { 5 | private String group; 6 | private String sysex; 7 | private String name; 8 | public String getGroup() { 9 | return group; 10 | } 11 | public void setGroup(String group) { 12 | this.group = group; 13 | } 14 | public String getName() { 15 | return name; 16 | } 17 | public void setName(String name) { 18 | this.name = name; 19 | } 20 | public String getSysex() { 21 | return sysex; 22 | } 23 | public void setSysex(String sysex) { 24 | this.sysex = sysex; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/utils/Generator.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.utils; 2 | 3 | import org.xml.sax.SAXException; 4 | 5 | /** 6 | * Helper class for parsing XML documents. 7 | * @author ribrdb 8 | */ 9 | public class Generator { 10 | private Class c; 11 | public Generator() { 12 | } 13 | public Generator(Class cls) { 14 | c = cls; 15 | } 16 | public Object generate(String element, String type) throws SAXException { 17 | try { 18 | return c.newInstance(); 19 | } catch (Exception e) { 20 | throw new SAXException("Unable to create " + element, e); 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/help.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | Yamaha FS1R Editor help 7 | 8 | 9 | Algorithmes :
10 |
12 |
14 |
16 |
18 | 19 | 20 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/core/Storable.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Storable.java - Interface for objects that support simple persistance 3 | * (currently implemented as saving to properties files) 4 | * @version $Id$ 5 | * @author Zellyn Hunter (zellyn@zellyn.com) 6 | * @see Storage 7 | */ 8 | package org.jsynthlib.core; 9 | 10 | import java.util.Set; 11 | 12 | public interface Storable { 13 | /** 14 | * Get the names of properties that should be stored and loaded. For each 15 | * field name foo, we expect to see methods getFoo() and setFoo(). 16 | * @return a Set of field names 17 | */ 18 | public Set storedProperties(); 19 | 20 | /** 21 | * Method that will be called after loading 22 | */ 23 | public void afterRestore(); 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/DecoderGenerator.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml; 2 | 3 | import org.jsynthlib.plugins.PluginRegistry; 4 | import org.jsynthlib.plugins.Decoder; 5 | import org.jsynthlib.utils.Generator; 6 | import org.xml.sax.SAXException; 7 | 8 | class DecoderGenerator extends Generator { 9 | public Object generate(String element, String type) throws SAXException { 10 | Decoder d = null; 11 | try { 12 | // get decoder based on type 13 | d = PluginRegistry.getDecoder(type); 14 | } catch (Exception e) { } 15 | if (d == null) 16 | throw new SAXException("Decoder of type \"" + type 17 | +"\" does not exist"); 18 | return d; 19 | } 20 | } -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/core/ProxyImportHandler.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.core; 2 | import java.awt.datatransfer.*; 3 | import javax.swing.*; 4 | 5 | public class ProxyImportHandler extends TransferHandler { 6 | protected JComponent comp; 7 | protected TransferHandler proxy; 8 | 9 | public ProxyImportHandler(JComponent c, TransferHandler th) { 10 | comp = c; 11 | proxy = th; 12 | } 13 | 14 | public boolean importData(JComponent c, Transferable t) { 15 | return proxy.importData(comp, t); 16 | } 17 | 18 | public int getSourceActions(JComponent c) { 19 | return NONE; 20 | } 21 | 22 | public boolean canImport(JComponent c, DataFlavor[] flavors) { 23 | return proxy.canImport(comp, flavors); 24 | } 25 | 26 | } -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/kawai/k4/WaveModel.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.drivers.kawai.k4; 2 | import org.jsynthlib.core.Patch; 3 | import org.jsynthlib.core.SysexWidget; 4 | 5 | 6 | class WaveModel implements SysexWidget.IParamModel { 7 | private Patch patch; 8 | private int source; 9 | 10 | public WaveModel(Patch p, int s) { 11 | patch = p; source = s; 12 | } 13 | 14 | public void set(int i) { 15 | patch.sysex[34 + 8 + source] 16 | = (byte) ((patch.sysex[34 + 8 + source] & 254) + (byte) (i / 128)); 17 | patch.sysex[38 + 8 + source] = (byte) (i % 128); 18 | } 19 | 20 | public int get() { 21 | return (((patch.sysex[34 + 8 + source] & 1) * 128) 22 | + (patch.sysex[38 + 8 + source])); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/ChecksumGenerator.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml; 2 | 3 | import org.jsynthlib.plugins.Checksum; 4 | import org.jsynthlib.plugins.PluginRegistry; 5 | import org.jsynthlib.utils.Generator; 6 | import org.xml.sax.SAXException; 7 | 8 | 9 | class ChecksumGenerator extends Generator { 10 | public Object generate(String element, String type) throws SAXException { 11 | Checksum c = null; 12 | try { 13 | // get decoder based on type 14 | c = PluginRegistry.getChecksum(type); 15 | } catch (Exception e) { } 16 | if (c == null) 17 | throw new SAXException("Checksum of type \"" + type 18 | +"\" does not exist"); 19 | return c; 20 | } 21 | } -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/editor/ButtonDescription.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml.editor; 2 | 3 | import java.awt.Component; 4 | import java.util.Map; 5 | 6 | import javax.swing.JButton; 7 | 8 | import org.jsynthlib.xml.XMLPatch; 9 | 10 | 11 | public class ButtonDescription extends WidgetDescription { 12 | public ButtonDescription() { 13 | super("button"); 14 | } 15 | /* (non-Javadoc) 16 | * @see org.jsynthlib.jsynthlib.xml.WidgetDescription#create(java.awt.Container, java.util.Map, org.jsynthlib.jsynthlib.xml.XMLPatch) 17 | */ 18 | public Component create(Map widgets, XMLPatch patch) 19 | throws Exception { 20 | JButton result = new JButton(getTitle()); 21 | widgets.put(getId(), result); 22 | return result; 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/ParamCacheEntry.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml; 2 | 3 | 4 | class ParamCacheEntry { 5 | private boolean clean; 6 | private int idata; 7 | private String sdata; 8 | public ParamCacheEntry(String data, boolean clean) { 9 | this.clean = clean; 10 | this.sdata = data; 11 | } 12 | public ParamCacheEntry(int data, boolean clean) { 13 | this.clean = clean; 14 | this.idata = data; 15 | } 16 | public int getInt() { 17 | return idata; 18 | } 19 | public String getString() { 20 | return sdata; 21 | } 22 | public boolean isClean() { 23 | return clean; 24 | } 25 | public void setClean(boolean b) { 26 | clean = b; 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/Editor.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder; 2 | 3 | import org.jsynthlib.editorbuilder.widgets.Widget; 4 | import org.jsynthlib.utils.Writable; 5 | import org.jsynthlib.utils.XMLWriter; 6 | import org.xml.sax.SAXException; 7 | 8 | 9 | public class Editor implements Writable { 10 | private Widget root; 11 | 12 | public Editor(Widget root) { 13 | this.root = root; 14 | } 15 | /* (non-Javadoc) 16 | * @see org.jsynthlib.util.Writable#write(org.jsynthlib.util.XMLWriter) 17 | */ 18 | public void write(XMLWriter xml) throws SAXException { 19 | xml.startElement("editor"); 20 | xml.startElement("widgets"); 21 | root.write(xml); 22 | xml.endElement("widgets"); 23 | xml.endElement("editor"); 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/widgets/ButtonWidget.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder.widgets; 2 | import javax.swing.JButton; 3 | 4 | public class ButtonWidget extends LabeledWidget { 5 | private JButton button; 6 | 7 | protected String classname; 8 | 9 | public ButtonWidget() { 10 | this("Button"); 11 | } 12 | 13 | public ButtonWidget(String text) { 14 | super("button"); 15 | button = new JButton(text); 16 | setText(text); 17 | classname = "javax.swing.JInternalFrame"; 18 | add(button); 19 | } 20 | public String getClassName(){ return classname; } 21 | public void setClassName( String _c ) { classname = _c; } 22 | 23 | public void setText(String t) { 24 | button.setText(t); 25 | super.setText(t); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /ChangeLog: -------------------------------------------------------------------------------- 1 | ChangeLog for JSynthLib 2 | $Id: ChangeLog,v 1.2 2006-03-07 21:26:20 jbackhaus Exp $ 3 | 4 | Note: ChangeLog started after release 0.20.0! 5 | The first logged changes are the ones from version 0.19 to 0.20. 6 | 7 | *********** 8 | Release 0.30 (Not released yet) 9 | *********** 10 | 11 | Complete sources reorganisation 12 | 13 | New synth drivers: 14 | - Behringer V-Amp 2 15 | - Roland JD-800 16 | - Roland MKS-7 17 | - T.C. Electronics GMajor 18 | - Yamaha UB99 19 | - Clavia Nord Stage 20 | 21 | ************ 22 | Release 0.20 23 | ************ 24 | 25 | New synth drivers: 26 | - Alesis DM5 27 | - Behringer FCB1010 28 | - Line 6 BassPod 29 | - Line 6 Pod 2 30 | - Quasimidi Quasar 31 | - Roland JV-80 32 | - Waldorf Microwave 2 (XT/XTK) -> Librarian only 33 | - Yamaha TG-100 34 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/peavey/pc1600/PeaveyPC1600Device.java: -------------------------------------------------------------------------------- 1 | /* 2 | * PC1600Device.java 3 | */ 4 | 5 | package org.jsynthlib.drivers.peavey.pc1600; 6 | 7 | import java.util.prefs.Preferences; 8 | 9 | import org.jsynthlib.core.Device; 10 | /** 11 | * 12 | * @author Phil Shepherd 13 | * @version $Id$ 14 | */ 15 | public class PeaveyPC1600Device extends Device 16 | { 17 | public PeaveyPC1600Device () 18 | { 19 | super ("Peavey","PC1600",null,null,"Phil Shepherd"); 20 | } 21 | 22 | /** Constructor for for actual work. */ 23 | public PeaveyPC1600Device(Preferences prefs) { 24 | this(); 25 | this.prefs = prefs; 26 | 27 | addDriver (new PeaveyPC1600SingleDriver ()); 28 | addDriver (new PeaveyPC1600BankDriver ()); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/widgets/LabeledWidget.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder.widgets; 2 | 3 | import org.jsynthlib.utils.XMLWriter; 4 | import org.xml.sax.SAXException; 5 | 6 | public class LabeledWidget extends AnchoredWidget { 7 | 8 | public LabeledWidget(String name) { 9 | super(name); 10 | } 11 | public LabeledWidget(String name, String id) { 12 | super(name, id); 13 | } 14 | 15 | private String label; 16 | 17 | public final String getText() { 18 | return label; 19 | } 20 | public void setText( String text) { 21 | label = text; 22 | validateParents(); 23 | } 24 | protected void startElement(XMLWriter xml) throws SAXException { 25 | super.startElement(xml); 26 | if (label != null) { 27 | xml.writeProperty("title", label); 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/widgets/RootPanelWidget.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder.widgets; 2 | 3 | import org.jsynthlib.utils.XMLWriter; 4 | import org.xml.sax.SAXException; 5 | 6 | 7 | public class RootPanelWidget extends PanelWidget { 8 | 9 | 10 | public RootPanelWidget() { 11 | this(100,100); 12 | } 13 | 14 | public RootPanelWidget(int w, int h) { 15 | this("", w, h); 16 | } 17 | 18 | 19 | public RootPanelWidget(String title, int w, int h) { 20 | this("root", title, w, h); 21 | } 22 | public RootPanelWidget(String name, String title, int w, int h) { 23 | super(name, title, w, h); 24 | setBordered(false); 25 | } 26 | protected void writePosition(XMLWriter xml) throws SAXException { 27 | // do nothing 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/mks50/RolandMKS50Device.java: -------------------------------------------------------------------------------- 1 | // written by Kenneth L. Martinez 2 | // @version $Id$ 3 | 4 | package org.jsynthlib.drivers.roland.mks50; 5 | 6 | import java.util.prefs.Preferences; 7 | 8 | import org.jsynthlib.core.Device; 9 | 10 | public class RolandMKS50Device extends Device 11 | { 12 | /** Creates new RolandMKS50Device */ 13 | public RolandMKS50Device() 14 | { 15 | super ("Roland","MKS-50",null,null,"Kenneth L. Martinez"); 16 | } 17 | 18 | /** Constructor for for actual work. */ 19 | public RolandMKS50Device(Preferences prefs) { 20 | this(); 21 | this.prefs = prefs; 22 | 23 | addDriver(new MKS50ToneBankDriver()); 24 | addDriver(new MKS50ToneSingleDriver()); 25 | addDriver(new MKS50PatchBankDriver()); 26 | addDriver(new MKS50PatchSingleDriver()); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/com/apple/eawt/ApplicationEvent.java: -------------------------------------------------------------------------------- 1 | package com.apple.eawt; 2 | 3 | import java.util.EventObject; 4 | 5 | /** 6 | * This is a simple stub for this class which is specific to the 1.4.1 7 | * virtual machine from Apple. It allows developers to compile the 8 | * MRJ Adapter library on platforms other than Mac OS X with the 9 | * 1.4.1 VM. You don't need to use these stubs if you're using the 10 | * precompiled version of MRJ Adapter. 11 | * 12 | * @author Steve Roy 13 | */ 14 | public class ApplicationEvent extends EventObject 15 | { 16 | ApplicationEvent(Object source) 17 | { 18 | super(source); 19 | } 20 | 21 | public String getFilename() 22 | { 23 | return null; 24 | } 25 | 26 | public boolean isHandled() 27 | { 28 | return false; 29 | } 30 | 31 | public void setHandled(boolean handled) 32 | { 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/kawai/k4/K4Sender.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.drivers.kawai.k4; 2 | 3 | import org.jsynthlib.core.SysexSender; 4 | 5 | class K4Sender extends SysexSender { 6 | private int source; 7 | 8 | private byte[] b = { 9 | (byte) 0xF0, 0x40, 0, 0x10, 0x00, 10 | 0x04, 0, 0, 0, (byte) 0xF7 11 | }; 12 | 13 | public K4Sender(int parameter, int source) { 14 | this.source = source; 15 | b[6] = (byte) parameter; 16 | } 17 | 18 | public K4Sender(int parameter) { 19 | this.source = 0; 20 | b[6] = (byte) parameter; 21 | } 22 | 23 | public byte[] generate(int value) { 24 | b[2] = (byte) (channel - 1); 25 | b[7] = (byte) ((value / 128) + (source * 2)); 26 | b[8] = (byte) (value & 127); 27 | return b; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/korg/er1/KorgER1Device.java: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * KorgER1Device.java 4 | * 5 | * Created on 10. Oktober 2001, 22:18 6 | */ 7 | 8 | package org.jsynthlib.drivers.korg.er1; 9 | 10 | import java.util.prefs.Preferences; 11 | 12 | import org.jsynthlib.core.Device; 13 | /** 14 | * 15 | * @author Gerrit Gehnen 16 | * @version $Id$ 17 | */ 18 | public class KorgER1Device extends Device 19 | { 20 | /** Creates new KorgER1Device */ 21 | public KorgER1Device () 22 | { 23 | super ("Korg","Electribe ER1","F07E..06024251..............F7",null,"Yves Lefebvre"); 24 | } 25 | 26 | /** Constructor for for actual work. */ 27 | public KorgER1Device(Preferences prefs) { 28 | this(); 29 | this.prefs = prefs; 30 | 31 | //setSynthName("ER1"); 32 | addDriver (new KorgER1SingleDriver ()); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/core/LabelWidget.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.core; 2 | 3 | /** 4 | * A Label widget. 5 | * @version $Id$ 6 | * @see SysexWidget 7 | */ 8 | public class LabelWidget extends SysexWidget { 9 | /** 10 | * Creates a new LabelWidget instance. 11 | * 12 | * @param label a label text. 13 | */ 14 | public LabelWidget(String label) { 15 | super(label, null, null, null); 16 | 17 | layoutWidgets(); 18 | createWidgets(); 19 | } 20 | 21 | protected void createWidgets() { 22 | // do nothing 23 | } 24 | 25 | protected void layoutWidgets() { 26 | //setLayout(new BorderLayout()); 27 | add(getJLabel()); 28 | //add(new JLabel(label), BorderLayout.CENTER); 29 | } 30 | 31 | public void setEnabled(boolean e) { 32 | getJLabel().setEnabled(e); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/editor/WidgetSize.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml.editor; 2 | 3 | 4 | public class WidgetSize { 5 | private int width; 6 | private int height; 7 | 8 | private Anchor wAnchor, hAnchor; 9 | 10 | public void setWidth(String width) { 11 | this.width = Integer.parseInt(width); 12 | } 13 | public void setHeight(String height) { 14 | this.height= Integer.parseInt(height); 15 | } 16 | public void setBottom(Anchor h) { 17 | hAnchor = h; 18 | } 19 | public Anchor getBottom() { 20 | return hAnchor; 21 | } 22 | public void setRight(Anchor w) { 23 | wAnchor = w; 24 | } 25 | public Anchor getRight() { 26 | return wAnchor; 27 | } 28 | public int getHeight() { 29 | return height; 30 | } 31 | public int getWidth() { 32 | return width; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/xv5080/RolandXV5080Device.java: -------------------------------------------------------------------------------- 1 | /* 2 | * RolandXV5080Device.java 3 | */ 4 | 5 | package org.jsynthlib.drivers.roland.xv5080; 6 | 7 | import java.util.prefs.Preferences; 8 | 9 | import org.jsynthlib.core.Device; 10 | /** 11 | * 12 | * @author Phil Shepherd 13 | * @version $Id$ 14 | */ 15 | public class RolandXV5080Device extends Device 16 | { 17 | public RolandXV5080Device () 18 | { 19 | super ("Roland","XV5080",null,null,"Phil Shepherd"); 20 | } 21 | 22 | /** Constructor for for actual work. */ 23 | public RolandXV5080Device(Preferences prefs) { 24 | this(); 25 | this.prefs = prefs; 26 | 27 | addDriver (new RolandXV5080PatchDriver ()); 28 | addDriver (new RolandXV5080PatchBankDriver ()); 29 | addDriver (new RolandXV5080PerfDriver ()); 30 | addDriver (new RolandXV5080PerfBankDriver ()); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/editor/AbsolutePosition.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml.editor; 2 | 3 | import java.util.Map; 4 | 5 | import javax.swing.Spring; 6 | import javax.swing.SpringLayout; 7 | import javax.swing.SpringLayout.Constraints; 8 | 9 | 10 | 11 | public class AbsolutePosition implements WidgetPosition { 12 | private int width, height; 13 | private int x, y; 14 | public void setX(String x) { 15 | this.x = Integer.parseInt(x); 16 | } 17 | public void setY(String y) { 18 | this. y = Integer.parseInt(y); 19 | } 20 | public void setSize(WidgetSize size) { 21 | width = size.getWidth(); 22 | height = size.getHeight(); 23 | } 24 | 25 | public Constraints getConstraints(SpringLayout layout, Map widgetMap) { 26 | return new Constraints( 27 | Spring.constant(x), 28 | Spring.constant(y), 29 | Spring.constant(width), 30 | Spring.constant(height) 31 | ); 32 | 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/com/apple/eawt/ApplicationListener.java: -------------------------------------------------------------------------------- 1 | package com.apple.eawt; 2 | 3 | import java.util.EventListener; 4 | 5 | /** 6 | * This is a simple stub for this class which is specific to the 1.4.1 7 | * virtual machine from Apple. It allows developers to compile the 8 | * MRJ Adapter library on platforms other than Mac OS X with the 9 | * 1.4.1 VM. You don't need to use these stubs if you're using the 10 | * precompiled version of MRJ Adapter. 11 | * 12 | * @author Steve Roy 13 | */ 14 | public interface ApplicationListener extends EventListener 15 | { 16 | public void handleAbout(ApplicationEvent e); 17 | 18 | public void handlePreferences(ApplicationEvent e); 19 | 20 | public void handleOpenApplication(ApplicationEvent e); 21 | 22 | public void handleOpenFile(ApplicationEvent e); 23 | 24 | public void handlePrintFile(ApplicationEvent e); 25 | 26 | public void handleQuit(ApplicationEvent e); 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/motif/YamahaMotifDrumVoiceDriver.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.drivers.yamaha.motif; 2 | import org.jsynthlib.core.Patch; 3 | 4 | /** Driver for Yamaha Motif Normal Voices */ 5 | public class YamahaMotifDrumVoiceDriver extends YamahaMotifSingleDriver 6 | { 7 | 8 | public YamahaMotifDrumVoiceDriver() { 9 | super("Drum Voice", "Rib Rdb (ribrdb at yahoo.com)"); 10 | bankNumbers =new String[] {"User","User"}; 11 | patchNumbers = new String[16]; 12 | defaults_filename = "drum.syx"; 13 | base_address = "28"; 14 | edit_buffer_base_address = "2F"; 15 | parameter_base_address = "46"; 16 | numSysexMsgs = 375; 17 | patchSize = 7988; 18 | trimSize = 7988; 19 | yamaha_init(); 20 | } 21 | // The driver has to define this method for the option to be available. 22 | public Patch createNewPatch() { return super.createNewPatch(); } 23 | 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/ComboActionWidget.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.drivers.yamaha.fs1r; 2 | 3 | import java.awt.event.ItemEvent; 4 | import java.awt.event.ItemListener; 5 | 6 | import org.jsynthlib.core.ComboBoxWidget; 7 | import org.jsynthlib.core.ParamModel; 8 | import org.jsynthlib.core.Patch; 9 | import org.jsynthlib.core.SysexSender; 10 | 11 | 12 | public class ComboActionWidget extends ComboBoxWidget { 13 | protected ComboActionListener mListener; 14 | 15 | public ComboActionWidget(String l, Patch p, ParamModel ofs, SysexSender s, 16 | String[] o, ComboActionListener aListener) { 17 | super(l, p, ofs, s, o); 18 | mListener = aListener; 19 | cb.addItemListener(new ItemListener() { 20 | public void itemStateChanged(ItemEvent e) { 21 | mListener.notifyChange(cb.getSelectedIndex()); 22 | } 23 | }); 24 | } 25 | 26 | } 27 | 28 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/widgets/WidgetBeanInfo.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder.widgets; 2 | 3 | import java.beans.IntrospectionException; 4 | import java.beans.PropertyDescriptor; 5 | import java.beans.SimpleBeanInfo; 6 | 7 | 8 | public class WidgetBeanInfo extends SimpleBeanInfo { 9 | private static final PropertyDescriptor props[]; 10 | static { 11 | PropertyDescriptor p[] = null; 12 | try { 13 | p = new PropertyDescriptor[] { 14 | new PropertyDescriptor("id", Widget.class), 15 | //new PropertyDescriptor("type", Widget.class), 16 | }; 17 | } catch (IntrospectionException e) { 18 | p = new PropertyDescriptor[0]; 19 | System.out.println("Debug Me!"); 20 | } 21 | props = p; 22 | } 23 | public PropertyDescriptor[] getPropertyDescriptors() { 24 | return props; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/novation/nova1/NovationNova1Device.java: -------------------------------------------------------------------------------- 1 | /* 2 | * $Id$ 3 | * NovationNovaDevice.java 4 | * 5 | * Created on 10. Oktober 2001, 22:09 6 | * 7 | * @version $Id$ 8 | * 9 | */ 10 | 11 | package org.jsynthlib.drivers.novation.nova1; 12 | 13 | import java.util.prefs.Preferences; 14 | 15 | import org.jsynthlib.core.Device; 16 | public class NovationNova1Device extends Device 17 | { 18 | /** Creates new NovationNovaDevice */ 19 | public NovationNova1Device () 20 | { 21 | super ("Novation","Nova1","F07E..06020020290100210020000000F7",null,"Yves Lefebvre"); 22 | } 23 | 24 | /** Constructor for for actual work. */ 25 | public NovationNova1Device(Preferences prefs) { 26 | this(); 27 | this.prefs = prefs; 28 | 29 | addDriver (new NovationNova1BankDriver ()); 30 | addDriver (new NovationNova1SingleDriver ()); 31 | addDriver (new NovationNova1SinglePerformanceDriver ()); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/DummyDecoder.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder; 2 | 3 | import org.jsynthlib.plugins.Decoder; 4 | import org.jsynthlib.xml.XMLParameter; 5 | 6 | 7 | public class DummyDecoder extends Decoder { 8 | 9 | public XMLParameter newParameter(String type) { 10 | return null; 11 | } 12 | 13 | public void finishParameter(XMLParameter param) { 14 | 15 | } 16 | 17 | public int decode(XMLParameter param, byte[] m) { 18 | return 0; 19 | } 20 | 21 | public String decodeString(XMLParameter param, byte[] m) { 22 | return null; 23 | } 24 | 25 | public void encode(int value, XMLParameter param, byte[] m) { 26 | 27 | } 28 | 29 | public void encodeString(String value, XMLParameter param, byte[] m) { 30 | 31 | } 32 | 33 | public String encode(int value, XMLParameter param) { 34 | return null; 35 | } 36 | 37 | public int getSize() { 38 | return 0; 39 | } 40 | 41 | public void main(Object args) { 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/com/apple/eawt/Application.java: -------------------------------------------------------------------------------- 1 | package com.apple.eawt; 2 | 3 | import java.awt.Point; 4 | 5 | /** 6 | * This is a simple stub for this class which is specific to the 1.4.1 7 | * virtual machine from Apple. It allows developers to compile the 8 | * MRJ Adapter library on platforms other than Mac OS X with the 9 | * 1.4.1 VM. You don't need to use these stubs if you're using the 10 | * precompiled version of MRJ Adapter. 11 | * 12 | * @author Steve Roy 13 | */ 14 | public class Application 15 | { 16 | public Application() 17 | { 18 | } 19 | 20 | public void addApplicationListener(ApplicationListener l) 21 | { 22 | } 23 | 24 | public void removeApplicationListener(ApplicationListener l) 25 | { 26 | } 27 | 28 | public boolean getEnabledPreferencesMenu() 29 | { 30 | return false; 31 | } 32 | 33 | public void setEnabledPreferencesMenu(boolean enabled) 34 | { 35 | } 36 | 37 | public static Point getMouseLocationOnScreen() 38 | { 39 | return null; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/core/JSLFrameEvent.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.core; 2 | import java.awt.AWTEvent; 3 | 4 | public class JSLFrameEvent extends AWTEvent { 5 | public static final int ACTIVATED = AWTEvent.RESERVED_ID_MAX; 6 | public static final int CLOSED = ACTIVATED + 1; 7 | public static final int CLOSING = CLOSED + 1; 8 | public static final int DEACTIVATED = CLOSING + 1; 9 | public static final int DEICONIFIED = DEACTIVATED + 1; 10 | public static final int ICONIFIED = DEICONIFIED + 1; 11 | public static final int OPENED = ICONIFIED + 1; 12 | 13 | protected JSLFrame source; 14 | protected int id; 15 | 16 | public JSLFrameEvent(JSLFrame source, int id) { 17 | super(source, id); 18 | this.source = source; 19 | } 20 | 21 | public void consume() { 22 | super.consume(); 23 | } 24 | 25 | public boolean isConsumed() { 26 | return super.isConsumed(); 27 | } 28 | 29 | public JSLFrame getJSLFrame() { return source; } 30 | 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/editor/StrutDescription.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml.editor; 2 | 3 | import java.awt.Component; 4 | import java.util.Map; 5 | 6 | import javax.swing.JLabel; 7 | 8 | import org.jsynthlib.xml.XMLPatch; 9 | 10 | 11 | public class StrutDescription extends WidgetDescription { 12 | WidgetSize size; 13 | public StrutDescription() { 14 | super("strut"); 15 | } 16 | 17 | /* (non-Javadoc) 18 | * @see org.jsynthlib.jsynthlib.xml.WidgetDescription#create(java.awt.Container, java.util.Map, org.jsynthlib.jsynthlib.xml.XMLPatch) 19 | */ 20 | public Component create(Map widgets, XMLPatch patch) 21 | throws Exception { 22 | getPosition().setSize(size); 23 | JLabel result = new JLabel(); 24 | //result.setBorder(BorderFactory.createLineBorder(Color.RED)); 25 | widgets.put(getId(), result); 26 | return result; 27 | } 28 | 29 | public WidgetSize getSize() { 30 | return size; 31 | } 32 | public void setSize(WidgetSize size) { 33 | this.size = size; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/core/ReassignPatchDialog.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ReassignPatchDialog.java 3 | */ 4 | 5 | package org.jsynthlib.core; 6 | 7 | 8 | /** 9 | * If more than two devices are loaded which supports the given patch, 10 | * show this Dialog to choose a new Device/Driver combination for the patch. 11 | * The internal patch assignment is used to send/play a patch. 12 | * @author Torsten Tittmann 13 | * @version $Id$ 14 | */ 15 | public class ReassignPatchDialog extends DevDrvPatchSelector { 16 | 17 | /** 18 | * Constructor 19 | * @param patch The Patch to reassign 20 | */ 21 | public ReassignPatchDialog (IPatch patch) { 22 | super(patch, "Reassign Patch to another Device/Driver", "Reassign..."); 23 | } 24 | 25 | 26 | /** 27 | * Makes the actual work after pressing the 'Reassign' button 28 | */ 29 | protected void doit () { 30 | p.setDriver((IPatchDriver) driverComboBox.getSelectedItem()); 31 | 32 | setVisible(false); 33 | dispose(); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/ub99/format/IFormat.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2005 Ton Holsink 3 | * 4 | * This file is part of JSynthLib. 5 | * 6 | * JSynthLib is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published 8 | * by the Free Software Foundation; either version 2 of the License, 9 | * or(at your option) any later version. 10 | * 11 | * JSynthLib is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with JSynthLib; if not, write to the Free Software 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 19 | * USA 20 | */ 21 | 22 | package org.jsynthlib.drivers.yamaha.ub99.format; 23 | 24 | public interface IFormat { 25 | String fmtString(int v); 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/editor/EditorDescription.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml.editor; 2 | 3 | import java.awt.Component; 4 | import java.util.HashMap; 5 | import java.util.Iterator; 6 | import java.util.LinkedList; 7 | import java.util.Map; 8 | 9 | import org.jsynthlib.xml.XMLPatch; 10 | 11 | 12 | public class EditorDescription { 13 | private HashMap rootWidgets = new HashMap(); 14 | 15 | public void setWidgets(LinkedList roots) { 16 | Iterator it = roots.iterator(); 17 | while (it.hasNext() ) { 18 | WidgetDescription d = (WidgetDescription)it.next(); 19 | rootWidgets.put(d.getId(), d); 20 | } 21 | } 22 | 23 | public Component loadRoot(XMLPatch patch) throws Exception { 24 | return loadRoot("root 0", patch); 25 | } 26 | 27 | public Component loadRoot(String id, XMLPatch patch) throws Exception { 28 | Map widgets = new HashMap(); 29 | WidgetDescription w = (WidgetDescription)rootWidgets.get(id); 30 | Component root = w.create(widgets, patch); 31 | w.position(null, widgets); 32 | return root; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/core/IConverter.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.core; 2 | 3 | /** 4 | * This is an interface of a driver which simply converts a patch, which is 5 | * imported from a file or MIDI input, into it's associated with to another 6 | * format. 7 | *

8 | * Converter class is an implementation of this interface. It is 9 | * an independent driver implementing IDriver. An implementation of 10 | * ISingleDriver (ex. Driver class) may also implement this interface. 11 | * 12 | * @version $Id$ 13 | * @see IDriver 14 | * @see Converter 15 | */ 16 | public interface IConverter { 17 | /** 18 | * Create an array of patches from a byte array of SysexMessage for the 19 | * driver. Used for a byte array read from a Sysex file. 20 | * 21 | * @param sysex 22 | * a byte array of SysexMessage. 23 | * @return an array of IPatch value. 24 | * @see DriverUtil#createPatches(byte[]) 25 | * @see DriverUtil#createPatches(byte[], Device) 26 | */ 27 | IPatch[] createPatches(byte[] sysex); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/motif/YamahaMotifNormalVoiceDriver.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.drivers.yamaha.motif; 2 | import org.jsynthlib.core.JSLFrame; 3 | import org.jsynthlib.core.Patch; 4 | 5 | /** Driver for Yamaha Motif Normal Voices */ 6 | public class YamahaMotifNormalVoiceDriver extends YamahaMotifSingleDriver 7 | { 8 | 9 | public YamahaMotifNormalVoiceDriver() { 10 | super("Normal Voice", "Rib Rdb (ribrdb at yahoo.com)"); 11 | // This is a hack until getting built in voices is supported. 12 | bankNumbers =new String[] {"User","User"}; 13 | patchNumbers = new String[128]; 14 | defaults_filename = "normal.syx"; 15 | base_address = "08"; 16 | edit_buffer_base_address = "0F"; 17 | parameter_base_address = "40"; 18 | patchSize = 1250; 19 | trimSize = 1250; 20 | numSysexMsgs = 35; 21 | yamaha_init(); 22 | } 23 | public JSLFrame editPatch(Patch p) { 24 | return new YamahaMotifNormalVoiceEditor((Patch)p); 25 | } 26 | public Patch createNewPatch() { return super.createNewPatch(); } 27 | 28 | } 29 | 30 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/novation/xiosynth/NovationXioSynthDevice.java: -------------------------------------------------------------------------------- 1 | /* 2 | * NovationXioSynth.java 3 | * 4 | * Created on 10. Oktober 2001, 21:23 5 | */ 6 | 7 | package org.jsynthlib.drivers.novation.xiosynth; 8 | 9 | import java.util.prefs.Preferences; 10 | 11 | import org.jsynthlib.core.Device; 12 | /** 13 | * 14 | * @author Nicolas Boulicault 15 | * @version $Id: NovationXioSynth.java,v 1.0 2008/12/16 16:28:04 16 | */ 17 | 18 | public class NovationXioSynthDevice extends Device 19 | { 20 | private static final String infoText = 21 | "Novation XioSynth Driver\nArpegiator and X-Gator are not implemented,\nnor different midi channels"; 22 | 23 | public NovationXioSynthDevice () 24 | { 25 | super ("Novation","Xio",null,infoText,"Nicolas Boulicault"); 26 | } 27 | 28 | public NovationXioSynthDevice(Preferences prefs) 29 | { 30 | this(); 31 | this.prefs = prefs; 32 | 33 | NovationXioSynthSingleDriver singleDriver = new NovationXioSynthSingleDriver(); 34 | addDriver (new NovationXioSynthBankDriver (singleDriver)); 35 | addDriver (singleDriver); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/com/apple/eawt/ApplicationAdapter.java: -------------------------------------------------------------------------------- 1 | package com.apple.eawt; 2 | 3 | /** 4 | * This is a simple stub for this class which is specific to the 1.4.1 5 | * virtual machine from Apple. It allows developers to compile the 6 | * MRJ Adapter library on platforms other than Mac OS X with the 7 | * 1.4.1 VM. You don't need to use these stubs if you're using the 8 | * precompiled version of MRJ Adapter. 9 | * 10 | * @author Steve Roy 11 | */ 12 | public class ApplicationAdapter implements ApplicationListener 13 | { 14 | public ApplicationAdapter() 15 | { 16 | } 17 | 18 | public void handleAbout(ApplicationEvent e) 19 | { 20 | } 21 | 22 | public void handlePreferences(ApplicationEvent e) 23 | { 24 | } 25 | 26 | public void handleOpenApplication(ApplicationEvent e) 27 | { 28 | } 29 | 30 | public void handleOpenFile(ApplicationEvent e) 31 | { 32 | } 33 | 34 | public void handlePrintFile(ApplicationEvent e) 35 | { 36 | } 37 | 38 | public void handleReOpenApplication(ApplicationEvent e) 39 | { 40 | } 41 | 42 | public void handleQuit(ApplicationEvent e) 43 | { 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/HelpWindow.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.drivers.yamaha.fs1r; 2 | 3 | import java.io.IOException; 4 | import java.net.URL; 5 | 6 | import javax.swing.BorderFactory; 7 | import javax.swing.JEditorPane; 8 | import javax.swing.JScrollPane; 9 | import javax.swing.text.Document; 10 | 11 | import org.jsynthlib.core.Actions; 12 | import org.jsynthlib.core.PatchEdit; 13 | 14 | 15 | 16 | class HelpWindow extends Actions.MenuFrame 17 | { 18 | HelpWindow() { 19 | super(PatchEdit.getDesktop(),"Yamaha FS1R Editor Help",true,true,true,true,false); 20 | setSize(530, 400); 21 | JEditorPane jt = new JEditorPane(); 22 | jt.setEditable(false); 23 | JScrollPane pane = new JScrollPane(); 24 | pane.setBorder (BorderFactory.createLoweredBevelBorder()); 25 | pane.getViewport().add(jt); 26 | getContentPane().add(pane); 27 | Document doc = jt.getDocument(); 28 | try { 29 | URL url = getClass().getResource("help.html"); 30 | jt.setPage(url); 31 | } 32 | catch (IOException io) { 33 | System.err.println("Can't find help file "+io); 34 | jt.setDocument (doc); 35 | } 36 | } 37 | 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/widgets/RootPanelWidgetBeanInfo.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder.widgets; 2 | 3 | import java.beans.BeanInfo; 4 | import java.beans.IntrospectionException; 5 | import java.beans.Introspector; 6 | import java.beans.PropertyDescriptor; 7 | import java.beans.SimpleBeanInfo; 8 | 9 | 10 | public class RootPanelWidgetBeanInfo extends SimpleBeanInfo { 11 | 12 | public PropertyDescriptor[] getPropertyDescriptors() { 13 | // no properties in addition to PanelWidget's 14 | return new PropertyDescriptor[0]; 15 | } 16 | public BeanInfo[] getAdditionalBeanInfo() { 17 | try { 18 | // Skip the methods from AnchoredWidget 19 | BeanInfo w[] = { 20 | Introspector.getBeanInfo(Widget.class), 21 | Introspector.getBeanInfo(PanelWidget.class, AnchoredWidget.class), 22 | }; 23 | return w; 24 | } catch (IntrospectionException ex) { 25 | // Shouldn't happen! 26 | System.out.println("Break here!"); 27 | return null; 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/core/JSLFrameListener.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.core; 2 | /** 3 | * Frame Event Listner for JSLFrame. 4 | * 5 | * @see JSLFrame 6 | * @see javax.swing.event.InternalFrameListener 7 | * @author Rib Rdb 8 | */ 9 | public interface JSLFrameListener { 10 | /** Invoked when a internal frame has been opened. */ 11 | void JSLFrameOpened(JSLFrameEvent e); 12 | /** 13 | * Invoked when an internal frame is in the process of being closed. The 14 | * close operation can be overridden at this point. 15 | */ 16 | void JSLFrameClosing(JSLFrameEvent e); 17 | /** Invoked when an internal frame has been closed. */ 18 | void JSLFrameClosed(JSLFrameEvent e); 19 | /** Invoked when an internal frame is iconified. */ 20 | void JSLFrameIconified(JSLFrameEvent e); 21 | /** Invoked when an internal frame is de-iconified. */ 22 | void JSLFrameDeiconified(JSLFrameEvent e); 23 | /** Invoked when an internal frame is activated. */ 24 | void JSLFrameActivated(JSLFrameEvent e); 25 | /** Invoked when an internal frame is de-activated. */ 26 | void JSLFrameDeactivated(JSLFrameEvent e); 27 | } -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/XMLDevice.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml; 2 | 3 | import java.util.prefs.Preferences; 4 | 5 | import org.jsynthlib.core.Device; 6 | 7 | //import javax.sound.midi.MidiMessage; 8 | 9 | 10 | public class XMLDevice extends Device { 11 | 12 | 13 | /** 14 | * @param manufacturerName 15 | * @param modelName 16 | * @param inquiryID 17 | * @param infoText 18 | * @param authors 19 | */ 20 | public XMLDevice(String manufacturerName, String modelName, 21 | String inquiryID, String infoText, String authors) { 22 | super(manufacturerName, modelName, inquiryID, infoText, authors); 23 | } 24 | public void setPreferences(Preferences p) { 25 | prefs = p; 26 | } 27 | // public void addDriver(IDriver driver) { 28 | // super.addDriver(driver); 29 | // } 30 | 31 | /* Make public */ 32 | // public void send(MidiMessage message) { 33 | // super.send(message); 34 | // } 35 | // Show as xml device by default 36 | public String getSynthName() { 37 | return prefs.get("synthName", getModelName() + " (XML)"); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/core/SysexSendToDialog.java: -------------------------------------------------------------------------------- 1 | /* 2 | * SysexSendToDialog.java 3 | */ 4 | 5 | package org.jsynthlib.core; 6 | 7 | 8 | /** 9 | * Dialog to choose a Device and Driver to send the patch into an Edit 10 | * buffer. More than one of each device is supported, but only 11 | * devices/drivers are selectable, which support the patch. 12 | * @author Torsten Tittmann 13 | * @version $Id$ */ 14 | public class SysexSendToDialog extends DevDrvPatchSelector { 15 | /** 16 | * Constructor 17 | * @param patch The Patch to 'send to...' 18 | */ 19 | public SysexSendToDialog (IPatch patch) { 20 | //super(PatchEdit.getInstance(), "Send Sysex Data into Edit Buffer of a specified device", true); 21 | super(patch,"Send Sysex Data into Edit Buffer of a specified device","Send To..."); 22 | } 23 | 24 | 25 | /** 26 | * Makes the actual work after pressing the 'Send to...' button 27 | */ 28 | protected void doit () { 29 | p.setDriver((IPatchDriver) driverComboBox.getSelectedItem()); 30 | ((ISinglePatch) p).send(); 31 | 32 | setVisible(false); 33 | dispose(); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/Sequence.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml; 2 | 3 | import groovy.lang.Closure; 4 | import groovy.lang.GroovyShell; 5 | 6 | import java.io.IOException; 7 | 8 | import org.codehaus.groovy.control.CompilationFailedException; 9 | import org.jsynthlib.plugins.PluginRegistry; 10 | 11 | /** 12 | * @author ribrdb 13 | */ 14 | public class Sequence { 15 | 16 | private String variable; 17 | private int start; 18 | private int end; 19 | private String value; 20 | 21 | public String[] getSequence() throws CompilationFailedException, IOException { 22 | GroovyShell groovyShell = PluginRegistry.groovyShell(); 23 | Closure c = (Closure) groovyShell.evaluate("return { " + variable + " -> " + value + " }"); 24 | String result[] = new String[end - start + 1]; 25 | for (int i = start; i <= end; i++) 26 | result[i - start] = c.call(new Object[] { new Integer(i) }).toString(); 27 | return result; 28 | } 29 | 30 | public void setVariable(String v) { variable = v; } 31 | public void setStart(String s) { start = Integer.decode(s).intValue(); } 32 | public void setEnd(String s) { end = Integer.decode(s).intValue(); } 33 | public void setValue(String v) { value = v; } 34 | 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/alesis/qs/AlesisQSDevice.java: -------------------------------------------------------------------------------- 1 | /* 2 | * AlesisQSDevice.java 3 | * 4 | * Synth driver for Alesis QS series synths 5 | * Feb 2002 6 | * Chris Halls 7 | * GPL v2 8 | */ 9 | 10 | package org.jsynthlib.drivers.alesis.qs; 11 | 12 | import java.util.prefs.Preferences; 13 | 14 | import org.jsynthlib.core.Device; 15 | /** 16 | * 17 | * @author Chris Halls 18 | * @version $Id$ 19 | */ 20 | public class AlesisQSDevice extends Device 21 | { 22 | 23 | /** Creates new QSDevice */ 24 | public AlesisQSDevice () 25 | { 26 | super("Alesis", "QS7/QS8/QSR", "F07E7F060200000E0E000.00........f7", 27 | "Librarian support is working. Work on editors is in progress.", 28 | "Chris Halls/Zellyn Hunter"); 29 | } 30 | 31 | /** Constructor for for actual work. */ 32 | public AlesisQSDevice(Preferences prefs) { 33 | this(); 34 | this.prefs = prefs; 35 | 36 | //setSynthName("QS"); 37 | 38 | addDriver (new AlesisQSProgramDriver ()); 39 | addDriver (new AlesisQSMixDriver ()); 40 | addDriver (new AlesisQSEffectsDriver ()); 41 | addDriver (new AlesisQSGlobalDriver ()); 42 | } 43 | 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/emu/proteusmps/EmuProteusDevice.java: -------------------------------------------------------------------------------- 1 | /* 2 | * EmuProteusDevice.java 3 | * 4 | * Created on 10. Oktober 2001, 22:04 5 | */ 6 | 7 | package org.jsynthlib.drivers.emu.proteusmps; 8 | 9 | import java.util.prefs.Preferences; 10 | 11 | import org.jsynthlib.core.Device; 12 | /** 13 | * 14 | * @author Brian Klock 15 | * @version $Id$ 16 | */ 17 | public class EmuProteusDevice extends Device 18 | { 19 | private static final String infoText="This synthesizer lacks a MIDI addressable patch buffer. Therefore, when you send or play a patch "+ 20 | "from within JSynthLib, the patch at location 100 on the Proteus will be overwritten. JSynthLib "+ 21 | "treats this location as an edit buffer."; 22 | 23 | /** Creates new EmuProteusDevice */ 24 | public EmuProteusDevice () { 25 | super ("Emu","Proteus MPS","F07E..06021804040800........F7",infoText,"Brian Klock"); 26 | } 27 | 28 | /** Constructor for for actual work. */ 29 | public EmuProteusDevice(Preferences prefs) { 30 | this(); 31 | this.prefs = prefs; 32 | 33 | //setSynthName("MPS"); 34 | 35 | addDriver(new EmuProteusMPSBankDriver()); 36 | addDriver(new EmuProteusMPSSingleDriver()); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/fs1r/YamahaFS1RDevice.java: -------------------------------------------------------------------------------- 1 | 2 | package org.jsynthlib.drivers.yamaha.fs1r; 3 | 4 | import java.util.prefs.Preferences; 5 | 6 | import org.jsynthlib.core.Device; 7 | 8 | /** 9 | * Yamaha FS1R device. 10 | * 11 | * @author Denis Queffeulou mailto:dqueffeulou@free.fr 12 | * @version $Id$ 13 | */ 14 | public class YamahaFS1RDevice extends Device 15 | { 16 | private static final String infoText="JSynthLib supports librarian and edit functions on voices/performances patches.\n"+ 17 | "Ensure to edit patches from a bank, not from a library."; 18 | 19 | /** 20 | * Creates new YamahaFS1RDevice 21 | */ 22 | public YamahaFS1RDevice() 23 | { 24 | super ("Yamaha","FS1R",null,infoText,"Denis Queffeulou"); 25 | } 26 | 27 | /** Constructor for for actual work. */ 28 | public YamahaFS1RDevice(Preferences prefs) { 29 | this(); 30 | this.prefs = prefs; 31 | 32 | // inquiryID = "F07E**06020F050000000000020AF7"; 33 | addDriver(new YamahaFS1RBankConverter()); 34 | addDriver(new YamahaFS1RBankDriver()); 35 | addDriver(new YamahaFS1RVoiceDriver()); 36 | addDriver(new YamahaFS1RPerformanceDriver()); 37 | addDriver(new YamahaFS1RSystemDriver()); 38 | addDriver(new YamahaFS1RFseqDriver()); 39 | } 40 | } 41 | 42 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/sci/prophet600/SCIProphet600Device.java: -------------------------------------------------------------------------------- 1 | /** 2 | * written by Kenneth L. Martinez 3 | * @version $Id$ 4 | */ 5 | package org.jsynthlib.drivers.sci.prophet600; 6 | 7 | import java.util.prefs.Preferences; 8 | 9 | import org.jsynthlib.core.Device; 10 | 11 | public class SCIProphet600Device extends Device { 12 | static final String DRIVER_INFO = 13 | "The Prophet-600 lacks a MIDI addressable patch buffer. Therefore, when " 14 | + "you send or play a patch from within JSynthLib, user program 99 will be " 15 | + "overwritten. JSynthLib treats this location as an edit buffer."; 16 | 17 | /** Creates new SCIProphet600 */ 18 | public SCIProphet600Device() { 19 | super ("Sequential","P600",null,DRIVER_INFO,"Kenneth L. Martinez"); 20 | } 21 | 22 | /** Constructor for for actual work. */ 23 | public SCIProphet600Device(Preferences prefs) { 24 | this(); 25 | this.prefs = prefs; 26 | 27 | //setSynthName("Prophet-600"); 28 | addDriver(new P600ProgBankDriver()); 29 | addDriver(new P600ProgSingleDriver()); 30 | /* 31 | JOptionPane.showMessageDialog(PatchEdit.getInstance(), 32 | DRIVER_INFO, "Prophet-600 Driver Release Notes", 33 | JOptionPane.WARNING_MESSAGE 34 | ); 35 | */ 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/tg33/YamahaTG33Device.java: -------------------------------------------------------------------------------- 1 | /* 2 | * YamahaTG33Device.java 3 | * 4 | * Created on 10. Oktober 2001, 22:16 5 | */ 6 | 7 | package org.jsynthlib.drivers.yamaha.tg33; 8 | 9 | import java.util.prefs.Preferences; 10 | 11 | import org.jsynthlib.core.Device; 12 | /** 13 | * 14 | * @author Gerrit Gehnen 15 | * @version $Id$ 16 | */ 17 | public class YamahaTG33Device extends Device 18 | { 19 | private static final String infoText=" There are no known issues or problems with support for this synthesizer. Only Librarian support "+ 20 | "is available. I am looking for information which would allow me to write a Single Editor. The information "+ 21 | "available in the manuel and on the web is incomplete. If you can help, please email jsynthlib@overwhelmed.org"; 22 | 23 | /** Creates new YamahaTG33Device */ 24 | public YamahaTG33Device () 25 | { 26 | super ("Yamaha","TG33/SY22",null,infoText,"Brian Klock"); 27 | } 28 | 29 | /** Constructor for for actual work. */ 30 | public YamahaTG33Device(Preferences prefs) { 31 | this(); 32 | this.prefs = prefs; 33 | //setSynthName("TG33"); 34 | 35 | addDriver (new YamahaTG33BankDriver ()); 36 | addDriver (new YamahaTG33SingleDriver ()); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/tx81z/YamahaTX81zDevice.java: -------------------------------------------------------------------------------- 1 | /* 2 | * YamahaTX81zDevice.java 3 | * 4 | * Created on 10. Oktober 2001, 21:23 5 | */ 6 | 7 | package org.jsynthlib.drivers.yamaha.tx81z; 8 | 9 | import java.util.prefs.Preferences; 10 | 11 | import org.jsynthlib.core.Device; 12 | /** 13 | * 14 | * @author Brian Klock 15 | * @version $Id$ 16 | */ 17 | public class YamahaTX81zDevice extends Device 18 | { 19 | private static final String infoText = 20 | "The Yamaha TX81z is susceptable to internal MIDI buffer overflow if you send it a lot of Data quickly. " 21 | + "With JSynthLib, this can happen if you are using a fader box and throwing the faders around rapidly. " 22 | + "Otherwise, it should not be a problem\n\n" 23 | + "JSynthLib supports the TX81z as both a Single and Bank Librarian and also supports Patch Editing."; 24 | 25 | /** Creates new YamahaTX81zDevice */ 26 | public YamahaTX81zDevice () 27 | { 28 | super ("Yamaha","TX81z",null,infoText,"Brian Klock"); 29 | } 30 | 31 | /** Constructor for for actual work. */ 32 | public YamahaTX81zDevice(Preferences prefs) { 33 | this(); 34 | this.prefs = prefs; 35 | 36 | addDriver (new YamahaTX81zBankDriver ()); 37 | addDriver (new YamahaTX81zSingleDriver ()); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/core/ParamModel.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.core; 2 | 3 | /** 4 | * An implementation of IParamModel for Patch class. 5 | * @see SysexWidget.IParamModel 6 | * @see Patch 7 | */ 8 | public class ParamModel implements SysexWidget.IParamModel { 9 | 10 | /** Patch data. */ 11 | protected Patch patch; 12 | /** Offset of the data for which this model is. */ 13 | protected int ofs; 14 | 15 | /** 16 | * Left as private not to be used by mistake. 17 | * @deprecated Use ParamModel(Patch, int) or implement 18 | * SysexWidget.IParamModel. 19 | */ 20 | private ParamModel() { 21 | } 22 | 23 | /** 24 | * Creates a new ParamModel instance. 25 | * 26 | * @param patch a Patch value 27 | * @param offset an offset in patch.sysex. 28 | */ 29 | public ParamModel(Patch patch, int offset) { 30 | this.ofs = offset; 31 | this.patch = patch; 32 | } 33 | 34 | // SysexWidget.IParamModel interface methods 35 | /** Set a parameter value value. */ 36 | public void set(int value) { 37 | patch.sysex[ofs] = (byte) value; 38 | } 39 | 40 | /** Get a parameter value. */ 41 | public int get() { 42 | return patch.sysex[ofs]; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/core/ISinglePatch.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2004 Hiroo Hayashi 3 | * 4 | * This file is part of JSynthLib. 5 | * 6 | * JSynthLib is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published 8 | * by the Free Software Foundation; either version 2 of the License, 9 | * or(at your option) any later version. 10 | * 11 | * JSynthLib is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with JSynthLib; if not, write to the Free Software 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 19 | * USA 20 | */ 21 | package org.jsynthlib.core; 22 | 23 | /** 24 | * Interface for a Single Patch. 25 | * 26 | * @author Hiroo Hayashi 27 | * @version $Id$ 28 | */ 29 | public interface ISinglePatch extends IPatch { 30 | /** 31 | * Sends a patch to the synth's edit buffer. Checksum must be calculated 32 | * before sending Sysex Message. 33 | */ 34 | void send(); 35 | 36 | /** Play note. */ 37 | void play(); 38 | } -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/core/Constants.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.core; 2 | 3 | /** 4 | * Constants.java - Central place for definition of constants 5 | * @author Zellyn Hunter (zellyn@zellyn.com) 6 | * @version $Id$ 7 | */ 8 | public class Constants { 9 | /** JSynthLib version number */ 10 | static final String VERSION = "0.21-alpha"; 11 | 12 | /** Devices Config properties file name */ 13 | public static final String RESOURCE_NAME_DEVICES_CONFIG = 14 | "synthdrivers.properties"; 15 | 16 | /** App Config properties file name */ 17 | public static final String FILE_NAME_APP_CONFIG = "JSynthLib.properties"; 18 | /** App Config file header */ 19 | public static final String APP_CONFIG_HEADER = "JSynthLib Saved Properties"; 20 | 21 | /** Driver properties name prefix */ 22 | public static final String PROP_PREFIX_DEVICE_NAME = "deviceName."; 23 | /** Device properties class prefix */ 24 | public static final String PROP_PREFIX_DEVICE_CLASS = "deviceClass."; 25 | /** ID properties prefix */ 26 | public static final String PROP_PREFIX_ID_STRING = "inquiryID."; 27 | /** manufacturer name prefix */ 28 | public static final String PROP_PREFIX_MANUFACTURER = "manufacturer."; 29 | 30 | /** Number of faders */ 31 | public static final int NUM_FADERS = 33; 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/AnchorEditor.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder; 2 | import java.awt.Component; 3 | import java.beans.PropertyEditorSupport; 4 | 5 | import javax.swing.event.ChangeEvent; 6 | import javax.swing.event.ChangeListener; 7 | 8 | public class AnchorEditor extends PropertyEditorSupport implements ChangeListener { 9 | private Anchor editorValue; 10 | 11 | public Component getCustomEditor() { 12 | OldAnchorEditor ae = new OldAnchorEditor(editorValue); 13 | ae.addChangeListener(this); 14 | return ae; 15 | } 16 | public boolean supportsCustomEditor() { 17 | return true; 18 | } 19 | 20 | public void setValue(Object value) { 21 | try { 22 | editorValue = (Anchor)((Anchor)value).clone(); 23 | } catch (CloneNotSupportedException e) { 24 | e.printStackTrace(); 25 | } 26 | super.setValue(value); 27 | } 28 | /* (non-Javadoc) 29 | * @see javax.swing.event.ChangeListener#stateChanged(javax.swing.event.ChangeEvent) 30 | */ 31 | public void stateChanged(ChangeEvent e) { 32 | try { 33 | super.setValue(((Anchor)e.getSource()).clone()); 34 | } catch (CloneNotSupportedException e1) { 35 | e1.printStackTrace(); 36 | } 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/waldorf/pulse/WaldorfPulseInitPatch.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.drivers.waldorf.pulse; 2 | 3 | class WaldorfPulseInitPatch 4 | { 5 | static byte [] initPatch = new byte[] 6 | { 7 | (byte)0xf0, (byte)0x3e, (byte)0x0b, (byte)0x00, (byte)0x00, 8 | (byte)0x00, (byte)0x34, (byte)0x4c, (byte)0x01, (byte)0x40, 9 | (byte)0x40, (byte)0x34, (byte)0x00, (byte)0x28, (byte)0x00, 10 | (byte)0x01, (byte)0x34, (byte)0x40, (byte)0x00, (byte)0x2a, 11 | (byte)0x00, (byte)0x00, (byte)0x0c, (byte)0x00, (byte)0x00, 12 | (byte)0x1b, (byte)0x00, (byte)0x00, (byte)0x32, (byte)0x00, 13 | (byte)0x00, (byte)0x40, (byte)0x02, (byte)0x00, (byte)0x3a, 14 | (byte)0x7f, (byte)0x54, (byte)0x40, (byte)0x02, (byte)0x40, 15 | (byte)0x04, (byte)0x01, (byte)0x00, (byte)0x03, (byte)0x04, 16 | (byte)0x7f, (byte)0x0d, (byte)0x01, (byte)0x5e, (byte)0x05, 17 | (byte)0x00, (byte)0x40, (byte)0x00, (byte)0x00, (byte)0x40, 18 | (byte)0x01, (byte)0x01, (byte)0x03, (byte)0x15, (byte)0x00, 19 | (byte)0x03, (byte)0x00, (byte)0x40, (byte)0x7f, (byte)0x40, 20 | (byte)0x64, (byte)0x0d, (byte)0x30, (byte)0x0e, (byte)0x40, 21 | (byte)0x40, (byte)0x00, (byte)0x0f, (byte)0x7f, (byte)0x00, 22 | (byte)0x7b, (byte)0xf7 23 | }; 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/alesis/a6/AlesisA6Device.java: -------------------------------------------------------------------------------- 1 | // written by Kenneth L. Martinez 2 | // 3 | // @version $Id$ 4 | 5 | package org.jsynthlib.drivers.alesis.a6; 6 | 7 | import java.util.prefs.Preferences; 8 | 9 | import org.jsynthlib.core.Device; 10 | 11 | public class AlesisA6Device extends Device 12 | { 13 | static final String DRIVER_INFO = 14 | "The A6 lacks a MIDI addressable patch buffer. Therefore, when you\n" 15 | + "send or play a patch from within JSynthLib, user program 127 will be\n" 16 | + "overwritten. JSynthLib treats this location as an edit buffer."; 17 | 18 | /** Creates new AlesisA6Device */ 19 | public AlesisA6Device() 20 | { 21 | super ("Alesis","A6",null,DRIVER_INFO,"Kenneth L. Martinez"); 22 | } 23 | 24 | /** Constructor for for actual work. */ 25 | public AlesisA6Device(Preferences prefs) { 26 | this(); 27 | this.prefs = prefs; 28 | 29 | //setSynthName("Andromeda"); 30 | 31 | addDriver(new AlesisA6PgmBankDriver()); 32 | addDriver(new AlesisA6PgmSingleDriver()); 33 | addDriver(new AlesisA6MixBankDriver()); 34 | addDriver(new AlesisA6MixSingleDriver()); 35 | /* 36 | JOptionPane.showMessageDialog(PatchEdit.getInstance(), 37 | DRIVER_INFO, "A6 Driver Release Notes", 38 | JOptionPane.WARNING_MESSAGE 39 | ); 40 | */ 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/ensoniq/esq1/EnsoniqESQ1Device.java: -------------------------------------------------------------------------------- 1 | /* 2 | * EnsoniqESQ1Device.java 3 | * 4 | * Created on 10. Oktober 2001, 22:07 5 | */ 6 | 7 | package org.jsynthlib.drivers.ensoniq.esq1; 8 | 9 | import java.util.prefs.Preferences; 10 | 11 | import org.jsynthlib.core.Device; 12 | /** 13 | * 14 | * @author Gerrit Gehnen 15 | * @version $Id$ 16 | */ 17 | public class EnsoniqESQ1Device extends Device 18 | { 19 | private static final String infoText="Whenever JSynthLib sends a Patch to the ESQ, the synthesizer will go to a screen where you must hit "+ 20 | "'exit' on the front panel before you can send another patch. This is kind of annoying, so if anyone "+ 21 | "knows a way around this let me know. The other ESQ librarians I checked out had the same problem, so "+ 22 | "it may be impossible"; 23 | 24 | /** Creates new EnsoniqESQ1Device */ 25 | public EnsoniqESQ1Device () 26 | { 27 | super ("Ensoniq","ESQ-1","F07E..06020F0200...........F7",infoText,"Brian Klock"); 28 | } 29 | 30 | /** Constructor for for actual work. */ 31 | public EnsoniqESQ1Device(Preferences prefs) { 32 | this(); 33 | this.prefs = prefs; 34 | 35 | //setSynthName("ESQ1"); 36 | addDriver (new EnsoniqESQ1BankDriver ()); 37 | addDriver (new EnsoniqESQ1SingleDriver ()); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/kawai/k4/K4Model.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.drivers.kawai.k4; 2 | 3 | import org.jsynthlib.core.ParamModel; 4 | import org.jsynthlib.core.Patch; 5 | 6 | class K4Model extends ParamModel { 7 | private int bitmask; 8 | private int mult; 9 | 10 | public K4Model(Patch p, int offset) { 11 | super(p, offset + 8); 12 | bitmask = 255; 13 | mult = 1; 14 | } 15 | 16 | public K4Model(Patch p, int offset, int bitmask) { 17 | super(p, offset + 8); 18 | this.bitmask = bitmask; 19 | if ((bitmask & 1) == 1) 20 | mult = 1; 21 | else if ((bitmask & 2) == 2) 22 | mult = 2; 23 | else if ((bitmask & 4) == 4) 24 | mult = 4; 25 | else if ((bitmask & 8) == 8) 26 | mult = 8; 27 | else if ((bitmask & 16) == 16) 28 | mult = 16; 29 | else if ((bitmask & 32) == 32) 30 | mult = 32; 31 | else if ((bitmask & 64) == 64) 32 | mult = 64; 33 | else if ((bitmask & 128) == 128) 34 | mult = 128; 35 | } 36 | 37 | public void set(int i) { 38 | patch.sysex[ofs] = (byte) ((i * mult) + (patch.sysex[ofs] & (~bitmask))); 39 | } 40 | 41 | public int get() { 42 | return ((patch.sysex[ofs] & bitmask) / mult); 43 | } 44 | } -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/tx7/YamahaTX7SysexHelper.java: -------------------------------------------------------------------------------- 1 | /* 2 | * JSynthlib - Parameter Changes for Yamaha TX7 3 | * ============================================ 4 | * @version $Id$ 5 | * @author Torsten Tittmann 6 | * 7 | * Copyright (C) 2002-2004 Torsten.Tittmann@gmx.de 8 | * 9 | * This program is free software; you can redistribute it and/or 10 | * modify it under the terms of the GNU General Public License 11 | * as published by the Free Software Foundation; either version 2 12 | * of the License, or (at your option) any later version. 13 | * 14 | * This program is distributed in the hope that it will be useful, 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | * GNU General Public License for more details. 18 | * 19 | * You should have received a copy of the GNU General Public License 20 | * along with this program; if not, write to the Free Software 21 | * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 22 | * 23 | */ 24 | package org.jsynthlib.drivers.yamaha.tx7; 25 | import org.jsynthlib.core.SysexHandler; 26 | 27 | public class YamahaTX7SysexHelper 28 | { 29 | protected final static SysexHandler swOffMemProt = new SysexHandler("f0 43 @@ 11 07 00 f7"); // switch off internal memory protection 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/motif/YamahaMotif.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | Motif 4 | Yamaha 5 | F07E7F06024300417[CDE]040000007FF7 6 | ... 7 | Rib Rdb <ribrdb@gmail.com> 8 | 9 | 10 | Normal Voice 11 | 12 | 13 | User 14 | 15 | 16 | 17 | id 18 | 0 19 | 127 20 | 21 | "${(char)(65 + id/16)}-${id%16 + 1}" 22 | 23 | 24 | 25 | 26 | 27 | 28 | 3 29 | -2 30 |

-1
31 | 32 | 33 | 34 | test2.xml 35 | 36 | normal_voice.groovy 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/clavia/nordstage/NordStageDevice.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.drivers.clavia.nordstage; 2 | 3 | import java.util.prefs.Preferences; 4 | 5 | import org.jsynthlib.core.Device; 6 | 7 | /** 8 | * This is a beta driver for the Nord Stage Rev. B. It has been tested on OS 9 | * 2.16. 10 | * 11 | * @author Fredrik Zetterberg & James Fry 12 | */ 13 | public class NordStageDevice extends Device { 14 | 15 | private static final String INFO_TEXT = "This is a beta driver for the " 16 | + "Nord Stage Rev. B. The SysEx information was largely reverse " 17 | + "engineered to create this driver, so there are almost certainly " 18 | + "bugs present. It has been tested using a Nord Stage Rev. B with " 19 | + "OS 2.16."; 20 | 21 | public NordStageDevice() { 22 | // FIXME: this should have the Universal SysEx Inquiry response, not 23 | // this shortened version. It can be up to 16 bytes, in response to F0 24 | // 7E channel 06 data F7 (is data 00?) 25 | // f0 7e 00 06 02 42 6e 00 08 00 00 00 00 01 f7 26 | 27 | super("Clavia", "Nord Stage", "F07E000602426E00080000000001F7", 28 | INFO_TEXT, "Fredrik Zetterberg & James Fry"); 29 | 30 | } 31 | 32 | public NordStageDevice(Preferences prefs) { 33 | this(); 34 | this.prefs = prefs; 35 | addDriver(new NordStagePatchSingleDriver()); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/PGSNode.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder; 2 | 3 | import java.util.HashSet; 4 | 5 | import javax.swing.tree.DefaultMutableTreeNode; 6 | 7 | 8 | public class PGSNode extends DefaultMutableTreeNode { 9 | private String name; 10 | private HashSet names = new HashSet(); 11 | 12 | public void addGroup(PGSNode group) { 13 | add(group); 14 | } 15 | public void addSysex(PGSNode syx) { 16 | add(syx); 17 | } 18 | private void addParameter(Parameter p) { 19 | if (p.getType() == Parameter.CONSTANT) 20 | return; 21 | // Ignore duplicate parameters 22 | if (names.contains(p.getName())) 23 | return; 24 | names.add(p.getName()); 25 | p.setSysex(this); 26 | add(new DefaultMutableTreeNode(p)); 27 | } 28 | public void addRange(Parameter p) { 29 | addParameter(p); 30 | } 31 | public void addLookup(Parameter p) { 32 | addParameter(p); 33 | } 34 | public void addString(Parameter p) { 35 | addParameter(p); 36 | } 37 | 38 | public String getName() { 39 | return name; 40 | } 41 | 42 | public void setName(String name) { 43 | this.name = name; 44 | } 45 | 46 | 47 | public String toString() { 48 | return getName(); 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/core/ClipboardUtil.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.core; 2 | 3 | import java.awt.datatransfer.*; 4 | import java.awt.Toolkit; 5 | 6 | public class ClipboardUtil implements ClipboardOwner { 7 | protected final static ClipboardUtil instance = new ClipboardUtil(); 8 | 9 | protected final static Clipboard c = Toolkit.getDefaultToolkit() 10 | .getSystemClipboard(); 11 | 12 | public static void storePatch(IPatch p) { 13 | try { 14 | c.setContents(p, instance); 15 | } catch (IllegalStateException e) { 16 | ErrorMsg.reportStatus(e); 17 | } 18 | } 19 | 20 | public static IPatch getPatch() { // not used 21 | try { 22 | Transferable t = c.getContents(instance); 23 | return (IPatch) t.getTransferData(PatchTransferHandler.PATCH_FLAVOR); 24 | } catch (IllegalStateException e) { 25 | ErrorMsg.reportStatus(e); 26 | } catch (ClassCastException e) { 27 | ErrorMsg.reportStatus(e); 28 | } catch (UnsupportedFlavorException e) { 29 | ErrorMsg.reportStatus(e); 30 | } catch (java.io.IOException e) { 31 | ErrorMsg.reportStatus(e); 32 | } 33 | return null; 34 | } 35 | 36 | // ClipboardOwner method 37 | public void lostOwnership(Clipboard clipboard, Transferable contents) { 38 | } 39 | 40 | } -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/plugins/BasicChecksum.groovy: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.plugins; 2 | 3 | 4 | 5 | import org.jsynthlib.xml.XMLPatch 6 | 7 | public class BasicChecksum extends Checksum { 8 | @Property int start 9 | @Property int end 10 | @Property int address 11 | 12 | public void setStart(String s) { 13 | start = Integer.decode(s) 14 | } 15 | public void setEnd(String s) { 16 | end = Integer.decode(s) 17 | } 18 | public void setAddress(String s) { 19 | address = Integer.decode(s) 20 | } 21 | 22 | public void checksum(XMLPatch p, byte[] msg) { 23 | int sum = sum(p, msg) 24 | byte value = transform(sum) 25 | msg[getAddress(p,msg)] = value 26 | } 27 | protected int sum(XMLPatch p, byte[] msg) { 28 | int sum = 0; 29 | for (i in start .. calcOffset(end, msg)) 30 | sum += msg[i] 31 | return sum 32 | } 33 | protected byte transform(int sum) { 34 | return (byte)sum.and(0x7f) 35 | } 36 | protected int calcOffset(int p, byte[] msg) { 37 | if (p < 0) 38 | return msg.size() + p - 1 39 | else 40 | return p 41 | } 42 | protected int getAddress(XMLPatch p, byte[] msg) { 43 | return calcOffset(address, msg) 44 | } 45 | 46 | public void main(args) { 47 | PluginRegistry.registerChecksum("ones complement", BasicChecksum.class) 48 | } 49 | } -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/ub99/format/IntFormat.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2005 Ton Holsink 3 | * 4 | * This file is part of JSynthLib. 5 | * 6 | * JSynthLib is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published 8 | * by the Free Software Foundation; either version 2 of the License, 9 | * or(at your option) any later version. 10 | * 11 | * JSynthLib is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with JSynthLib; if not, write to the Free Software 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 19 | * USA 20 | */ 21 | 22 | package org.jsynthlib.drivers.yamaha.ub99.format; 23 | 24 | public class IntFormat implements IFormat { 25 | private int start; 26 | private int step; 27 | 28 | public IntFormat(int start, int step) { 29 | this.start = start; 30 | this.step = step; 31 | } 32 | 33 | public IntFormat(int start) { 34 | this(start, 0); 35 | } 36 | 37 | public String fmtString(int v) { 38 | return "" + (start + (v*step)); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/boss/dr660/BossDR660Device.java: -------------------------------------------------------------------------------- 1 | /* 2 | * BossDR660Device.java 3 | * 4 | * Created on 10. Oktober 2001, 09:25 5 | */ 6 | 7 | package org.jsynthlib.drivers.boss.dr660; 8 | 9 | import java.util.prefs.Preferences; 10 | 11 | import org.jsynthlib.core.Device; 12 | 13 | /** 14 | * 15 | * @author Gerrit Gehnen 16 | * @version $Id$ 17 | */ 18 | public class BossDR660Device extends Device 19 | { 20 | private static final String infoText="JSynthLib functions both as an editor and librarian for DR660 Drumkits. Banks of Drumkits are not "+ 21 | "supported due to Roland not documenting the format of the bank sysex dump. Also, while most parameters "+ 22 | "are editable, JSynthLib can not currently edit the effects settings of the DR660.\n\n"+ 23 | "Keep in mind that the first several locations to store drumkits on the DR660 are ROM"+ 24 | " locations and are not user writable. Though JSynthLib can store drumkits to these locations, "+ 25 | "they will revert back to their old values once a patch change message is received."; 26 | 27 | /** Creates new BossDR660Device */ 28 | public BossDR660Device () 29 | { 30 | super ("Boss","DR660",null,infoText,"Brian Klock"); 31 | } 32 | 33 | /** Constructor for for actual work. */ 34 | public BossDR660Device(Preferences prefs) { 35 | this(); 36 | this.prefs = prefs; 37 | 38 | addDriver (new BossDR660DrumkitDriver ()); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/oberheim/matrix/OberheimMatrix1000Device.java: -------------------------------------------------------------------------------- 1 | /* 2 | * OberheimMatrixDevice.java 3 | * 4 | * Created on 10. Oktober 2001, 21:39 5 | */ 6 | 7 | package org.jsynthlib.drivers.oberheim.matrix; 8 | 9 | import java.util.prefs.Preferences; 10 | 11 | import org.jsynthlib.core.Device; 12 | /** 13 | * 14 | * @author Brian Klock 15 | * @version $Id$ 16 | */ 17 | public class OberheimMatrix1000Device extends Device 18 | { 19 | private static final String infoText 20 | = "JSynthLib supports all librarian and editing functions on both Matrix 1000" 21 | + "Single Patches and on Banks of patches.\n" 22 | + "The Oberheim Matrix 1000 responds slowly to changes of certain parameters " 23 | + "such as the Modulation Matrix. This is a limitation of the synthesizer " 24 | + "and not of JSynthLib. Luckily, the slow response parameters tend not to be " 25 | + "the ones you would usually want to tweak in real time."; 26 | 27 | /** Creates new OberheimMatrixDevice */ 28 | public OberheimMatrix1000Device () 29 | { 30 | super ("Oberheim","Matrix 1000","F07E..06021006000200........F7",infoText,"Brian Klock"); 31 | } 32 | 33 | /** Constructor for for actual work. */ 34 | public OberheimMatrix1000Device(Preferences prefs) { 35 | this(); 36 | this.prefs = prefs; 37 | 38 | addDriver ( new OberheimMatrixBankDriver ()); 39 | addDriver ( new OberheimMatrixSingleDriver ()); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/oberheim/matrix/OberheimMatrix6Device.java: -------------------------------------------------------------------------------- 1 | /* 2 | * OberheimMatrixDevice.java 3 | * 4 | * Created on 10. Oktober 2001, 21:39 5 | */ 6 | 7 | package org.jsynthlib.drivers.oberheim.matrix; 8 | 9 | import java.util.prefs.Preferences; 10 | 11 | import org.jsynthlib.core.Device; 12 | /** 13 | * 14 | * @author Gerrit Gehnen 15 | * @version $Id$ 16 | */ 17 | public class OberheimMatrix6Device extends Device 18 | { 19 | private static final String infoText 20 | = "JSynthLib supports all librarian and editing functions on both Matrix 6/6r Single Patches, but " 21 | + "does not yet include support for manipulating banks of patches.\n" 22 | + "The Oberheim Matrix 6/6r responds slowly to changes of certain parameters " 23 | + "such as the Modulation Matrix. This is a limitation of the synthesizer " 24 | + "and not of JSynthLib. Luckily, the slow response parameters tend not to be " 25 | + "the ones you would usually want to tweak in real time"; 26 | 27 | /** Creates new OberheimMatrixDevice */ 28 | public OberheimMatrix6Device () 29 | { 30 | super ("Oberheim","Matrix6/6R","F07E..06021006000200........F7",infoText,"Brian Klock"); 31 | } 32 | 33 | /** Constructor for for actual work. */ 34 | public OberheimMatrix6Device(Preferences prefs) { 35 | this(); 36 | this.prefs = prefs; 37 | 38 | //setSynthName("Matrix 6"); 39 | addDriver ( new OberheimMatrixSingleDriver ()); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/widgets/PanelWidget.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder.widgets; 2 | import javax.swing.BorderFactory; 3 | 4 | import org.jsynthlib.utils.XMLWriter; 5 | import org.xml.sax.SAXException; 6 | 7 | public class PanelWidget extends ContainerWidget { 8 | private boolean bordered = true; 9 | 10 | public PanelWidget() { 11 | this(100,100); 12 | } 13 | public PanelWidget(int w, int h) { 14 | this("Panel", w, h); 15 | } 16 | 17 | public PanelWidget(String title, int w, int h) { 18 | this("panel",title, w, h); 19 | } 20 | protected PanelWidget(String name, String title, int w, int h) { 21 | super(name, w, h); 22 | setText(title); 23 | } 24 | public void setText(String title) { 25 | if (bordered) 26 | setBorder(BorderFactory.createTitledBorder(title)); 27 | super.setText(title); 28 | } 29 | 30 | public void setBordered(boolean bordered) { 31 | this.bordered = bordered; 32 | if (bordered) 33 | setText(getText()); 34 | else 35 | setBorder(null); 36 | } 37 | 38 | public boolean isBordered() { 39 | return bordered; 40 | } 41 | 42 | protected void writeContent(XMLWriter xml) throws SAXException { 43 | xml.writeProperty("bordered", Boolean.toString(bordered)); 44 | super.writeContent(xml); 45 | } 46 | 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/korg/x3/KorgX3Device.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.drivers.korg.x3; 2 | 3 | import java.util.prefs.Preferences; 4 | 5 | import org.jsynthlib.core.Device; 6 | 7 | /** 8 | * This class is a device driver for Korg X3 -synthesizer to be used in 9 | * JSynthLib-program. Might work directly with Korg X2 as well. 10 | * Making drivers for N-series (N264, N364) should be an easy 11 | * task if one has the original reference guide. 12 | * 13 | * @author Juha Tukkinen 14 | * @version $Id$ 15 | */ 16 | public class KorgX3Device extends Device 17 | { 18 | private static final String infoText="This is the Korg X3 Driver. The Single Editor allows you to edit "+ 19 | "most of the attributes in this synthesizer. A few are unimplemented as "+ 20 | "the pan setting for example. Playing the patch in JSynthLib moves first "+ 21 | "the patch to Korg's patch buffer."; 22 | 23 | /** 24 | * Creates a new KorgX3Device 25 | */ 26 | public KorgX3Device () 27 | { 28 | super ("Korg","X3","F07E..0602423500..00..00..00F7",infoText,"Juha Tukkinen"); 29 | } 30 | 31 | /** Constructor for for actual work. */ 32 | public KorgX3Device(Preferences prefs) { 33 | this(); 34 | this.prefs = prefs; 35 | 36 | //setSynthName("X3"); 37 | addDriver(new KorgX3SingleConverter()); 38 | addDriver(new KorgX3BankConverter()); 39 | addDriver(new KorgX3SingleDriver()); 40 | addDriver(new KorgX3BankDriver()); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/editor/RelativePosition.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml.editor; 2 | 3 | import java.util.Map; 4 | 5 | import javax.swing.Spring; 6 | import javax.swing.SpringLayout; 7 | import javax.swing.SpringLayout.Constraints; 8 | 9 | 10 | public class RelativePosition implements WidgetPosition { 11 | 12 | private Anchor vAnchor, hAnchor; 13 | private WidgetSize size; 14 | 15 | public void setTop(Anchor a) { 16 | vAnchor = a; 17 | } 18 | public void setBottom(Anchor a) { 19 | vAnchor = a; 20 | } 21 | public void setLeft(Anchor a) { 22 | hAnchor = a; 23 | } 24 | public void setRigt(Anchor a) { 25 | hAnchor = a; 26 | } 27 | 28 | /* (non-Javadoc) 29 | * @see org.jsynthlib.jsynthlib.xml.WidgetPosition#getConstraints(javax.swing.SpringLayout, java.util.Map) 30 | */ 31 | public Constraints getConstraints(SpringLayout layout, Map widgetMap) { 32 | Constraints c; 33 | if (size == null) { 34 | c = new Constraints(); 35 | } else { 36 | c = new Constraints( 37 | Spring.constant(0), 38 | Spring.constant(0), 39 | Spring.constant(size.getWidth()), 40 | Spring.constant(size.getHeight()) 41 | ); 42 | } 43 | c.setConstraint(vAnchor.getSide(), vAnchor.getSpring(layout, widgetMap)); 44 | c.setConstraint(hAnchor.getSide(), hAnchor.getSpring(layout, widgetMap)); 45 | return c; 46 | } 47 | public void setSize(WidgetSize size) { 48 | this.size = size; 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/d10/D10ParamModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2006 Roger Westerlund 3 | * 4 | * This file is part of JSynthLib. 5 | * 6 | * JSynthLib is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published 8 | * by the Free Software Foundation; either version 2 of the License, 9 | * or(at your option) any later version. 10 | * 11 | * JSynthLib is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with JSynthLib; if not, write to the Free Software 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 19 | * USA 20 | */ 21 | package org.jsynthlib.drivers.roland.d10; 22 | 23 | import org.jsynthlib.core.ParamModel; 24 | import org.jsynthlib.core.Patch; 25 | 26 | /** 27 | * This class extends the ParamModel to relocate the offset specified into a 28 | * the sysex message offset. 29 | * 30 | * @author Roger Westerlund 31 | */ 32 | public class D10ParamModel extends ParamModel { 33 | public D10ParamModel(Patch patch, int offset) { 34 | // Relocate the offset taking the header into account. 35 | super(patch, D10Constants.SIZE_HEADER_DT1 + offset); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/gp16/RolandGP16Device.java: -------------------------------------------------------------------------------- 1 | /* 2 | * RolandGP16Device.java 3 | * 4 | */ 5 | 6 | package org.jsynthlib.drivers.roland.gp16; 7 | import java.util.prefs.Preferences; 8 | 9 | import org.jsynthlib.core.Device; 10 | 11 | /** 12 | * Device class for ROLAND GP16. 13 | * @author Mikael Kurula 14 | * @version $Id$ 15 | */ 16 | public class RolandGP16Device extends Device { 17 | 18 | private static final String INFO_TEXT= 19 | "Driver set to provide librarian support for the guitar processor Roland GP-16. The Play "+ 20 | "function performs the same thing as Send,since the GP-16 obviously cannot perform a Play.\n\n"+ 21 | "There are many problems, but also some useful functionality. Please feel free to fix the bugs! :)\n\n"+ 22 | "Drivers originally written by Mikael Kurula, to be reached at alcarola AT gmail DOT com."; 23 | 24 | /** Constructor for DeviceListWriter. */ 25 | public RolandGP16Device() { 26 | super("Roland", "GP16", null, INFO_TEXT, "Mikael Kurula"); 27 | } 28 | 29 | /** Constructor for for actual work. */ 30 | public RolandGP16Device(Preferences prefs) { 31 | this(); 32 | this.prefs = prefs; 33 | 34 | RolandGP16SingleDriver singleDriver = new RolandGP16SingleDriver(); 35 | addDriver(singleDriver); 36 | addDriver(new RolandGP16BankDriver(singleDriver)); 37 | addDriver(new RolandGP16GroupDriver(singleDriver)); 38 | addDriver(new RolandGP16AllDriver(singleDriver)); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/widgets/StringParameterWidget.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder.widgets; 2 | import org.jsynthlib.core.PatchNameWidget; 3 | import org.jsynthlib.editorbuilder.Parameter; 4 | import org.jsynthlib.utils.XMLWriter; 5 | import org.xml.sax.SAXException; 6 | 7 | public class StringParameterWidget extends ParameterWidget { 8 | 9 | protected Parameter param; 10 | protected PatchNameWidget widget; 11 | 12 | private static final String types[] = new String[] {"Patch Name"}; 13 | 14 | public StringParameterWidget() { 15 | super("string"); 16 | } 17 | public StringParameterWidget(Parameter _param) { 18 | this(); 19 | if (_param == null) 20 | throw new NullPointerException(); 21 | setParam(_param); 22 | } 23 | 24 | public String[] getTypes() { return new String[] {"Patch Name"}; } 25 | 26 | public void setText( String t ) { 27 | widget.setLabel(t); 28 | super.setText(t); 29 | } 30 | 31 | public Parameter getParam() { 32 | return param; 33 | } 34 | 35 | public void setParam(Parameter p) { 36 | this.param = p; 37 | if (widget != null) 38 | remove(widget); 39 | widget = new PatchNameWidget(Parameter.nullPatch(), p); 40 | add(widget); 41 | if (getText() != null) 42 | widget.setLabel(getText()); 43 | validateParents(); 44 | } 45 | protected void startElement(XMLWriter xml) throws SAXException { 46 | super.startElement(xml); 47 | if (param != null) 48 | param.write(xml); 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/JSynthLib.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib; 2 | 3 | import java.util.ArrayList; 4 | 5 | import org.jsynthlib.core.PatchEdit; 6 | 7 | public class JSynthLib { 8 | 9 | private static int debugLevel = 0; 10 | private static ArrayList fileList = new ArrayList(); 11 | 12 | public static void main(String[] args) { 13 | parseArgument(args); 14 | PatchEdit frame = new PatchEdit(fileList, debugLevel); 15 | // frame.setVisible(true); 16 | } 17 | 18 | private static void parseArgument(String[] args) { 19 | try { 20 | for (int i = 0; i < args.length; i++) { 21 | if (args[i].startsWith("-D")) { 22 | // may cause Illegal Index Exception 23 | debugLevel = Integer.parseInt(args[++i]); 24 | } else if (args[i].startsWith("-h")) { 25 | usage(0); 26 | } else if (args[i].startsWith("-")) { 27 | usage(1); 28 | } else { 29 | fileList.add(args[i]); 30 | } 31 | } 32 | } catch (Exception e) { 33 | usage(1); 34 | } 35 | } 36 | 37 | private static void usage(int status) { 38 | System.err.println("usage: java JSynthLib [-D number] [filename...]"); 39 | System.err.println(" -D number\tset debugging flags (argument is a bit mask)"); 40 | System.err.println("\t1\tmisc"); 41 | System.err.println("\t2\tdump stack"); 42 | System.err.println("\t4\tMIDI"); 43 | System.err.println("\t8\tframe"); 44 | System.err.println("\t..."); 45 | System.err.println("\t-1\tall"); 46 | System.exit(status); 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/roland/mt32/MT32_jargon.txt: -------------------------------------------------------------------------------- 1 | The timbre area's contain the actual definition of the sounds produced. 2 | Timbre Temp contain the actual active sounds. 3 | Timbre Memory are the storage locations of the user definable sounds. Initially 4 | they contain copies of the fixed internal sounds. 5 | The patch area's are the link between sounds and MIDI channels with some extra 6 | generic configuration. The Patch Temp area contain the configuration of the 7 | Timbre Temp sounds. The Patch Memory area contains the 128 user selectable sounds 8 | initially they are the 128 fixed internal sounds (group A and B). 9 | 10 | 11 | Patch Temp Area (1-8) 16 bytes Configuration of the eight active sounds 12 | Setup Temp Area (rhytm part) 4 bytes Setup of the rhythm channel sounds 13 | Timbre Temp Area (1-8) 256 bytes Partial parameters of the eight current active sounds 14 | Patch Memory (1-128) 9 bytes Configuration of the 128 predefined sounds 15 | Timbre Memory (1-64) 256 bytes The 64 user defined sounds in the MEMORY group 16 | System Area (1) 22 bytes Global settings (master tune, reverb, partial reserve? 17 | midi channel and master volume) 18 | Display (1) 20 bytes Contents of the display (write only) 19 | All parameter reset 20 | 21 | Configuration includes the name of the sound, the structure (partial configuration) and 22 | partial enable. -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/ub99/format/DoubleFormat.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2005 Ton Holsink 3 | * 4 | * This file is part of JSynthLib. 5 | * 6 | * JSynthLib is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published 8 | * by the Free Software Foundation; either version 2 of the License, 9 | * or(at your option) any later version. 10 | * 11 | * JSynthLib is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with JSynthLib; if not, write to the Free Software 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 19 | * USA 20 | */ 21 | 22 | package org.jsynthlib.drivers.yamaha.ub99.format; 23 | 24 | import java.text.DecimalFormat; 25 | 26 | public class DoubleFormat implements IFormat { 27 | private double start; 28 | private double step; 29 | private String fmt; 30 | 31 | public DoubleFormat(double start, double step, String fmt) { 32 | this.start = start; 33 | this.step = step; 34 | this.fmt = fmt; 35 | } 36 | 37 | public String fmtString(int v) { 38 | DecimalFormat df = new DecimalFormat(fmt); 39 | return df.format(start + (v*step)); 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/line6/pod20/NullModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2004 Jeff Weber 3 | * 4 | * This file is part of JSynthLib. 5 | * 6 | * JSynthLib is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published 8 | * by the Free Software Foundation; either version 2 of the License, 9 | * or(at your option) any later version. 10 | * 11 | * JSynthLib is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with JSynthLib; if not, write to the Free Software 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 19 | * USA 20 | */ 21 | 22 | package org.jsynthlib.drivers.line6.pod20; 23 | 24 | import org.jsynthlib.core.SysexWidget; 25 | 26 | /** Dummy do-nothing model. This model is used for the Global Wah on/off setting. 27 | * Pod supports a CC number for Wah on off but it's not represented in the Sysex record. 28 | * 29 | * @author Jeff Weber 30 | */ 31 | class NullModel implements SysexWidget.IParamModel { 32 | /** Constructs aNullModel.*/ 33 | NullModel() {} 34 | /** Null method for NullModel.*/ 35 | public void set(int i) {} 36 | /** Null method for NullModel.*/ 37 | public int get() {return 0;} 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/line6/basspod/NullModel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2004 Jeff Weber 3 | * 4 | * This file is part of JSynthLib. 5 | * 6 | * JSynthLib is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published 8 | * by the Free Software Foundation; either version 2 of the License, 9 | * or(at your option) any later version. 10 | * 11 | * JSynthLib is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with JSynthLib; if not, write to the Free Software 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 19 | * USA 20 | */ 21 | 22 | package org.jsynthlib.drivers.line6.basspod; 23 | 24 | import org.jsynthlib.core.SysexWidget; 25 | 26 | /** Dummy do-nothing model. This model is used for the Global Wah on/off setting. 27 | * Pod supports a CC number for Wah on off but it's not represented in the Sysex record. 28 | * 29 | * @author Jeff Weber 30 | */ 31 | class NullModel implements SysexWidget.IParamModel { 32 | /** Constructs aNullModel.*/ 33 | NullModel() {} 34 | /** Null method for NullModel.*/ 35 | public void set(int i) {} 36 | /** Null method for NullModel.*/ 37 | public int get() {return 0;} 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/AnchorChangeEvent.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder; 2 | 3 | import javax.swing.Spring; 4 | 5 | import org.jsynthlib.editorbuilder.widgets.Widget; 6 | 7 | 8 | public class AnchorChangeEvent { 9 | public static final int CONSTRAINED_WIDGET = 0; 10 | public static final int CONSTRAINED_SIDE = 1; 11 | public static final int TARGET_WIDGET = 2; 12 | public static final int TARGET_SIDE = 3; 13 | public static final int PADDING = 4; 14 | 15 | private int type; 16 | private Widget w; 17 | private int side; 18 | private Anchor anchor; 19 | private Spring padding; 20 | 21 | public AnchorChangeEvent(Anchor a, int type, int side) { 22 | this.type = type; 23 | this.side = side; 24 | anchor = a; 25 | } 26 | public AnchorChangeEvent(Anchor a, int type, Widget w) { 27 | this.type = type; 28 | this.w = w; 29 | anchor = a; 30 | } 31 | public AnchorChangeEvent(Anchor a, Spring padding) { 32 | this.padding = padding; 33 | this.type = PADDING; 34 | this.anchor = a; 35 | } 36 | 37 | public Anchor getAnchor() { 38 | return anchor; 39 | } 40 | public int getOldSide() { 41 | return side; 42 | } 43 | public Widget getOldWidget() { 44 | return w; 45 | } 46 | public Spring getOldPadding() { 47 | return padding; 48 | } 49 | public int getType() { 50 | return type; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/xml/editor/Anchor.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.xml.editor; 2 | 3 | import java.awt.Component; 4 | import java.util.HashMap; 5 | import java.util.Map; 6 | 7 | import javax.swing.Spring; 8 | import javax.swing.SpringLayout; 9 | 10 | 11 | public class Anchor { 12 | private String myside, otherside; 13 | private String key; 14 | private int padding; 15 | private static final Map SIDES; 16 | static { 17 | SIDES = new HashMap(); 18 | SIDES.put("top", SpringLayout.NORTH); 19 | SIDES.put("bottom", SpringLayout.SOUTH); 20 | SIDES.put("left", SpringLayout.WEST); 21 | SIDES.put("right", SpringLayout.EAST); 22 | } 23 | public Anchor(String type) { 24 | myside = (String) SIDES.get(type); 25 | } 26 | public void setWidget(String widget) { 27 | key = widget; 28 | } 29 | public String getKey() { 30 | return key; 31 | } 32 | public void setSide(String side) { 33 | otherside = (String) SIDES.get(side); 34 | } 35 | public String getSide() { 36 | return myside; 37 | } 38 | public String getOtherSide(){ 39 | return otherside; 40 | } 41 | public int getPadding() { 42 | return padding; 43 | } 44 | public void setPadding(String padding) { 45 | this.padding = Integer.parseInt(padding); 46 | } 47 | public Spring padding() { 48 | return Spring.constant(padding); 49 | } 50 | public Spring getSpring(SpringLayout l, Map widgetMap) { 51 | Component c = (Component)widgetMap.get(key); 52 | Spring base = l.getConstraint(otherside, c); 53 | return Spring.sum(base, padding()); 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/kawai/k4/KawaiK4Device.java: -------------------------------------------------------------------------------- 1 | /* 2 | * KawaiK4Device.java 3 | * 4 | */ 5 | 6 | package org.jsynthlib.drivers.kawai.k4; 7 | import java.util.prefs.Preferences; 8 | 9 | import org.jsynthlib.core.Device; 10 | 11 | /** 12 | * Device class for KAWAI K4/K4r. 13 | * @author Gerrit Gehnen 14 | * @version $Id$ 15 | */ 16 | public class KawaiK4Device extends Device { 17 | private static final String INFO_TEXT 18 | = "There are no known issues or problems with this synthesizer. Librarian and Editing functions are " 19 | + "available for all K4 datatypes, Singles, Single Banks, Multis, MultiBanks, Effects, EffectBanks, and " 20 | + "Drumkits. Note that the K4r does not have the effects section that is present on the K4."; 21 | 22 | /** Constructor for DeviceListWriter. */ 23 | public KawaiK4Device() { 24 | super("Kawai", "K4/K4R", "F07E..0602400000040000000000f7", 25 | INFO_TEXT, "Brian Klock & Gerrit Gehnen"); 26 | } 27 | 28 | /** Constructor for for actual work. */ 29 | public KawaiK4Device(Preferences prefs) { 30 | this(); 31 | this.prefs = prefs; 32 | 33 | addDriver(new KawaiK4BulkConverter()); 34 | addDriver(new KawaiK4SingleDriver()); 35 | addDriver(new KawaiK4BankDriver()); 36 | addDriver(new KawaiK4MultiDriver()); 37 | addDriver(new KawaiK4MultiBankDriver()); 38 | addDriver(new KawaiK4EffectDriver()); 39 | addDriver(new KawaiK4EffectBankDriver()); 40 | addDriver(new KawaiK4DrumsetDriver()); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/korg/wavestation/KorgWavestationDevice.java: -------------------------------------------------------------------------------- 1 | /* 2 | * KorgWavestationDevice.java 3 | * 4 | * Created on 10.Feb.2002 5 | */ 6 | 7 | package org.jsynthlib.drivers.korg.wavestation; 8 | 9 | import java.util.prefs.Preferences; 10 | 11 | import org.jsynthlib.core.Device; 12 | /** 13 | * 14 | * @author Gerrit Gehnen 15 | * @version $Id$ 16 | */ 17 | public class KorgWavestationDevice extends Device { 18 | private static final String infoText="This is an experimental driver. It is not tested on a real device yet!"; 19 | 20 | /** Creates new KorgWavestationDevice */ 21 | public KorgWavestationDevice() { 22 | super ("Korg","Wavestation","F07E..06024228000100........F7",infoText,"Gerrit Gehnen"); 23 | } 24 | 25 | /** Constructor for for actual work. */ 26 | public KorgWavestationDevice(Preferences prefs) { 27 | this(); 28 | this.prefs = prefs; 29 | 30 | //setSynthName("Wavestation"); 31 | 32 | addDriver(new KorgWavestationSinglePatchDriver()); 33 | addDriver(new KorgWavestationSinglePerformanceDriver()); 34 | addDriver(new KorgWavestationBankPatchDriver()); 35 | addDriver(new KorgWavestationBankPerformanceDriver()); 36 | addDriver(new KorgWavestationSystemSetupDriver()); 37 | addDriver(new KorgWavestationWaveSequenceDriver()); 38 | addDriver(new KorgWavestationMultiModeSetupDriver()); 39 | addDriver(new KorgWavestationMicroTuneScaleDriver()); 40 | addDriver(new KorgWavestationPerformanceMapDriver()); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/core/ImportMidiFile.java: -------------------------------------------------------------------------------- 1 | /* 2 | * ImportMidiFile.java 3 | * 4 | */ 5 | 6 | package org.jsynthlib.core; 7 | 8 | import javax.sound.midi.*; 9 | 10 | /** 11 | * 12 | * @author Gerrit Gehnen 13 | * @version $Id$ 14 | */ 15 | 16 | public class ImportMidiFile { 17 | 18 | static boolean doImport(java.io.File file) { 19 | Sequence seq; 20 | Track[] tr; 21 | 22 | try { 23 | seq = MidiSystem.getSequence(file); 24 | } catch (Exception ex) { 25 | // If we fall in an exception the file was not a Midifile.... 26 | return false; 27 | } 28 | tr = seq.getTracks(); 29 | //ErrorMsg.reportStatus("Track Count "+tr.length); 30 | 31 | for (int j = 0; j < tr.length; j++) { 32 | //ErrorMsg.reportStatus("Track "+j+":size "+tr[j].size()); 33 | for (int i = 0; i < tr[j].size(); i++) { 34 | PatchBasket frame = (PatchBasket) PatchEdit.getDesktop().getSelectedFrame(); 35 | if (tr[j].get(i).getMessage() instanceof SysexMessage) { 36 | //ErrorMsg.reportStatus("Track "+j+" Event "+i+" SYSEX!!"); 37 | IPatch[] patarray = DriverUtil.createPatches(tr[j].get(i) 38 | .getMessage().getMessage()); 39 | for (int k = 0; k < patarray.length; k++) { 40 | frame.pastePatch(patarray[k]); 41 | } 42 | } 43 | } 44 | } 45 | return true; 46 | } 47 | } -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/drivers/yamaha/ub99/IdItem.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2005 Ton Holsink 3 | * 4 | * This file is part of JSynthLib. 5 | * 6 | * JSynthLib is free software; you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published 8 | * by the Free Software Foundation; either version 2 of the License, 9 | * or(at your option) any later version. 10 | * 11 | * JSynthLib is distributed in the hope that it will be useful, but 12 | * WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 | * General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with JSynthLib; if not, write to the Free Software 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 19 | * USA 20 | */ 21 | 22 | package org.jsynthlib.drivers.yamaha.ub99; 23 | 24 | public class IdItem { 25 | 26 | private int m_id; 27 | private String m_name; 28 | 29 | public IdItem(int id, String name) { 30 | m_id = id; 31 | m_name = name; 32 | } 33 | 34 | public int getID() { 35 | return m_id; 36 | } 37 | 38 | public void setID(int id) { 39 | m_id = id; 40 | } 41 | 42 | public String getName() { 43 | return m_name; 44 | } 45 | 46 | public void setName(String name) { 47 | m_name = name; 48 | } 49 | 50 | public String toString() { 51 | return m_name; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /src/main/java/org/jsynthlib/editorbuilder/QuickSort.java: -------------------------------------------------------------------------------- 1 | package org.jsynthlib.editorbuilder; 2 | public class QuickSort 3 | { 4 | private Comparable [] userArray; 5 | public static void sort( Comparable [] userArray ) 6 | { 7 | QuickSort h = new QuickSort(); 8 | h.userArray = userArray; 9 | if( h.isAlreadySorted() ) 10 | return; 11 | h.quicksort( 0, userArray.length-1 ); 12 | return; 13 | } 14 | 15 | private void quicksort( int p, int r ) 16 | { 17 | if ( p < r ) { 18 | int q = partition( p, r ); 19 | if ( q == r ) 20 | q--; 21 | quicksort( p, q ); 22 | quicksort( q+1, r ); 23 | } 24 | } 25 | 26 | private int partition( int lo, int hi ) 27 | { 28 | Comparable pivot = userArray[lo]; 29 | while ( true ) { 30 | while ( userArray[hi].compareTo(pivot) >= 0 && lo < hi ) 31 | hi--; 32 | while ( userArray[lo].compareTo(pivot) < 0 && lo < hi ) 33 | lo++; 34 | if (lo < hi) { 35 | Comparable T = userArray[lo]; 36 | userArray[lo] = userArray[hi]; 37 | userArray[hi] = T; 38 | } 39 | else return hi; 40 | } 41 | } 42 | 43 | private boolean isAlreadySorted() 44 | { 45 | for ( int i=1; i