Automation UI Fix

pull/1/head
Pascal Gauthier 11 years ago
parent e8e64c1120
commit 0dc4d90495
  1. 3
      .gitignore
  2. BIN
      Builds/VisualStudio2012/Dexed.v11.suo
  3. 2
      Builds/VisualStudio2012/Dexed.vcxproj
  4. 9
      Builds/VisualStudio2012/Dexed.vcxproj.filters
  5. 16
      README.md
  6. 1
      Source/GlobalEditor.cpp
  7. 6
      Source/PluginData.cpp
  8. 17
      Source/PluginParam.cpp

3
.gitignore vendored

@ -1,2 +1,5 @@
Builds/VisualStudio2012/Dexed.vcxproj.user Builds/VisualStudio2012/Dexed.vcxproj.user
Builds/VisualStudio2012/Dexed.sdf Builds/VisualStudio2012/Dexed.sdf
Builds/VisualStudio2012/Debug
Builds/VisualStudio2012/Release
Builds/VisualStudio2012/x64

@ -80,7 +80,7 @@
<DebugInformationFormat>EditAndContinue</DebugInformationFormat> <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\JuceLibraryCode\modules;C:\work\vstsdk2.4;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <AdditionalIncludeDirectories>..\..\JuceLibraryCode;..\..\JuceLibraryCode\modules;C:\work\vstsdk2.4;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<PreprocessorDefinitions>WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2012_78A501F=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions> <PreprocessorDefinitions>WIN32;_WINDOWS;DEBUG;_DEBUG;JUCER_VS2012_78A501F=1;JUCE_APP_VERSION=1.0.0;JUCE_APP_VERSION_HEX=0x10000;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary> <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo> <RuntimeTypeInfo>true</RuntimeTypeInfo>
<PrecompiledHeader /> <PrecompiledHeader />
<AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation> <AssemblerListingLocation>$(IntDir)\</AssemblerListingLocation>

@ -1365,6 +1365,15 @@
<ClCompile Include="..\..\JuceLibraryCode\modules\juce_audio_plugin_client\RTAS\juce_RTAS_Wrapper.cpp" /> <ClCompile Include="..\..\JuceLibraryCode\modules\juce_audio_plugin_client\RTAS\juce_RTAS_Wrapper.cpp" />
<ClCompile Include="..\..\JuceLibraryCode\modules\juce_audio_plugin_client\VST3\juce_VST3_Wrapper.cpp" /> <ClCompile Include="..\..\JuceLibraryCode\modules\juce_audio_plugin_client\VST3\juce_VST3_Wrapper.cpp" />
<ClCompile Include="..\..\JuceLibraryCode\modules\juce_audio_plugin_client\VST\juce_VST_Wrapper.cpp" /> <ClCompile Include="..\..\JuceLibraryCode\modules\juce_audio_plugin_client\VST\juce_VST_Wrapper.cpp" />
<ClCompile Include="..\..\JuceLibraryCode\modules\juce_audio_plugin_client\AAX\juce_AAX_Wrapper.cpp" />
<ClCompile Include="..\..\JuceLibraryCode\modules\juce_audio_plugin_client\utility\juce_PluginUtilities.cpp" />
<ClCompile Include="..\..\JuceLibraryCode\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode1.cpp" />
<ClCompile Include="..\..\JuceLibraryCode\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode2.cpp" />
<ClCompile Include="..\..\JuceLibraryCode\modules\juce_audio_plugin_client\RTAS\juce_RTAS_DigiCode3.cpp" />
<ClCompile Include="..\..\JuceLibraryCode\modules\juce_audio_plugin_client\RTAS\juce_RTAS_WinUtilities.cpp" />
<ClCompile Include="..\..\JuceLibraryCode\modules\juce_audio_plugin_client\RTAS\juce_RTAS_Wrapper.cpp" />
<ClCompile Include="..\..\JuceLibraryCode\modules\juce_audio_plugin_client\VST3\juce_VST3_Wrapper.cpp" />
<ClCompile Include="..\..\JuceLibraryCode\modules\juce_audio_plugin_client\VST\juce_VST_Wrapper.cpp" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="..\..\Source\Dexed.h"> <ClInclude Include="..\..\Source\Dexed.h">

@ -42,7 +42,7 @@ Changelog
* Middle C (transpose) now works * Middle C (transpose) now works
* Identify the parameter knob/switch by simply moving the mouse over it * Identify the parameter knob/switch by simply moving the mouse over it
* Knobs now works with vertical mouse drags * Knobs now works with vertical mouse drags
* User zipped DX7 cartridges * User DX7 zip cartridges
#### Version 0.5.1 #### Version 0.5.1
* Fix distortion issue with FL (DAW blocksize not multiple of 64) * Fix distortion issue with FL (DAW blocksize not multiple of 64)
@ -69,7 +69,7 @@ you edit.
### Prerequisite ### 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 * 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. * 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. * 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]. * 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 ### To send to your DX7
@ -91,9 +91,9 @@ you edit.
User DX7 zip cartridges User DX7 zip cartridges
----------------------- -----------------------
It is possible to enjoy your DX7 sysex collection from one single zip file. Simply move your zipped It is possible to enjoy your DX7 sysex collection from one single zip file. Simply move your zipped
sysex content to where you have installed Dexed (VST plugins dir). The rename the zip file to sysex content to where you have installed Dexed (VST plugins dir). Then rename the zip file to
`Dexed_cart.zip`. You can modify this file anytime you want, Dexed will simply reparsed it when the `Dexed_cart.zip`. You can modify this file anytime you want, Dexed will simply reparse it when the
file is changed. Directories in the zip file is be a transformed into submenu when you hit the file is changed. Directories in the zip file will be transformed into submenu when you hit the
[CART] button. [CART] button.
Randomized programs Randomized programs
@ -124,9 +124,9 @@ Credits & thanks
Planned milestones Planned milestones
------------------ ------------------
0.6 DX7 Editor + User cartridges * 0.6 DX7 editor + user cartridges
0.7 msfa engine tuning * 0.7 msfa engine tuning
0.8 Complete new UI * 0.8 UI redesign
TODO - Dexed TODO - Dexed
------------ ------------

@ -452,7 +452,6 @@ void GlobalEditor::setSystemMessage(String msg) {
void GlobalEditor::setParamMessage(String msg) { void GlobalEditor::setParamMessage(String msg) {
lcdDisplay->paramMsg = msg; lcdDisplay->paramMsg = msg;
repaint();
} }
void GlobalEditor::updateDisplay() { void GlobalEditor::updateDisplay() {

@ -325,12 +325,7 @@ CartridgeManager::CartridgeManager() {
cartNames.add(e->filename.dropLastCharacters(4)); cartNames.add(e->filename.dropLastCharacters(4));
} }
#if JUCE_MAC
userCartFile = File(File::getSpecialLocation(File::currentApplicationFile).getParentDirectory().getFullPathName() + File::separator + "Dexed_cart.zip"); userCartFile = File(File::getSpecialLocation(File::currentApplicationFile).getParentDirectory().getFullPathName() + File::separator + "Dexed_cart.zip");
#else
userCartFile = File(File::getSpecialLocation(File::currentApplicationFile).getFullPathName() + File::separator + "Dexed_cart.zip");
#endif
TRACE("Usercart file %s", userCartFile.getFullPathName().toRawUTF8());
} }
CartridgeManager::~CartridgeManager() { CartridgeManager::~CartridgeManager() {
@ -395,6 +390,7 @@ void CartridgeManager::rebuildMenu() {
PopupMenu *CartridgeManager::getCarts() { PopupMenu *CartridgeManager::getCarts() {
Time t = userCartFile.getLastModificationTime(); Time t = userCartFile.getLastModificationTime();
TRACE("Usercart file %s exists: %d", userCartFile.getFullPathName().toRawUTF8(), userCartFile.exists());
TRACE("DIFF TM: %s %s", t.toString(true, true).toRawUTF8(), lastModifiedUserCartFile.toString(true, true).toRawUTF8()); TRACE("DIFF TM: %s %s", t.toString(true, true).toRawUTF8(), lastModifiedUserCartFile.toString(true, true).toRawUTF8());
if ( t != lastModifiedUserCartFile || completeCarts.getNumItems() == 0 ) { if ( t != lastModifiedUserCartFile || completeCarts.getNumItems() == 0 ) {

@ -142,13 +142,14 @@ float CtrlDX::getValueHost() {
void CtrlDX::setValueHost(float f) { void CtrlDX::setValueHost(float f) {
setValue((f * steps)); setValue((f * steps));
/*
DexedAudioProcessorEditor *editor = (DexedAudioProcessorEditor *) parent->getActiveEditor(); DexedAudioProcessorEditor *editor = (DexedAudioProcessorEditor *) parent->getActiveEditor();
if ( editor == NULL ) { if ( editor == NULL ) {
return; return;
} }
String msg; String msg;
msg << label << " = " << getValueDisplay(); msg << label << " = " << getValueDisplay();
editor->global.setParamMessage(msg); editor->global.setParamMessage(msg);*/
} }
void CtrlDX::setValue(int v) { void CtrlDX::setValue(int v) {
@ -389,10 +390,18 @@ void DexedAudioProcessor::initCtrl() {
} }
void DexedAudioProcessor::setDxValue(int offset, int v) { void DexedAudioProcessor::setDxValue(int offset, int v) {
TRACE("setting dx %d %d", offset, v); if (offset < 0)
refreshVoice = true; return;
if (offset >= 0)
if ( data[offset] != v ) {
TRACE("setting dx %d %d", offset, v);
data[offset] = v; data[offset] = v;
} else {
TRACE("ignoring dx7 same values %d %d", offset, v);
return;
}
refreshVoice = true;
// MIDDLE C (transpose) // MIDDLE C (transpose)
if (offset == 144) if (offset == 144)

Loading…
Cancel
Save