From eea6ca7cb9c84140ed7c2bbad943cdf5aad8554c Mon Sep 17 00:00:00 2001 From: asb2m10 Date: Sat, 23 May 2015 00:35:07 -0400 Subject: [PATCH] Sprint 2 for Cart Manager --- .../UserInterfaceState.xcuserstate | Bin 181027 -> 183512 bytes README.md | 85 +------------ Source/CartManager.cpp | 119 +++++++++++++----- Source/CartManager.h | 8 +- Source/DXComponents.cpp | 9 -- Source/DXComponents.h | 2 - Source/DXLookNFeel.cpp | 3 +- Source/DXLookNFeel.h | 1 + Source/OperatorEditor.cpp | 6 + Source/PluginData.cpp | 27 +++- Source/PluginData.h | 2 + Source/PluginEditor.cpp | 97 +++++++------- Source/PluginEditor.h | 4 +- Source/PluginProcessor.cpp | 2 +- Source/PluginProcessor.h | 7 +- Source/ProgramListBox.cpp | 45 +++++-- Source/ProgramListBox.h | 5 +- 17 files changed, 227 insertions(+), 195 deletions(-) diff --git a/Builds/MacOSX/Dexed.xcodeproj/project.xcworkspace/xcuserdata/asb2m10.xcuserdatad/UserInterfaceState.xcuserstate b/Builds/MacOSX/Dexed.xcodeproj/project.xcworkspace/xcuserdata/asb2m10.xcuserdatad/UserInterfaceState.xcuserstate index efbe52d3a94b930890e3b9d9d4ea444a8eb35258..1de9aeac3ed55b4fe36f1270570d194ace8dda1b 100644 GIT binary patch literal 183512 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

KR)%3b#Q{8u9>Zg8 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 literal 181027 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 diff --git a/README.md b/README.md index 998af4d..429a8b6 100644 --- a/README.md +++ b/README.md @@ -13,25 +13,7 @@ the original machine. Dexed is licensed on the GPL v3. The msfa component (acronym for music synthesizer for android, see msfa in the source folder) stays on the Apache 2.0 license to able to collaborate between projects. -Features --------- -* Multi platform (OS X, Windows or Linux) and multi format (VST, AU); by using JUCE -* The sound engine [music-synthesizer-for-android](https://code.google.com/p/music-synthesizer-for-android) is closely modeled on the original DX7 characteristics -* 144 DAW automatable DX7 parameters available from one single panel -* Fully supports DX7 input and output Sysex messages; including controller change. This means that you can use this with a native DX7/TX7 as a patch editor and sysex manager -* Each operator have a realtime VU meter to know which one is active -* Can load/save any DX7/TX7 sysex programs. It is also possible to save a single program into a different sysex file. - -Binary downloads ----------------- -Dexed is not a finished product but it is stable enough to be used in a DAW environment: -in normal operation it shouldn't crash and the VST state saving works. If you don't see the -new version here but you see it in the change log, it's because this version is in development -(current sprint). Only officials (tested) builds are listed here. - -* Version 0.8.0 [vst win32/x64](http://le-son666.com/software/dexed/dexed-0.8.0-win.zip) - [vst os x](http://le-son666.com/software/dexed/dexed-0.8.0-osx.vst.zip) -* Version 0.7.0 [vst win32/x64](http://le-son666.com/software/dexed/dexed-0.7.0-win.zip) - [vst os x](http://le-son666.com/software/dexed/dexed-0.7.0-osx.vst.zip) -* Version 0.6.1 [vst win32/x64](http://le-son666.com/software/dexed/dexed-0.6.1-win.zip) - [vst os x](http://le-son666.com/software/dexed/dexed-0.6.1-osx.vst.zip) +[Dexed User Website](http://asb2m10.github.io/dexed) Changelog --------- @@ -70,71 +52,6 @@ Changelog * Knobs now works with vertical mouse drags * User DX7 zip cartridges -DX7 cartridges --------------- -You can now put user cartridges in the "Cartridges" directory once Dexed is started. You will be able to browse them once you use the [CART] button. To get the exact location of this directory, simply click on [FILE MGR], it should open Finder or File Explorer in the "Cartridges" directory. - -NOTE: Dexed_Cart.zip is no longer used. - -Engine Type ------------ -Dexed can be configured to try to use the original math limitation of a DX synthesizer. This does not -only apply to the DAC, it also involves the bit resolution of the sine waves and the way that the -amplitude is applied to each operator. Since all of this is experimental, multiple engines will be -available to be able to compare them easily. - -Dexed comes with 3 engine types : -* Modern : this is the original 24-bit music-synthesizer-for-android implementation. -* Mark I : It is the music-synthesizer-for-android implementation reduced to 8-bit. It is used to be able to see the difference between the OPL series that also uses 8-bit but with sums of logs to avoid multiplications. It will be upgraded to 10-bit/12-bit later. -* OPL Series : this is an experimental implementation of the [reversed engineered OPL family chips](http://sourceforge.net/projects/peepeeplayer). 8-bit. Keep in mind that the envelopes stills needs tuning. - -Using as a DX7 editor ---------------------- -You can use this plugin to edit your real DX7 patchs. Since midi sysex send/receive are quirky for the -majority of VST hosts, any sysex messages (editor messages) must be send or received with the external Dexed -midi interface. This is configurable in the "PARM" panel. By setting a DX7 in / DX7 out midi interface, -Dexed will listen to specific program/cartridge changes from your DX7 and send controller/program/cartridge -you edit. - -### Prerequisite -* Before you use this interface, your DX7 must be configured to send or receive sysex messages. Do this by hitting [FUNCTION] and [8] button -* Check the midi channel. By reading some of DX7 literature, most DX7 are supposed to support only 1 channel. Unless you are running a cluster of DX7, you should keep this to 1. -* Press [8] again and you should see: "SYS INFO AVAIL" or "SYS INFO UNAVAIL". Keep it to "SYS INFO AVAIL" to be able to receive sysex messages. This step is not required on a TX7. -* You need to remove MEMORY PROTECT on the internal or cartridge memory to be able to receive a Dexed 32 voice bulk dump. This is done by using the [MEMORY PROTECT] button and then by pushing [NO]. - -### To send to your DX7 -* If the midi out port is configured, any parameter change will be sent to your DX7. -* If the midi out port is configured, you should see the [SEND] button, if not this button won't be available. -* You can use this [SEND] button on Dexed to send program or cartridge changes to your DX7. Be sure you have set [MEMORY PROTECT] is set to NO so the cartridge (internal or external one) on the DX7 can be overridden. - -### To receive from your DX7 -* The midi in port must be configured. -* Receive a program by simply using [MEMORY SELECT] then the program you want to transmit ([1] to [32]). -* Receive a cartridge by pressing [FUNCTION] then 3 times on [8] you should see " MIDI TRANSMIT ? ". If you hit yes, Dexed should receive the complete cartridge. - -### Troubleshooting -* If you play on your DX7 keyboard, the |DX7 In| light should be flashing. Use this to test the midi in communication. -* If the data sent is corrupted (wrong checksum, DX7 crash), it might be the midi interface implementation. Default Windows USB midi driver are known to send corrupt sysex data. If it is the case, use a third party device (like the midiman uno) that have his own USB driver. -* If you are unable to open the interface (error message after the using the [PARM] dialog), it might be because the midi driver doesn't support multiple clients (common on Windows). Be sure that there are no other applications that are using the same midi interface. - -Randomized programs -------------------- -Dexed doesn't check the sysex checksum so you can load any type of files. If the checksum doesn't -match, it will tell you but load it anyway. This feature act as a kind of a randomization -for DX programs. - -Warning: loading corrupt/random data can crash the plugin and ultimatly your DAW. I'm doing my -best to filter out values that can crash the DX engine; but I keep it to the minimum to get the -digital circuit bending feel. - -Saving those corrupt/random sysex data will regenerate a 32 bulk program sysex dump with a -valid checksum for your DX7 keyboard. I'm in now way responsible if this breaks your DX7 keyboard. - -FAQ (possibly) --------------- -* Some programs can generate distortion : This is because the voice summing still needs some tuning. You can simply lower the volume on those programs. -* Some sysex files seems to be corrupted : Even if the sysex checksum doesn't match, Dexed will try to load it (this is a kind of randomize feature). Right now Dexed supports only original DX7 sysex, other DX family sysex (like the DX21) is considered as random data. - Credits & thanks ---------------- * DX Synth engine : Raph Levien and the [msfa](https://code.google.com/p/music-synthesizer-for-android) team diff --git a/Source/CartManager.cpp b/Source/CartManager.cpp index 90433d3..58ac6fd 100644 --- a/Source/CartManager.cpp +++ b/Source/CartManager.cpp @@ -45,12 +45,12 @@ CartManager::CartManager(DexedAudioProcessorEditor *editor) : TopLevelWindow("Ca cartDir = DexedAudioProcessor::dexedCartDir; addAndMakeVisible(activeCart = new ProgramListBox("activepgm", 8)); - activeCart->setBounds(8, 430, 843, 100); + activeCart->setBounds(28, 441, 800, 96); activeCart->addListener(this); memset(browserSysex, 0, 4096); addAndMakeVisible(browserCart = new ProgramListBox("browserpgm", 2)); - browserCart->setBounds(635, 10, 210, 400); + browserCart->setBounds(635, 18, 200, 384); browserCart->addListener(this); // ------------------------- @@ -60,34 +60,46 @@ CartManager::CartManager(DexedAudioProcessorEditor *editor) : TopLevelWindow("Ca timeSliceThread.startThread(); cartBrowser = new FileTreeComponent(*cartBrowserList); addAndMakeVisible(cartBrowser); - cartBrowser->setBounds(5, 10, 620, 400); + cartBrowser->setBounds(23, 18, 590, 384); cartBrowser->setDragAndDropDescription("Sysex Browser"); cartBrowser->addListener(this); - - /*addAndMakeVisible(newButton = new TextButton("NEW")); - newButton->setBounds(400, 540, 50, 30);*/ addAndMakeVisible(closeButton = new TextButton("CLOSE")); - closeButton->setBounds(10, 540, 50, 30); + closeButton->setBounds(4, 545, 50, 30); + closeButton->addListener(this); + addAndMakeVisible(loadButton = new TextButton("LOAD")); - loadButton->setBounds(58, 540, 50, 30); + loadButton->setBounds(52, 545, 50, 30); loadButton->addListener(this); + addAndMakeVisible(saveButton = new TextButton("SAVE")); - saveButton->setBounds(106, 540, 50, 30); + saveButton->setBounds(100, 545, 50, 30); saveButton->addListener(this); - closeButton->addListener(this); addAndMakeVisible(fileMgrButton = new TextButton("SHOW DIR")); - fileMgrButton->setBounds(154, 540, 70, 30); - fileMgrButton->addListener(this); + fileMgrButton->setBounds(148, 545, 70, 30); + fileMgrButton->addListener(this); + + addAndMakeVisible(getDXPgmButton = new TextButton("GET DX7 PGM")); + getDXPgmButton->setBounds(668, 545, 95, 30); + getDXPgmButton->addListener(this); + + addAndMakeVisible(getDXCartButton = new TextButton("GET DX7 CART")); + getDXCartButton->setBounds(761, 545, 95, 30); + getDXCartButton->addListener(this); + } -// 856, 571 +CartManager::~CartManager() { + timeSliceThread.stopThread(500); +} void CartManager::paint(Graphics &g) { g.fillAll(DXLookNFeel::lightBackground); - //g.setColour(Colours::black); - //g.fillRect(0, 5, 859, 410); + g.setColour(DXLookNFeel::roundBackground); + g.fillRoundedRectangle(8, 418, 843, 126, 15); + g.setColour(Colours::whitesmoke); + g.drawText("currently loaded cartridge", 38, 410, 150, 40, Justification::left); } void CartManager::programSelected(ProgramListBox *source, int pos) { @@ -104,7 +116,7 @@ void CartManager::programSelected(ProgramListBox *source, int pos) { browserCart->setSelected(pos); repaint(); mainWindow->processor->updateProgramFromSysex((uint8_t *) unpackPgm); - mainWindow->processor->updateHostDisplay(); + mainWindow->processor->updateHostDisplay(); } } @@ -135,14 +147,49 @@ void CartManager::buttonClicked(juce::Button *buttonThatWasClicked) { void CartManager::fileDoubleClicked(const File& file) { if ( file.isDirectory() ) return; - mainWindow->loadCart(file); activeCart->setCartridge(mainWindow->processor->sysex); } void CartManager::fileClicked(const File& file, const MouseEvent& e) { - if ( ! e.mods.isLeftButtonDown() ) + if ( e.mods.isRightButtonDown() ) { + PopupMenu menu; + + menu.addItem(1000, "Open location"); + if ( ! file.isDirectory() ) { + menu.addItem(1010, "Send sysex cartridge to DX7"); + } + menu.addSeparator(); + menu.addItem(1020, "Refresh"); + + switch(menu.show()) { + case 1000: + file.revealToUser(); + break; + case 1010 : + break; + case 1020: + cartBrowser->refresh(); + break; + } return; + } +} + +void CartManager::setActiveProgram(int idx, String activeName) { + if ( activeCart->programNames[idx] == activeName ) { + activeCart->setSelected(idx); + browserCart->setSelected(-1); + } + activeCart->repaint(); +} + +void CartManager::resetActiveSysex() { + activeCart->setCartridge(mainWindow->processor->sysex); +} + +void CartManager::selectionChanged() { + File file = cartBrowser->getSelectedFile(); if ( file.isDirectory() ) return; @@ -152,36 +199,44 @@ void CartManager::fileClicked(const File& file, const MouseEvent& e) { ifstream fp_in(f.toRawUTF8(), ios::binary); if (fp_in.fail()) { AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, "Error", "Unable to open: " + f); - return; + return; } fp_in.read((char *)syx_data, 4104); fp_in.close(); memcpy(browserSysex, syx_data+6, 4096); int checksum = sysexChecksum(((char *) &browserSysex), 4096); - + if ( checksum != syx_data[4102] ) { String message = "Sysex import checksum doesnt match "; - message << checksum << " != " << syx_data[4102]; + message << ((int)checksum) << " != " << ((int)syx_data[4102]); - AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, "Error", message); - return; + AlertWindow::showMessageBoxAsync (AlertWindow::WarningIcon, "Warning", message); } - + browserCart->setSelected(-1); browserCart->setCartridge(browserSysex); } -void CartManager::setActiveProgram(int idx) { - activeCart->setSelected(idx); - browserCart->setSelected(-1); - activeCart->repaint(); -} +void CartManager::programRightClicked(ProgramListBox *source, int pos) { + PopupMenu menu; + + menu.addItem(1000, "Send program '" + source->programNames[pos] + "' to DX7"); + + if ( source == activeCart ) + menu.addItem(1010, "Send current sysex cartridge to DX7"); + + switch(menu.show()) { + case 1000: + break; + + case 1010: + mainWindow->processor->sendCurrentSysexCartridge(); + break; + } -void CartManager::resetActiveSysex() { - activeCart->setCartridge(mainWindow->processor->sysex); } // unused stuff from FileBrowserListener void CartManager::browserRootChanged (const File& newRoot) {} -void CartManager::selectionChanged() {} + diff --git a/Source/CartManager.h b/Source/CartManager.h index 2b077d2..4f8373f 100644 --- a/Source/CartManager.h +++ b/Source/CartManager.h @@ -32,6 +32,9 @@ class CartManager : public TopLevelWindow, public ButtonListener, public DragAn ScopedPointer saveButton; ScopedPointer closeButton; ScopedPointer fileMgrButton; + ScopedPointer getDXPgmButton; + ScopedPointer getDXCartButton; + ScopedPointer activeCart; ScopedPointer browserCart; @@ -40,7 +43,6 @@ class CartManager : public TopLevelWindow, public ButtonListener, public DragAn ScopedPointer syxFileFilter; TimeSliceThread timeSliceThread; ScopedPointer cartBrowserList; - File cartDir; DexedAudioProcessorEditor *mainWindow; @@ -48,6 +50,7 @@ class CartManager : public TopLevelWindow, public ButtonListener, public DragAn char browserSysex[4096]; public: CartManager(DexedAudioProcessorEditor *editor); + virtual ~CartManager(); void paint(Graphics& g); void buttonClicked (Button* buttonThatWasClicked); @@ -56,10 +59,11 @@ public: void fileDoubleClicked (const File& file); void browserRootChanged (const File& newRoot); - void setActiveProgram(int idx); + void setActiveProgram(int idx, String activeName); void resetActiveSysex(); virtual void programSelected(ProgramListBox *source, int pos) override; + virtual void programRightClicked(ProgramListBox *source, int pos) override; }; diff --git a/Source/DXComponents.cpp b/Source/DXComponents.cpp index 9a39453..fcb5f35 100644 --- a/Source/DXComponents.cpp +++ b/Source/DXComponents.cpp @@ -402,14 +402,5 @@ void ComboBoxImage::setImage(Image image, int pos[]) { itemPos[i] = pos[i]; } -void ProgramSelector::setInit() { - isInInit = true; -} - void ProgramSelector::paint(Graphics &g) { - g.setColour(Colours::white); - g.setFont(Font(15.00f, Font::plain)); - //g.drawText (, getLocalBounds(), - // Justification::centred, true); // draw some placeholder text - } diff --git a/Source/DXComponents.h b/Source/DXComponents.h index e67d60d..1db8cc2 100644 --- a/Source/DXComponents.h +++ b/Source/DXComponents.h @@ -71,9 +71,7 @@ public: }; class ProgramSelector : public ComboBox { - bool isInInit; public: - void setInit(); virtual void paint(Graphics &g) override; }; diff --git a/Source/DXLookNFeel.cpp b/Source/DXLookNFeel.cpp index 8715ea6..0dbc831 100644 --- a/Source/DXLookNFeel.cpp +++ b/Source/DXLookNFeel.cpp @@ -227,7 +227,7 @@ void DXLookNFeel::positionComboBoxText(ComboBox& box, Label& label) { // I'm not proud of this one, but really... it must be another way to do this.... ComboBoxImage* img = dynamic_cast(src); - if(img != 0) { + if( img != 0 ) { return; } @@ -239,6 +239,7 @@ DXLookNFeel * DXLookNFeel::ins = NULL; Colour DXLookNFeel::fillColour = Colour(77,159,151); Colour DXLookNFeel::lightBackground = Colour(78,72,63); Colour DXLookNFeel::background = Colour(60,50,47); +Colour DXLookNFeel::roundBackground = Colour(58,52,48); DXLookNFeel *DXLookNFeel::getLookAndFeel() { const ScopedLock locker(lock); diff --git a/Source/DXLookNFeel.h b/Source/DXLookNFeel.h index f1cdce5..f35efd3 100644 --- a/Source/DXLookNFeel.h +++ b/Source/DXLookNFeel.h @@ -56,6 +56,7 @@ public: static Colour fillColour; static Colour lightBackground; static Colour background; + static Colour roundBackground; }; #endif // DXLOOKNFEEL_H_INCLUDED diff --git a/Source/OperatorEditor.cpp b/Source/OperatorEditor.cpp index 0ce46b7..94c4dcb 100644 --- a/Source/OperatorEditor.cpp +++ b/Source/OperatorEditor.cpp @@ -489,6 +489,8 @@ void OperatorEditor::mouseDown(const MouseEvent &event) { popup.addItem(1, "Copy Operator Values"); popup.addItem(2, "Paste Envelope Values", processor->hasClipboardContent()); popup.addItem(3, "Paste Operator Values", processor->hasClipboardContent()); + popup.addSeparator(); + popup.addItem(4, "Send current program to DX7"); switch(popup.show()) { case 1: @@ -502,6 +504,10 @@ void OperatorEditor::mouseDown(const MouseEvent &event) { case 3: processor->pasteOpFromClipboard(internalOp); break; + + case 4: + processor->sendCurrentSysexProgram(); + break; } } diff --git a/Source/PluginData.cpp b/Source/PluginData.cpp index 4cf80c2..8aac694 100644 --- a/Source/PluginData.cpp +++ b/Source/PluginData.cpp @@ -297,6 +297,24 @@ void DexedAudioProcessor::pasteEnvFromClipboard(int destOp) { triggerAsyncUpdate(); } +void DexedAudioProcessor::sendCurrentSysexProgram() { + uint8_t raw[167]; + + exportSysexPgm((char *) raw, data, sysexComm.getChl()); + if ( sysexComm.isOutputActive() ) { + sysexComm.send(MidiMessage(raw, 163)); + } +} + +void DexedAudioProcessor::sendCurrentSysexCartridge() { + uint8_t raw[4104]; + + exportSysexCart((char *) raw, (char *) &sysex, sysexComm.getChl()); + if ( sysexComm.isOutputActive() ) { + sysexComm.send(MidiMessage(raw, 4104)); + } +} + bool DexedAudioProcessor::hasClipboardContent() { return clipboardContent != -1; } @@ -318,6 +336,9 @@ void DexedAudioProcessor::getStateInformation(MemoryBlock& destData) { dexedState.setAttribute("currentProgram", currentProgram); dexedState.setAttribute("monoMode", monoMode); dexedState.setAttribute("engineType", (int) engineType); + + if ( activeFileCartridge.exists() ) + dexedState.setAttribute("activeFileCartridge", activeFileCartridge.getFullPathName()); char sysex_blob[4104]; exportSysexCart((char *) &sysex_blob, (char *) sysex, 0); @@ -350,6 +371,10 @@ void DexedAudioProcessor::setStateInformation(const void* source, int sizeInByte setEngineType(root->getIntAttribute("engineType", 0)); monoMode = root->getIntAttribute("monoMode", 0); + File possibleCartridge = File(root->getStringAttribute("activeFileCartridge")); + if ( possibleCartridge.exists() ) + activeFileCartridge = possibleCartridge; + XmlElement *dexedBlob = root->getChildByName("dexedBlob"); if ( dexedBlob == NULL ) { TRACE("dexedBlob element not found"); @@ -383,7 +408,7 @@ void DexedAudioProcessor::resolvAppDir() { #if JUCE_MAC || JUCE_IOS dexedAppDir = File("~/Library/Application Support/DigitalSuburban/Dexed"); #elif JUCE_WINDOWS - dexedAppDir = File(File::userApplicationDataDirectory).getChildFile("DigitalSuburban").getChildFile("Dexed")); + dexedAppDir = File::getSpecialLocation(File::userApplicationDataDirectory).getChildFile("DigitalSuburban").getChildFile("Dexed")); #else // char xdgHomeDefault[] = ; char *xdgHome = getenv("XDG_DATA_HOME"); diff --git a/Source/PluginData.h b/Source/PluginData.h index 2c08c2d..166a810 100644 --- a/Source/PluginData.h +++ b/Source/PluginData.h @@ -24,6 +24,8 @@ #include "../JuceLibraryCode/JuceHeader.h" #define SYSEX_SIZE 4104 +#include + enum UnpackedOffset { egRate, egLevel = 4, diff --git a/Source/PluginEditor.cpp b/Source/PluginEditor.cpp index 0a4bf53..dde92fc 100644 --- a/Source/PluginEditor.cpp +++ b/Source/PluginEditor.cpp @@ -40,7 +40,7 @@ public: setUsingNativeTitleBar(false); setAlwaysOnTop(true); about_png = ImageCache::getFromMemory(BinaryData::about_png, BinaryData::about_pngSize); - setSize( about_png.getWidth(), about_png.getHeight()); + setSize(about_png.getWidth(), about_png.getHeight()); centreAroundComponent (parent, getWidth(), getHeight()); } @@ -108,9 +108,6 @@ DexedAudioProcessorEditor::DexedAudioProcessorEditor (DexedAudioProcessor* owner global.setBounds(2,436,864,144); global.bind(this); - sendPopup.addItem(1, "Send program to DX7"); - sendPopup.addItem(2, "Send cartridge to DX7"); - global.setMonoState(processor->isMonoMode()); rebuildProgramCombobox(); @@ -159,10 +156,12 @@ void DexedAudioProcessorEditor::loadCart(File file) { rebuildProgramCombobox(); global.programs->setSelectedId(processor->getCurrentProgram()+1, dontSendNotification); processor->updateHostDisplay(); + + processor->activeFileCartridge = file; } void DexedAudioProcessorEditor::saveCart() { - FileChooser fc ("Export DX sysex...", File::nonexistent, "*.syx", 1); + FileChooser fc ("Export DX sysex...", processor->dexedCartDir, "*.syx", 1); if ( fc.browseForFileToSave(true) ) { String f = fc.getResults().getReference(0).getFullPathName(); char syx_data[4104]; @@ -181,31 +180,6 @@ void DexedAudioProcessorEditor::saveCart() { } } -void DexedAudioProcessorEditor::sendToDx7() { - int result = sendPopup.show(); - - if ( result == 1 ) { - uint8_t raw[167]; - - exportSysexPgm((char *) raw, processor->data, processor->sysexComm.getChl()); - if ( processor->sysexComm.isOutputActive() ) { - processor->sysexComm.send(MidiMessage(raw, 163)); - } - global.setSystemMessage(String("Done sending program")); - return; - } - - if ( result == 2 ) { - uint8_t raw[4104]; - - exportSysexCart((char *) raw, (char *) &processor->sysex, processor->sysexComm.getChl()); - if ( processor->sysexComm.isOutputActive() ) { - processor->sysexComm.send(MidiMessage(raw, 4104)); - } - global.setSystemMessage(String("Done sending cartridge")); - } -} - void DexedAudioProcessorEditor::parmShow() { int tp = processor->getEngineType(); @@ -271,54 +245,70 @@ void DexedAudioProcessorEditor::updateUI() { void DexedAudioProcessorEditor::rebuildProgramCombobox() { global.programs->clear(dontSendNotification); + for(int i=0;igetNumPrograms();i++) { String id; id << (i+1) << ". " << processor->getProgramName(i); global.programs->addItem(id, i+1); } + global.programs->setSelectedId(processor->getCurrentProgram()+1, dontSendNotification); - cartManager.setActiveProgram(processor->getCurrentProgram()); + + String name = normalizeSysexName((const char *) processor->data+145); + cartManager.setActiveProgram(processor->getCurrentProgram(), name); + if ( name != processor->getProgramName(processor->getCurrentProgram()) ) + global.programs->setText("**. " + name, dontSendNotification); + cartManager.resetActiveSysex(); } void DexedAudioProcessorEditor::storeProgram() { - String currentName(processor->getProgramName(processor->getCurrentProgram())); + String currentName = normalizeSysexName((const char *) processor->data+145); char destSysex[4096]; File *externalFile = NULL; - + memcpy(&destSysex, processor->sysex, 4096); + bool activeCartridgeFound = processor->activeFileCartridge.exists(); + while (true) { String msg; + if ( externalFile == NULL ) { - msg = "Store program to current cartridge"; + if ( activeCartridgeFound ) + msg = "Store program to current (" + processor->activeFileCartridge.getFileName() + ") / new cartridge"; + else + msg = "Store program to current / new cartridge"; } else { msg = "Store program to " + externalFile->getFileName(); } - AlertWindow dialog(String("Store Program"), msg, AlertWindow::NoIcon, this); - dialog.addTextEditor(String("Name"), currentName, String("Name"), false); + AlertWindow dialog("Store Program", msg, AlertWindow::NoIcon, this); + dialog.addTextEditor("Name", currentName, String("Name"), false); // TODO: fix the name length to 10 StringArray programs; extractProgramNames((char *) &destSysex, programs); + dialog.addComboBox("Dest", programs, "Program Destination"); - dialog.addComboBox(String("Dest"), programs); - ScopedPointer saveToDisk = nullptr; if ( externalFile == NULL ) { - saveToDisk = new ToggleButton("Save Changes to disk"); - saveToDisk->setSize(300, 30); - dialog.addCustomComponent(saveToDisk); - } + StringArray saveAction; + saveAction.add("Store program to DAW plugin state"); + saveAction.add("Store program and create a new copy of the .syx cartridge"); + if ( activeCartridgeFound ) + saveAction.add("Store program and overwrite current .syx cartridge"); + dialog.addComboBox("SaveAction", saveAction, "Store Action"); + } + dialog.addButton("OK", 0, KeyPress(KeyPress::returnKey)); dialog.addButton("CANCEL", 1, KeyPress(KeyPress::escapeKey)); dialog.addButton("EXTERNAL FILE", 2, KeyPress()); int response = dialog.runModalLoop(); if ( response == 2 ) { - FileChooser fc("Destination Sysex", File::nonexistent, "*.syx;*.SYX;*.*", 1); + FileChooser fc("Destination Sysex", processor->dexedCartDir, "*.syx;*.SYX;*.*", 1); if ( fc.browseForFileToOpen() ) { if ( externalFile != NULL ) @@ -335,8 +325,8 @@ void DexedAudioProcessorEditor::storeProgram() { } if ( response == 0 ) { - TextEditor *name = dialog.getTextEditor(String("Name")); - ComboBox *dest = dialog.getComboBoxComponent(String("Dest")); + TextEditor *name = dialog.getTextEditor("Name"); + ComboBox *dest = dialog.getComboBoxComponent("Dest"); int programNum = dest->getSelectedItemIndex(); String programName(name->getText()); @@ -351,6 +341,23 @@ void DexedAudioProcessorEditor::storeProgram() { rebuildProgramCombobox(); processor->setCurrentProgram(programNum); processor->updateHostDisplay(); + + int action = dialog.getComboBoxComponent("SaveAction")->getSelectedItemIndex(); + if ( action > 0 ) { + File destination = processor->activeFileCartridge; + if ( ! destination.exists() ) { + FileChooser fc("Destination Sysex", processor->dexedCartDir, "*.syx", 1); + if ( ! fc.browseForFileToSave(true) ) + break; + destination = fc.getResult(); + } + char sysexFile[4104]; + exportSysexCart((char *) &sysexFile, (char *) &processor->sysex, 0); + if ( ! destination.replaceWithData(sysexFile, 4104) ) { + AlertWindow::showMessageBoxAsync(AlertWindow::WarningIcon, "Write error", "Unable to write file"); + } + processor->activeFileCartridge = destination; + } } else { packProgram((uint8_t *) &destSysex, (uint8_t *) processor->data, programNum, programName); char sysexFile[4104]; diff --git a/Source/PluginEditor.h b/Source/PluginEditor.h index 942fc1d..703d03d 100644 --- a/Source/PluginEditor.h +++ b/Source/PluginEditor.h @@ -20,7 +20,6 @@ #ifndef PLUGINEDITOR_H_INCLUDED #define PLUGINEDITOR_H_INCLUDED - #include "../JuceLibraryCode/JuceHeader.h" #include "PluginProcessor.h" #include "OperatorEditor.h" @@ -36,12 +35,12 @@ class DexedAudioProcessorEditor : public AudioProcessorEditor, public ComboBoxListener, public Timer { PopupMenu cartPopup; - PopupMenu sendPopup; MidiKeyboardComponent midiKeyboard; OperatorEditor operators[6]; Colour background; CartManager cartManager; + public: DexedAudioProcessor *processor; GlobalEditor global; @@ -58,7 +57,6 @@ public: void saveCart(); void initProgram(); void storeProgram(); - void sendToDx7(); void cartShow(); void parmShow(); }; diff --git a/Source/PluginProcessor.cpp b/Source/PluginProcessor.cpp index 2bf2136..89245ca 100644 --- a/Source/PluginProcessor.cpp +++ b/Source/PluginProcessor.cpp @@ -439,7 +439,7 @@ void DexedAudioProcessor::handleIncomingMidiMessage(MidiInput* source, const Mid TRACE("program update sysex"); updateProgramFromSysex(buf+6); - String name = normalizeSysexName((const char *) buf+151); + String name = normalizeSysexName((const char *) buf+145); packProgram((uint8_t *) sysex, (uint8_t *) data, currentProgram, name); programNames.set(currentProgram, name); } diff --git a/Source/PluginProcessor.h b/Source/PluginProcessor.h index 43fe5bc..89cf7a9 100644 --- a/Source/PluginProcessor.h +++ b/Source/PluginProcessor.h @@ -49,8 +49,6 @@ enum DexedEngineResolution { DEXED_ENGINE_OPL }; -//extern File dexedWorkdir; - //============================================================================== /** */ @@ -117,8 +115,6 @@ class DexedAudioProcessor : public AudioProcessor, public AsyncUpdater, public char clipboardContent; void resolvAppDir(); - File activeCartridge; - public : // in MIDI units (0x4000 is neutral) Controllers controllers; @@ -129,6 +125,7 @@ public : //CartridgeManager cartManager; SysexComm sysexComm; VoiceStatus voiceStatus; + File activeFileCartridge; bool forceRefreshUI; float vuSignal; @@ -177,6 +174,8 @@ public : void copyToClipboard(int srcOp); void pasteOpFromClipboard(int destOp); void pasteEnvFromClipboard(int destOp); + void sendCurrentSysexProgram(); + void sendCurrentSysexCartridge(); bool hasClipboardContent(); //============================================================================== diff --git a/Source/ProgramListBox.cpp b/Source/ProgramListBox.cpp index d835148..7cf1d78 100644 --- a/Source/ProgramListBox.cpp +++ b/Source/ProgramListBox.cpp @@ -33,20 +33,40 @@ ProgramListBox::ProgramListBox(const String name, int numCols) : Component(name) void ProgramListBox::paint(Graphics &g) { int pgm = 0; + g.setColour(Colour(20,18,18)); + g.fillRect(0,0,getWidth(), getHeight()); + g.setColour(Colour(0,0,0)); + g.drawLine(0,0,getWidth(), 0, 2); + g.setColour(Colour(3,3,1)); + g.drawLine(0,0,0,getHeight(),2); + g.setColour(Colour(34,32,32)); + g.drawLine(getWidth(), 3, getWidth(), getHeight(), 2); + g.setColour(Colour(75,73,73)); + g.drawLine(0,getHeight(),getWidth(),getHeight(), 2); + + + const float dashLength[] = { 4, 4 }; + + g.setColour(Colour(83,76,69)); + for(int i=1;i line(cellWidth*i,0,cellWidth*i,getHeight()); + g.drawDashedLine(line, dashLength, 2); + } + for(int i=1;i line(2, cellHeight*i,getWidth(),cellHeight*i); + g.drawDashedLine(line, dashLength, 2); + } + for(int i=0;iprogramSelected(this, pos); - } - repaint(); } void ProgramListBox::mouseDown(const MouseEvent &event) { + if ( ! hasContent ) + return; + if ( ! event.mods.isRightButtonDown() ) + return; + int pos = programPosition(event); + if ( listener != nullptr ) + listener->programRightClicked(this, pos); } void ProgramListBox::setSelected(int idx) { diff --git a/Source/ProgramListBox.h b/Source/ProgramListBox.h index a5bc4ec..9131263 100644 --- a/Source/ProgramListBox.h +++ b/Source/ProgramListBox.h @@ -28,6 +28,7 @@ class ProgramListBoxListener { public: virtual ~ProgramListBoxListener() {} virtual void programSelected(ProgramListBox *source, int pos) = 0; + virtual void programRightClicked(ProgramListBox *source, int pos) = 0; }; class ProgramListBox : public Component { @@ -36,12 +37,12 @@ class ProgramListBox : public Component { bool showPgmNumber; int cols, rows; int cellWidth, cellHeight; - - StringArray programNames; int programPosition(const MouseEvent &event); int selectedPgm; public: + StringArray programNames; + ProgramListBox(const String name, int numCols); void addListener(ProgramListBoxListener *listener); void paint(Graphics &g);