From 5d654eabbb35754b2f8de675452adfa056d303ed Mon Sep 17 00:00:00 2001 From: asb2m10 Date: Sat, 15 Feb 2014 23:41:32 -0500 Subject: [PATCH] Envelop position --- .../UserInterfaceState.xcuserstate | Bin 91548 -> 92201 bytes Source/DXComponents.cpp | 33 ++++++++++++++---- Source/DXComponents.h | 2 ++ Source/GlobalEditor.cpp | 4 +++ Source/GlobalEditor.h | 1 + Source/OperatorEditor.cpp | 7 +++- Source/OperatorEditor.h | 4 +-- Source/PluginEditor.cpp | 27 +++++--------- Source/PluginProcessor.cpp | 11 +++--- Source/PluginProcessor.h | 13 +++---- Source/msfa/dx7note.cc | 8 +++-- Source/msfa/dx7note.h | 8 ++++- Source/msfa/env.cc | 5 +++ Source/msfa/env.h | 1 + Source/msfa/pitchenv.cc | 7 +++- Source/msfa/pitchenv.h | 1 + 16 files changed, 86 insertions(+), 46 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 e456d31f0acba4757669c198b6d737296b47969d..c2e58df84bf5c763daec28609c1f4ee449e133d5 100644 GIT binary patch literal 92201 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⁢Lm=4(;W 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 literal 91548 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%0A$V(#hf#buRq_0zMG#nGaD@R?>A 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 diff --git a/Source/DXComponents.cpp b/Source/DXComponents.cpp index 35963c9..a277af3 100644 --- a/Source/DXComponents.cpp +++ b/Source/DXComponents.cpp @@ -137,7 +137,7 @@ EnvDisplay::EnvDisplay() { void EnvDisplay::paint(Graphics &g) { g.setColour(Colours::black.withAlpha(0.5f)); g.fillRoundedRectangle (0.0f, 0.0f, (float) getWidth(), (float) getHeight(), 1.0f); - g.setColour(Colour(0xFF0FC00F).withAlpha(0.3f)); + char *levels = pvalues + 4; char *rates = pvalues; @@ -167,13 +167,17 @@ void EnvDisplay::paint(Graphics &g) { Path p; p.startNewSubPath(0, 32); + g.setColour(Colours::white); - for(int i=0;i<4;i++) { + int i; + for(i=0;i<4;i++) { int newx = dist[i] * ratio + oldx; int newy = 32 - ((float)levels[i] / 3.125); p.lineTo(newx, newy); - //g.drawLine(oldx, oldy, newx, newy, 2); + if ( vPos == i ) { + g.fillEllipse(oldx-2, oldy-2, 4, 4); + } oldx = newx; oldy = newy; @@ -181,6 +185,11 @@ void EnvDisplay::paint(Graphics &g) { p.lineTo(96,32); p.lineTo(0, 32); + if ( vPos == i ) { + g.fillEllipse(oldx-2, oldy-2, 4, 4); + } + + g.setColour(Colour(0xFF0FC00F).withAlpha(0.3f)); g.fillPath(p); g.setColour(Colour(0xFFFFFFFF)); @@ -191,6 +200,7 @@ void EnvDisplay::paint(Graphics &g) { PitchEnvDisplay::PitchEnvDisplay() { pvalues = (char *) &TMP_LEVEL_PTR; + vPos = 0; } void PitchEnvDisplay::paint(Graphics &g) { @@ -223,17 +233,28 @@ void PitchEnvDisplay::paint(Graphics &g) { float ratio = 96 / total; int oldx = 0; - int oldy = (pitchenv_tab[levels[3]] + 128) / 5; + int oldy = 25 - (pitchenv_tab[levels[3]] + 128) / 10; - for(int i=0;i<4;i++) { + int i; + for(i=0;i<4;i++) { int newx = dist[i] * ratio + oldx; - int newy = (pitchenv_tab[levels[i]] + 128) / 10; + int newy = 25 - (pitchenv_tab[levels[i]] + 128) / 10; g.drawLine(oldx, oldy, newx, newy, 2); + if ( vPos == i ) { + g.fillEllipse(oldx-2, oldy-2, 4, 4); + } + oldx = newx; oldy = newy; } + + if ( vPos == i ) { + g.fillEllipse(oldx-2, oldy-2, 4, 4); + } + + TRACE("pitch pos %d", vPos); } diff --git a/Source/DXComponents.h b/Source/DXComponents.h index b63a1d6..f473994 100644 --- a/Source/DXComponents.h +++ b/Source/DXComponents.h @@ -27,6 +27,7 @@ class EnvDisplay : public Component { public: EnvDisplay(); char *pvalues; + char vPos; void paint(Graphics &g); }; @@ -35,6 +36,7 @@ class PitchEnvDisplay : public Component { public: PitchEnvDisplay(); char *pvalues; + char vPos; void paint(Graphics &g); }; diff --git a/Source/GlobalEditor.cpp b/Source/GlobalEditor.cpp index aa300e7..26cbe76 100644 --- a/Source/GlobalEditor.cpp +++ b/Source/GlobalEditor.cpp @@ -430,6 +430,10 @@ void GlobalEditor::updateDisplay() { repaint(); } +void GlobalEditor::updatePitchPos(int pos) { + pitchEnvDisplay->vPos = pos; + pitchEnvDisplay->repaint(); +} //[/MiscUserCode] diff --git a/Source/GlobalEditor.h b/Source/GlobalEditor.h index 120df20..0060436 100644 --- a/Source/GlobalEditor.h +++ b/Source/GlobalEditor.h @@ -50,6 +50,7 @@ public: void bind(DexedAudioProcessor *processor); void setSystemMessage(String msg); void setParamMessage(String msg); + void updatePitchPos(int pos); void updateDisplay(); String systemMsg; diff --git a/Source/OperatorEditor.cpp b/Source/OperatorEditor.cpp index caee165..7c98316 100644 --- a/Source/OperatorEditor.cpp +++ b/Source/OperatorEditor.cpp @@ -439,7 +439,7 @@ void OperatorEditor::bind(DexedAudioProcessor *parent, int op) { parent->opCtrl[op].sclRate->bind(sclRateScaling); parent->opCtrl[op].ampModSens->bind(ampModSens); parent->opCtrl[op].velModSens->bind(keyVelSens); - + int offset = parent->opCtrl[op].egRate[0]->getOffset(); envDisplay->pvalues = &(parent->data[offset]); } @@ -475,6 +475,11 @@ void OperatorEditor::updateDisplay() { envDisplay->repaint(); } + +void OperatorEditor::updateEnvPos(char pos) { + envDisplay->vPos = pos; + envDisplay->repaint(); +} //[/MiscUserCode] diff --git a/Source/OperatorEditor.h b/Source/OperatorEditor.h index bd92829..69b1f68 100644 --- a/Source/OperatorEditor.h +++ b/Source/OperatorEditor.h @@ -52,15 +52,13 @@ public: void bind(DexedAudioProcessor *processor, int num); void updateGain(float v); void updateDisplay(); + void updateEnvPos(char pos); //[/UserMethods] void paint (Graphics& g); void resized(); void sliderValueChanged (Slider* sliderThatWasMoved); void comboBoxChanged (ComboBox* comboBoxThatHasChanged); - - - private: //[UserVariables] -- You can add your own custom variables in this section. //[/UserVariables] diff --git a/Source/PluginEditor.cpp b/Source/PluginEditor.cpp index 7c3416a..ef1de51 100644 --- a/Source/PluginEditor.cpp +++ b/Source/PluginEditor.cpp @@ -184,20 +184,9 @@ void DexedAudioProcessorEditor::buttonClicked(Button *buttonThatWasClicked) { storeProgram(); return; } -/* - if (buttonThatWasClicked == cartButton) { - AlertWindow dialog(String("Builtin cartridges"), "", AlertWindow::NoIcon, this); - dialog.addComboBox(String("cart"), processor->cartManager.cartNames); - dialog.addButton("OK", 0, KeyPress(KeyPress::returnKey)); - dialog.addButton("Cancel", 1, KeyPress(KeyPress::escapeKey)); - if ( dialog.runModalLoop() == 0 ) { - } - return; - } - */ if (buttonThatWasClicked == aboutButton) { - AlertWindow::showMessageBoxAsync(AlertWindow::NoIcon, "DEXED - DX Emulator 0.3", "https://github.com/asb2m10/dexed\n" + AlertWindow::showMessageBoxAsync(AlertWindow::NoIcon, "DEXED - DX Emulator 0.4", "https://github.com/asb2m10/dexed\n" "(c) 2013-2014 Pascal Gauthier\nUnder the GPL v2\n\n" "Based on Music Synthesizer for Android\nhttps://code.google.com/p/music-synthesizer-for-android"); return; @@ -220,15 +209,15 @@ void DexedAudioProcessorEditor::comboBoxChanged (ComboBox* comboBoxThatHasChange } } -void DexedAudioProcessorEditor::timerCallback() { - int32_t env[6]; - - if ( processor->peekEnvStatus(env) == false ) +void DexedAudioProcessorEditor::timerCallback() { + if ( ! processor->peekVoiceStatus() ) return; - + for(int i=0;i<6;i++) { - operators[i].updateGain(sqrt(env[5 - i]) / 8196); - } + operators[i].updateGain(sqrt(processor->voiceStatus.amp[5 - i]) / 8196); + operators[i].updateEnvPos(processor->voiceStatus.ampStep[5 - i]); + } + global.updatePitchPos(processor->voiceStatus.pitchStep); } void DexedAudioProcessorEditor::updateUI() { diff --git a/Source/PluginProcessor.cpp b/Source/PluginProcessor.cpp index 682ce8f..4d096b5 100644 --- a/Source/PluginProcessor.cpp +++ b/Source/PluginProcessor.cpp @@ -337,7 +337,7 @@ void DexedAudioProcessor::processSamples(int n_samples, int16_t *buffer) { // ==================================================================== -bool DexedAudioProcessor::peekEnvStatus(int32_t *env) { +bool DexedAudioProcessor::peekVoiceStatus() { if ( currentNote == -1 ) return false; @@ -345,7 +345,7 @@ bool DexedAudioProcessor::peekEnvStatus(int32_t *env) { int note = currentNote; for (int i = 0; i < MAX_ACTIVE_NOTES; i++) { if (voices[note].keydown) { - voices[note].dx7_note->peekEnvStatus(env); + voices[note].dx7_note->peekVoiceStatus(voiceStatus); return true; } if ( --note < 0 ) @@ -356,15 +356,13 @@ bool DexedAudioProcessor::peekEnvStatus(int32_t *env) { note = currentNote; for (int i = 0; i < MAX_ACTIVE_NOTES; i++) { if (voices[note].live) { - voices[note].dx7_note->peekEnvStatus(env); + voices[note].dx7_note->peekVoiceStatus(voiceStatus); return true; } if ( --note < 0 ) note = MAX_ACTIVE_NOTES-1; } - // all the notes are stopped, return 0; - memset(env, 0, sizeof(int32_t) * 6); return true; } @@ -439,8 +437,7 @@ void DexedAudioProcessor::handleAsyncUpdate() { updateUI(); } - -void DexedAudioProcessor::log(const char *source, const char *fmt, ...) { +void dexed_trace(const char *source, const char *fmt, ...) { char output[4096]; va_list argptr; va_start(argptr, fmt); diff --git a/Source/PluginProcessor.h b/Source/PluginProcessor.h index eea87c7..4e8053d 100644 --- a/Source/PluginProcessor.h +++ b/Source/PluginProcessor.h @@ -103,7 +103,8 @@ public : char data[161]; CartridgeManager cartManager; - + VoiceStatus voiceStatus; + Array ctrl; OperatorCtrl opCtrl[6]; @@ -140,7 +141,7 @@ public : AudioProcessorEditor* createEditor(); bool hasEditor() const; void updateUI(); - bool peekEnvStatus(int32_t *values); + bool peekVoiceStatus(); void packProgram(int idx, const char *name); void unpackProgram(int idx); void updateProgramFromSysex(const uint8 *rawdata); @@ -183,18 +184,18 @@ public : MidiKeyboardState keyboardState; void unbindUI(); - static void log(const char *source, const char *fmt, ...); - private: //============================================================================== JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (DexedAudioProcessor) }; +void dexed_trace(const char *source, const char *fmt, ...); + #ifdef _MSC_VER -#define TRACE(fmt, ...) DexedAudioProcessor::log(__FUNCTION__,fmt,##__VA_ARGS__) +#define TRACE(fmt, ...) dexed_trace(__FUNCTION__,fmt,##__VA_ARGS__) #else -#define TRACE(fmt, ...) DexedAudioProcessor::log(__PRETTY_FUNCTION__,fmt,##__VA_ARGS__) +#define TRACE(fmt, ...) dexed_trace(__PRETTY_FUNCTION__,fmt,##__VA_ARGS__) #endif #endif // PLUGINPROCESSOR_H_INCLUDED diff --git a/Source/msfa/dx7note.cc b/Source/msfa/dx7note.cc index 9983467..bf7141d 100755 --- a/Source/msfa/dx7note.cc +++ b/Source/msfa/dx7note.cc @@ -236,10 +236,14 @@ void Dx7Note::update(const char patch[156], int midinote) { pitchmodsens_ = pitchmodsenstab[patch[143] & 7]; } -void Dx7Note::peekEnvStatus(int32_t *env) { +void dexed_trace(const char *source, const char *fmt, ...); + +void Dx7Note::peekVoiceStatus(VoiceStatus &status) { for(int i=0;i<6;i++) { - env[i] = params_[i].gain[1]; + status.amp[i] = params_[i].gain[1]; + env_[i].getPosition(&status.ampStep[i]); } + pitchenv_.getPosition(&status.pitchStep); } diff --git a/Source/msfa/dx7note.h b/Source/msfa/dx7note.h index 5275be6..71fb662 100755 --- a/Source/msfa/dx7note.h +++ b/Source/msfa/dx7note.h @@ -27,6 +27,12 @@ #include "pitchenv.h" #include "fm_core.h" +struct VoiceStatus { + uint32_t amp[6]; + char ampStep[6]; + char pitchStep; +}; + class Dx7Note { public: void init(const char patch[156], int midinote, int velocity); @@ -47,7 +53,7 @@ class Dx7Note { // PG:add the update void update(const char patch[156], int midinote); - void peekEnvStatus(int32_t *env); + void peekVoiceStatus(VoiceStatus &status); private: FmCore core_; diff --git a/Source/msfa/env.cc b/Source/msfa/env.cc index cb9e335..e7c1546 100755 --- a/Source/msfa/env.cc +++ b/Source/msfa/env.cc @@ -14,6 +14,8 @@ * limitations under the License. */ +#include + #include "synth.h" #include "env.h" @@ -99,3 +101,6 @@ void Env::advance(int newix) { } } +void Env::getPosition(char *step) { + *step = ix_; +} diff --git a/Source/msfa/env.h b/Source/msfa/env.h index b474530..967cf60 100755 --- a/Source/msfa/env.h +++ b/Source/msfa/env.h @@ -42,6 +42,7 @@ class Env { void keydown(bool down); void setparam(int param, int value); static int scaleoutlevel(int outlevel); + void getPosition(char *step); private: int rates_[4]; int levels_[4]; diff --git a/Source/msfa/pitchenv.cc b/Source/msfa/pitchenv.cc index 5d83528..e5aac6c 100644 --- a/Source/msfa/pitchenv.cc +++ b/Source/msfa/pitchenv.cc @@ -84,8 +84,13 @@ void PitchEnv::advance(int newix) { int newlevel = levels_[ix_]; targetlevel_ = pitchenv_tab[newlevel] << 19; rising_ = (targetlevel_ > level_); - inc_ = pitchenv_rate[rates_[ix_]] * unit_; } } +void PitchEnv::getPosition(char *step) { + *step = ix_; + +} + + diff --git a/Source/msfa/pitchenv.h b/Source/msfa/pitchenv.h index ff80d27..e106341 100755 --- a/Source/msfa/pitchenv.h +++ b/Source/msfa/pitchenv.h @@ -30,6 +30,7 @@ class PitchEnv { // Result is in Q24/octave int32_t getsample(); void keydown(bool down); + void getPosition(char *step); private: static int unit_; int rates_[4];