diff --git a/JaySynth Glocky Wave.fxp b/JaySynth Glocky Wave.fxp new file mode 100644 index 0000000..8b98ad9 Binary files /dev/null and b/JaySynth Glocky Wave.fxp differ diff --git a/JaySynth Play It Right.fxp b/JaySynth Play It Right.fxp new file mode 100644 index 0000000..56a67f3 Binary files /dev/null and b/JaySynth Play It Right.fxp differ diff --git a/JaySynth.jucer b/JaySynth.jucer index 8c8cfbf..6ccd4ce 100644 --- a/JaySynth.jucer +++ b/JaySynth.jucer @@ -10,7 +10,12 @@ pluginAUExportPrefix="JaySynthAU" pluginRTASCategory="" aaxIdentifier="com.yourcompany.JaySynth" pluginAAXCategory="AAX_ePlugInCategory_Dynamics" jucerVersion="3.1.0"> - + + + + diff --git a/JuceLibraryCode/AppConfig.h b/JuceLibraryCode/AppConfig.h index 01dff10..2dd4740 100644 --- a/JuceLibraryCode/AppConfig.h +++ b/JuceLibraryCode/AppConfig.h @@ -227,7 +227,7 @@ #define JucePlugin_WantsMidiInput 1 #endif #ifndef JucePlugin_ProducesMidiOutput - #define JucePlugin_ProducesMidiOutput 0 + #define JucePlugin_ProducesMidiOutput 1 #endif #ifndef JucePlugin_SilenceInProducesSilenceOut #define JucePlugin_SilenceInProducesSilenceOut 0 diff --git a/Love_and_Horror_V2.fxb b/Love_and_Horror_V2.fxb index 22df140..d8dcaa7 100644 Binary files a/Love_and_Horror_V2.fxb and b/Love_and_Horror_V2.fxb differ diff --git a/Source/ButtonLED.cpp b/Source/ButtonLED.cpp index 66999b7..cb5107e 100644 --- a/Source/ButtonLED.cpp +++ b/Source/ButtonLED.cpp @@ -30,7 +30,7 @@ //============================================================================== ButtonLED::ButtonLED (const String& name) - : Button (L"Button LED"), + : Button (name), cachedImage_led_23_red_png (0), cachedImage_led_23_red1_png (0), triggeredOnMouseDown(0), @@ -50,7 +50,6 @@ ButtonLED::ButtonLED (const String& name) //[Constructor] You can add your own custom stuff here.. - setName(name); //[/Constructor] } @@ -197,6 +196,18 @@ void ButtonLED::paintButton (Graphics& g, bool /*isMouseOverButton*/, bool /*isB false); } } + +void ButtonLED::flash(uint32_t duration_ms) +{ + setToggleState(true, juce::NotificationType::dontSendNotification); + startTimer((uint32_t)duration_ms); +} + +void ButtonLED::timerCallback() +{ + setToggleState(false, juce::NotificationType::dontSendNotification); +} + //[/MiscUserCode] diff --git a/Source/ButtonLED.h b/Source/ButtonLED.h index 7114852..6f9ebf3 100644 --- a/Source/ButtonLED.h +++ b/Source/ButtonLED.h @@ -36,7 +36,7 @@ Describe your class and how it works here! //[/Comments] */ -class ButtonLED : public Button +class ButtonLED : public Button, public Timer { public: //============================================================================== @@ -48,6 +48,8 @@ public: void paintButton (Graphics& g, bool isMouseOverButton, bool isButtonDown); void clicked(const ModifierKeys &modifiers); void mouseWheelMove(const MouseEvent &event, const MouseWheelDetails &wheel); + void timerCallback(); + void flash(uint32_t duration_ms); void setTriggeredOnMouseDown (bool triggeredOnMouseDown); bool getClickingTogglesState (void); void setClickingTogglesState (bool clickingTogglesState); diff --git a/Source/JK_MidiClock.cpp b/Source/JK_MidiClock.cpp new file mode 100644 index 0000000..12e7df3 --- /dev/null +++ b/Source/JK_MidiClock.cpp @@ -0,0 +1,189 @@ +/* + + //####################################################################################### + //Class to insert Midiclock messages into a given MidiBuffer, suitable for block + //based audio callbacks. The class can act on position jumps e.g. "Loops" by sending a + //positioning message. + //NOTE: No ballistik came in to play so I wouldn't recommend using it to drive a mechanical + //tape deck!!! + // + //solar3d-software, April- 10- 2012 + //####################################################################################### + +*/ +#include "JK_MidiClock.h" + +JK_MidiClock::JK_MidiClock() + :wasPlaying(false), + syncPpqPosition(-999.0), + posChangeThreshold(0.001), + ppqToStartSyncAt(0.0), + followSongPosition(true), + syncFlag(0), + ppqOffset(0) +{ + //Prepare Midi messages to avoid blocking the caller of generateMidiclock()! + continueMessage = new MidiMessage(MidiMessage::midiContinue()); + stopMessage = new MidiMessage(MidiMessage::midiStop()); + clockMessage = new MidiMessage(MidiMessage::midiClock()); + songPositionMessage = new MidiMessage(MidiMessage::songPositionPointer(0)); +} +//================================================================================================= +void JK_MidiClock::generateMidiclock(AudioPlayHead::CurrentPositionInfo &lastPosInfo, + MidiBuffer* midiBuffer, const int bufferSize, const double sampleRate) +{ + //###################################Some explanation about musical tempo ################# + //A Time Signature, is two numbers, one on top of the other. The numerator describes the # + //number of Beats in a Bar, while the denominator describes of what note value a Beat is. # + //So 4/4 would be four quarter-notes per Bar, while 4/2 would be four half-notes per Bar, # + //4/8 would be four eighth-notes per Bar, and 2/4 would be two quarter-notes per Bar. # + //######################################################################################### + + + if (midiBuffer != nullptr) + { + //PPQ value of one sample + const double ppqPerSample = (lastPosInfo.bpm / 60.0) / sampleRate; + + //PPQ offset to compensate Midi interface latency + double hostPpqPosition = lastPosInfo.ppqPosition + ppqOffset * ppqPerSample;; + + if (lastPosInfo.isPlaying || lastPosInfo.isRecording) + { + if (! wasPlaying) + { + //set the point where to start the slave + ppqToStartSyncAt = getNearestSixteenthInPPQ(hostPpqPosition); + + //Special case: Master is set to always start playback from the previous start position... + if (positionJumped(syncPpqPosition, hostPpqPosition, sampleRate, ppqPerSample)) + { + //Cue Midiclock slave to the nearest sixteenth note to new start position + //because the one calculated in stop mode isn't valid anymore. + sendSongPositionPointerMessage(ppqToStartSyncAt, 0, midiBuffer); + } + } + else + { + //Position jump (loop or manually position change while playing) + if (positionJumped(syncPpqPosition, hostPpqPosition, sampleRate, ppqPerSample)) + { + //set the point where to start the slave + ppqToStartSyncAt = getNearestSixteenthInPPQ(hostPpqPosition); + + //User has changed position manually while playing + if (syncFlag == 0) + { + midiBuffer->addEvent(*stopMessage, 0); + sendSongPositionPointerMessage(hostPpqPosition, 0, midiBuffer); + + syncFlag = startSlave_; + } + else + { + if (followSongPosition) + { + sendSongPositionPointerMessage(hostPpqPosition, 0, midiBuffer); + + syncFlag = startSlave_; + } + else + syncFlag = 0; + } + } + } + + for (int posInBuffer = 0; posInBuffer < bufferSize; ++posInBuffer) + { + syncPpqPosition = hostPpqPosition + (posInBuffer * ppqPerSample); + + const int clockDistanceInSamples = roundToInt((60.0 * sampleRate) / (lastPosInfo.bpm * 24.0)); + const int64 hostSamplePos = roundToInt64((hostPpqPosition * (60.0 / lastPosInfo.bpm)) * sampleRate); + const int64 syncSamplePos = hostSamplePos + posInBuffer; + + //Some hosts like Cubase come up with a wacky ppqPosition + //that could break the timing! Best is to "wait" + //here for the right ppqPosition to jump on. + if (syncPpqPosition >= ppqToStartSyncAt) + { + if ((syncFlag & startSlave_) == startSlave_) + { + midiBuffer->addEvent(*continueMessage, posInBuffer); + + syncFlag &= cycleEnd_; + } + + //Cycle mode on + if (lastPosInfo.isLooping && lastPosInfo.ppqLoopStart != lastPosInfo.ppqLoopEnd) + { + const double ppqToCycleEnd = fabs(lastPosInfo.ppqLoopEnd - syncPpqPosition); + const int64 samplesToCycleEnd = roundToInt64(ppqToCycleEnd * (60.0 / lastPosInfo.bpm) * sampleRate); + + if ((syncFlag & cycleEnd_) == 0) + { + if (samplesToCycleEnd <= clockDistanceInSamples) //For fine tuning tweak here + { + //We have reached the cycle- end position + //and must stop the Midiclock slave here + if (followSongPosition) + midiBuffer->addEvent(*stopMessage, posInBuffer); + + syncFlag |= cycleEnd_; + } + } + } + } + + //For best timing we should never interupt Midiclock messages! + //Seems that some slaves constantly adjusting their internal clock + //to Midiclock even if they are in stop mode. + if (syncSamplePos % clockDistanceInSamples == 0) + midiBuffer->addEvent(*clockMessage, posInBuffer); + } + + wasPlaying = true; + } + else + { + //Send positioning message if the user has stopped or if he changed the playhead position + //manually in stop mode! This will also initially cue slave after loading plugin instance. + if (wasPlaying || positionJumped(syncPpqPosition, hostPpqPosition, sampleRate, ppqPerSample)) + { + midiBuffer->addEvent(*stopMessage, 0); + sendSongPositionPointerMessage(hostPpqPosition, 0, midiBuffer); + } + + syncPpqPosition = hostPpqPosition; + + syncFlag = startSlave_; + + wasPlaying = false; + } + } +} +//================================================================================================= +bool JK_MidiClock::positionJumped(const double lastPosInPPQ, const double currentPosInPPQ, + const double sampleRate, const double ppqPerSample) +{ + //This returns true if the user has changed the playhead position manually or if + //a jump has occured! The comperator's default threshold is lastPosInPPQ +- 10ms. + if (currentPosInPPQ < lastPosInPPQ - ((posChangeThreshold * sampleRate) * ppqPerSample) || + currentPosInPPQ > lastPosInPPQ + ((posChangeThreshold * sampleRate) * ppqPerSample)) + return true; + + return false; +} +//================================================================================================= +void JK_MidiClock::sendSongPositionPointerMessage(const double ppqPosition, const int posInBuffer, MidiBuffer* buffer) +{ + //This will cue the slave to the NEAREST + //16th note to the given ppqPosition. + int intBeat = int(ceil(ppqPosition * 4)); + + uint8* pSongPositionTime((uint8*)(songPositionMessage->getRawData())); + + *(pSongPositionTime + 1) = (uint8)(intBeat & 0x7f); + *(pSongPositionTime + 2) = (uint8)((intBeat & 0x3f80)>>7); + + buffer->addEvent(*songPositionMessage, posInBuffer); +} diff --git a/Source/JK_MidiClock.h b/Source/JK_MidiClock.h new file mode 100644 index 0000000..def132f --- /dev/null +++ b/Source/JK_MidiClock.h @@ -0,0 +1,73 @@ +/* + + //####################################################################################### + //Class to insert Midiclock messages into a given MidiBuffer, suitable for block + //based audio callbacks. The class can act on position jumps e.g. "Loops" by sending a + //positioning message. + //NOTE: No ballistik came in to play so I wouldn't recommend using it to drive a mechanical + //tape deck!!! + // + //solar3d-software, April- 10- 2012 + //####################################################################################### + + */ +#ifndef __JK_MIDICLOCK +#define __JK_MIDICLOCK + +#include "../JuceLibraryCode/JuceHeader.h" + +//#include "Includes.h" + +class JK_MidiClock +{ +public: + JK_MidiClock(); + + void setPositionJumpThreshold(const double ms) {posChangeThreshold = ms / 1000.0;} + double getPositionJumpThreshold() {return posChangeThreshold;} + void setFollowSongPosition(const bool shouldFollow) {followSongPosition = shouldFollow;} + bool getFollowSongPosition() {return followSongPosition;} + void setOffset(const int offset) {ppqOffset = offset;} + int getOffset() {return ppqOffset;} + + void generateMidiclock(AudioPlayHead::CurrentPositionInfo &lastPosInfo, + MidiBuffer* midiBuffer, + const int bufferSize, + const double sampleRate); + + //================================================================================================= + juce_UseDebuggingNewOperator + +private: + inline int64 roundToInt64 (const double val) noexcept + { + return (val - floor(val) >= 0.5) ? (int64)(ceil(val)) : (int64)(floor(val)); + } + + + bool wasPlaying; + double syncPpqPosition; + double posChangeThreshold; + double ppqToStartSyncAt; + bool followSongPosition; + uint8 syncFlag; + int ppqOffset; + + static const int cycleEnd_ = 1; + static const int startSlave_ = 2; + + ScopedPointer clockMessage; + ScopedPointer continueMessage; + ScopedPointer stopMessage; + ScopedPointer songPositionMessage; + + void sendSongPositionPointerMessage(const double ppqPosition, const int posInBuffer, MidiBuffer* buffer); + + bool positionJumped(const double lastPosInPPQ, const double currentPosInPPQ, + const double sampleRate, const double ppqPerSample); + + double getNearestSixteenthInPPQ(const double ppqPosition) {return ceil(ppqPosition * 4.0) / 4.0;} + + JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(JK_MidiClock); +}; +#endif diff --git a/Source/JaySynth.cpp b/Source/JaySynth.cpp index 2a9843e..4dc03db 100644 --- a/Source/JaySynth.cpp +++ b/Source/JaySynth.cpp @@ -113,6 +113,11 @@ JaySynth::JaySynth (int num_voices, String pathToWaves) for (i=0; i < m_num_audiothreads; i++) m_ppAudioThread[i] = new JaySynthThread(&m_pEventAudioThreadRdy[i], m_pVoices, num_voices, i, m_num_audiothreads); + m_clockdiv = 0; + m_lastTime_ms = 0; + m_lastTimeError_ms = 0; + m_estimatedTime_ms = 0; + } JaySynth::~JaySynth() @@ -1047,19 +1052,47 @@ void JaySynth::handleMidiEvent (const MidiMessage& m) } else if (m.isMidiClock()) { - + const double alpha_1 = 1.0; + const double alpha_2 = 1.0/48; + const double currTime_ms = juce::Time::getMillisecondCounterHiRes(); + + double deltaTime_ms = currTime_ms - m_lastTime_ms; + + if (m_lastTime_ms) + { + double timeError_ms = deltaTime_ms - m_estimatedTime_ms; + m_lastTimeError_ms = (1-alpha_1)*m_lastTimeError_ms + alpha_1*timeError_ms; + + if (std::abs(timeError_ms) > 5.0) + { + m_estimatedTime_ms = deltaTime_ms; + } + else + { + m_estimatedTime_ms = m_estimatedTime_ms + alpha_2*(m_lastTimeError_ms); + } + } + m_lastTime_ms = currTime_ms; + if (!m_clockdiv) + { + uint32_t dT = (uint32_t)(24*m_estimatedTime_ms + 0.5); + listeners.call (&JaySynthListener::synthChanged, SYNTH_CHANGED_MIDICLOCK, &dT); + m_clockdiv = 24; + } + m_clockdiv--; } else if (m.isSongPositionPointer()) { - + SynthDebug("SongPositionPointer\n"); + m_clockdiv = (6 * m.getSongPositionPointerMidiBeat()) % 24; } else if (m.isQuarterFrame()) { - + SynthDebug("QuarterFrame\n"); } else if (m.isFullFrame()) { - + SynthDebug("FullFrame\n"); } else { diff --git a/Source/JaySynth.h b/Source/JaySynth.h index 9434b7a..bc13f00 100644 --- a/Source/JaySynth.h +++ b/Source/JaySynth.h @@ -37,8 +37,8 @@ private: int m_num_voices; int m_voice_offset, m_voice_step; int m_sample_len; - WaitableEvent *m_pEventRun; - WaitableEvent *m_pEventRdy; + ScopedPointer m_pEventRun; + ScopedPointer m_pEventRdy; }; @@ -158,6 +158,7 @@ public: SYNTH_CHANGED_NUM_VOICES_PLAYING, SYNTH_CHANGED_NOTE_PRESSED, SYNTH_CHANGED_NOTE_RELEASED, + SYNTH_CHANGED_MIDICLOCK, SYNTH_CHANGED_SIZE }; @@ -246,6 +247,11 @@ private: JaySynthThread **m_ppAudioThread; ScopedPointer m_pEventAudioThreadRdy; JaySynthMonophonicMGR m_monoMGR; + uint32_t m_clockdiv; + double m_lastTime_ms; + double m_lastTimeError_ms; + double m_estimatedTime_ms; + }; diff --git a/Source/JaySynthAudioProcessorEditor.cpp b/Source/JaySynthAudioProcessorEditor.cpp index 4788d2c..860fb15 100644 --- a/Source/JaySynthAudioProcessorEditor.cpp +++ b/Source/JaySynthAudioProcessorEditor.cpp @@ -1,20 +1,18 @@ /* ============================================================================== - This is an automatically generated file created by the Jucer! - - Creation date: 31 Mar 2014 12:38:24pm + This is an automatically generated GUI class created by the Introjucer! Be careful when adding custom code to these files, as only the code within the "//[xyz]" and "//[/xyz]" sections will be retained when the file is loaded and re-saved. - Jucer version: 1.12 + Created with Introjucer version: 3.1.0 ------------------------------------------------------------------------------ - The Jucer is part of the JUCE library - "Jules' Utility Class Extensions" - Copyright 2004-6 by Raw Material Software ltd. + The Introjucer is part of the JUCE library - "Jules' Utility Class Extensions" + Copyright 2004-13 by Raw Material Software Ltd. ============================================================================== */ @@ -30,227 +28,19 @@ //============================================================================== JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcessor* ownerFilter, bool has_wt) - : AudioProcessorEditor (ownerFilter), - m_label_colon (0), - m_slider_master_volume (0), - m_slider_vcf_f (0), - m_slider_vcf_q (0), - m_slider_osc0_det (0), - m_slider_osc1_det (0), - m_slider_osc0_transpose (0), - m_slider_osc1_transpose (0), - m_slider_vca_env_attack (0), - m_slider_vca_env_decay (0), - m_slider_vca_env_release (0), - m_slider_vca_env_sustain (0), - m_slider_vcf_env_attack (0), - m_slider_vcf_env_decay (0), - m_slider_vcf_env_release (0), - m_slider_vcf_env_sustain (0), - m_slider_vcf_env_amount (0), - m_label_vcf_env_attack (0), - m_label_vcf_f (0), - m_label_vca_env_attack (0), - m_label_vca_env_decay (0), - m_label_vca_env_sustain (0), - m_label_vca_env_release (0), - m_label_vcf_env_decay (0), - m_label_vcf_env_sustain (0), - m_label_vcf_env_release (0), - m_label_vcf_q (0), - m_label_vcf_env_amount (0), - m_label_master_volume (0), - m_label_osc0_transpose (0), - m_label_osc1_transpose (0), - m_label_osc0_det (0), - m_label_osc1_det (0), - m_slider_vca_env_amount (0), - m_label_vca_env_amount (0), - m_slider_osc0_dutycycle (0), - m_slider_osc1_dutycycle (0), - m_label_osc0_dutycycle (0), - m_label_osc1_dutycycle (0), - m_slider_lfo0_speed (0), - m_slider_osc1_fm_amt0 (0), - m_slider_osc0_fm_amt0 (0), - m_label_lfo0_speed (0), - m_label_osc0_fm_amt0 (0), - m_label_osc1_fm_amt0 (0), - m_slider_vcf_f_amt0 (0), - m_label_vcf_f_amt0 (0), - m_slider_lfo1_speed (0), - m_label_lfo1_speed (0), - m_comboBox_osc0_shape (0), - m_comboBox_osc1_shape (0), - m_comboBox_lfo0_shape (0), - m_comboBox_lfo1_shape (0), - m_slider_lfo2_speed (0), - m_slider_lfo3_speed (0), - m_comboBox_lfo2_shape (0), - m_comboBox_lfo3_shape (0), - m_label_lfo2_speed (0), - m_label_lfo3_speed (0), - m_comboBox_vcf_f_src0 (0), - m_comboBox_osc0_fm_src0 (0), - m_comboBox_osc1_fm_src0 (0), - m_slider_vca_am_amt0 (0), - m_label_vca_am_amt0 (0), - m_comboBox_vca_am_src0 (0), - m_slider_vca_pan_amt0 (0), - m_label_vca_pan_amt0 (0), - m_comboBox_vca_pan_src0 (0), - m_label_synth_name (0), - m_label_synth_version (0), - m_comboBox_vcf_type (0), - m_slider_lfo1_smooth (0), - m_label_lfo1_smooth (0), - m_slider_lfo0_smooth (0), - m_label_lfo0_smooth (0), - m_slider_lfo2_smooth (0), - m_label_lfo2_smooth (0), - m_slider_lfo3_smooth (0), - m_label_lfo3_smooth (0), - m_slider_osc0_pwm_amt0 (0), - m_label_osc0_pwm_amt0 (0), - m_slider_osc1_pwm_amt0 (0), - m_label_osc1_pwm_amt0 (0), - m_comboBox_osc0_pwm_src0 (0), - m_comboBox_osc1_pwm_src0 (0), - m_slider_osc0_level (0), - m_label_osc0_level (0), - m_slider_osc1_level (0), - m_label_osc1_level (0), - m_slider_noise_level (0), - m_label_noise_level (0), - m_comboBox_noise_shape (0), - m_btn_noise_enable_led (0), - m_btn_osc0_enable (0), - m_btn_osc1_enable (0), - m_label_patch_name (0), - m_button_patch_incr (0), - m_button_patch_decr (0), - m_label_patch_number (0), - m_label_osc1_pb_min (0), - m_label_osc1_pb_max (0), - m_label_osc0_pb_max (0), - m_label_osc0_pb_min (0), - m_slider_master_tune (0), - m_label_master_tune (0), - m_button_humanize_enable (0), - m_comboBox_vcf_order (0), - m_slider_portamento_time (0), - m_label_portamento_time (0), - m_button_unisono_enable (0), - m_slider_humanize_var_vco (0), - m_slider_voice_pan_spread (0), - m_label_voice_pan_spread (0), - m_slider_humanize_var_vcf (0), - m_slider_humanize_var_env (0), - m_label_unisono_num_voices (0), - m_button_osc0_restart_enable (0), - m_button_osc1_restart_enable (0), - m_button_mono_enable (0), - m_comboBox_osc1_fm_src1 (0), - m_comboBox_osc1_pwm_src1 (0), - m_comboBox_osc0_fm_src1 (0), - m_comboBox_osc0_pwm_src1 (0), - m_comboBox_osc1_am_src0 (0), - m_comboBox_osc1_am_src1 (0), - m_slider_osc1_am_amt0 (0), - m_label_osc1_am_amt0 (0), - m_comboBox_osc0_am_src0 (0), - m_comboBox_osc0_am_src1 (0), - m_slider_osc0_am_amt0 (0), - m_label_osc0_am_amt0 (0), - m_slider_env2_attack (0), - m_slider_env2_decay (0), - m_slider_env2_release (0), - m_slider_env2_sustain (0), - m_label_env2_attack (0), - m_label_env2_decay (0), - m_label_env2_sustain (0), - m_label_env2_release (0), - m_slider_env3_attack (0), - m_slider_env3_decay (0), - m_slider_env3_release (0), - m_slider_env3_sustain (0), - m_label_env3_attack (0), - m_label_env3_decay (0), - m_label_env3_sustain (0), - m_label_env3_release (0), - m_comboBox_vcf_f_src1 (0), - m_slider_vcf_q_amt0 (0), - m_label_vcf_q_amt0 (0), - m_comboBox_vcf_q_src0 (0), - m_comboBox_vcf_q_src1 (0), - m_label_humanize_var_vco (0), - m_label_humanize_var_vcf (0), - m_label_humanize_var_env (0), - m_btn_limiter_led (0), - m_label_limiter_led (0), - m_slider_lfo0_delay (0), - m_label_lfo0_delay (0), - m_slider_lfo0_attack (0), - m_label_lfo0_attack (0), - m_slider_lfo1_delay (0), - m_label_lfo1_delay (0), - m_slider_lfo1_attack (0), - m_label_lfo1_attack (0), - m_slider_lfo2_delay (0), - m_label_lfo2_delay (0), - m_slider_lfo2_attack (0), - m_label_lfo2_attack (0), - m_slider_lfo3_delay (0), - m_label_lfo3_delay (0), - m_slider_lfo3_attack (0), - m_label_lfo3_attack (0), - m_button_lfo0_restart_enable (0), - m_button_lfo0_individual_enable (0), - m_slider_lfo0_symmetry (0), - m_label_lfo0_symmetry (0), - m_slider_lfo1_symmetry (0), - m_label_lfo1_symmetry (0), - m_button_lfo1_restart_enable (0), - m_button_lfo1_individual_enable (0), - m_button_lfo2_restart_enable (0), - m_button_lfo2_individual_enable (0), - m_slider_lfo2_symmetry (0), - m_label_lfo2_symmetry (0), - m_slider_lfo3_symmetry (0), - m_label_lfo3_symmetry (0), - m_button_lfo3_restart_enable (0), - m_button_lfo3_individual_enable (0), - m_slider_osc0_fm_amt1 (0), - m_label_osc0_fm_amt1 (0), - m_slider_osc0_pwm_amt1 (0), - m_label_osc0_pwm_amt1 (0), - m_slider_osc0_am_amt1 (0), - m_label_osc0_am_amt1 (0), - m_slider_osc1_fm_amt1 (0), - m_label_osc1_fm_amt1 (0), - m_slider_osc1_pwm_amt1 (0), - m_label_osc1_pwm_amt1 (0), - m_slider_osc1_am_amt1 (0), - m_label_osc1_am_amt1 (0), - m_slider_vcf_f_amt1 (0), - m_label_vcf_f_amt1 (0), - m_slider_vcf_q_amt1 (0), - m_label_vcf_q_amt1 (0), - m_button_mono_retrigger (0), - m_label_max_num_voices (0), - m_label_num_voices_playing (0) + : AudioProcessorEditor (ownerFilter) { - addAndMakeVisible (m_label_colon = new Label (L"Colon", - L":")); - m_label_colon->setFont (Font (L"Times New Roman", 20.0000f, Font::plain)); + addAndMakeVisible (m_label_colon = new Label ("Colon", + TRANS(":"))); + m_label_colon->setFont (Font ("Times New Roman", 20.00f, Font::plain)); m_label_colon->setJustificationType (Justification::centredLeft); m_label_colon->setEditable (false, false, false); m_label_colon->setColour (Label::textColourId, Colours::white); m_label_colon->setColour (TextEditor::textColourId, Colours::black); - m_label_colon->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_colon->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); - addAndMakeVisible (m_slider_master_volume = new Slider (L"Master volume")); - m_slider_master_volume->setTooltip (L"Master volume [%]"); + addAndMakeVisible (m_slider_master_volume = new Slider ("Master volume")); + m_slider_master_volume->setTooltip (TRANS("Master volume [%]")); m_slider_master_volume->setRange (0, 1, 0); m_slider_master_volume->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_master_volume->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -258,8 +48,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_master_volume->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_master_volume->addListener (this); - addAndMakeVisible (m_slider_vcf_f = new Slider (L"VCF Cutoff")); - m_slider_vcf_f->setTooltip (L"VCF Cutoff [Hz]"); + addAndMakeVisible (m_slider_vcf_f = new Slider ("VCF Cutoff")); + m_slider_vcf_f->setTooltip (TRANS("VCF Cutoff [Hz]")); m_slider_vcf_f->setRange (0, 1, 0); m_slider_vcf_f->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_vcf_f->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -267,8 +57,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_vcf_f->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_vcf_f->addListener (this); - addAndMakeVisible (m_slider_vcf_q = new Slider (L"VCF Resonance")); - m_slider_vcf_q->setTooltip (L"VCF Resonance. Value = 1.0 means no resonance"); + addAndMakeVisible (m_slider_vcf_q = new Slider ("VCF Resonance")); + m_slider_vcf_q->setTooltip (TRANS("VCF Resonance. Value = 1.0 means no resonance")); m_slider_vcf_q->setRange (0, 1, 0); m_slider_vcf_q->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_vcf_q->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -276,8 +66,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_vcf_q->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_vcf_q->addListener (this); - addAndMakeVisible (m_slider_osc0_det = new Slider (L"OSC 1 Detune")); - m_slider_osc0_det->setTooltip (L"OSC 1 Detune [cent]"); + addAndMakeVisible (m_slider_osc0_det = new Slider ("OSC 1 Detune")); + m_slider_osc0_det->setTooltip (TRANS("OSC 1 Detune [cent]")); m_slider_osc0_det->setRange (0, 1, 0); m_slider_osc0_det->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc0_det->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -285,8 +75,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc0_det->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc0_det->addListener (this); - addAndMakeVisible (m_slider_osc1_det = new Slider (L"OSC 2 Detune")); - m_slider_osc1_det->setTooltip (L"OSC 2 Detune [cent]"); + addAndMakeVisible (m_slider_osc1_det = new Slider ("OSC 2 Detune")); + m_slider_osc1_det->setTooltip (TRANS("OSC 2 Detune [cent]")); m_slider_osc1_det->setRange (0, 1, 0); m_slider_osc1_det->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc1_det->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -294,8 +84,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc1_det->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc1_det->addListener (this); - addAndMakeVisible (m_slider_osc0_transpose = new Slider (L"OSC 1 Transpose")); - m_slider_osc0_transpose->setTooltip (L"OSC 1 Transpose [semitones]"); + addAndMakeVisible (m_slider_osc0_transpose = new Slider ("OSC 1 Transpose")); + m_slider_osc0_transpose->setTooltip (TRANS("OSC 1 Transpose [semitones]")); m_slider_osc0_transpose->setRange (0, 1, 0); m_slider_osc0_transpose->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc0_transpose->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -304,8 +94,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc0_transpose->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc0_transpose->addListener (this); - addAndMakeVisible (m_slider_osc1_transpose = new Slider (L"OSC 2 Transpose")); - m_slider_osc1_transpose->setTooltip (L"OSC 2 Transpose [semitones]"); + addAndMakeVisible (m_slider_osc1_transpose = new Slider ("OSC 2 Transpose")); + m_slider_osc1_transpose->setTooltip (TRANS("OSC 2 Transpose [semitones]")); m_slider_osc1_transpose->setRange (0, 1, 0); m_slider_osc1_transpose->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc1_transpose->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -313,8 +103,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc1_transpose->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc1_transpose->addListener (this); - addAndMakeVisible (m_slider_vca_env_attack = new Slider (L"VCA Attack")); - m_slider_vca_env_attack->setTooltip (L"VCA Attack Time [ms]"); + addAndMakeVisible (m_slider_vca_env_attack = new Slider ("VCA Attack")); + m_slider_vca_env_attack->setTooltip (TRANS("VCA Attack Time [ms]")); m_slider_vca_env_attack->setRange (0, 1, 0); m_slider_vca_env_attack->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_vca_env_attack->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -322,8 +112,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_vca_env_attack->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_vca_env_attack->addListener (this); - addAndMakeVisible (m_slider_vca_env_decay = new Slider (L"VCA Decay")); - m_slider_vca_env_decay->setTooltip (L"VCA Decay Time [ms]"); + addAndMakeVisible (m_slider_vca_env_decay = new Slider ("VCA Decay")); + m_slider_vca_env_decay->setTooltip (TRANS("VCA Decay Time [ms]")); m_slider_vca_env_decay->setRange (0, 1, 0); m_slider_vca_env_decay->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_vca_env_decay->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -332,8 +122,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_vca_env_decay->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_vca_env_decay->addListener (this); - addAndMakeVisible (m_slider_vca_env_release = new Slider (L"VCA Release")); - m_slider_vca_env_release->setTooltip (L"VCA Release Time [ms]"); + addAndMakeVisible (m_slider_vca_env_release = new Slider ("VCA Release")); + m_slider_vca_env_release->setTooltip (TRANS("VCA Release Time [ms]")); m_slider_vca_env_release->setRange (0, 1, 0); m_slider_vca_env_release->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_vca_env_release->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -341,8 +131,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_vca_env_release->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_vca_env_release->addListener (this); - addAndMakeVisible (m_slider_vca_env_sustain = new Slider (L"VCA Sustain")); - m_slider_vca_env_sustain->setTooltip (L"VCA Sustain Level [%]"); + addAndMakeVisible (m_slider_vca_env_sustain = new Slider ("VCA Sustain")); + m_slider_vca_env_sustain->setTooltip (TRANS("VCA Sustain Level [%]")); m_slider_vca_env_sustain->setRange (0, 1, 0); m_slider_vca_env_sustain->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_vca_env_sustain->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -350,8 +140,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_vca_env_sustain->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_vca_env_sustain->addListener (this); - addAndMakeVisible (m_slider_vcf_env_attack = new Slider (L"VCF Attack")); - m_slider_vcf_env_attack->setTooltip (L"VCF Attack Time [ms]"); + addAndMakeVisible (m_slider_vcf_env_attack = new Slider ("VCF Attack")); + m_slider_vcf_env_attack->setTooltip (TRANS("VCF Attack Time [ms]")); m_slider_vcf_env_attack->setRange (0, 1, 0); m_slider_vcf_env_attack->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_vcf_env_attack->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -359,8 +149,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_vcf_env_attack->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_vcf_env_attack->addListener (this); - addAndMakeVisible (m_slider_vcf_env_decay = new Slider (L"VCF Decay")); - m_slider_vcf_env_decay->setTooltip (L"VCF Decay Time [ms]"); + addAndMakeVisible (m_slider_vcf_env_decay = new Slider ("VCF Decay")); + m_slider_vcf_env_decay->setTooltip (TRANS("VCF Decay Time [ms]")); m_slider_vcf_env_decay->setRange (0, 1, 0); m_slider_vcf_env_decay->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_vcf_env_decay->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -368,8 +158,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_vcf_env_decay->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_vcf_env_decay->addListener (this); - addAndMakeVisible (m_slider_vcf_env_release = new Slider (L"VCF Release")); - m_slider_vcf_env_release->setTooltip (L"VCF Release Time [ms]"); + addAndMakeVisible (m_slider_vcf_env_release = new Slider ("VCF Release")); + m_slider_vcf_env_release->setTooltip (TRANS("VCF Release Time [ms]")); m_slider_vcf_env_release->setRange (0, 1, 0); m_slider_vcf_env_release->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_vcf_env_release->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -377,8 +167,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_vcf_env_release->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_vcf_env_release->addListener (this); - addAndMakeVisible (m_slider_vcf_env_sustain = new Slider (L"VCF Sustain")); - m_slider_vcf_env_sustain->setTooltip (L"VCF Sustain Level [%]"); + addAndMakeVisible (m_slider_vcf_env_sustain = new Slider ("VCF Sustain")); + m_slider_vcf_env_sustain->setTooltip (TRANS("VCF Sustain Level [%]")); m_slider_vcf_env_sustain->setRange (0, 1, 0); m_slider_vcf_env_sustain->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_vcf_env_sustain->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -386,8 +176,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_vcf_env_sustain->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_vcf_env_sustain->addListener (this); - addAndMakeVisible (m_slider_vcf_env_amount = new Slider (L"VCF ENV Amount")); - m_slider_vcf_env_amount->setTooltip (L"VCF Envelope Amount [%]"); + addAndMakeVisible (m_slider_vcf_env_amount = new Slider ("VCF ENV Amount")); + m_slider_vcf_env_amount->setTooltip (TRANS("VCF Envelope Amount [%]")); m_slider_vcf_env_amount->setRange (0, 1, 0); m_slider_vcf_env_amount->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_vcf_env_amount->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -395,152 +185,152 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_vcf_env_amount->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_vcf_env_amount->addListener (this); - addAndMakeVisible (m_label_vcf_env_attack = new Label (L"VCF Attack", - L"value")); - m_label_vcf_env_attack->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_vcf_env_attack = new Label ("VCF Attack", + TRANS("value"))); + m_label_vcf_env_attack->setFont (Font (14.00f, Font::plain)); m_label_vcf_env_attack->setJustificationType (Justification::centred); m_label_vcf_env_attack->setEditable (true, true, false); m_label_vcf_env_attack->setColour (TextEditor::textColourId, Colours::black); - m_label_vcf_env_attack->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_vcf_env_attack->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_vcf_env_attack->addListener (this); - addAndMakeVisible (m_label_vcf_f = new Label (L"VCF Cutoff", - L"value")); - m_label_vcf_f->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_vcf_f = new Label ("VCF Cutoff", + TRANS("value"))); + m_label_vcf_f->setFont (Font (14.00f, Font::plain)); m_label_vcf_f->setJustificationType (Justification::centred); m_label_vcf_f->setEditable (true, true, false); m_label_vcf_f->setColour (TextEditor::textColourId, Colours::black); - m_label_vcf_f->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_vcf_f->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_vcf_f->addListener (this); - addAndMakeVisible (m_label_vca_env_attack = new Label (L"VCA Attack", - L"value")); - m_label_vca_env_attack->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_vca_env_attack = new Label ("VCA Attack", + TRANS("value"))); + m_label_vca_env_attack->setFont (Font (14.00f, Font::plain)); m_label_vca_env_attack->setJustificationType (Justification::centred); m_label_vca_env_attack->setEditable (true, true, false); m_label_vca_env_attack->setColour (TextEditor::textColourId, Colours::black); - m_label_vca_env_attack->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_vca_env_attack->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_vca_env_attack->addListener (this); - addAndMakeVisible (m_label_vca_env_decay = new Label (L"VCA Decay", - L"value")); - m_label_vca_env_decay->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_vca_env_decay = new Label ("VCA Decay", + TRANS("value"))); + m_label_vca_env_decay->setFont (Font (14.00f, Font::plain)); m_label_vca_env_decay->setJustificationType (Justification::centred); m_label_vca_env_decay->setEditable (true, true, false); m_label_vca_env_decay->setColour (TextEditor::textColourId, Colours::black); - m_label_vca_env_decay->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_vca_env_decay->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_vca_env_decay->addListener (this); - addAndMakeVisible (m_label_vca_env_sustain = new Label (L"VCA Sustain", - L"value")); - m_label_vca_env_sustain->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_vca_env_sustain = new Label ("VCA Sustain", + TRANS("value"))); + m_label_vca_env_sustain->setFont (Font (14.00f, Font::plain)); m_label_vca_env_sustain->setJustificationType (Justification::centred); m_label_vca_env_sustain->setEditable (true, true, false); m_label_vca_env_sustain->setColour (TextEditor::textColourId, Colours::black); - m_label_vca_env_sustain->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_vca_env_sustain->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_vca_env_sustain->addListener (this); - addAndMakeVisible (m_label_vca_env_release = new Label (L"VCA Release", - L"value")); - m_label_vca_env_release->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_vca_env_release = new Label ("VCA Release", + TRANS("value"))); + m_label_vca_env_release->setFont (Font (14.00f, Font::plain)); m_label_vca_env_release->setJustificationType (Justification::centred); m_label_vca_env_release->setEditable (true, true, false); m_label_vca_env_release->setColour (TextEditor::textColourId, Colours::black); - m_label_vca_env_release->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_vca_env_release->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_vca_env_release->addListener (this); - addAndMakeVisible (m_label_vcf_env_decay = new Label (L"VCF Decay", - L"value")); - m_label_vcf_env_decay->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_vcf_env_decay = new Label ("VCF Decay", + TRANS("value"))); + m_label_vcf_env_decay->setFont (Font (14.00f, Font::plain)); m_label_vcf_env_decay->setJustificationType (Justification::centred); m_label_vcf_env_decay->setEditable (true, true, false); m_label_vcf_env_decay->setColour (TextEditor::textColourId, Colours::black); - m_label_vcf_env_decay->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_vcf_env_decay->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_vcf_env_decay->addListener (this); - addAndMakeVisible (m_label_vcf_env_sustain = new Label (L"VCF Sustain", - L"value")); - m_label_vcf_env_sustain->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_vcf_env_sustain = new Label ("VCF Sustain", + TRANS("value"))); + m_label_vcf_env_sustain->setFont (Font (14.00f, Font::plain)); m_label_vcf_env_sustain->setJustificationType (Justification::centred); m_label_vcf_env_sustain->setEditable (true, true, false); m_label_vcf_env_sustain->setColour (TextEditor::textColourId, Colours::black); - m_label_vcf_env_sustain->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_vcf_env_sustain->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_vcf_env_sustain->addListener (this); - addAndMakeVisible (m_label_vcf_env_release = new Label (L"VCF Release", - L"value")); - m_label_vcf_env_release->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_vcf_env_release = new Label ("VCF Release", + TRANS("value"))); + m_label_vcf_env_release->setFont (Font (14.00f, Font::plain)); m_label_vcf_env_release->setJustificationType (Justification::centred); m_label_vcf_env_release->setEditable (true, true, false); m_label_vcf_env_release->setColour (TextEditor::textColourId, Colours::black); - m_label_vcf_env_release->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_vcf_env_release->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_vcf_env_release->addListener (this); - addAndMakeVisible (m_label_vcf_q = new Label (L"VCF Resonance", - L"value")); - m_label_vcf_q->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_vcf_q = new Label ("VCF Resonance", + TRANS("value"))); + m_label_vcf_q->setFont (Font (14.00f, Font::plain)); m_label_vcf_q->setJustificationType (Justification::centred); m_label_vcf_q->setEditable (true, true, false); m_label_vcf_q->setColour (TextEditor::textColourId, Colours::black); - m_label_vcf_q->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_vcf_q->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_vcf_q->addListener (this); - addAndMakeVisible (m_label_vcf_env_amount = new Label (L"VCF ENV Amount", - L"value")); - m_label_vcf_env_amount->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_vcf_env_amount = new Label ("VCF ENV Amount", + TRANS("value"))); + m_label_vcf_env_amount->setFont (Font (14.00f, Font::plain)); m_label_vcf_env_amount->setJustificationType (Justification::centred); m_label_vcf_env_amount->setEditable (true, true, false); m_label_vcf_env_amount->setColour (TextEditor::textColourId, Colours::black); - m_label_vcf_env_amount->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_vcf_env_amount->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_vcf_env_amount->addListener (this); - addAndMakeVisible (m_label_master_volume = new Label (L"Master volume", - L"value")); - m_label_master_volume->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_master_volume = new Label ("Master volume", + TRANS("value"))); + m_label_master_volume->setFont (Font (14.00f, Font::plain)); m_label_master_volume->setJustificationType (Justification::centred); m_label_master_volume->setEditable (true, true, false); m_label_master_volume->setColour (TextEditor::textColourId, Colours::black); - m_label_master_volume->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_master_volume->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_master_volume->addListener (this); - addAndMakeVisible (m_label_osc0_transpose = new Label (L"OSC 1 Transpose", - L"value")); - m_label_osc0_transpose->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc0_transpose = new Label ("OSC 1 Transpose", + TRANS("value"))); + m_label_osc0_transpose->setFont (Font (14.00f, Font::plain)); m_label_osc0_transpose->setJustificationType (Justification::centred); m_label_osc0_transpose->setEditable (true, true, false); m_label_osc0_transpose->setColour (TextEditor::textColourId, Colours::black); - m_label_osc0_transpose->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc0_transpose->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc0_transpose->addListener (this); - addAndMakeVisible (m_label_osc1_transpose = new Label (L"OSC 2 Transpose", - L"value")); - m_label_osc1_transpose->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc1_transpose = new Label ("OSC 2 Transpose", + TRANS("value"))); + m_label_osc1_transpose->setFont (Font (14.00f, Font::plain)); m_label_osc1_transpose->setJustificationType (Justification::centred); m_label_osc1_transpose->setEditable (true, true, false); m_label_osc1_transpose->setColour (TextEditor::textColourId, Colours::black); - m_label_osc1_transpose->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc1_transpose->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc1_transpose->addListener (this); - addAndMakeVisible (m_label_osc0_det = new Label (L"OSC 1 Detune", - L"value")); - m_label_osc0_det->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc0_det = new Label ("OSC 1 Detune", + TRANS("value"))); + m_label_osc0_det->setFont (Font (14.00f, Font::plain)); m_label_osc0_det->setJustificationType (Justification::centred); m_label_osc0_det->setEditable (true, true, false); m_label_osc0_det->setColour (TextEditor::textColourId, Colours::black); - m_label_osc0_det->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc0_det->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc0_det->addListener (this); - addAndMakeVisible (m_label_osc1_det = new Label (L"OSC 2 Detune", - L"value")); - m_label_osc1_det->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc1_det = new Label ("OSC 2 Detune", + TRANS("value"))); + m_label_osc1_det->setFont (Font (14.00f, Font::plain)); m_label_osc1_det->setJustificationType (Justification::centred); m_label_osc1_det->setEditable (true, true, false); m_label_osc1_det->setColour (TextEditor::textColourId, Colours::black); - m_label_osc1_det->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc1_det->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc1_det->addListener (this); - addAndMakeVisible (m_slider_vca_env_amount = new Slider (L"VCA ENV Amount")); - m_slider_vca_env_amount->setTooltip (L"VCA Envelope Amount [%]"); + addAndMakeVisible (m_slider_vca_env_amount = new Slider ("VCA ENV Amount")); + m_slider_vca_env_amount->setTooltip (TRANS("VCA Envelope Amount [%]")); m_slider_vca_env_amount->setRange (0, 1, 0); m_slider_vca_env_amount->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_vca_env_amount->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -548,17 +338,17 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_vca_env_amount->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_vca_env_amount->addListener (this); - addAndMakeVisible (m_label_vca_env_amount = new Label (L"VCA ENV Amount", - L"value")); - m_label_vca_env_amount->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_vca_env_amount = new Label ("VCA ENV Amount", + TRANS("value"))); + m_label_vca_env_amount->setFont (Font (14.00f, Font::plain)); m_label_vca_env_amount->setJustificationType (Justification::centred); m_label_vca_env_amount->setEditable (true, true, false); m_label_vca_env_amount->setColour (TextEditor::textColourId, Colours::black); - m_label_vca_env_amount->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_vca_env_amount->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_vca_env_amount->addListener (this); - addAndMakeVisible (m_slider_osc0_dutycycle = new Slider (L"OSC 1 pulse width")); - m_slider_osc0_dutycycle->setTooltip (L"OSC 1 pulse width [%]"); + addAndMakeVisible (m_slider_osc0_dutycycle = new Slider ("OSC 1 pulse width")); + m_slider_osc0_dutycycle->setTooltip (TRANS("OSC 1 pulse width [%]")); m_slider_osc0_dutycycle->setRange (0, 1, 0); m_slider_osc0_dutycycle->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc0_dutycycle->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -566,8 +356,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc0_dutycycle->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc0_dutycycle->addListener (this); - addAndMakeVisible (m_slider_osc1_dutycycle = new Slider (L"OSC 2 pulse width")); - m_slider_osc1_dutycycle->setTooltip (L"OSC 2 pulse width [%]"); + addAndMakeVisible (m_slider_osc1_dutycycle = new Slider ("OSC 2 pulse width")); + m_slider_osc1_dutycycle->setTooltip (TRANS("OSC 2 pulse width [%]")); m_slider_osc1_dutycycle->setRange (0, 1, 0); m_slider_osc1_dutycycle->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc1_dutycycle->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -575,26 +365,26 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc1_dutycycle->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc1_dutycycle->addListener (this); - addAndMakeVisible (m_label_osc0_dutycycle = new Label (L"OSC 1 pulse width", - L"value")); - m_label_osc0_dutycycle->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc0_dutycycle = new Label ("OSC 1 pulse width", + TRANS("value"))); + m_label_osc0_dutycycle->setFont (Font (14.00f, Font::plain)); m_label_osc0_dutycycle->setJustificationType (Justification::centred); m_label_osc0_dutycycle->setEditable (true, true, false); m_label_osc0_dutycycle->setColour (TextEditor::textColourId, Colours::black); - m_label_osc0_dutycycle->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc0_dutycycle->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc0_dutycycle->addListener (this); - addAndMakeVisible (m_label_osc1_dutycycle = new Label (L"OSC 2 pulse width", - L"value")); - m_label_osc1_dutycycle->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc1_dutycycle = new Label ("OSC 2 pulse width", + TRANS("value"))); + m_label_osc1_dutycycle->setFont (Font (14.00f, Font::plain)); m_label_osc1_dutycycle->setJustificationType (Justification::centred); m_label_osc1_dutycycle->setEditable (true, true, false); m_label_osc1_dutycycle->setColour (TextEditor::textColourId, Colours::black); - m_label_osc1_dutycycle->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc1_dutycycle->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc1_dutycycle->addListener (this); - addAndMakeVisible (m_slider_lfo0_speed = new Slider (L"LFO 1 speed")); - m_slider_lfo0_speed->setTooltip (L"LFO 1 speed [Hz]"); + addAndMakeVisible (m_slider_lfo0_speed = new Slider ("LFO 1 speed")); + m_slider_lfo0_speed->setTooltip (TRANS("LFO 1 speed [Hz]")); m_slider_lfo0_speed->setRange (0, 1, 0); m_slider_lfo0_speed->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo0_speed->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -602,8 +392,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo0_speed->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo0_speed->addListener (this); - addAndMakeVisible (m_slider_osc1_fm_amt0 = new Slider (L"OSC 2 FM amount 1")); - m_slider_osc1_fm_amt0->setTooltip (L"OSC 2 FM amount [semitones]"); + addAndMakeVisible (m_slider_osc1_fm_amt0 = new Slider ("OSC 2 FM amount 1")); + m_slider_osc1_fm_amt0->setTooltip (TRANS("OSC 2 FM amount [semitones]")); m_slider_osc1_fm_amt0->setRange (0, 1, 0); m_slider_osc1_fm_amt0->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc1_fm_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -611,8 +401,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc1_fm_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc1_fm_amt0->addListener (this); - addAndMakeVisible (m_slider_osc0_fm_amt0 = new Slider (L"OSC 1 FM amount 1")); - m_slider_osc0_fm_amt0->setTooltip (L"OSC 1 FM amount [semitones]"); + addAndMakeVisible (m_slider_osc0_fm_amt0 = new Slider ("OSC 1 FM amount 1")); + m_slider_osc0_fm_amt0->setTooltip (TRANS("OSC 1 FM amount [semitones]")); m_slider_osc0_fm_amt0->setRange (0, 1, 0); m_slider_osc0_fm_amt0->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc0_fm_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -620,37 +410,37 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc0_fm_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc0_fm_amt0->addListener (this); - addAndMakeVisible (m_label_lfo0_speed = new Label (L"LFO 1 speed", - L"value")); - m_label_lfo0_speed->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo0_speed = new Label ("LFO 1 speed", + TRANS("value"))); + m_label_lfo0_speed->setFont (Font (14.00f, Font::plain)); m_label_lfo0_speed->setJustificationType (Justification::centred); m_label_lfo0_speed->setEditable (true, true, false); - m_label_lfo0_speed->setColour (Label::outlineColourId, Colour (0x0)); + m_label_lfo0_speed->setColour (Label::outlineColourId, Colour (0x00000000)); m_label_lfo0_speed->setColour (TextEditor::textColourId, Colours::azure); - m_label_lfo0_speed->setColour (TextEditor::backgroundColourId, Colour (0x0)); - m_label_lfo0_speed->setColour (TextEditor::highlightColourId, Colour (0xf7f7f7)); + m_label_lfo0_speed->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + m_label_lfo0_speed->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7)); m_label_lfo0_speed->addListener (this); - addAndMakeVisible (m_label_osc0_fm_amt0 = new Label (L"OSC 1 FM amt 1", - L"value")); - m_label_osc0_fm_amt0->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc0_fm_amt0 = new Label ("OSC 1 FM amt 1", + TRANS("value"))); + m_label_osc0_fm_amt0->setFont (Font (14.00f, Font::plain)); m_label_osc0_fm_amt0->setJustificationType (Justification::centred); m_label_osc0_fm_amt0->setEditable (true, true, false); m_label_osc0_fm_amt0->setColour (TextEditor::textColourId, Colours::black); - m_label_osc0_fm_amt0->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc0_fm_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc0_fm_amt0->addListener (this); - addAndMakeVisible (m_label_osc1_fm_amt0 = new Label (L"OSC 2 FM amt 1", - L"value")); - m_label_osc1_fm_amt0->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc1_fm_amt0 = new Label ("OSC 2 FM amt 1", + TRANS("value"))); + m_label_osc1_fm_amt0->setFont (Font (14.00f, Font::plain)); m_label_osc1_fm_amt0->setJustificationType (Justification::centred); m_label_osc1_fm_amt0->setEditable (true, true, false); m_label_osc1_fm_amt0->setColour (TextEditor::textColourId, Colours::black); - m_label_osc1_fm_amt0->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc1_fm_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc1_fm_amt0->addListener (this); - addAndMakeVisible (m_slider_vcf_f_amt0 = new Slider (L"VCF Cutoff amount 1")); - m_slider_vcf_f_amt0->setTooltip (L"VCF Cutoff Amount [%]"); + addAndMakeVisible (m_slider_vcf_f_amt0 = new Slider ("VCF Cutoff amount 1")); + m_slider_vcf_f_amt0->setTooltip (TRANS("VCF Cutoff Amount [%]")); m_slider_vcf_f_amt0->setRange (0, 1, 0); m_slider_vcf_f_amt0->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_vcf_f_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -658,17 +448,17 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_vcf_f_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_vcf_f_amt0->addListener (this); - addAndMakeVisible (m_label_vcf_f_amt0 = new Label (L"VCF Cutoff amount 1", - L"value")); - m_label_vcf_f_amt0->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_vcf_f_amt0 = new Label ("VCF Cutoff amount 1", + TRANS("value"))); + m_label_vcf_f_amt0->setFont (Font (14.00f, Font::plain)); m_label_vcf_f_amt0->setJustificationType (Justification::centred); m_label_vcf_f_amt0->setEditable (true, true, false); m_label_vcf_f_amt0->setColour (TextEditor::textColourId, Colours::black); - m_label_vcf_f_amt0->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_vcf_f_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_vcf_f_amt0->addListener (this); - addAndMakeVisible (m_slider_lfo1_speed = new Slider (L"LFO 2 speed")); - m_slider_lfo1_speed->setTooltip (L"LFO 2 speed [Hz]"); + addAndMakeVisible (m_slider_lfo1_speed = new Slider ("LFO 2 speed")); + m_slider_lfo1_speed->setTooltip (TRANS("LFO 2 speed [Hz]")); m_slider_lfo1_speed->setRange (0, 1, 0); m_slider_lfo1_speed->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo1_speed->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -676,83 +466,83 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo1_speed->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo1_speed->addListener (this); - addAndMakeVisible (m_label_lfo1_speed = new Label (L"LFO 2 speed", - L"value")); - m_label_lfo1_speed->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo1_speed = new Label ("LFO 2 speed", + TRANS("value"))); + m_label_lfo1_speed->setFont (Font (14.00f, Font::plain)); m_label_lfo1_speed->setJustificationType (Justification::centred); m_label_lfo1_speed->setEditable (true, true, false); m_label_lfo1_speed->setColour (TextEditor::textColourId, Colours::black); - m_label_lfo1_speed->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_lfo1_speed->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_lfo1_speed->addListener (this); - addAndMakeVisible (m_comboBox_osc0_shape = new ComboBox (L"OSC 1 shape")); - m_comboBox_osc0_shape->setTooltip (L"OSC 1 shape"); + addAndMakeVisible (m_comboBox_osc0_shape = new ComboBox ("OSC 1 shape")); + m_comboBox_osc0_shape->setTooltip (TRANS("OSC 1 shape")); m_comboBox_osc0_shape->setEditableText (false); m_comboBox_osc0_shape->setJustificationType (Justification::centred); m_comboBox_osc0_shape->setTextWhenNothingSelected (String::empty); - m_comboBox_osc0_shape->setTextWhenNoChoicesAvailable (L"(no choices)"); - m_comboBox_osc0_shape->addItem (L"Saw", 1); - m_comboBox_osc0_shape->addItem (L"Pulse", 2); - m_comboBox_osc0_shape->addItem (L"Tri", 3); - m_comboBox_osc0_shape->addItem (L"Sine", 4); - m_comboBox_osc0_shape->addItem (L"Impulse", 5); + m_comboBox_osc0_shape->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); + m_comboBox_osc0_shape->addItem (TRANS("Saw"), 1); + m_comboBox_osc0_shape->addItem (TRANS("Pulse"), 2); + m_comboBox_osc0_shape->addItem (TRANS("Tri"), 3); + m_comboBox_osc0_shape->addItem (TRANS("Sine"), 4); + m_comboBox_osc0_shape->addItem (TRANS("Impulse"), 5); m_comboBox_osc0_shape->addListener (this); - addAndMakeVisible (m_comboBox_osc1_shape = new ComboBox (L"OSC 2 shape")); - m_comboBox_osc1_shape->setTooltip (L"OSC 2 shape"); + addAndMakeVisible (m_comboBox_osc1_shape = new ComboBox ("OSC 2 shape")); + m_comboBox_osc1_shape->setTooltip (TRANS("OSC 2 shape")); m_comboBox_osc1_shape->setEditableText (false); m_comboBox_osc1_shape->setJustificationType (Justification::centred); m_comboBox_osc1_shape->setTextWhenNothingSelected (String::empty); - m_comboBox_osc1_shape->setTextWhenNoChoicesAvailable (L"(no choices)"); - m_comboBox_osc1_shape->addItem (L"Saw", 1); - m_comboBox_osc1_shape->addItem (L"Pulse", 2); - m_comboBox_osc1_shape->addItem (L"Tri", 3); - m_comboBox_osc1_shape->addItem (L"Sine", 4); - m_comboBox_osc1_shape->addItem (L"Impulse", 5); + m_comboBox_osc1_shape->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); + m_comboBox_osc1_shape->addItem (TRANS("Saw"), 1); + m_comboBox_osc1_shape->addItem (TRANS("Pulse"), 2); + m_comboBox_osc1_shape->addItem (TRANS("Tri"), 3); + m_comboBox_osc1_shape->addItem (TRANS("Sine"), 4); + m_comboBox_osc1_shape->addItem (TRANS("Impulse"), 5); m_comboBox_osc1_shape->addListener (this); - addAndMakeVisible (m_comboBox_lfo0_shape = new ComboBox (L"LFO 1 shape")); - m_comboBox_lfo0_shape->setTooltip (L"LFO 1 shape"); + addAndMakeVisible (m_comboBox_lfo0_shape = new ComboBox ("LFO 1 shape")); + m_comboBox_lfo0_shape->setTooltip (TRANS("LFO 1 shape")); m_comboBox_lfo0_shape->setEditableText (false); m_comboBox_lfo0_shape->setJustificationType (Justification::centred); m_comboBox_lfo0_shape->setTextWhenNothingSelected (String::empty); - m_comboBox_lfo0_shape->setTextWhenNoChoicesAvailable (L"(no choices)"); - m_comboBox_lfo0_shape->addItem (L"Sine", 1); - m_comboBox_lfo0_shape->addItem (L"Cosine", 2); - m_comboBox_lfo0_shape->addItem (L"Saw", 3); - m_comboBox_lfo0_shape->addItem (L"Square", 4); - m_comboBox_lfo0_shape->addItem (L"Tri", 5); - m_comboBox_lfo0_shape->addItem (L"S&H 1", 6); - m_comboBox_lfo0_shape->addItem (L"S&H 2", 7); - m_comboBox_lfo0_shape->addItem (L"1-Sine", 8); - m_comboBox_lfo0_shape->addItem (L"1-Cosine", 9); - m_comboBox_lfo0_shape->addItem (L"1-Saw", 10); - m_comboBox_lfo0_shape->addItem (L"1-Square", 11); - m_comboBox_lfo0_shape->addItem (L"1-Tri", 12); + m_comboBox_lfo0_shape->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); + m_comboBox_lfo0_shape->addItem (TRANS("Sine"), 1); + m_comboBox_lfo0_shape->addItem (TRANS("Cosine"), 2); + m_comboBox_lfo0_shape->addItem (TRANS("Saw"), 3); + m_comboBox_lfo0_shape->addItem (TRANS("Square"), 4); + m_comboBox_lfo0_shape->addItem (TRANS("Tri"), 5); + m_comboBox_lfo0_shape->addItem (TRANS("S&H 1"), 6); + m_comboBox_lfo0_shape->addItem (TRANS("S&H 2"), 7); + m_comboBox_lfo0_shape->addItem (TRANS("1-Sine"), 8); + m_comboBox_lfo0_shape->addItem (TRANS("1-Cosine"), 9); + m_comboBox_lfo0_shape->addItem (TRANS("1-Saw"), 10); + m_comboBox_lfo0_shape->addItem (TRANS("1-Square"), 11); + m_comboBox_lfo0_shape->addItem (TRANS("1-Tri"), 12); m_comboBox_lfo0_shape->addListener (this); - addAndMakeVisible (m_comboBox_lfo1_shape = new ComboBox (L"LFO 2 shape")); - m_comboBox_lfo1_shape->setTooltip (L"LFO 2 shape"); + addAndMakeVisible (m_comboBox_lfo1_shape = new ComboBox ("LFO 2 shape")); + m_comboBox_lfo1_shape->setTooltip (TRANS("LFO 2 shape")); m_comboBox_lfo1_shape->setEditableText (false); m_comboBox_lfo1_shape->setJustificationType (Justification::centred); m_comboBox_lfo1_shape->setTextWhenNothingSelected (String::empty); - m_comboBox_lfo1_shape->setTextWhenNoChoicesAvailable (L"(no choices)"); - m_comboBox_lfo1_shape->addItem (L"Sine", 1); - m_comboBox_lfo1_shape->addItem (L"Cosine", 2); - m_comboBox_lfo1_shape->addItem (L"Saw", 3); - m_comboBox_lfo1_shape->addItem (L"Square", 4); - m_comboBox_lfo1_shape->addItem (L"Tri", 5); - m_comboBox_lfo1_shape->addItem (L"S&H 1", 6); - m_comboBox_lfo1_shape->addItem (L"S&H 2", 7); - m_comboBox_lfo1_shape->addItem (L"1-Sine", 8); - m_comboBox_lfo1_shape->addItem (L"1-Cosine", 9); - m_comboBox_lfo1_shape->addItem (L"1-Saw", 10); - m_comboBox_lfo1_shape->addItem (L"1-Square", 11); - m_comboBox_lfo1_shape->addItem (L"1-Tri", 12); + m_comboBox_lfo1_shape->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); + m_comboBox_lfo1_shape->addItem (TRANS("Sine"), 1); + m_comboBox_lfo1_shape->addItem (TRANS("Cosine"), 2); + m_comboBox_lfo1_shape->addItem (TRANS("Saw"), 3); + m_comboBox_lfo1_shape->addItem (TRANS("Square"), 4); + m_comboBox_lfo1_shape->addItem (TRANS("Tri"), 5); + m_comboBox_lfo1_shape->addItem (TRANS("S&H 1"), 6); + m_comboBox_lfo1_shape->addItem (TRANS("S&H 2"), 7); + m_comboBox_lfo1_shape->addItem (TRANS("1-Sine"), 8); + m_comboBox_lfo1_shape->addItem (TRANS("1-Cosine"), 9); + m_comboBox_lfo1_shape->addItem (TRANS("1-Saw"), 10); + m_comboBox_lfo1_shape->addItem (TRANS("1-Square"), 11); + m_comboBox_lfo1_shape->addItem (TRANS("1-Tri"), 12); m_comboBox_lfo1_shape->addListener (this); - addAndMakeVisible (m_slider_lfo2_speed = new Slider (L"LFO 3 speed")); - m_slider_lfo2_speed->setTooltip (L"LFO 3 speed [Hz]"); + addAndMakeVisible (m_slider_lfo2_speed = new Slider ("LFO 3 speed")); + m_slider_lfo2_speed->setTooltip (TRANS("LFO 3 speed [Hz]")); m_slider_lfo2_speed->setRange (0, 1, 0); m_slider_lfo2_speed->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo2_speed->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -760,8 +550,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo2_speed->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo2_speed->addListener (this); - addAndMakeVisible (m_slider_lfo3_speed = new Slider (L"LFO 4 speed")); - m_slider_lfo3_speed->setTooltip (L"LFO 4 speed [Hz]"); + addAndMakeVisible (m_slider_lfo3_speed = new Slider ("LFO 4 speed")); + m_slider_lfo3_speed->setTooltip (TRANS("LFO 4 speed [Hz]")); m_slider_lfo3_speed->setRange (0, 1, 0); m_slider_lfo3_speed->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo3_speed->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -769,90 +559,90 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo3_speed->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo3_speed->addListener (this); - addAndMakeVisible (m_comboBox_lfo2_shape = new ComboBox (L"LFO 3 shape")); - m_comboBox_lfo2_shape->setTooltip (L"LFO 3 shape"); + addAndMakeVisible (m_comboBox_lfo2_shape = new ComboBox ("LFO 3 shape")); + m_comboBox_lfo2_shape->setTooltip (TRANS("LFO 3 shape")); m_comboBox_lfo2_shape->setEditableText (false); m_comboBox_lfo2_shape->setJustificationType (Justification::centred); m_comboBox_lfo2_shape->setTextWhenNothingSelected (String::empty); - m_comboBox_lfo2_shape->setTextWhenNoChoicesAvailable (L"(no choices)"); - m_comboBox_lfo2_shape->addItem (L"Sine", 1); - m_comboBox_lfo2_shape->addItem (L"Cosine", 2); - m_comboBox_lfo2_shape->addItem (L"Saw", 3); - m_comboBox_lfo2_shape->addItem (L"Square", 4); - m_comboBox_lfo2_shape->addItem (L"Tri", 5); - m_comboBox_lfo2_shape->addItem (L"S&H 1", 6); - m_comboBox_lfo2_shape->addItem (L"S&H 2", 7); - m_comboBox_lfo2_shape->addItem (L"1-Sine", 8); - m_comboBox_lfo2_shape->addItem (L"1-Cosine", 9); - m_comboBox_lfo2_shape->addItem (L"1-Saw", 10); - m_comboBox_lfo2_shape->addItem (L"1-Square", 11); - m_comboBox_lfo2_shape->addItem (L"1-Tri", 12); + m_comboBox_lfo2_shape->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); + m_comboBox_lfo2_shape->addItem (TRANS("Sine"), 1); + m_comboBox_lfo2_shape->addItem (TRANS("Cosine"), 2); + m_comboBox_lfo2_shape->addItem (TRANS("Saw"), 3); + m_comboBox_lfo2_shape->addItem (TRANS("Square"), 4); + m_comboBox_lfo2_shape->addItem (TRANS("Tri"), 5); + m_comboBox_lfo2_shape->addItem (TRANS("S&H 1"), 6); + m_comboBox_lfo2_shape->addItem (TRANS("S&H 2"), 7); + m_comboBox_lfo2_shape->addItem (TRANS("1-Sine"), 8); + m_comboBox_lfo2_shape->addItem (TRANS("1-Cosine"), 9); + m_comboBox_lfo2_shape->addItem (TRANS("1-Saw"), 10); + m_comboBox_lfo2_shape->addItem (TRANS("1-Square"), 11); + m_comboBox_lfo2_shape->addItem (TRANS("1-Tri"), 12); m_comboBox_lfo2_shape->addListener (this); - addAndMakeVisible (m_comboBox_lfo3_shape = new ComboBox (L"LFO 4 shape")); - m_comboBox_lfo3_shape->setTooltip (L"LFO 4 shape"); + addAndMakeVisible (m_comboBox_lfo3_shape = new ComboBox ("LFO 4 shape")); + m_comboBox_lfo3_shape->setTooltip (TRANS("LFO 4 shape")); m_comboBox_lfo3_shape->setEditableText (false); m_comboBox_lfo3_shape->setJustificationType (Justification::centred); m_comboBox_lfo3_shape->setTextWhenNothingSelected (String::empty); - m_comboBox_lfo3_shape->setTextWhenNoChoicesAvailable (L"(no choices)"); - m_comboBox_lfo3_shape->addItem (L"Sine", 1); - m_comboBox_lfo3_shape->addItem (L"Cosine", 2); - m_comboBox_lfo3_shape->addItem (L"Saw", 3); - m_comboBox_lfo3_shape->addItem (L"Square", 4); - m_comboBox_lfo3_shape->addItem (L"Tri", 5); - m_comboBox_lfo3_shape->addItem (L"S&H 1", 6); - m_comboBox_lfo3_shape->addItem (L"S&H 2", 7); - m_comboBox_lfo3_shape->addItem (L"1-Sine", 8); - m_comboBox_lfo3_shape->addItem (L"1-Cosine", 9); - m_comboBox_lfo3_shape->addItem (L"1-Saw", 10); - m_comboBox_lfo3_shape->addItem (L"1-Square", 11); - m_comboBox_lfo3_shape->addItem (L"1-Tri", 12); + m_comboBox_lfo3_shape->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); + m_comboBox_lfo3_shape->addItem (TRANS("Sine"), 1); + m_comboBox_lfo3_shape->addItem (TRANS("Cosine"), 2); + m_comboBox_lfo3_shape->addItem (TRANS("Saw"), 3); + m_comboBox_lfo3_shape->addItem (TRANS("Square"), 4); + m_comboBox_lfo3_shape->addItem (TRANS("Tri"), 5); + m_comboBox_lfo3_shape->addItem (TRANS("S&H 1"), 6); + m_comboBox_lfo3_shape->addItem (TRANS("S&H 2"), 7); + m_comboBox_lfo3_shape->addItem (TRANS("1-Sine"), 8); + m_comboBox_lfo3_shape->addItem (TRANS("1-Cosine"), 9); + m_comboBox_lfo3_shape->addItem (TRANS("1-Saw"), 10); + m_comboBox_lfo3_shape->addItem (TRANS("1-Square"), 11); + m_comboBox_lfo3_shape->addItem (TRANS("1-Tri"), 12); m_comboBox_lfo3_shape->addListener (this); - addAndMakeVisible (m_label_lfo2_speed = new Label (L"LFO 3 speed", - L"value")); - m_label_lfo2_speed->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo2_speed = new Label ("LFO 3 speed", + TRANS("value"))); + m_label_lfo2_speed->setFont (Font (14.00f, Font::plain)); m_label_lfo2_speed->setJustificationType (Justification::centred); m_label_lfo2_speed->setEditable (true, true, false); m_label_lfo2_speed->setColour (TextEditor::textColourId, Colours::black); - m_label_lfo2_speed->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_lfo2_speed->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_lfo2_speed->addListener (this); - addAndMakeVisible (m_label_lfo3_speed = new Label (L"LFO 3 speed", - L"value")); - m_label_lfo3_speed->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo3_speed = new Label ("LFO 3 speed", + TRANS("value"))); + m_label_lfo3_speed->setFont (Font (14.00f, Font::plain)); m_label_lfo3_speed->setJustificationType (Justification::centred); m_label_lfo3_speed->setEditable (true, true, false); m_label_lfo3_speed->setColour (TextEditor::textColourId, Colours::black); - m_label_lfo3_speed->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_lfo3_speed->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_lfo3_speed->addListener (this); - addAndMakeVisible (m_comboBox_vcf_f_src0 = new ComboBox (L"VCF Cutoff Source 1")); - m_comboBox_vcf_f_src0->setTooltip (L"VCF Cutoff Modulation Source 1"); + addAndMakeVisible (m_comboBox_vcf_f_src0 = new ComboBox ("VCF Cutoff Source 1")); + m_comboBox_vcf_f_src0->setTooltip (TRANS("VCF Cutoff Modulation Source 1")); m_comboBox_vcf_f_src0->setEditableText (false); m_comboBox_vcf_f_src0->setJustificationType (Justification::centred); m_comboBox_vcf_f_src0->setTextWhenNothingSelected (String::empty); - m_comboBox_vcf_f_src0->setTextWhenNoChoicesAvailable (L"(no choices)"); + m_comboBox_vcf_f_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); m_comboBox_vcf_f_src0->addListener (this); - addAndMakeVisible (m_comboBox_osc0_fm_src0 = new ComboBox (L"OSC 1 FM Source 1")); - m_comboBox_osc0_fm_src0->setTooltip (L"OSC 1 FM Modulation Source 1"); + addAndMakeVisible (m_comboBox_osc0_fm_src0 = new ComboBox ("OSC 1 FM Source 1")); + m_comboBox_osc0_fm_src0->setTooltip (TRANS("OSC 1 FM Modulation Source 1")); m_comboBox_osc0_fm_src0->setEditableText (false); m_comboBox_osc0_fm_src0->setJustificationType (Justification::centred); m_comboBox_osc0_fm_src0->setTextWhenNothingSelected (String::empty); - m_comboBox_osc0_fm_src0->setTextWhenNoChoicesAvailable (L"(no choices)"); + m_comboBox_osc0_fm_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); m_comboBox_osc0_fm_src0->addListener (this); - addAndMakeVisible (m_comboBox_osc1_fm_src0 = new ComboBox (L"OSC 2 FM Source 1")); - m_comboBox_osc1_fm_src0->setTooltip (L"OSC 2 FM Modulation Source 1"); + addAndMakeVisible (m_comboBox_osc1_fm_src0 = new ComboBox ("OSC 2 FM Source 1")); + m_comboBox_osc1_fm_src0->setTooltip (TRANS("OSC 2 FM Modulation Source 1")); m_comboBox_osc1_fm_src0->setEditableText (false); m_comboBox_osc1_fm_src0->setJustificationType (Justification::centred); m_comboBox_osc1_fm_src0->setTextWhenNothingSelected (String::empty); - m_comboBox_osc1_fm_src0->setTextWhenNoChoicesAvailable (L"(no choices)"); + m_comboBox_osc1_fm_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); m_comboBox_osc1_fm_src0->addListener (this); - addAndMakeVisible (m_slider_vca_am_amt0 = new Slider (L"Tremolo amt")); - m_slider_vca_am_amt0->setTooltip (L"Tremolo Amount [%]"); + addAndMakeVisible (m_slider_vca_am_amt0 = new Slider ("Tremolo amt")); + m_slider_vca_am_amt0->setTooltip (TRANS("Tremolo Amount [%]")); m_slider_vca_am_amt0->setRange (0, 1, 0); m_slider_vca_am_amt0->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_vca_am_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -860,25 +650,25 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_vca_am_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_vca_am_amt0->addListener (this); - addAndMakeVisible (m_label_vca_am_amt0 = new Label (L"Tremolo amt", - L"value")); - m_label_vca_am_amt0->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_vca_am_amt0 = new Label ("Tremolo amt", + TRANS("value"))); + m_label_vca_am_amt0->setFont (Font (14.00f, Font::plain)); m_label_vca_am_amt0->setJustificationType (Justification::centred); m_label_vca_am_amt0->setEditable (true, true, false); m_label_vca_am_amt0->setColour (TextEditor::textColourId, Colours::black); - m_label_vca_am_amt0->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_vca_am_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_vca_am_amt0->addListener (this); - addAndMakeVisible (m_comboBox_vca_am_src0 = new ComboBox (L"Tremolo Source 1")); - m_comboBox_vca_am_src0->setTooltip (L"Tremolo Modulation Source 1"); + addAndMakeVisible (m_comboBox_vca_am_src0 = new ComboBox ("Tremolo Source 1")); + m_comboBox_vca_am_src0->setTooltip (TRANS("Tremolo Modulation Source 1")); m_comboBox_vca_am_src0->setEditableText (false); m_comboBox_vca_am_src0->setJustificationType (Justification::centred); m_comboBox_vca_am_src0->setTextWhenNothingSelected (String::empty); - m_comboBox_vca_am_src0->setTextWhenNoChoicesAvailable (L"(no choices)"); + m_comboBox_vca_am_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); m_comboBox_vca_am_src0->addListener (this); - addAndMakeVisible (m_slider_vca_pan_amt0 = new Slider (L"Stereo pan amt")); - m_slider_vca_pan_amt0->setTooltip (L"Stereo Pan Amount [%]"); + addAndMakeVisible (m_slider_vca_pan_amt0 = new Slider ("Stereo pan amt")); + m_slider_vca_pan_amt0->setTooltip (TRANS("Stereo Pan Amount [%]")); m_slider_vca_pan_amt0->setRange (0, 1, 0); m_slider_vca_pan_amt0->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_vca_pan_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -886,54 +676,54 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_vca_pan_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_vca_pan_amt0->addListener (this); - addAndMakeVisible (m_label_vca_pan_amt0 = new Label (L"Stereo pan amt", - L"value")); - m_label_vca_pan_amt0->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_vca_pan_amt0 = new Label ("Stereo pan amt", + TRANS("value"))); + m_label_vca_pan_amt0->setFont (Font (14.00f, Font::plain)); m_label_vca_pan_amt0->setJustificationType (Justification::centred); m_label_vca_pan_amt0->setEditable (true, true, false); m_label_vca_pan_amt0->setColour (TextEditor::textColourId, Colours::black); - m_label_vca_pan_amt0->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_vca_pan_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_vca_pan_amt0->addListener (this); - addAndMakeVisible (m_comboBox_vca_pan_src0 = new ComboBox (L"Stereo pan Source")); - m_comboBox_vca_pan_src0->setTooltip (L"Stereo Pan Modulation Source 1"); + addAndMakeVisible (m_comboBox_vca_pan_src0 = new ComboBox ("Stereo pan Source")); + m_comboBox_vca_pan_src0->setTooltip (TRANS("Stereo Pan Modulation Source 1")); m_comboBox_vca_pan_src0->setEditableText (false); m_comboBox_vca_pan_src0->setJustificationType (Justification::centred); m_comboBox_vca_pan_src0->setTextWhenNothingSelected (String::empty); - m_comboBox_vca_pan_src0->setTextWhenNoChoicesAvailable (L"(no choices)"); + m_comboBox_vca_pan_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); m_comboBox_vca_pan_src0->addListener (this); - addAndMakeVisible (m_label_synth_name = new Label (L"Synth Name", - L"Jay Synth")); - m_label_synth_name->setFont (Font (L"Arial", 20.0000f, Font::plain)); + addAndMakeVisible (m_label_synth_name = new Label ("Synth Name", + TRANS("Jay Synth"))); + m_label_synth_name->setFont (Font ("Arial", 20.00f, Font::plain)); m_label_synth_name->setJustificationType (Justification::centredLeft); m_label_synth_name->setEditable (false, false, false); m_label_synth_name->setColour (Label::textColourId, Colours::white); m_label_synth_name->setColour (TextEditor::textColourId, Colours::black); - m_label_synth_name->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_synth_name->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); - addAndMakeVisible (m_label_synth_version = new Label (L"Synth Version", - L"V 1.0.0")); - m_label_synth_version->setFont (Font (L"Arial", 14.0000f, Font::plain)); + addAndMakeVisible (m_label_synth_version = new Label ("Synth Version", + TRANS("V 1.0.0"))); + m_label_synth_version->setFont (Font ("Arial", 14.00f, Font::plain)); m_label_synth_version->setJustificationType (Justification::centredRight); m_label_synth_version->setEditable (false, false, false); m_label_synth_version->setColour (Label::textColourId, Colours::white); m_label_synth_version->setColour (TextEditor::textColourId, Colours::black); - m_label_synth_version->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_synth_version->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); - addAndMakeVisible (m_comboBox_vcf_type = new ComboBox (L"VCF Type")); - m_comboBox_vcf_type->setTooltip (L"VCF Type"); + addAndMakeVisible (m_comboBox_vcf_type = new ComboBox ("VCF Type")); + m_comboBox_vcf_type->setTooltip (TRANS("VCF Type")); m_comboBox_vcf_type->setEditableText (false); m_comboBox_vcf_type->setJustificationType (Justification::centred); m_comboBox_vcf_type->setTextWhenNothingSelected (String::empty); - m_comboBox_vcf_type->setTextWhenNoChoicesAvailable (L"(no choices)"); - m_comboBox_vcf_type->addItem (L"LPF", 1); - m_comboBox_vcf_type->addItem (L"HPF", 2); - m_comboBox_vcf_type->addItem (L"BPF", 3); + m_comboBox_vcf_type->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); + m_comboBox_vcf_type->addItem (TRANS("LPF"), 1); + m_comboBox_vcf_type->addItem (TRANS("HPF"), 2); + m_comboBox_vcf_type->addItem (TRANS("BPF"), 3); m_comboBox_vcf_type->addListener (this); - addAndMakeVisible (m_slider_lfo1_smooth = new Slider (L"LFO 2 smooth")); - m_slider_lfo1_smooth->setTooltip (L"LFO 2 smooth [%]"); + addAndMakeVisible (m_slider_lfo1_smooth = new Slider ("LFO 2 smooth")); + m_slider_lfo1_smooth->setTooltip (TRANS("LFO 2 smooth [%]")); m_slider_lfo1_smooth->setRange (0, 1, 0); m_slider_lfo1_smooth->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo1_smooth->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -941,17 +731,17 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo1_smooth->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo1_smooth->addListener (this); - addAndMakeVisible (m_label_lfo1_smooth = new Label (L"LFO 2 smooth", - L"value")); - m_label_lfo1_smooth->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo1_smooth = new Label ("LFO 2 smooth", + TRANS("value"))); + m_label_lfo1_smooth->setFont (Font (14.00f, Font::plain)); m_label_lfo1_smooth->setJustificationType (Justification::centred); m_label_lfo1_smooth->setEditable (true, true, false); m_label_lfo1_smooth->setColour (TextEditor::textColourId, Colours::black); - m_label_lfo1_smooth->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_lfo1_smooth->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_lfo1_smooth->addListener (this); - addAndMakeVisible (m_slider_lfo0_smooth = new Slider (L"LFO 1 smooth")); - m_slider_lfo0_smooth->setTooltip (L"LFO 1 smooth [%]"); + addAndMakeVisible (m_slider_lfo0_smooth = new Slider ("LFO 1 smooth")); + m_slider_lfo0_smooth->setTooltip (TRANS("LFO 1 smooth [%]")); m_slider_lfo0_smooth->setRange (0, 1, 0); m_slider_lfo0_smooth->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo0_smooth->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -959,17 +749,17 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo0_smooth->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo0_smooth->addListener (this); - addAndMakeVisible (m_label_lfo0_smooth = new Label (L"LFO 1 smooth", - L"value")); - m_label_lfo0_smooth->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo0_smooth = new Label ("LFO 1 smooth", + TRANS("value"))); + m_label_lfo0_smooth->setFont (Font (14.00f, Font::plain)); m_label_lfo0_smooth->setJustificationType (Justification::centred); m_label_lfo0_smooth->setEditable (true, true, false); m_label_lfo0_smooth->setColour (TextEditor::textColourId, Colours::black); - m_label_lfo0_smooth->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_lfo0_smooth->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_lfo0_smooth->addListener (this); - addAndMakeVisible (m_slider_lfo2_smooth = new Slider (L"LFO 3 smooth")); - m_slider_lfo2_smooth->setTooltip (L"LFO 3 smooth [%]"); + addAndMakeVisible (m_slider_lfo2_smooth = new Slider ("LFO 3 smooth")); + m_slider_lfo2_smooth->setTooltip (TRANS("LFO 3 smooth [%]")); m_slider_lfo2_smooth->setRange (0, 1, 0); m_slider_lfo2_smooth->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo2_smooth->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -977,17 +767,17 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo2_smooth->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo2_smooth->addListener (this); - addAndMakeVisible (m_label_lfo2_smooth = new Label (L"LFO 3 smooth", - L"value")); - m_label_lfo2_smooth->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo2_smooth = new Label ("LFO 3 smooth", + TRANS("value"))); + m_label_lfo2_smooth->setFont (Font (14.00f, Font::plain)); m_label_lfo2_smooth->setJustificationType (Justification::centred); m_label_lfo2_smooth->setEditable (true, true, false); m_label_lfo2_smooth->setColour (TextEditor::textColourId, Colours::black); - m_label_lfo2_smooth->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_lfo2_smooth->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_lfo2_smooth->addListener (this); - addAndMakeVisible (m_slider_lfo3_smooth = new Slider (L"LFO 4 smooth")); - m_slider_lfo3_smooth->setTooltip (L"LFO 4 smooth [%]"); + addAndMakeVisible (m_slider_lfo3_smooth = new Slider ("LFO 4 smooth")); + m_slider_lfo3_smooth->setTooltip (TRANS("LFO 4 smooth [%]")); m_slider_lfo3_smooth->setRange (0, 1, 0); m_slider_lfo3_smooth->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo3_smooth->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -995,17 +785,17 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo3_smooth->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo3_smooth->addListener (this); - addAndMakeVisible (m_label_lfo3_smooth = new Label (L"LFO 4 smooth", - L"value")); - m_label_lfo3_smooth->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo3_smooth = new Label ("LFO 4 smooth", + TRANS("value"))); + m_label_lfo3_smooth->setFont (Font (14.00f, Font::plain)); m_label_lfo3_smooth->setJustificationType (Justification::centred); m_label_lfo3_smooth->setEditable (true, true, false); m_label_lfo3_smooth->setColour (TextEditor::textColourId, Colours::black); - m_label_lfo3_smooth->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_lfo3_smooth->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_lfo3_smooth->addListener (this); - addAndMakeVisible (m_slider_osc0_pwm_amt0 = new Slider (L"OSC 1 PWM amount 1")); - m_slider_osc0_pwm_amt0->setTooltip (L"OSC 1 PWM Amount [%]"); + addAndMakeVisible (m_slider_osc0_pwm_amt0 = new Slider ("OSC 1 PWM amount 1")); + m_slider_osc0_pwm_amt0->setTooltip (TRANS("OSC 1 PWM Amount [%]")); m_slider_osc0_pwm_amt0->setRange (0, 1, 0); m_slider_osc0_pwm_amt0->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc0_pwm_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1013,17 +803,17 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc0_pwm_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc0_pwm_amt0->addListener (this); - addAndMakeVisible (m_label_osc0_pwm_amt0 = new Label (L"OSC 1 PWM 1", - L"value")); - m_label_osc0_pwm_amt0->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc0_pwm_amt0 = new Label ("OSC 1 PWM 1", + TRANS("value"))); + m_label_osc0_pwm_amt0->setFont (Font (14.00f, Font::plain)); m_label_osc0_pwm_amt0->setJustificationType (Justification::centred); m_label_osc0_pwm_amt0->setEditable (true, true, false); m_label_osc0_pwm_amt0->setColour (TextEditor::textColourId, Colours::black); - m_label_osc0_pwm_amt0->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc0_pwm_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc0_pwm_amt0->addListener (this); - addAndMakeVisible (m_slider_osc1_pwm_amt0 = new Slider (L"OSC 2 PWM amount 1")); - m_slider_osc1_pwm_amt0->setTooltip (L"OSC 2 PWM Amount [%]"); + addAndMakeVisible (m_slider_osc1_pwm_amt0 = new Slider ("OSC 2 PWM amount 1")); + m_slider_osc1_pwm_amt0->setTooltip (TRANS("OSC 2 PWM Amount [%]")); m_slider_osc1_pwm_amt0->setRange (0, 1, 0); m_slider_osc1_pwm_amt0->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc1_pwm_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1031,33 +821,33 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc1_pwm_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc1_pwm_amt0->addListener (this); - addAndMakeVisible (m_label_osc1_pwm_amt0 = new Label (L"OSC 2 PWM amount 1", - L"value")); - m_label_osc1_pwm_amt0->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc1_pwm_amt0 = new Label ("OSC 2 PWM amount 1", + TRANS("value"))); + m_label_osc1_pwm_amt0->setFont (Font (14.00f, Font::plain)); m_label_osc1_pwm_amt0->setJustificationType (Justification::centred); m_label_osc1_pwm_amt0->setEditable (true, true, false); m_label_osc1_pwm_amt0->setColour (TextEditor::textColourId, Colours::black); - m_label_osc1_pwm_amt0->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc1_pwm_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc1_pwm_amt0->addListener (this); - addAndMakeVisible (m_comboBox_osc0_pwm_src0 = new ComboBox (L"OSC 1 PWM Source 1")); - m_comboBox_osc0_pwm_src0->setTooltip (L"OSC 1 PWM Modulation Source 1"); + addAndMakeVisible (m_comboBox_osc0_pwm_src0 = new ComboBox ("OSC 1 PWM Source 1")); + m_comboBox_osc0_pwm_src0->setTooltip (TRANS("OSC 1 PWM Modulation Source 1")); m_comboBox_osc0_pwm_src0->setEditableText (false); m_comboBox_osc0_pwm_src0->setJustificationType (Justification::centred); m_comboBox_osc0_pwm_src0->setTextWhenNothingSelected (String::empty); - m_comboBox_osc0_pwm_src0->setTextWhenNoChoicesAvailable (L"(no choices)"); + m_comboBox_osc0_pwm_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); m_comboBox_osc0_pwm_src0->addListener (this); - addAndMakeVisible (m_comboBox_osc1_pwm_src0 = new ComboBox (L"OSC 2 PWM Source 1")); - m_comboBox_osc1_pwm_src0->setTooltip (L"OSC 2 PWM Modulation Source 1"); + addAndMakeVisible (m_comboBox_osc1_pwm_src0 = new ComboBox ("OSC 2 PWM Source 1")); + m_comboBox_osc1_pwm_src0->setTooltip (TRANS("OSC 2 PWM Modulation Source 1")); m_comboBox_osc1_pwm_src0->setEditableText (false); m_comboBox_osc1_pwm_src0->setJustificationType (Justification::centred); m_comboBox_osc1_pwm_src0->setTextWhenNothingSelected (String::empty); - m_comboBox_osc1_pwm_src0->setTextWhenNoChoicesAvailable (L"(no choices)"); + m_comboBox_osc1_pwm_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); m_comboBox_osc1_pwm_src0->addListener (this); - addAndMakeVisible (m_slider_osc0_level = new Slider (L"OSC 1 Level")); - m_slider_osc0_level->setTooltip (L"OSC 1 Level [%]"); + addAndMakeVisible (m_slider_osc0_level = new Slider ("OSC 1 Level")); + m_slider_osc0_level->setTooltip (TRANS("OSC 1 Level [%]")); m_slider_osc0_level->setRange (0, 1, 0); m_slider_osc0_level->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc0_level->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1066,17 +856,17 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc0_level->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc0_level->addListener (this); - addAndMakeVisible (m_label_osc0_level = new Label (L"OSC 1 Level", - L"value")); - m_label_osc0_level->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc0_level = new Label ("OSC 1 Level", + TRANS("value"))); + m_label_osc0_level->setFont (Font (14.00f, Font::plain)); m_label_osc0_level->setJustificationType (Justification::centred); m_label_osc0_level->setEditable (true, true, false); m_label_osc0_level->setColour (TextEditor::textColourId, Colours::black); - m_label_osc0_level->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc0_level->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc0_level->addListener (this); - addAndMakeVisible (m_slider_osc1_level = new Slider (L"OSC 2 Level")); - m_slider_osc1_level->setTooltip (L"OSC 2 Level [%]"); + addAndMakeVisible (m_slider_osc1_level = new Slider ("OSC 2 Level")); + m_slider_osc1_level->setTooltip (TRANS("OSC 2 Level [%]")); m_slider_osc1_level->setRange (0, 1, 0); m_slider_osc1_level->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc1_level->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1085,17 +875,17 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc1_level->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc1_level->addListener (this); - addAndMakeVisible (m_label_osc1_level = new Label (L"OSC 2 Level", - L"value")); - m_label_osc1_level->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc1_level = new Label ("OSC 2 Level", + TRANS("value"))); + m_label_osc1_level->setFont (Font (14.00f, Font::plain)); m_label_osc1_level->setJustificationType (Justification::centred); m_label_osc1_level->setEditable (true, true, false); m_label_osc1_level->setColour (TextEditor::textColourId, Colours::black); - m_label_osc1_level->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc1_level->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc1_level->addListener (this); - addAndMakeVisible (m_slider_noise_level = new Slider (L"Noise Level")); - m_slider_noise_level->setTooltip (L"Noise Level [%]"); + addAndMakeVisible (m_slider_noise_level = new Slider ("Noise Level")); + m_slider_noise_level->setTooltip (TRANS("Noise Level [%]")); m_slider_noise_level->setRange (0, 1, 0); m_slider_noise_level->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_noise_level->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1104,98 +894,98 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_noise_level->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_noise_level->addListener (this); - addAndMakeVisible (m_label_noise_level = new Label (L"Noise Level", - L"value")); - m_label_noise_level->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_noise_level = new Label ("Noise Level", + TRANS("value"))); + m_label_noise_level->setFont (Font (14.00f, Font::plain)); m_label_noise_level->setJustificationType (Justification::centred); m_label_noise_level->setEditable (true, true, false); m_label_noise_level->setColour (TextEditor::textColourId, Colours::black); - m_label_noise_level->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_noise_level->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_noise_level->addListener (this); - addAndMakeVisible (m_comboBox_noise_shape = new ComboBox (L"Noise shape")); - m_comboBox_noise_shape->setTooltip (L"Noise shape"); + addAndMakeVisible (m_comboBox_noise_shape = new ComboBox ("Noise shape")); + m_comboBox_noise_shape->setTooltip (TRANS("Noise shape")); m_comboBox_noise_shape->setEditableText (false); m_comboBox_noise_shape->setJustificationType (Justification::centred); m_comboBox_noise_shape->setTextWhenNothingSelected (String::empty); - m_comboBox_noise_shape->setTextWhenNoChoicesAvailable (L"(no choices)"); - m_comboBox_noise_shape->addItem (L"Uniform", 1); - m_comboBox_noise_shape->addItem (L"Gauss", 2); + m_comboBox_noise_shape->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); + m_comboBox_noise_shape->addItem (TRANS("Uniform"), 1); + m_comboBox_noise_shape->addItem (TRANS("Gauss"), 2); m_comboBox_noise_shape->addListener (this); addAndMakeVisible (m_btn_noise_enable_led = new ButtonLED (L"Noise On/Off")); addAndMakeVisible (m_btn_osc0_enable = new ButtonLED (L"OSC 1 On/Off")); addAndMakeVisible (m_btn_osc1_enable = new ButtonLED (L"OSC 2 On/Off")); - addAndMakeVisible (m_label_patch_name = new Label (L"Label Patch Name", - L"Patch name")); - m_label_patch_name->setFont (Font (20.0000f, Font::plain)); + addAndMakeVisible (m_label_patch_name = new Label ("Label Patch Name", + TRANS("Patch name"))); + m_label_patch_name->setFont (Font (20.00f, Font::plain)); m_label_patch_name->setJustificationType (Justification::centredLeft); m_label_patch_name->setEditable (true, true, false); m_label_patch_name->setColour (Label::textColourId, Colours::white); m_label_patch_name->setColour (TextEditor::textColourId, Colours::black); - m_label_patch_name->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_patch_name->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_patch_name->addListener (this); - addAndMakeVisible (m_button_patch_incr = new TextButton (L"Patch Increment")); - m_button_patch_incr->setTooltip (L"Next Patch"); - m_button_patch_incr->setButtonText (L"+"); + addAndMakeVisible (m_button_patch_incr = new TextButton ("Patch Increment")); + m_button_patch_incr->setTooltip (TRANS("Next Patch")); + m_button_patch_incr->setButtonText (TRANS("+")); - addAndMakeVisible (m_button_patch_decr = new TextButton (L"Patch Decrement")); - m_button_patch_decr->setTooltip (L"Previous Patch"); - m_button_patch_decr->setButtonText (L"-"); + addAndMakeVisible (m_button_patch_decr = new TextButton ("Patch Decrement")); + m_button_patch_decr->setTooltip (TRANS("Previous Patch")); + m_button_patch_decr->setButtonText (TRANS("-")); - addAndMakeVisible (m_label_patch_number = new Label (L"Label Patch Number", - L"00")); - m_label_patch_number->setFont (Font (20.0000f, Font::plain)); + addAndMakeVisible (m_label_patch_number = new Label ("Label Patch Number", + TRANS("00"))); + m_label_patch_number->setFont (Font (20.00f, Font::plain)); m_label_patch_number->setJustificationType (Justification::centredLeft); m_label_patch_number->setEditable (true, true, false); m_label_patch_number->setColour (Label::textColourId, Colours::white); m_label_patch_number->setColour (TextEditor::textColourId, Colours::black); - m_label_patch_number->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_patch_number->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_patch_number->addListener (this); - addAndMakeVisible (m_label_osc1_pb_min = new Label (L"OSC 2 Pitch bender min", - L"-24")); - m_label_osc1_pb_min->setTooltip (L"OSC 2 pitch bender minimum [semitones]"); - m_label_osc1_pb_min->setFont (Font (12.0000f, Font::plain)); + addAndMakeVisible (m_label_osc1_pb_min = new Label ("OSC 2 Pitch bender min", + TRANS("-24"))); + m_label_osc1_pb_min->setTooltip (TRANS("OSC 2 pitch bender minimum [semitones]")); + m_label_osc1_pb_min->setFont (Font (12.00f, Font::plain)); m_label_osc1_pb_min->setJustificationType (Justification::centred); m_label_osc1_pb_min->setEditable (true, true, false); m_label_osc1_pb_min->setColour (TextEditor::textColourId, Colours::black); - m_label_osc1_pb_min->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc1_pb_min->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc1_pb_min->addListener (this); - addAndMakeVisible (m_label_osc1_pb_max = new Label (L"OSC 2 Pitch bender max", - L"+24")); - m_label_osc1_pb_max->setTooltip (L"OSC 2 pitch bender maximum [semitones]"); - m_label_osc1_pb_max->setFont (Font (12.0000f, Font::plain)); + addAndMakeVisible (m_label_osc1_pb_max = new Label ("OSC 2 Pitch bender max", + TRANS("+24"))); + m_label_osc1_pb_max->setTooltip (TRANS("OSC 2 pitch bender maximum [semitones]")); + m_label_osc1_pb_max->setFont (Font (12.00f, Font::plain)); m_label_osc1_pb_max->setJustificationType (Justification::centred); m_label_osc1_pb_max->setEditable (true, true, false); m_label_osc1_pb_max->setColour (TextEditor::textColourId, Colours::black); - m_label_osc1_pb_max->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc1_pb_max->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc1_pb_max->addListener (this); - addAndMakeVisible (m_label_osc0_pb_max = new Label (L"OSC 1 Pitch bender max", - L"+24")); - m_label_osc0_pb_max->setTooltip (L"OSC 1 pitch bender maximum [semitones]"); - m_label_osc0_pb_max->setFont (Font (12.0000f, Font::plain)); + addAndMakeVisible (m_label_osc0_pb_max = new Label ("OSC 1 Pitch bender max", + TRANS("+24"))); + m_label_osc0_pb_max->setTooltip (TRANS("OSC 1 pitch bender maximum [semitones]")); + m_label_osc0_pb_max->setFont (Font (12.00f, Font::plain)); m_label_osc0_pb_max->setJustificationType (Justification::centred); m_label_osc0_pb_max->setEditable (true, true, false); m_label_osc0_pb_max->setColour (TextEditor::textColourId, Colours::black); - m_label_osc0_pb_max->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc0_pb_max->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc0_pb_max->addListener (this); - addAndMakeVisible (m_label_osc0_pb_min = new Label (L"OSC 1 Pitch bender min", - L"-24")); - m_label_osc0_pb_min->setTooltip (L"OSC 1 pitch bender minimum [semitones]"); - m_label_osc0_pb_min->setFont (Font (12.0000f, Font::plain)); + addAndMakeVisible (m_label_osc0_pb_min = new Label ("OSC 1 Pitch bender min", + TRANS("-24"))); + m_label_osc0_pb_min->setTooltip (TRANS("OSC 1 pitch bender minimum [semitones]")); + m_label_osc0_pb_min->setFont (Font (12.00f, Font::plain)); m_label_osc0_pb_min->setJustificationType (Justification::centred); m_label_osc0_pb_min->setEditable (true, true, false); m_label_osc0_pb_min->setColour (TextEditor::textColourId, Colours::black); - m_label_osc0_pb_min->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc0_pb_min->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc0_pb_min->addListener (this); - addAndMakeVisible (m_slider_master_tune = new Slider (L"Master tune")); - m_slider_master_tune->setTooltip (L"Master tune [semitones]"); + addAndMakeVisible (m_slider_master_tune = new Slider ("Master tune")); + m_slider_master_tune->setTooltip (TRANS("Master tune [semitones]")); m_slider_master_tune->setRange (0, 1, 0); m_slider_master_tune->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_master_tune->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1203,33 +993,33 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_master_tune->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_master_tune->addListener (this); - addAndMakeVisible (m_label_master_tune = new Label (L"Master tune", - L"value")); - m_label_master_tune->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_master_tune = new Label ("Master tune", + TRANS("value"))); + m_label_master_tune->setFont (Font (14.00f, Font::plain)); m_label_master_tune->setJustificationType (Justification::centred); m_label_master_tune->setEditable (true, true, false); m_label_master_tune->setColour (TextEditor::textColourId, Colours::black); - m_label_master_tune->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_master_tune->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_master_tune->addListener (this); - addAndMakeVisible (m_button_humanize_enable = new ToggleButton (L"Humanize Enable")); - m_button_humanize_enable->setTooltip (L"Humanize spreads individual voice parameter to get a more vivid sound\\n. Humanize alters VCO tune, VCF cutoff and ENV times."); - m_button_humanize_enable->setButtonText (L"Humanize"); + addAndMakeVisible (m_button_humanize_enable = new ToggleButton ("Humanize Enable")); + m_button_humanize_enable->setTooltip (TRANS("Humanize spreads individual voice parameter to get a more vivid sound\\n. Humanize alters VCO tune, VCF cutoff and ENV times.")); + m_button_humanize_enable->setButtonText (TRANS("Humanize")); m_button_humanize_enable->setColour (ToggleButton::textColourId, Colours::white); - addAndMakeVisible (m_comboBox_vcf_order = new ComboBox (L"VCF Order")); - m_comboBox_vcf_order->setTooltip (L"VCF Order"); + addAndMakeVisible (m_comboBox_vcf_order = new ComboBox ("VCF Order")); + m_comboBox_vcf_order->setTooltip (TRANS("VCF Order")); m_comboBox_vcf_order->setEditableText (false); m_comboBox_vcf_order->setJustificationType (Justification::centred); m_comboBox_vcf_order->setTextWhenNothingSelected (String::empty); - m_comboBox_vcf_order->setTextWhenNoChoicesAvailable (L"(no choices)"); - m_comboBox_vcf_order->addItem (L"12 dB/Oct.", 1); - m_comboBox_vcf_order->addItem (L"24 dB/Oct.", 2); + m_comboBox_vcf_order->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); + m_comboBox_vcf_order->addItem (TRANS("12 dB/Oct."), 1); + m_comboBox_vcf_order->addItem (TRANS("24 dB/Oct."), 2); m_comboBox_vcf_order->addSeparator(); m_comboBox_vcf_order->addListener (this); - addAndMakeVisible (m_slider_portamento_time = new Slider (L"Portamento Time")); - m_slider_portamento_time->setTooltip (L"Portamento Time [s]"); + addAndMakeVisible (m_slider_portamento_time = new Slider ("Portamento Time")); + m_slider_portamento_time->setTooltip (TRANS("Portamento Time [s]")); m_slider_portamento_time->setRange (0, 1, 0); m_slider_portamento_time->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_portamento_time->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1238,22 +1028,22 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_portamento_time->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_portamento_time->addListener (this); - addAndMakeVisible (m_label_portamento_time = new Label (L"Portamento Time", - L"value")); - m_label_portamento_time->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_portamento_time = new Label ("Portamento Time", + TRANS("value"))); + m_label_portamento_time->setFont (Font (14.00f, Font::plain)); m_label_portamento_time->setJustificationType (Justification::centred); m_label_portamento_time->setEditable (true, true, false); m_label_portamento_time->setColour (TextEditor::textColourId, Colours::black); - m_label_portamento_time->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_portamento_time->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_portamento_time->addListener (this); - addAndMakeVisible (m_button_unisono_enable = new ToggleButton (L"Unisono Enable")); - m_button_unisono_enable->setTooltip (L"This button switches unisono mode on and off"); - m_button_unisono_enable->setButtonText (L"Unisono"); + addAndMakeVisible (m_button_unisono_enable = new ToggleButton ("Unisono Enable")); + m_button_unisono_enable->setTooltip (TRANS("This button switches unisono mode on and off")); + m_button_unisono_enable->setButtonText (TRANS("Unisono")); m_button_unisono_enable->setColour (ToggleButton::textColourId, Colours::white); - addAndMakeVisible (m_slider_humanize_var_vco = new Slider (L"Humanize Variance VCO")); - m_slider_humanize_var_vco->setTooltip (L"Humanize spread VCO [%]"); + addAndMakeVisible (m_slider_humanize_var_vco = new Slider ("Humanize Variance VCO")); + m_slider_humanize_var_vco->setTooltip (TRANS("Humanize spread VCO [%]")); m_slider_humanize_var_vco->setRange (0, 1, 0); m_slider_humanize_var_vco->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_humanize_var_vco->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1261,8 +1051,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_humanize_var_vco->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_humanize_var_vco->addListener (this); - addAndMakeVisible (m_slider_voice_pan_spread = new Slider (L"Voice Pan Spread")); - m_slider_voice_pan_spread->setTooltip (L"Voice Pan Spread [%]"); + addAndMakeVisible (m_slider_voice_pan_spread = new Slider ("Voice Pan Spread")); + m_slider_voice_pan_spread->setTooltip (TRANS("Voice Pan Spread [%]")); m_slider_voice_pan_spread->setRange (0, 1, 0); m_slider_voice_pan_spread->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_voice_pan_spread->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1271,17 +1061,17 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_voice_pan_spread->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_voice_pan_spread->addListener (this); - addAndMakeVisible (m_label_voice_pan_spread = new Label (L"Voice Pan Spread", - L"value")); - m_label_voice_pan_spread->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_voice_pan_spread = new Label ("Voice Pan Spread", + TRANS("value"))); + m_label_voice_pan_spread->setFont (Font (14.00f, Font::plain)); m_label_voice_pan_spread->setJustificationType (Justification::centred); m_label_voice_pan_spread->setEditable (true, true, false); m_label_voice_pan_spread->setColour (TextEditor::textColourId, Colours::black); - m_label_voice_pan_spread->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_voice_pan_spread->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_voice_pan_spread->addListener (this); - addAndMakeVisible (m_slider_humanize_var_vcf = new Slider (L"Humanize Variance VCF")); - m_slider_humanize_var_vcf->setTooltip (L"Humanize spread VCF [%]"); + addAndMakeVisible (m_slider_humanize_var_vcf = new Slider ("Humanize Variance VCF")); + m_slider_humanize_var_vcf->setTooltip (TRANS("Humanize spread VCF [%]")); m_slider_humanize_var_vcf->setRange (0, 1, 0); m_slider_humanize_var_vcf->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_humanize_var_vcf->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1289,8 +1079,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_humanize_var_vcf->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_humanize_var_vcf->addListener (this); - addAndMakeVisible (m_slider_humanize_var_env = new Slider (L"Humanize Variance ENV")); - m_slider_humanize_var_env->setTooltip (L"Humanize spread Envelopes [%]"); + addAndMakeVisible (m_slider_humanize_var_env = new Slider ("Humanize Variance ENV")); + m_slider_humanize_var_env->setTooltip (TRANS("Humanize spread Envelopes [%]")); m_slider_humanize_var_env->setRange (0, 1, 0); m_slider_humanize_var_env->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_humanize_var_env->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1298,81 +1088,81 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_humanize_var_env->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_humanize_var_env->addListener (this); - addAndMakeVisible (m_label_unisono_num_voices = new Label (L"Unisono Number of Voices", - L"999")); - m_label_unisono_num_voices->setTooltip (L"Unisono number of voices to allocate"); - m_label_unisono_num_voices->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_unisono_num_voices = new Label ("Unisono Number of Voices", + TRANS("999"))); + m_label_unisono_num_voices->setTooltip (TRANS("Unisono number of voices to allocate")); + m_label_unisono_num_voices->setFont (Font (14.00f, Font::plain)); m_label_unisono_num_voices->setJustificationType (Justification::centred); m_label_unisono_num_voices->setEditable (true, true, false); m_label_unisono_num_voices->setColour (TextEditor::textColourId, Colours::black); - m_label_unisono_num_voices->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_unisono_num_voices->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_unisono_num_voices->addListener (this); - addAndMakeVisible (m_button_osc0_restart_enable = new ToggleButton (L"Restart VCO 1 Enable")); - m_button_osc0_restart_enable->setTooltip (L"If not set the VCO runs free, starting with different phases on each note trigger. If set, phase is reset on note trigger. This may add more punch to the sound if set on both VCOs."); - m_button_osc0_restart_enable->setButtonText (L"Restart"); + addAndMakeVisible (m_button_osc0_restart_enable = new ToggleButton ("Restart VCO 1 Enable")); + m_button_osc0_restart_enable->setTooltip (TRANS("If not set the VCO runs free, starting with different phases on each note trigger. If set, phase is reset on note trigger. This may add more punch to the sound if set on both VCOs.")); + m_button_osc0_restart_enable->setButtonText (TRANS("Restart")); m_button_osc0_restart_enable->setColour (ToggleButton::textColourId, Colours::white); - addAndMakeVisible (m_button_osc1_restart_enable = new ToggleButton (L"Restart VCO 2 Enable")); - m_button_osc1_restart_enable->setTooltip (L"If not set the VCO runs free, starting with different phases on each note trigger. If set, phase is reset on note trigger. This may add more punch to the sound if set on both VCOs."); - m_button_osc1_restart_enable->setButtonText (L"Restart"); + addAndMakeVisible (m_button_osc1_restart_enable = new ToggleButton ("Restart VCO 2 Enable")); + m_button_osc1_restart_enable->setTooltip (TRANS("If not set the VCO runs free, starting with different phases on each note trigger. If set, phase is reset on note trigger. This may add more punch to the sound if set on both VCOs.")); + m_button_osc1_restart_enable->setButtonText (TRANS("Restart")); m_button_osc1_restart_enable->setColour (ToggleButton::textColourId, Colours::white); - addAndMakeVisible (m_button_mono_enable = new ToggleButton (L"Monophonic Enable")); - m_button_mono_enable->setTooltip (L"This button switches monophonic mode on and off"); - m_button_mono_enable->setButtonText (L"Monophonic"); + addAndMakeVisible (m_button_mono_enable = new ToggleButton ("Monophonic Enable")); + m_button_mono_enable->setTooltip (TRANS("This button switches monophonic mode on and off")); + m_button_mono_enable->setButtonText (TRANS("Monophonic")); m_button_mono_enable->setColour (ToggleButton::textColourId, Colours::white); - addAndMakeVisible (m_comboBox_osc1_fm_src1 = new ComboBox (L"OSC 2 FM Source 2")); - m_comboBox_osc1_fm_src1->setTooltip (L"OSC 2 FM Modulation Source 2"); + addAndMakeVisible (m_comboBox_osc1_fm_src1 = new ComboBox ("OSC 2 FM Source 2")); + m_comboBox_osc1_fm_src1->setTooltip (TRANS("OSC 2 FM Modulation Source 2")); m_comboBox_osc1_fm_src1->setEditableText (false); m_comboBox_osc1_fm_src1->setJustificationType (Justification::centred); m_comboBox_osc1_fm_src1->setTextWhenNothingSelected (String::empty); - m_comboBox_osc1_fm_src1->setTextWhenNoChoicesAvailable (L"(no choices)"); + m_comboBox_osc1_fm_src1->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); m_comboBox_osc1_fm_src1->addListener (this); - addAndMakeVisible (m_comboBox_osc1_pwm_src1 = new ComboBox (L"OSC 2 PWM Source 2")); - m_comboBox_osc1_pwm_src1->setTooltip (L"OSC 2 PWM Modulation Source 2"); + addAndMakeVisible (m_comboBox_osc1_pwm_src1 = new ComboBox ("OSC 2 PWM Source 2")); + m_comboBox_osc1_pwm_src1->setTooltip (TRANS("OSC 2 PWM Modulation Source 2")); m_comboBox_osc1_pwm_src1->setEditableText (false); m_comboBox_osc1_pwm_src1->setJustificationType (Justification::centred); m_comboBox_osc1_pwm_src1->setTextWhenNothingSelected (String::empty); - m_comboBox_osc1_pwm_src1->setTextWhenNoChoicesAvailable (L"(no choices)"); + m_comboBox_osc1_pwm_src1->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); m_comboBox_osc1_pwm_src1->addListener (this); - addAndMakeVisible (m_comboBox_osc0_fm_src1 = new ComboBox (L"OSC 1 FM Source 2")); - m_comboBox_osc0_fm_src1->setTooltip (L"OSC 1 FM Modulation Source 2"); + addAndMakeVisible (m_comboBox_osc0_fm_src1 = new ComboBox ("OSC 1 FM Source 2")); + m_comboBox_osc0_fm_src1->setTooltip (TRANS("OSC 1 FM Modulation Source 2")); m_comboBox_osc0_fm_src1->setEditableText (false); m_comboBox_osc0_fm_src1->setJustificationType (Justification::centred); m_comboBox_osc0_fm_src1->setTextWhenNothingSelected (String::empty); - m_comboBox_osc0_fm_src1->setTextWhenNoChoicesAvailable (L"(no choices)"); + m_comboBox_osc0_fm_src1->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); m_comboBox_osc0_fm_src1->addListener (this); - addAndMakeVisible (m_comboBox_osc0_pwm_src1 = new ComboBox (L"OSC 1 PWM Source 2")); - m_comboBox_osc0_pwm_src1->setTooltip (L"OSC 1 PWM Modulation Source 2"); + addAndMakeVisible (m_comboBox_osc0_pwm_src1 = new ComboBox ("OSC 1 PWM Source 2")); + m_comboBox_osc0_pwm_src1->setTooltip (TRANS("OSC 1 PWM Modulation Source 2")); m_comboBox_osc0_pwm_src1->setEditableText (false); m_comboBox_osc0_pwm_src1->setJustificationType (Justification::centred); m_comboBox_osc0_pwm_src1->setTextWhenNothingSelected (String::empty); - m_comboBox_osc0_pwm_src1->setTextWhenNoChoicesAvailable (L"(no choices)"); + m_comboBox_osc0_pwm_src1->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); m_comboBox_osc0_pwm_src1->addListener (this); - addAndMakeVisible (m_comboBox_osc1_am_src0 = new ComboBox (L"OSC 2 AM Source 1")); - m_comboBox_osc1_am_src0->setTooltip (L"OSC 2 AM Modulation Source 1"); + addAndMakeVisible (m_comboBox_osc1_am_src0 = new ComboBox ("OSC 2 AM Source 1")); + m_comboBox_osc1_am_src0->setTooltip (TRANS("OSC 2 AM Modulation Source 1")); m_comboBox_osc1_am_src0->setEditableText (false); m_comboBox_osc1_am_src0->setJustificationType (Justification::centred); m_comboBox_osc1_am_src0->setTextWhenNothingSelected (String::empty); - m_comboBox_osc1_am_src0->setTextWhenNoChoicesAvailable (L"(no choices)"); + m_comboBox_osc1_am_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); m_comboBox_osc1_am_src0->addListener (this); - addAndMakeVisible (m_comboBox_osc1_am_src1 = new ComboBox (L"OSC 2 AM Source 2")); - m_comboBox_osc1_am_src1->setTooltip (L"OSC 2 AM Modulation Source 2"); + addAndMakeVisible (m_comboBox_osc1_am_src1 = new ComboBox ("OSC 2 AM Source 2")); + m_comboBox_osc1_am_src1->setTooltip (TRANS("OSC 2 AM Modulation Source 2")); m_comboBox_osc1_am_src1->setEditableText (false); m_comboBox_osc1_am_src1->setJustificationType (Justification::centred); m_comboBox_osc1_am_src1->setTextWhenNothingSelected (String::empty); - m_comboBox_osc1_am_src1->setTextWhenNoChoicesAvailable (L"(no choices)"); + m_comboBox_osc1_am_src1->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); m_comboBox_osc1_am_src1->addListener (this); - addAndMakeVisible (m_slider_osc1_am_amt0 = new Slider (L"OSC 2 AM amount 1")); - m_slider_osc1_am_amt0->setTooltip (L"OSC 2 AM amount [%]"); + addAndMakeVisible (m_slider_osc1_am_amt0 = new Slider ("OSC 2 AM amount 1")); + m_slider_osc1_am_amt0->setTooltip (TRANS("OSC 2 AM amount [%]")); m_slider_osc1_am_amt0->setRange (0, 1, 0); m_slider_osc1_am_amt0->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc1_am_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1380,33 +1170,33 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc1_am_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc1_am_amt0->addListener (this); - addAndMakeVisible (m_label_osc1_am_amt0 = new Label (L"OSC 2 AM amt 1", - L"value")); - m_label_osc1_am_amt0->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc1_am_amt0 = new Label ("OSC 2 AM amt 1", + TRANS("value"))); + m_label_osc1_am_amt0->setFont (Font (14.00f, Font::plain)); m_label_osc1_am_amt0->setJustificationType (Justification::centred); m_label_osc1_am_amt0->setEditable (true, true, false); m_label_osc1_am_amt0->setColour (TextEditor::textColourId, Colours::black); - m_label_osc1_am_amt0->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc1_am_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc1_am_amt0->addListener (this); - addAndMakeVisible (m_comboBox_osc0_am_src0 = new ComboBox (L"OSC 1 AM Source 1")); - m_comboBox_osc0_am_src0->setTooltip (L"OSC 1 AM Modulation Source 1"); + addAndMakeVisible (m_comboBox_osc0_am_src0 = new ComboBox ("OSC 1 AM Source 1")); + m_comboBox_osc0_am_src0->setTooltip (TRANS("OSC 1 AM Modulation Source 1")); m_comboBox_osc0_am_src0->setEditableText (false); m_comboBox_osc0_am_src0->setJustificationType (Justification::centred); m_comboBox_osc0_am_src0->setTextWhenNothingSelected (String::empty); - m_comboBox_osc0_am_src0->setTextWhenNoChoicesAvailable (L"(no choices)"); + m_comboBox_osc0_am_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); m_comboBox_osc0_am_src0->addListener (this); - addAndMakeVisible (m_comboBox_osc0_am_src1 = new ComboBox (L"OSC 1 AM Source 2")); - m_comboBox_osc0_am_src1->setTooltip (L"OSC 1 AM Modulation Source 2"); + addAndMakeVisible (m_comboBox_osc0_am_src1 = new ComboBox ("OSC 1 AM Source 2")); + m_comboBox_osc0_am_src1->setTooltip (TRANS("OSC 1 AM Modulation Source 2")); m_comboBox_osc0_am_src1->setEditableText (false); m_comboBox_osc0_am_src1->setJustificationType (Justification::centred); m_comboBox_osc0_am_src1->setTextWhenNothingSelected (String::empty); - m_comboBox_osc0_am_src1->setTextWhenNoChoicesAvailable (L"(no choices)"); + m_comboBox_osc0_am_src1->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); m_comboBox_osc0_am_src1->addListener (this); - addAndMakeVisible (m_slider_osc0_am_amt0 = new Slider (L"OSC 1 AM amount 1")); - m_slider_osc0_am_amt0->setTooltip (L"OSC 1 AM amount [%]"); + addAndMakeVisible (m_slider_osc0_am_amt0 = new Slider ("OSC 1 AM amount 1")); + m_slider_osc0_am_amt0->setTooltip (TRANS("OSC 1 AM amount [%]")); m_slider_osc0_am_amt0->setRange (0, 1, 0); m_slider_osc0_am_amt0->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc0_am_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1414,17 +1204,17 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc0_am_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc0_am_amt0->addListener (this); - addAndMakeVisible (m_label_osc0_am_amt0 = new Label (L"OSC 1 AM amt 1", - L"value")); - m_label_osc0_am_amt0->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc0_am_amt0 = new Label ("OSC 1 AM amt 1", + TRANS("value"))); + m_label_osc0_am_amt0->setFont (Font (14.00f, Font::plain)); m_label_osc0_am_amt0->setJustificationType (Justification::centred); m_label_osc0_am_amt0->setEditable (true, true, false); m_label_osc0_am_amt0->setColour (TextEditor::textColourId, Colours::black); - m_label_osc0_am_amt0->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc0_am_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc0_am_amt0->addListener (this); - addAndMakeVisible (m_slider_env2_attack = new Slider (L"ENV 3 Attack")); - m_slider_env2_attack->setTooltip (L"ENV 3 Attack Time [ms]"); + addAndMakeVisible (m_slider_env2_attack = new Slider ("ENV 3 Attack")); + m_slider_env2_attack->setTooltip (TRANS("ENV 3 Attack Time [ms]")); m_slider_env2_attack->setRange (0, 1, 0); m_slider_env2_attack->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_env2_attack->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1432,8 +1222,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_env2_attack->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_env2_attack->addListener (this); - addAndMakeVisible (m_slider_env2_decay = new Slider (L"ENV 3 Decay")); - m_slider_env2_decay->setTooltip (L"ENV 3 Decay Time [ms]"); + addAndMakeVisible (m_slider_env2_decay = new Slider ("ENV 3 Decay")); + m_slider_env2_decay->setTooltip (TRANS("ENV 3 Decay Time [ms]")); m_slider_env2_decay->setRange (0, 1, 0); m_slider_env2_decay->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_env2_decay->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1441,8 +1231,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_env2_decay->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_env2_decay->addListener (this); - addAndMakeVisible (m_slider_env2_release = new Slider (L"ENV 3 Release")); - m_slider_env2_release->setTooltip (L"ENV 3 Release Time [ms]"); + addAndMakeVisible (m_slider_env2_release = new Slider ("ENV 3 Release")); + m_slider_env2_release->setTooltip (TRANS("ENV 3 Release Time [ms]")); m_slider_env2_release->setRange (0, 1, 0); m_slider_env2_release->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_env2_release->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1450,8 +1240,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_env2_release->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_env2_release->addListener (this); - addAndMakeVisible (m_slider_env2_sustain = new Slider (L"ENV 3 Sustain")); - m_slider_env2_sustain->setTooltip (L"ENV 3 Sustain Level [%]"); + addAndMakeVisible (m_slider_env2_sustain = new Slider ("ENV 3 Sustain")); + m_slider_env2_sustain->setTooltip (TRANS("ENV 3 Sustain Level [%]")); m_slider_env2_sustain->setRange (0, 1, 0); m_slider_env2_sustain->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_env2_sustain->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1459,44 +1249,44 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_env2_sustain->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_env2_sustain->addListener (this); - addAndMakeVisible (m_label_env2_attack = new Label (L"ENV 3 Attack", - L"value")); - m_label_env2_attack->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_env2_attack = new Label ("ENV 3 Attack", + TRANS("value"))); + m_label_env2_attack->setFont (Font (14.00f, Font::plain)); m_label_env2_attack->setJustificationType (Justification::centred); m_label_env2_attack->setEditable (true, true, false); m_label_env2_attack->setColour (TextEditor::textColourId, Colours::black); - m_label_env2_attack->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_env2_attack->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_env2_attack->addListener (this); - addAndMakeVisible (m_label_env2_decay = new Label (L"ENV 3 Decay", - L"value")); - m_label_env2_decay->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_env2_decay = new Label ("ENV 3 Decay", + TRANS("value"))); + m_label_env2_decay->setFont (Font (14.00f, Font::plain)); m_label_env2_decay->setJustificationType (Justification::centred); m_label_env2_decay->setEditable (true, true, false); m_label_env2_decay->setColour (TextEditor::textColourId, Colours::black); - m_label_env2_decay->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_env2_decay->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_env2_decay->addListener (this); - addAndMakeVisible (m_label_env2_sustain = new Label (L"ENV 3 Sustain", - L"value")); - m_label_env2_sustain->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_env2_sustain = new Label ("ENV 3 Sustain", + TRANS("value"))); + m_label_env2_sustain->setFont (Font (14.00f, Font::plain)); m_label_env2_sustain->setJustificationType (Justification::centred); m_label_env2_sustain->setEditable (true, true, false); m_label_env2_sustain->setColour (TextEditor::textColourId, Colours::black); - m_label_env2_sustain->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_env2_sustain->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_env2_sustain->addListener (this); - addAndMakeVisible (m_label_env2_release = new Label (L"ENV 3 Release", - L"value")); - m_label_env2_release->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_env2_release = new Label ("ENV 3 Release", + TRANS("value"))); + m_label_env2_release->setFont (Font (14.00f, Font::plain)); m_label_env2_release->setJustificationType (Justification::centred); m_label_env2_release->setEditable (true, true, false); m_label_env2_release->setColour (TextEditor::textColourId, Colours::black); - m_label_env2_release->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_env2_release->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_env2_release->addListener (this); - addAndMakeVisible (m_slider_env3_attack = new Slider (L"ENV 4 Attack")); - m_slider_env3_attack->setTooltip (L"ENV 4 Attack Time [ms]"); + addAndMakeVisible (m_slider_env3_attack = new Slider ("ENV 4 Attack")); + m_slider_env3_attack->setTooltip (TRANS("ENV 4 Attack Time [ms]")); m_slider_env3_attack->setRange (0, 1, 0); m_slider_env3_attack->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_env3_attack->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1504,8 +1294,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_env3_attack->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_env3_attack->addListener (this); - addAndMakeVisible (m_slider_env3_decay = new Slider (L"ENV 4 Decay")); - m_slider_env3_decay->setTooltip (L"ENV 4 Decay Time [ms]"); + addAndMakeVisible (m_slider_env3_decay = new Slider ("ENV 4 Decay")); + m_slider_env3_decay->setTooltip (TRANS("ENV 4 Decay Time [ms]")); m_slider_env3_decay->setRange (0, 1, 0); m_slider_env3_decay->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_env3_decay->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1513,8 +1303,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_env3_decay->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_env3_decay->addListener (this); - addAndMakeVisible (m_slider_env3_release = new Slider (L"ENV 4 Release")); - m_slider_env3_release->setTooltip (L"ENV 4 Release Time [ms]"); + addAndMakeVisible (m_slider_env3_release = new Slider ("ENV 4 Release")); + m_slider_env3_release->setTooltip (TRANS("ENV 4 Release Time [ms]")); m_slider_env3_release->setRange (0, 1, 0); m_slider_env3_release->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_env3_release->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1522,8 +1312,8 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_env3_release->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_env3_release->addListener (this); - addAndMakeVisible (m_slider_env3_sustain = new Slider (L"ENV 4 Sustain")); - m_slider_env3_sustain->setTooltip (L"ENV 4 Sustain Level [%]"); + addAndMakeVisible (m_slider_env3_sustain = new Slider ("ENV 4 Sustain")); + m_slider_env3_sustain->setTooltip (TRANS("ENV 4 Sustain Level [%]")); m_slider_env3_sustain->setRange (0, 1, 0); m_slider_env3_sustain->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_env3_sustain->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1531,52 +1321,52 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_env3_sustain->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_env3_sustain->addListener (this); - addAndMakeVisible (m_label_env3_attack = new Label (L"ENV 4 Attack", - L"value")); - m_label_env3_attack->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_env3_attack = new Label ("ENV 4 Attack", + TRANS("value"))); + m_label_env3_attack->setFont (Font (14.00f, Font::plain)); m_label_env3_attack->setJustificationType (Justification::centred); m_label_env3_attack->setEditable (true, true, false); m_label_env3_attack->setColour (TextEditor::textColourId, Colours::black); - m_label_env3_attack->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_env3_attack->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_env3_attack->addListener (this); - addAndMakeVisible (m_label_env3_decay = new Label (L"ENV 4 Decay", - L"value")); - m_label_env3_decay->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_env3_decay = new Label ("ENV 4 Decay", + TRANS("value"))); + m_label_env3_decay->setFont (Font (14.00f, Font::plain)); m_label_env3_decay->setJustificationType (Justification::centred); m_label_env3_decay->setEditable (true, true, false); m_label_env3_decay->setColour (TextEditor::textColourId, Colours::black); - m_label_env3_decay->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_env3_decay->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_env3_decay->addListener (this); - addAndMakeVisible (m_label_env3_sustain = new Label (L"ENV 4 Sustain", - L"value")); - m_label_env3_sustain->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_env3_sustain = new Label ("ENV 4 Sustain", + TRANS("value"))); + m_label_env3_sustain->setFont (Font (14.00f, Font::plain)); m_label_env3_sustain->setJustificationType (Justification::centred); m_label_env3_sustain->setEditable (true, true, false); m_label_env3_sustain->setColour (TextEditor::textColourId, Colours::black); - m_label_env3_sustain->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_env3_sustain->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_env3_sustain->addListener (this); - addAndMakeVisible (m_label_env3_release = new Label (L"ENV 4 Release", - L"value")); - m_label_env3_release->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_env3_release = new Label ("ENV 4 Release", + TRANS("value"))); + m_label_env3_release->setFont (Font (14.00f, Font::plain)); m_label_env3_release->setJustificationType (Justification::centred); m_label_env3_release->setEditable (true, true, false); m_label_env3_release->setColour (TextEditor::textColourId, Colours::black); - m_label_env3_release->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_env3_release->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_env3_release->addListener (this); - addAndMakeVisible (m_comboBox_vcf_f_src1 = new ComboBox (L"VCF Cutoff Source 2")); - m_comboBox_vcf_f_src1->setTooltip (L"VCF Cutoff Modulation Source 2"); + addAndMakeVisible (m_comboBox_vcf_f_src1 = new ComboBox ("VCF Cutoff Source 2")); + m_comboBox_vcf_f_src1->setTooltip (TRANS("VCF Cutoff Modulation Source 2")); m_comboBox_vcf_f_src1->setEditableText (false); m_comboBox_vcf_f_src1->setJustificationType (Justification::centred); m_comboBox_vcf_f_src1->setTextWhenNothingSelected (String::empty); - m_comboBox_vcf_f_src1->setTextWhenNoChoicesAvailable (L"(no choices)"); + m_comboBox_vcf_f_src1->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); m_comboBox_vcf_f_src1->addListener (this); - addAndMakeVisible (m_slider_vcf_q_amt0 = new Slider (L"VCF Resonance amount 1")); - m_slider_vcf_q_amt0->setTooltip (L"VCF Resonance Amount [%]"); + addAndMakeVisible (m_slider_vcf_q_amt0 = new Slider ("VCF Resonance amount 1")); + m_slider_vcf_q_amt0->setTooltip (TRANS("VCF Resonance Amount [%]")); m_slider_vcf_q_amt0->setRange (0, 1, 0); m_slider_vcf_q_amt0->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_vcf_q_amt0->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1584,70 +1374,70 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_vcf_q_amt0->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_vcf_q_amt0->addListener (this); - addAndMakeVisible (m_label_vcf_q_amt0 = new Label (L"VCF Resonance amount 1", - L"value")); - m_label_vcf_q_amt0->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_vcf_q_amt0 = new Label ("VCF Resonance amount 1", + TRANS("value"))); + m_label_vcf_q_amt0->setFont (Font (14.00f, Font::plain)); m_label_vcf_q_amt0->setJustificationType (Justification::centred); m_label_vcf_q_amt0->setEditable (true, true, false); m_label_vcf_q_amt0->setColour (TextEditor::textColourId, Colours::black); - m_label_vcf_q_amt0->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_vcf_q_amt0->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_vcf_q_amt0->addListener (this); - addAndMakeVisible (m_comboBox_vcf_q_src0 = new ComboBox (L"VCF Resonance Source 1")); - m_comboBox_vcf_q_src0->setTooltip (L"VCF Resonance Modulation Source 1"); + addAndMakeVisible (m_comboBox_vcf_q_src0 = new ComboBox ("VCF Resonance Source 1")); + m_comboBox_vcf_q_src0->setTooltip (TRANS("VCF Resonance Modulation Source 1")); m_comboBox_vcf_q_src0->setEditableText (false); m_comboBox_vcf_q_src0->setJustificationType (Justification::centred); m_comboBox_vcf_q_src0->setTextWhenNothingSelected (String::empty); - m_comboBox_vcf_q_src0->setTextWhenNoChoicesAvailable (L"(no choices)"); + m_comboBox_vcf_q_src0->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); m_comboBox_vcf_q_src0->addListener (this); - addAndMakeVisible (m_comboBox_vcf_q_src1 = new ComboBox (L"VCF Resonance Source 2")); - m_comboBox_vcf_q_src1->setTooltip (L"VCF Resonance Modulation Source 2"); + addAndMakeVisible (m_comboBox_vcf_q_src1 = new ComboBox ("VCF Resonance Source 2")); + m_comboBox_vcf_q_src1->setTooltip (TRANS("VCF Resonance Modulation Source 2")); m_comboBox_vcf_q_src1->setEditableText (false); m_comboBox_vcf_q_src1->setJustificationType (Justification::centred); m_comboBox_vcf_q_src1->setTextWhenNothingSelected (String::empty); - m_comboBox_vcf_q_src1->setTextWhenNoChoicesAvailable (L"(no choices)"); + m_comboBox_vcf_q_src1->setTextWhenNoChoicesAvailable (TRANS("(no choices)")); m_comboBox_vcf_q_src1->addListener (this); - addAndMakeVisible (m_label_humanize_var_vco = new Label (L"Humanize Variance VCO", - L"value")); - m_label_humanize_var_vco->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_humanize_var_vco = new Label ("Humanize Variance VCO", + TRANS("value"))); + m_label_humanize_var_vco->setFont (Font (14.00f, Font::plain)); m_label_humanize_var_vco->setJustificationType (Justification::centred); m_label_humanize_var_vco->setEditable (true, true, false); m_label_humanize_var_vco->setColour (TextEditor::textColourId, Colours::black); - m_label_humanize_var_vco->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_humanize_var_vco->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_humanize_var_vco->addListener (this); - addAndMakeVisible (m_label_humanize_var_vcf = new Label (L"Humanize Variance VCF", - L"value")); - m_label_humanize_var_vcf->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_humanize_var_vcf = new Label ("Humanize Variance VCF", + TRANS("value"))); + m_label_humanize_var_vcf->setFont (Font (14.00f, Font::plain)); m_label_humanize_var_vcf->setJustificationType (Justification::centred); m_label_humanize_var_vcf->setEditable (true, true, false); m_label_humanize_var_vcf->setColour (TextEditor::textColourId, Colours::black); - m_label_humanize_var_vcf->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_humanize_var_vcf->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_humanize_var_vcf->addListener (this); - addAndMakeVisible (m_label_humanize_var_env = new Label (L"Humanize Variance ENV", - L"value")); - m_label_humanize_var_env->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_humanize_var_env = new Label ("Humanize Variance ENV", + TRANS("value"))); + m_label_humanize_var_env->setFont (Font (14.00f, Font::plain)); m_label_humanize_var_env->setJustificationType (Justification::centred); m_label_humanize_var_env->setEditable (true, true, false); m_label_humanize_var_env->setColour (TextEditor::textColourId, Colours::black); - m_label_humanize_var_env->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_humanize_var_env->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_humanize_var_env->addListener (this); addAndMakeVisible (m_btn_limiter_led = new ButtonLED (L"Limiter 1 On/Off")); - addAndMakeVisible (m_label_limiter_led = new Label (L"Limiter LED Text", - L"Limiting")); - m_label_limiter_led->setFont (Font (L"Arial", 12.0000f, Font::plain)); + addAndMakeVisible (m_label_limiter_led = new Label ("Limiter LED Text", + TRANS("Limiting"))); + m_label_limiter_led->setFont (Font ("Arial", 12.00f, Font::plain)); m_label_limiter_led->setJustificationType (Justification::centredLeft); m_label_limiter_led->setEditable (false, false, false); m_label_limiter_led->setColour (Label::textColourId, Colours::white); m_label_limiter_led->setColour (TextEditor::textColourId, Colours::black); - m_label_limiter_led->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_limiter_led->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); - addAndMakeVisible (m_slider_lfo0_delay = new Slider (L"LFO 1 Delay")); - m_slider_lfo0_delay->setTooltip (L"LFO 1 Delay [ms]. Use with Sync = \'Restart\'."); + addAndMakeVisible (m_slider_lfo0_delay = new Slider ("LFO 1 Delay")); + m_slider_lfo0_delay->setTooltip (TRANS("LFO 1 Delay [ms]. Use with Sync = \'Restart\'.")); m_slider_lfo0_delay->setRange (0, 1, 0); m_slider_lfo0_delay->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo0_delay->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1655,19 +1445,19 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo0_delay->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo0_delay->addListener (this); - addAndMakeVisible (m_label_lfo0_delay = new Label (L"LFO 1 Delay", - L"value")); - m_label_lfo0_delay->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo0_delay = new Label ("LFO 1 Delay", + TRANS("value"))); + m_label_lfo0_delay->setFont (Font (14.00f, Font::plain)); m_label_lfo0_delay->setJustificationType (Justification::centred); m_label_lfo0_delay->setEditable (true, true, false); - m_label_lfo0_delay->setColour (Label::outlineColourId, Colour (0x0)); + m_label_lfo0_delay->setColour (Label::outlineColourId, Colour (0x00000000)); m_label_lfo0_delay->setColour (TextEditor::textColourId, Colours::azure); - m_label_lfo0_delay->setColour (TextEditor::backgroundColourId, Colour (0x0)); - m_label_lfo0_delay->setColour (TextEditor::highlightColourId, Colour (0xf7f7f7)); + m_label_lfo0_delay->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + m_label_lfo0_delay->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7)); m_label_lfo0_delay->addListener (this); - addAndMakeVisible (m_slider_lfo0_attack = new Slider (L"LFO 1 Attack")); - m_slider_lfo0_attack->setTooltip (L"LFO 1 Attack Time [ms]. Use with Sync = \'Restart\'."); + addAndMakeVisible (m_slider_lfo0_attack = new Slider ("LFO 1 Attack")); + m_slider_lfo0_attack->setTooltip (TRANS("LFO 1 Attack Time [ms]. Use with Sync = \'Restart\'.")); m_slider_lfo0_attack->setRange (0, 1, 0); m_slider_lfo0_attack->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo0_attack->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1675,19 +1465,19 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo0_attack->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo0_attack->addListener (this); - addAndMakeVisible (m_label_lfo0_attack = new Label (L"LFO 1 Attack", - L"value")); - m_label_lfo0_attack->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo0_attack = new Label ("LFO 1 Attack", + TRANS("value"))); + m_label_lfo0_attack->setFont (Font (14.00f, Font::plain)); m_label_lfo0_attack->setJustificationType (Justification::centred); m_label_lfo0_attack->setEditable (true, true, false); - m_label_lfo0_attack->setColour (Label::outlineColourId, Colour (0x0)); + m_label_lfo0_attack->setColour (Label::outlineColourId, Colour (0x00000000)); m_label_lfo0_attack->setColour (TextEditor::textColourId, Colours::azure); - m_label_lfo0_attack->setColour (TextEditor::backgroundColourId, Colour (0x0)); - m_label_lfo0_attack->setColour (TextEditor::highlightColourId, Colour (0xf7f7f7)); + m_label_lfo0_attack->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + m_label_lfo0_attack->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7)); m_label_lfo0_attack->addListener (this); - addAndMakeVisible (m_slider_lfo1_delay = new Slider (L"LFO 2 Delay")); - m_slider_lfo1_delay->setTooltip (L"LFO 2 Delay [ms]. Use with Sync = \'Restart\'."); + addAndMakeVisible (m_slider_lfo1_delay = new Slider ("LFO 2 Delay")); + m_slider_lfo1_delay->setTooltip (TRANS("LFO 2 Delay [ms]. Use with Sync = \'Restart\'.")); m_slider_lfo1_delay->setRange (0, 1, 0); m_slider_lfo1_delay->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo1_delay->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1695,19 +1485,19 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo1_delay->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo1_delay->addListener (this); - addAndMakeVisible (m_label_lfo1_delay = new Label (L"LFO 2 Delay", - L"value")); - m_label_lfo1_delay->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo1_delay = new Label ("LFO 2 Delay", + TRANS("value"))); + m_label_lfo1_delay->setFont (Font (14.00f, Font::plain)); m_label_lfo1_delay->setJustificationType (Justification::centred); m_label_lfo1_delay->setEditable (true, true, false); - m_label_lfo1_delay->setColour (Label::outlineColourId, Colour (0x0)); + m_label_lfo1_delay->setColour (Label::outlineColourId, Colour (0x00000000)); m_label_lfo1_delay->setColour (TextEditor::textColourId, Colours::azure); - m_label_lfo1_delay->setColour (TextEditor::backgroundColourId, Colour (0x0)); - m_label_lfo1_delay->setColour (TextEditor::highlightColourId, Colour (0xf7f7f7)); + m_label_lfo1_delay->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + m_label_lfo1_delay->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7)); m_label_lfo1_delay->addListener (this); - addAndMakeVisible (m_slider_lfo1_attack = new Slider (L"LFO 2 Attack")); - m_slider_lfo1_attack->setTooltip (L"LFO 2 Attack Time [ms]. Use with Sync = \'Restart\'."); + addAndMakeVisible (m_slider_lfo1_attack = new Slider ("LFO 2 Attack")); + m_slider_lfo1_attack->setTooltip (TRANS("LFO 2 Attack Time [ms]. Use with Sync = \'Restart\'.")); m_slider_lfo1_attack->setRange (0, 1, 0); m_slider_lfo1_attack->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo1_attack->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1715,19 +1505,19 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo1_attack->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo1_attack->addListener (this); - addAndMakeVisible (m_label_lfo1_attack = new Label (L"LFO 2 Attack", - L"value")); - m_label_lfo1_attack->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo1_attack = new Label ("LFO 2 Attack", + TRANS("value"))); + m_label_lfo1_attack->setFont (Font (14.00f, Font::plain)); m_label_lfo1_attack->setJustificationType (Justification::centred); m_label_lfo1_attack->setEditable (true, true, false); - m_label_lfo1_attack->setColour (Label::outlineColourId, Colour (0x0)); + m_label_lfo1_attack->setColour (Label::outlineColourId, Colour (0x00000000)); m_label_lfo1_attack->setColour (TextEditor::textColourId, Colours::azure); - m_label_lfo1_attack->setColour (TextEditor::backgroundColourId, Colour (0x0)); - m_label_lfo1_attack->setColour (TextEditor::highlightColourId, Colour (0xf7f7f7)); + m_label_lfo1_attack->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + m_label_lfo1_attack->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7)); m_label_lfo1_attack->addListener (this); - addAndMakeVisible (m_slider_lfo2_delay = new Slider (L"LFO 3 Delay")); - m_slider_lfo2_delay->setTooltip (L"LFO 3 Delay [ms]. Use with Sync = \'Restart\'."); + addAndMakeVisible (m_slider_lfo2_delay = new Slider ("LFO 3 Delay")); + m_slider_lfo2_delay->setTooltip (TRANS("LFO 3 Delay [ms]. Use with Sync = \'Restart\'.")); m_slider_lfo2_delay->setRange (0, 1, 0); m_slider_lfo2_delay->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo2_delay->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1735,19 +1525,19 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo2_delay->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo2_delay->addListener (this); - addAndMakeVisible (m_label_lfo2_delay = new Label (L"LFO 3 Delay", - L"value")); - m_label_lfo2_delay->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo2_delay = new Label ("LFO 3 Delay", + TRANS("value"))); + m_label_lfo2_delay->setFont (Font (14.00f, Font::plain)); m_label_lfo2_delay->setJustificationType (Justification::centred); m_label_lfo2_delay->setEditable (true, true, false); - m_label_lfo2_delay->setColour (Label::outlineColourId, Colour (0x0)); + m_label_lfo2_delay->setColour (Label::outlineColourId, Colour (0x00000000)); m_label_lfo2_delay->setColour (TextEditor::textColourId, Colours::azure); - m_label_lfo2_delay->setColour (TextEditor::backgroundColourId, Colour (0x0)); - m_label_lfo2_delay->setColour (TextEditor::highlightColourId, Colour (0xf7f7f7)); + m_label_lfo2_delay->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + m_label_lfo2_delay->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7)); m_label_lfo2_delay->addListener (this); - addAndMakeVisible (m_slider_lfo2_attack = new Slider (L"LFO 3 Attack")); - m_slider_lfo2_attack->setTooltip (L"LFO 3 Attack Time [ms]. Use with Sync = \'Restart\'."); + addAndMakeVisible (m_slider_lfo2_attack = new Slider ("LFO 3 Attack")); + m_slider_lfo2_attack->setTooltip (TRANS("LFO 3 Attack Time [ms]. Use with Sync = \'Restart\'.")); m_slider_lfo2_attack->setRange (0, 1, 0); m_slider_lfo2_attack->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo2_attack->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1755,19 +1545,19 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo2_attack->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo2_attack->addListener (this); - addAndMakeVisible (m_label_lfo2_attack = new Label (L"LFO 3 Attack", - L"value")); - m_label_lfo2_attack->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo2_attack = new Label ("LFO 3 Attack", + TRANS("value"))); + m_label_lfo2_attack->setFont (Font (14.00f, Font::plain)); m_label_lfo2_attack->setJustificationType (Justification::centred); m_label_lfo2_attack->setEditable (true, true, false); - m_label_lfo2_attack->setColour (Label::outlineColourId, Colour (0x0)); + m_label_lfo2_attack->setColour (Label::outlineColourId, Colour (0x00000000)); m_label_lfo2_attack->setColour (TextEditor::textColourId, Colours::azure); - m_label_lfo2_attack->setColour (TextEditor::backgroundColourId, Colour (0x0)); - m_label_lfo2_attack->setColour (TextEditor::highlightColourId, Colour (0xf7f7f7)); + m_label_lfo2_attack->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + m_label_lfo2_attack->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7)); m_label_lfo2_attack->addListener (this); - addAndMakeVisible (m_slider_lfo3_delay = new Slider (L"LFO 4 Delay")); - m_slider_lfo3_delay->setTooltip (L"LFO 4 Delay [ms]. Use with Sync = \'Restart\'."); + addAndMakeVisible (m_slider_lfo3_delay = new Slider ("LFO 4 Delay")); + m_slider_lfo3_delay->setTooltip (TRANS("LFO 4 Delay [ms]. Use with Sync = \'Restart\'.")); m_slider_lfo3_delay->setRange (0, 1, 0); m_slider_lfo3_delay->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo3_delay->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1775,19 +1565,19 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo3_delay->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo3_delay->addListener (this); - addAndMakeVisible (m_label_lfo3_delay = new Label (L"LFO 4 Delay", - L"value")); - m_label_lfo3_delay->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo3_delay = new Label ("LFO 4 Delay", + TRANS("value"))); + m_label_lfo3_delay->setFont (Font (14.00f, Font::plain)); m_label_lfo3_delay->setJustificationType (Justification::centred); m_label_lfo3_delay->setEditable (true, true, false); - m_label_lfo3_delay->setColour (Label::outlineColourId, Colour (0x0)); + m_label_lfo3_delay->setColour (Label::outlineColourId, Colour (0x00000000)); m_label_lfo3_delay->setColour (TextEditor::textColourId, Colours::azure); - m_label_lfo3_delay->setColour (TextEditor::backgroundColourId, Colour (0x0)); - m_label_lfo3_delay->setColour (TextEditor::highlightColourId, Colour (0xf7f7f7)); + m_label_lfo3_delay->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + m_label_lfo3_delay->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7)); m_label_lfo3_delay->addListener (this); - addAndMakeVisible (m_slider_lfo3_attack = new Slider (L"LFO 4 Attack")); - m_slider_lfo3_attack->setTooltip (L"LFO 4 Attack Time [ms]. Use with Sync = \'Restart\'."); + addAndMakeVisible (m_slider_lfo3_attack = new Slider ("LFO 4 Attack")); + m_slider_lfo3_attack->setTooltip (TRANS("LFO 4 Attack Time [ms]. Use with Sync = \'Restart\'.")); m_slider_lfo3_attack->setRange (0, 1, 0); m_slider_lfo3_attack->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo3_attack->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1795,29 +1585,29 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo3_attack->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo3_attack->addListener (this); - addAndMakeVisible (m_label_lfo3_attack = new Label (L"LFO 4 Attack", - L"value")); - m_label_lfo3_attack->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo3_attack = new Label ("LFO 4 Attack", + TRANS("value"))); + m_label_lfo3_attack->setFont (Font (14.00f, Font::plain)); m_label_lfo3_attack->setJustificationType (Justification::centred); m_label_lfo3_attack->setEditable (true, true, false); - m_label_lfo3_attack->setColour (Label::outlineColourId, Colour (0x0)); + m_label_lfo3_attack->setColour (Label::outlineColourId, Colour (0x00000000)); m_label_lfo3_attack->setColour (TextEditor::textColourId, Colours::azure); - m_label_lfo3_attack->setColour (TextEditor::backgroundColourId, Colour (0x0)); - m_label_lfo3_attack->setColour (TextEditor::highlightColourId, Colour (0xf7f7f7)); + m_label_lfo3_attack->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + m_label_lfo3_attack->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7)); m_label_lfo3_attack->addListener (this); - addAndMakeVisible (m_button_lfo0_restart_enable = new ToggleButton (L"Restart LFO 1 Enable")); - m_button_lfo0_restart_enable->setTooltip (L"Use \'Restart\' to reset LFO phase on each note trigger. Use \'Free\' to use a free running LFO."); + addAndMakeVisible (m_button_lfo0_restart_enable = new ToggleButton ("Restart LFO 1 Enable")); + m_button_lfo0_restart_enable->setTooltip (TRANS("Use \'Restart\' to reset LFO phase on each note trigger. Use \'Free\' to use a free running LFO.")); m_button_lfo0_restart_enable->setButtonText (String::empty); m_button_lfo0_restart_enable->setColour (ToggleButton::textColourId, Colours::white); - addAndMakeVisible (m_button_lfo0_individual_enable = new ToggleButton (L"LFO 1 Global Enable")); - m_button_lfo0_individual_enable->setTooltip (L"Set this to \'Global\' to use the LFO for all voices. Set this to \'Individual\' to make voices have their own LFO."); + addAndMakeVisible (m_button_lfo0_individual_enable = new ToggleButton ("LFO 1 Global Enable")); + m_button_lfo0_individual_enable->setTooltip (TRANS("Set this to \'Global\' to use the LFO for all voices. Set this to \'Individual\' to make voices have their own LFO.")); m_button_lfo0_individual_enable->setButtonText (String::empty); m_button_lfo0_individual_enable->setColour (ToggleButton::textColourId, Colours::white); - addAndMakeVisible (m_slider_lfo0_symmetry = new Slider (L"LFO 1 Symmetry")); - m_slider_lfo0_symmetry->setTooltip (L"LFO 1 Symmetry [%]"); + addAndMakeVisible (m_slider_lfo0_symmetry = new Slider ("LFO 1 Symmetry")); + m_slider_lfo0_symmetry->setTooltip (TRANS("LFO 1 Symmetry [%]")); m_slider_lfo0_symmetry->setRange (0, 1, 0); m_slider_lfo0_symmetry->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo0_symmetry->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1825,19 +1615,19 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo0_symmetry->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo0_symmetry->addListener (this); - addAndMakeVisible (m_label_lfo0_symmetry = new Label (L"LFO 1 Symmetry", - L"value")); - m_label_lfo0_symmetry->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo0_symmetry = new Label ("LFO 1 Symmetry", + TRANS("value"))); + m_label_lfo0_symmetry->setFont (Font (14.00f, Font::plain)); m_label_lfo0_symmetry->setJustificationType (Justification::centred); m_label_lfo0_symmetry->setEditable (true, true, false); - m_label_lfo0_symmetry->setColour (Label::outlineColourId, Colour (0x0)); + m_label_lfo0_symmetry->setColour (Label::outlineColourId, Colour (0x00000000)); m_label_lfo0_symmetry->setColour (TextEditor::textColourId, Colours::azure); - m_label_lfo0_symmetry->setColour (TextEditor::backgroundColourId, Colour (0x0)); - m_label_lfo0_symmetry->setColour (TextEditor::highlightColourId, Colour (0xf7f7f7)); + m_label_lfo0_symmetry->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + m_label_lfo0_symmetry->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7)); m_label_lfo0_symmetry->addListener (this); - addAndMakeVisible (m_slider_lfo1_symmetry = new Slider (L"LFO 2 Symmetry")); - m_slider_lfo1_symmetry->setTooltip (L"LFO 2 Symmetry [%]"); + addAndMakeVisible (m_slider_lfo1_symmetry = new Slider ("LFO 2 Symmetry")); + m_slider_lfo1_symmetry->setTooltip (TRANS("LFO 2 Symmetry [%]")); m_slider_lfo1_symmetry->setRange (0, 1, 0); m_slider_lfo1_symmetry->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo1_symmetry->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1845,39 +1635,39 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo1_symmetry->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo1_symmetry->addListener (this); - addAndMakeVisible (m_label_lfo1_symmetry = new Label (L"LFO 2 Symmetry", - L"value")); - m_label_lfo1_symmetry->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo1_symmetry = new Label ("LFO 2 Symmetry", + TRANS("value"))); + m_label_lfo1_symmetry->setFont (Font (14.00f, Font::plain)); m_label_lfo1_symmetry->setJustificationType (Justification::centred); m_label_lfo1_symmetry->setEditable (true, true, false); - m_label_lfo1_symmetry->setColour (Label::outlineColourId, Colour (0x0)); + m_label_lfo1_symmetry->setColour (Label::outlineColourId, Colour (0x00000000)); m_label_lfo1_symmetry->setColour (TextEditor::textColourId, Colours::azure); - m_label_lfo1_symmetry->setColour (TextEditor::backgroundColourId, Colour (0x0)); - m_label_lfo1_symmetry->setColour (TextEditor::highlightColourId, Colour (0xf7f7f7)); + m_label_lfo1_symmetry->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + m_label_lfo1_symmetry->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7)); m_label_lfo1_symmetry->addListener (this); - addAndMakeVisible (m_button_lfo1_restart_enable = new ToggleButton (L"Restart LFO 2 Enable")); - m_button_lfo1_restart_enable->setTooltip (L"Use \'Restart\' to reset LFO phase on each note trigger. Use \'Free\' to use a free running LFO."); + addAndMakeVisible (m_button_lfo1_restart_enable = new ToggleButton ("Restart LFO 2 Enable")); + m_button_lfo1_restart_enable->setTooltip (TRANS("Use \'Restart\' to reset LFO phase on each note trigger. Use \'Free\' to use a free running LFO.")); m_button_lfo1_restart_enable->setButtonText (String::empty); m_button_lfo1_restart_enable->setColour (ToggleButton::textColourId, Colours::white); - addAndMakeVisible (m_button_lfo1_individual_enable = new ToggleButton (L"LFO 2 Global Enable")); - m_button_lfo1_individual_enable->setTooltip (L"Set this to \'Global\' to use the LFO for all voices. Set this to \'Individual\' to make voices have their own LFO."); + addAndMakeVisible (m_button_lfo1_individual_enable = new ToggleButton ("LFO 2 Global Enable")); + m_button_lfo1_individual_enable->setTooltip (TRANS("Set this to \'Global\' to use the LFO for all voices. Set this to \'Individual\' to make voices have their own LFO.")); m_button_lfo1_individual_enable->setButtonText (String::empty); m_button_lfo1_individual_enable->setColour (ToggleButton::textColourId, Colours::white); - addAndMakeVisible (m_button_lfo2_restart_enable = new ToggleButton (L"Restart LFO 3 Enable")); - m_button_lfo2_restart_enable->setTooltip (L"Use \'Restart\' to reset LFO phase on each note trigger. Use \'Free\' to use a free running LFO."); + addAndMakeVisible (m_button_lfo2_restart_enable = new ToggleButton ("Restart LFO 3 Enable")); + m_button_lfo2_restart_enable->setTooltip (TRANS("Use \'Restart\' to reset LFO phase on each note trigger. Use \'Free\' to use a free running LFO.")); m_button_lfo2_restart_enable->setButtonText (String::empty); m_button_lfo2_restart_enable->setColour (ToggleButton::textColourId, Colours::white); - addAndMakeVisible (m_button_lfo2_individual_enable = new ToggleButton (L"LFO 3 Global Enable")); - m_button_lfo2_individual_enable->setTooltip (L"Set this to \'Global\' to use the LFO for all voices. Set this to \'Individual\' to make voices have their own LFO."); + addAndMakeVisible (m_button_lfo2_individual_enable = new ToggleButton ("LFO 3 Global Enable")); + m_button_lfo2_individual_enable->setTooltip (TRANS("Set this to \'Global\' to use the LFO for all voices. Set this to \'Individual\' to make voices have their own LFO.")); m_button_lfo2_individual_enable->setButtonText (String::empty); m_button_lfo2_individual_enable->setColour (ToggleButton::textColourId, Colours::white); - addAndMakeVisible (m_slider_lfo2_symmetry = new Slider (L"LFO 3 Symmetry")); - m_slider_lfo2_symmetry->setTooltip (L"LFO 3 Symmetry [%]"); + addAndMakeVisible (m_slider_lfo2_symmetry = new Slider ("LFO 3 Symmetry")); + m_slider_lfo2_symmetry->setTooltip (TRANS("LFO 3 Symmetry [%]")); m_slider_lfo2_symmetry->setRange (0, 1, 0); m_slider_lfo2_symmetry->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo2_symmetry->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1885,19 +1675,19 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo2_symmetry->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo2_symmetry->addListener (this); - addAndMakeVisible (m_label_lfo2_symmetry = new Label (L"LFO 3 Symmetry", - L"value")); - m_label_lfo2_symmetry->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo2_symmetry = new Label ("LFO 3 Symmetry", + TRANS("value"))); + m_label_lfo2_symmetry->setFont (Font (14.00f, Font::plain)); m_label_lfo2_symmetry->setJustificationType (Justification::centred); m_label_lfo2_symmetry->setEditable (true, true, false); - m_label_lfo2_symmetry->setColour (Label::outlineColourId, Colour (0x0)); + m_label_lfo2_symmetry->setColour (Label::outlineColourId, Colour (0x00000000)); m_label_lfo2_symmetry->setColour (TextEditor::textColourId, Colours::azure); - m_label_lfo2_symmetry->setColour (TextEditor::backgroundColourId, Colour (0x0)); - m_label_lfo2_symmetry->setColour (TextEditor::highlightColourId, Colour (0xf7f7f7)); + m_label_lfo2_symmetry->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + m_label_lfo2_symmetry->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7)); m_label_lfo2_symmetry->addListener (this); - addAndMakeVisible (m_slider_lfo3_symmetry = new Slider (L"LFO 4 Symmetry")); - m_slider_lfo3_symmetry->setTooltip (L"LFO 4 Symmetry [%]"); + addAndMakeVisible (m_slider_lfo3_symmetry = new Slider ("LFO 4 Symmetry")); + m_slider_lfo3_symmetry->setTooltip (TRANS("LFO 4 Symmetry [%]")); m_slider_lfo3_symmetry->setRange (0, 1, 0); m_slider_lfo3_symmetry->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_lfo3_symmetry->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1905,29 +1695,29 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_lfo3_symmetry->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_lfo3_symmetry->addListener (this); - addAndMakeVisible (m_label_lfo3_symmetry = new Label (L"LFO 4 Symmetry", - L"value")); - m_label_lfo3_symmetry->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_lfo3_symmetry = new Label ("LFO 4 Symmetry", + TRANS("value"))); + m_label_lfo3_symmetry->setFont (Font (14.00f, Font::plain)); m_label_lfo3_symmetry->setJustificationType (Justification::centred); m_label_lfo3_symmetry->setEditable (true, true, false); - m_label_lfo3_symmetry->setColour (Label::outlineColourId, Colour (0x0)); + m_label_lfo3_symmetry->setColour (Label::outlineColourId, Colour (0x00000000)); m_label_lfo3_symmetry->setColour (TextEditor::textColourId, Colours::azure); - m_label_lfo3_symmetry->setColour (TextEditor::backgroundColourId, Colour (0x0)); - m_label_lfo3_symmetry->setColour (TextEditor::highlightColourId, Colour (0xf7f7f7)); + m_label_lfo3_symmetry->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + m_label_lfo3_symmetry->setColour (TextEditor::highlightColourId, Colour (0x00f7f7f7)); m_label_lfo3_symmetry->addListener (this); - addAndMakeVisible (m_button_lfo3_restart_enable = new ToggleButton (L"Restart LFO 4 Enable")); - m_button_lfo3_restart_enable->setTooltip (L"Use \'Restart\' to reset LFO phase on each note trigger. Use \'Free\' to use a free running LFO."); + addAndMakeVisible (m_button_lfo3_restart_enable = new ToggleButton ("Restart LFO 4 Enable")); + m_button_lfo3_restart_enable->setTooltip (TRANS("Use \'Restart\' to reset LFO phase on each note trigger. Use \'Free\' to use a free running LFO.")); m_button_lfo3_restart_enable->setButtonText (String::empty); m_button_lfo3_restart_enable->setColour (ToggleButton::textColourId, Colours::white); - addAndMakeVisible (m_button_lfo3_individual_enable = new ToggleButton (L"LFO 4 Global Enable")); - m_button_lfo3_individual_enable->setTooltip (L"Set this to \'Global\' to use the LFO for all voices. Set this to \'Individual\' to make voices have their own LFO."); + addAndMakeVisible (m_button_lfo3_individual_enable = new ToggleButton ("LFO 4 Global Enable")); + m_button_lfo3_individual_enable->setTooltip (TRANS("Set this to \'Global\' to use the LFO for all voices. Set this to \'Individual\' to make voices have their own LFO.")); m_button_lfo3_individual_enable->setButtonText (String::empty); m_button_lfo3_individual_enable->setColour (ToggleButton::textColourId, Colours::white); - addAndMakeVisible (m_slider_osc0_fm_amt1 = new Slider (L"OSC 1 FM amount 2")); - m_slider_osc0_fm_amt1->setTooltip (L"OSC 1 FM amount [%]"); + addAndMakeVisible (m_slider_osc0_fm_amt1 = new Slider ("OSC 1 FM amount 2")); + m_slider_osc0_fm_amt1->setTooltip (TRANS("OSC 1 FM amount [%]")); m_slider_osc0_fm_amt1->setRange (0, 1, 0); m_slider_osc0_fm_amt1->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc0_fm_amt1->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1935,17 +1725,17 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc0_fm_amt1->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc0_fm_amt1->addListener (this); - addAndMakeVisible (m_label_osc0_fm_amt1 = new Label (L"OSC 1 FM amt 2", - L"value")); - m_label_osc0_fm_amt1->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc0_fm_amt1 = new Label ("OSC 1 FM amt 2", + TRANS("value"))); + m_label_osc0_fm_amt1->setFont (Font (14.00f, Font::plain)); m_label_osc0_fm_amt1->setJustificationType (Justification::centred); m_label_osc0_fm_amt1->setEditable (true, true, false); m_label_osc0_fm_amt1->setColour (TextEditor::textColourId, Colours::black); - m_label_osc0_fm_amt1->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc0_fm_amt1->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc0_fm_amt1->addListener (this); - addAndMakeVisible (m_slider_osc0_pwm_amt1 = new Slider (L"OSC 1 PWM amount 2")); - m_slider_osc0_pwm_amt1->setTooltip (L"OSC 1 PWM Amount [%]"); + addAndMakeVisible (m_slider_osc0_pwm_amt1 = new Slider ("OSC 1 PWM amount 2")); + m_slider_osc0_pwm_amt1->setTooltip (TRANS("OSC 1 PWM Amount [%]")); m_slider_osc0_pwm_amt1->setRange (0, 1, 0); m_slider_osc0_pwm_amt1->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc0_pwm_amt1->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1953,17 +1743,17 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc0_pwm_amt1->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc0_pwm_amt1->addListener (this); - addAndMakeVisible (m_label_osc0_pwm_amt1 = new Label (L"OSC 1 PWM amt 2", - L"value")); - m_label_osc0_pwm_amt1->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc0_pwm_amt1 = new Label ("OSC 1 PWM amt 2", + TRANS("value"))); + m_label_osc0_pwm_amt1->setFont (Font (14.00f, Font::plain)); m_label_osc0_pwm_amt1->setJustificationType (Justification::centred); m_label_osc0_pwm_amt1->setEditable (true, true, false); m_label_osc0_pwm_amt1->setColour (TextEditor::textColourId, Colours::black); - m_label_osc0_pwm_amt1->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc0_pwm_amt1->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc0_pwm_amt1->addListener (this); - addAndMakeVisible (m_slider_osc0_am_amt1 = new Slider (L"OSC 1 AM amount 2")); - m_slider_osc0_am_amt1->setTooltip (L"OSC 1 AM amount [%]"); + addAndMakeVisible (m_slider_osc0_am_amt1 = new Slider ("OSC 1 AM amount 2")); + m_slider_osc0_am_amt1->setTooltip (TRANS("OSC 1 AM amount [%]")); m_slider_osc0_am_amt1->setRange (0, 1, 0); m_slider_osc0_am_amt1->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc0_am_amt1->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1971,17 +1761,17 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc0_am_amt1->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc0_am_amt1->addListener (this); - addAndMakeVisible (m_label_osc0_am_amt1 = new Label (L"OSC 1 AM amt 2", - L"value")); - m_label_osc0_am_amt1->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc0_am_amt1 = new Label ("OSC 1 AM amt 2", + TRANS("value"))); + m_label_osc0_am_amt1->setFont (Font (14.00f, Font::plain)); m_label_osc0_am_amt1->setJustificationType (Justification::centred); m_label_osc0_am_amt1->setEditable (true, true, false); m_label_osc0_am_amt1->setColour (TextEditor::textColourId, Colours::black); - m_label_osc0_am_amt1->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc0_am_amt1->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc0_am_amt1->addListener (this); - addAndMakeVisible (m_slider_osc1_fm_amt1 = new Slider (L"OSC 2 FM amount 2")); - m_slider_osc1_fm_amt1->setTooltip (L"OSC 2 FM amount [%]"); + addAndMakeVisible (m_slider_osc1_fm_amt1 = new Slider ("OSC 2 FM amount 2")); + m_slider_osc1_fm_amt1->setTooltip (TRANS("OSC 2 FM amount [%]")); m_slider_osc1_fm_amt1->setRange (0, 1, 0); m_slider_osc1_fm_amt1->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc1_fm_amt1->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -1989,17 +1779,17 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc1_fm_amt1->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc1_fm_amt1->addListener (this); - addAndMakeVisible (m_label_osc1_fm_amt1 = new Label (L"OSC 2 FM amt 2", - L"value")); - m_label_osc1_fm_amt1->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc1_fm_amt1 = new Label ("OSC 2 FM amt 2", + TRANS("value"))); + m_label_osc1_fm_amt1->setFont (Font (14.00f, Font::plain)); m_label_osc1_fm_amt1->setJustificationType (Justification::centred); m_label_osc1_fm_amt1->setEditable (true, true, false); m_label_osc1_fm_amt1->setColour (TextEditor::textColourId, Colours::black); - m_label_osc1_fm_amt1->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc1_fm_amt1->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc1_fm_amt1->addListener (this); - addAndMakeVisible (m_slider_osc1_pwm_amt1 = new Slider (L"OSC 2 PWM amount 2")); - m_slider_osc1_pwm_amt1->setTooltip (L"OSC 2 PWM Amount [%]"); + addAndMakeVisible (m_slider_osc1_pwm_amt1 = new Slider ("OSC 2 PWM amount 2")); + m_slider_osc1_pwm_amt1->setTooltip (TRANS("OSC 2 PWM Amount [%]")); m_slider_osc1_pwm_amt1->setRange (0, 1, 0); m_slider_osc1_pwm_amt1->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc1_pwm_amt1->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -2007,17 +1797,17 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc1_pwm_amt1->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc1_pwm_amt1->addListener (this); - addAndMakeVisible (m_label_osc1_pwm_amt1 = new Label (L"OSC 2 PWM amt 2", - L"value")); - m_label_osc1_pwm_amt1->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc1_pwm_amt1 = new Label ("OSC 2 PWM amt 2", + TRANS("value"))); + m_label_osc1_pwm_amt1->setFont (Font (14.00f, Font::plain)); m_label_osc1_pwm_amt1->setJustificationType (Justification::centred); m_label_osc1_pwm_amt1->setEditable (true, true, false); m_label_osc1_pwm_amt1->setColour (TextEditor::textColourId, Colours::black); - m_label_osc1_pwm_amt1->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc1_pwm_amt1->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc1_pwm_amt1->addListener (this); - addAndMakeVisible (m_slider_osc1_am_amt1 = new Slider (L"OSC 2 AM amount 2")); - m_slider_osc1_am_amt1->setTooltip (L"OSC 2 AM amount [%]"); + addAndMakeVisible (m_slider_osc1_am_amt1 = new Slider ("OSC 2 AM amount 2")); + m_slider_osc1_am_amt1->setTooltip (TRANS("OSC 2 AM amount [%]")); m_slider_osc1_am_amt1->setRange (0, 1, 0); m_slider_osc1_am_amt1->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_osc1_am_amt1->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -2025,17 +1815,17 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_osc1_am_amt1->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_osc1_am_amt1->addListener (this); - addAndMakeVisible (m_label_osc1_am_amt1 = new Label (L"OSC 2 AM amt 2", - L"value")); - m_label_osc1_am_amt1->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_osc1_am_amt1 = new Label ("OSC 2 AM amt 2", + TRANS("value"))); + m_label_osc1_am_amt1->setFont (Font (14.00f, Font::plain)); m_label_osc1_am_amt1->setJustificationType (Justification::centred); m_label_osc1_am_amt1->setEditable (true, true, false); m_label_osc1_am_amt1->setColour (TextEditor::textColourId, Colours::black); - m_label_osc1_am_amt1->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_osc1_am_amt1->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_osc1_am_amt1->addListener (this); - addAndMakeVisible (m_slider_vcf_f_amt1 = new Slider (L"VCF Cutoff amount 2")); - m_slider_vcf_f_amt1->setTooltip (L"VCF Cutoff Amount [%]"); + addAndMakeVisible (m_slider_vcf_f_amt1 = new Slider ("VCF Cutoff amount 2")); + m_slider_vcf_f_amt1->setTooltip (TRANS("VCF Cutoff Amount [%]")); m_slider_vcf_f_amt1->setRange (0, 1, 0); m_slider_vcf_f_amt1->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_vcf_f_amt1->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -2043,17 +1833,17 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_vcf_f_amt1->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_vcf_f_amt1->addListener (this); - addAndMakeVisible (m_label_vcf_f_amt1 = new Label (L"VCF Cutoff amount 2", - L"value")); - m_label_vcf_f_amt1->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_vcf_f_amt1 = new Label ("VCF Cutoff amount 2", + TRANS("value"))); + m_label_vcf_f_amt1->setFont (Font (14.00f, Font::plain)); m_label_vcf_f_amt1->setJustificationType (Justification::centred); m_label_vcf_f_amt1->setEditable (true, true, false); m_label_vcf_f_amt1->setColour (TextEditor::textColourId, Colours::black); - m_label_vcf_f_amt1->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_vcf_f_amt1->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_vcf_f_amt1->addListener (this); - addAndMakeVisible (m_slider_vcf_q_amt1 = new Slider (L"VCF Resonance amount 2")); - m_slider_vcf_q_amt1->setTooltip (L"VCF Resonance Amount [%]"); + addAndMakeVisible (m_slider_vcf_q_amt1 = new Slider ("VCF Resonance amount 2")); + m_slider_vcf_q_amt1->setTooltip (TRANS("VCF Resonance Amount [%]")); m_slider_vcf_q_amt1->setRange (0, 1, 0); m_slider_vcf_q_amt1->setSliderStyle (Slider::RotaryVerticalDrag); m_slider_vcf_q_amt1->setTextBoxStyle (Slider::NoTextBox, false, 80, 20); @@ -2061,41 +1851,51 @@ JaySynthAudioProcessorEditor::JaySynthAudioProcessorEditor (JaySynthAudioProcess m_slider_vcf_q_amt1->setColour (Slider::rotarySliderOutlineColourId, Colour (0x66ffffff)); m_slider_vcf_q_amt1->addListener (this); - addAndMakeVisible (m_label_vcf_q_amt1 = new Label (L"VCF Resonance amount 2", - L"value")); - m_label_vcf_q_amt1->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_vcf_q_amt1 = new Label ("VCF Resonance amount 2", + TRANS("value"))); + m_label_vcf_q_amt1->setFont (Font (14.00f, Font::plain)); m_label_vcf_q_amt1->setJustificationType (Justification::centred); m_label_vcf_q_amt1->setEditable (true, true, false); m_label_vcf_q_amt1->setColour (TextEditor::textColourId, Colours::black); - m_label_vcf_q_amt1->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_vcf_q_amt1->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_vcf_q_amt1->addListener (this); - addAndMakeVisible (m_button_mono_retrigger = new ToggleButton (L"Monophonic Retrigger")); - m_button_mono_retrigger->setTooltip (L"This button switches monophonic retrigger mode on and off"); - m_button_mono_retrigger->setButtonText (L"Mono Retrigger"); + addAndMakeVisible (m_button_mono_retrigger = new ToggleButton ("Monophonic Retrigger")); + m_button_mono_retrigger->setTooltip (TRANS("This button switches monophonic retrigger mode on and off")); + m_button_mono_retrigger->setButtonText (TRANS("Mono Retrigger")); m_button_mono_retrigger->setColour (ToggleButton::textColourId, Colours::white); - addAndMakeVisible (m_label_max_num_voices = new Label (L"Maximum number of voices (Polyphony)", - L"999")); - m_label_max_num_voices->setTooltip (L"Unisono number of voices to allocate"); - m_label_max_num_voices->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_max_num_voices = new Label ("Maximum number of voices (Polyphony)", + TRANS("999"))); + m_label_max_num_voices->setTooltip (TRANS("Unisono number of voices to allocate")); + m_label_max_num_voices->setFont (Font (14.00f, Font::plain)); m_label_max_num_voices->setJustificationType (Justification::centred); m_label_max_num_voices->setEditable (true, true, false); m_label_max_num_voices->setColour (TextEditor::textColourId, Colours::black); - m_label_max_num_voices->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_max_num_voices->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_max_num_voices->addListener (this); - addAndMakeVisible (m_label_num_voices_playing = new Label (L"Number of Voices Playing", - L"0")); - m_label_num_voices_playing->setTooltip (L"Number of voices currently playing"); - m_label_num_voices_playing->setFont (Font (14.0000f, Font::plain)); + addAndMakeVisible (m_label_num_voices_playing = new Label ("Number of Voices Playing", + TRANS("0"))); + m_label_num_voices_playing->setTooltip (TRANS("Number of voices currently playing")); + m_label_num_voices_playing->setFont (Font (14.00f, Font::plain)); m_label_num_voices_playing->setJustificationType (Justification::centred); m_label_num_voices_playing->setEditable (true, true, false); m_label_num_voices_playing->setColour (Label::textColourId, Colours::yellow); m_label_num_voices_playing->setColour (TextEditor::textColourId, Colours::black); - m_label_num_voices_playing->setColour (TextEditor::backgroundColourId, Colour (0x0)); + m_label_num_voices_playing->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); m_label_num_voices_playing->addListener (this); + addAndMakeVisible (m_labelDebug = new Label ("Debug Label", + TRANS("label text"))); + m_labelDebug->setFont (Font (15.00f, Font::plain)); + m_labelDebug->setJustificationType (Justification::centredLeft); + m_labelDebug->setEditable (false, false, false); + m_labelDebug->setColour (Label::textColourId, Colours::white); + m_labelDebug->setColour (TextEditor::textColourId, Colours::black); + m_labelDebug->setColour (TextEditor::backgroundColourId, Colour (0x00000000)); + + addAndMakeVisible (m_btn_midiClockLed = new ButtonLED (L"MidiClock")); //[UserPreSize] //[/UserPreSize] @@ -2561,214 +2361,216 @@ JaySynthAudioProcessorEditor::~JaySynthAudioProcessorEditor() deleteAndZero(m_VelKey_PopUp); //[/Destructor_pre] - deleteAndZero (m_label_colon); - deleteAndZero (m_slider_master_volume); - deleteAndZero (m_slider_vcf_f); - deleteAndZero (m_slider_vcf_q); - deleteAndZero (m_slider_osc0_det); - deleteAndZero (m_slider_osc1_det); - deleteAndZero (m_slider_osc0_transpose); - deleteAndZero (m_slider_osc1_transpose); - deleteAndZero (m_slider_vca_env_attack); - deleteAndZero (m_slider_vca_env_decay); - deleteAndZero (m_slider_vca_env_release); - deleteAndZero (m_slider_vca_env_sustain); - deleteAndZero (m_slider_vcf_env_attack); - deleteAndZero (m_slider_vcf_env_decay); - deleteAndZero (m_slider_vcf_env_release); - deleteAndZero (m_slider_vcf_env_sustain); - deleteAndZero (m_slider_vcf_env_amount); - deleteAndZero (m_label_vcf_env_attack); - deleteAndZero (m_label_vcf_f); - deleteAndZero (m_label_vca_env_attack); - deleteAndZero (m_label_vca_env_decay); - deleteAndZero (m_label_vca_env_sustain); - deleteAndZero (m_label_vca_env_release); - deleteAndZero (m_label_vcf_env_decay); - deleteAndZero (m_label_vcf_env_sustain); - deleteAndZero (m_label_vcf_env_release); - deleteAndZero (m_label_vcf_q); - deleteAndZero (m_label_vcf_env_amount); - deleteAndZero (m_label_master_volume); - deleteAndZero (m_label_osc0_transpose); - deleteAndZero (m_label_osc1_transpose); - deleteAndZero (m_label_osc0_det); - deleteAndZero (m_label_osc1_det); - deleteAndZero (m_slider_vca_env_amount); - deleteAndZero (m_label_vca_env_amount); - deleteAndZero (m_slider_osc0_dutycycle); - deleteAndZero (m_slider_osc1_dutycycle); - deleteAndZero (m_label_osc0_dutycycle); - deleteAndZero (m_label_osc1_dutycycle); - deleteAndZero (m_slider_lfo0_speed); - deleteAndZero (m_slider_osc1_fm_amt0); - deleteAndZero (m_slider_osc0_fm_amt0); - deleteAndZero (m_label_lfo0_speed); - deleteAndZero (m_label_osc0_fm_amt0); - deleteAndZero (m_label_osc1_fm_amt0); - deleteAndZero (m_slider_vcf_f_amt0); - deleteAndZero (m_label_vcf_f_amt0); - deleteAndZero (m_slider_lfo1_speed); - deleteAndZero (m_label_lfo1_speed); - deleteAndZero (m_comboBox_osc0_shape); - deleteAndZero (m_comboBox_osc1_shape); - deleteAndZero (m_comboBox_lfo0_shape); - deleteAndZero (m_comboBox_lfo1_shape); - deleteAndZero (m_slider_lfo2_speed); - deleteAndZero (m_slider_lfo3_speed); - deleteAndZero (m_comboBox_lfo2_shape); - deleteAndZero (m_comboBox_lfo3_shape); - deleteAndZero (m_label_lfo2_speed); - deleteAndZero (m_label_lfo3_speed); - deleteAndZero (m_comboBox_vcf_f_src0); - deleteAndZero (m_comboBox_osc0_fm_src0); - deleteAndZero (m_comboBox_osc1_fm_src0); - deleteAndZero (m_slider_vca_am_amt0); - deleteAndZero (m_label_vca_am_amt0); - deleteAndZero (m_comboBox_vca_am_src0); - deleteAndZero (m_slider_vca_pan_amt0); - deleteAndZero (m_label_vca_pan_amt0); - deleteAndZero (m_comboBox_vca_pan_src0); - deleteAndZero (m_label_synth_name); - deleteAndZero (m_label_synth_version); - deleteAndZero (m_comboBox_vcf_type); - deleteAndZero (m_slider_lfo1_smooth); - deleteAndZero (m_label_lfo1_smooth); - deleteAndZero (m_slider_lfo0_smooth); - deleteAndZero (m_label_lfo0_smooth); - deleteAndZero (m_slider_lfo2_smooth); - deleteAndZero (m_label_lfo2_smooth); - deleteAndZero (m_slider_lfo3_smooth); - deleteAndZero (m_label_lfo3_smooth); - deleteAndZero (m_slider_osc0_pwm_amt0); - deleteAndZero (m_label_osc0_pwm_amt0); - deleteAndZero (m_slider_osc1_pwm_amt0); - deleteAndZero (m_label_osc1_pwm_amt0); - deleteAndZero (m_comboBox_osc0_pwm_src0); - deleteAndZero (m_comboBox_osc1_pwm_src0); - deleteAndZero (m_slider_osc0_level); - deleteAndZero (m_label_osc0_level); - deleteAndZero (m_slider_osc1_level); - deleteAndZero (m_label_osc1_level); - deleteAndZero (m_slider_noise_level); - deleteAndZero (m_label_noise_level); - deleteAndZero (m_comboBox_noise_shape); - deleteAndZero (m_btn_noise_enable_led); - deleteAndZero (m_btn_osc0_enable); - deleteAndZero (m_btn_osc1_enable); - deleteAndZero (m_label_patch_name); - deleteAndZero (m_button_patch_incr); - deleteAndZero (m_button_patch_decr); - deleteAndZero (m_label_patch_number); - deleteAndZero (m_label_osc1_pb_min); - deleteAndZero (m_label_osc1_pb_max); - deleteAndZero (m_label_osc0_pb_max); - deleteAndZero (m_label_osc0_pb_min); - deleteAndZero (m_slider_master_tune); - deleteAndZero (m_label_master_tune); - deleteAndZero (m_button_humanize_enable); - deleteAndZero (m_comboBox_vcf_order); - deleteAndZero (m_slider_portamento_time); - deleteAndZero (m_label_portamento_time); - deleteAndZero (m_button_unisono_enable); - deleteAndZero (m_slider_humanize_var_vco); - deleteAndZero (m_slider_voice_pan_spread); - deleteAndZero (m_label_voice_pan_spread); - deleteAndZero (m_slider_humanize_var_vcf); - deleteAndZero (m_slider_humanize_var_env); - deleteAndZero (m_label_unisono_num_voices); - deleteAndZero (m_button_osc0_restart_enable); - deleteAndZero (m_button_osc1_restart_enable); - deleteAndZero (m_button_mono_enable); - deleteAndZero (m_comboBox_osc1_fm_src1); - deleteAndZero (m_comboBox_osc1_pwm_src1); - deleteAndZero (m_comboBox_osc0_fm_src1); - deleteAndZero (m_comboBox_osc0_pwm_src1); - deleteAndZero (m_comboBox_osc1_am_src0); - deleteAndZero (m_comboBox_osc1_am_src1); - deleteAndZero (m_slider_osc1_am_amt0); - deleteAndZero (m_label_osc1_am_amt0); - deleteAndZero (m_comboBox_osc0_am_src0); - deleteAndZero (m_comboBox_osc0_am_src1); - deleteAndZero (m_slider_osc0_am_amt0); - deleteAndZero (m_label_osc0_am_amt0); - deleteAndZero (m_slider_env2_attack); - deleteAndZero (m_slider_env2_decay); - deleteAndZero (m_slider_env2_release); - deleteAndZero (m_slider_env2_sustain); - deleteAndZero (m_label_env2_attack); - deleteAndZero (m_label_env2_decay); - deleteAndZero (m_label_env2_sustain); - deleteAndZero (m_label_env2_release); - deleteAndZero (m_slider_env3_attack); - deleteAndZero (m_slider_env3_decay); - deleteAndZero (m_slider_env3_release); - deleteAndZero (m_slider_env3_sustain); - deleteAndZero (m_label_env3_attack); - deleteAndZero (m_label_env3_decay); - deleteAndZero (m_label_env3_sustain); - deleteAndZero (m_label_env3_release); - deleteAndZero (m_comboBox_vcf_f_src1); - deleteAndZero (m_slider_vcf_q_amt0); - deleteAndZero (m_label_vcf_q_amt0); - deleteAndZero (m_comboBox_vcf_q_src0); - deleteAndZero (m_comboBox_vcf_q_src1); - deleteAndZero (m_label_humanize_var_vco); - deleteAndZero (m_label_humanize_var_vcf); - deleteAndZero (m_label_humanize_var_env); - deleteAndZero (m_btn_limiter_led); - deleteAndZero (m_label_limiter_led); - deleteAndZero (m_slider_lfo0_delay); - deleteAndZero (m_label_lfo0_delay); - deleteAndZero (m_slider_lfo0_attack); - deleteAndZero (m_label_lfo0_attack); - deleteAndZero (m_slider_lfo1_delay); - deleteAndZero (m_label_lfo1_delay); - deleteAndZero (m_slider_lfo1_attack); - deleteAndZero (m_label_lfo1_attack); - deleteAndZero (m_slider_lfo2_delay); - deleteAndZero (m_label_lfo2_delay); - deleteAndZero (m_slider_lfo2_attack); - deleteAndZero (m_label_lfo2_attack); - deleteAndZero (m_slider_lfo3_delay); - deleteAndZero (m_label_lfo3_delay); - deleteAndZero (m_slider_lfo3_attack); - deleteAndZero (m_label_lfo3_attack); - deleteAndZero (m_button_lfo0_restart_enable); - deleteAndZero (m_button_lfo0_individual_enable); - deleteAndZero (m_slider_lfo0_symmetry); - deleteAndZero (m_label_lfo0_symmetry); - deleteAndZero (m_slider_lfo1_symmetry); - deleteAndZero (m_label_lfo1_symmetry); - deleteAndZero (m_button_lfo1_restart_enable); - deleteAndZero (m_button_lfo1_individual_enable); - deleteAndZero (m_button_lfo2_restart_enable); - deleteAndZero (m_button_lfo2_individual_enable); - deleteAndZero (m_slider_lfo2_symmetry); - deleteAndZero (m_label_lfo2_symmetry); - deleteAndZero (m_slider_lfo3_symmetry); - deleteAndZero (m_label_lfo3_symmetry); - deleteAndZero (m_button_lfo3_restart_enable); - deleteAndZero (m_button_lfo3_individual_enable); - deleteAndZero (m_slider_osc0_fm_amt1); - deleteAndZero (m_label_osc0_fm_amt1); - deleteAndZero (m_slider_osc0_pwm_amt1); - deleteAndZero (m_label_osc0_pwm_amt1); - deleteAndZero (m_slider_osc0_am_amt1); - deleteAndZero (m_label_osc0_am_amt1); - deleteAndZero (m_slider_osc1_fm_amt1); - deleteAndZero (m_label_osc1_fm_amt1); - deleteAndZero (m_slider_osc1_pwm_amt1); - deleteAndZero (m_label_osc1_pwm_amt1); - deleteAndZero (m_slider_osc1_am_amt1); - deleteAndZero (m_label_osc1_am_amt1); - deleteAndZero (m_slider_vcf_f_amt1); - deleteAndZero (m_label_vcf_f_amt1); - deleteAndZero (m_slider_vcf_q_amt1); - deleteAndZero (m_label_vcf_q_amt1); - deleteAndZero (m_button_mono_retrigger); - deleteAndZero (m_label_max_num_voices); - deleteAndZero (m_label_num_voices_playing); + m_label_colon = nullptr; + m_slider_master_volume = nullptr; + m_slider_vcf_f = nullptr; + m_slider_vcf_q = nullptr; + m_slider_osc0_det = nullptr; + m_slider_osc1_det = nullptr; + m_slider_osc0_transpose = nullptr; + m_slider_osc1_transpose = nullptr; + m_slider_vca_env_attack = nullptr; + m_slider_vca_env_decay = nullptr; + m_slider_vca_env_release = nullptr; + m_slider_vca_env_sustain = nullptr; + m_slider_vcf_env_attack = nullptr; + m_slider_vcf_env_decay = nullptr; + m_slider_vcf_env_release = nullptr; + m_slider_vcf_env_sustain = nullptr; + m_slider_vcf_env_amount = nullptr; + m_label_vcf_env_attack = nullptr; + m_label_vcf_f = nullptr; + m_label_vca_env_attack = nullptr; + m_label_vca_env_decay = nullptr; + m_label_vca_env_sustain = nullptr; + m_label_vca_env_release = nullptr; + m_label_vcf_env_decay = nullptr; + m_label_vcf_env_sustain = nullptr; + m_label_vcf_env_release = nullptr; + m_label_vcf_q = nullptr; + m_label_vcf_env_amount = nullptr; + m_label_master_volume = nullptr; + m_label_osc0_transpose = nullptr; + m_label_osc1_transpose = nullptr; + m_label_osc0_det = nullptr; + m_label_osc1_det = nullptr; + m_slider_vca_env_amount = nullptr; + m_label_vca_env_amount = nullptr; + m_slider_osc0_dutycycle = nullptr; + m_slider_osc1_dutycycle = nullptr; + m_label_osc0_dutycycle = nullptr; + m_label_osc1_dutycycle = nullptr; + m_slider_lfo0_speed = nullptr; + m_slider_osc1_fm_amt0 = nullptr; + m_slider_osc0_fm_amt0 = nullptr; + m_label_lfo0_speed = nullptr; + m_label_osc0_fm_amt0 = nullptr; + m_label_osc1_fm_amt0 = nullptr; + m_slider_vcf_f_amt0 = nullptr; + m_label_vcf_f_amt0 = nullptr; + m_slider_lfo1_speed = nullptr; + m_label_lfo1_speed = nullptr; + m_comboBox_osc0_shape = nullptr; + m_comboBox_osc1_shape = nullptr; + m_comboBox_lfo0_shape = nullptr; + m_comboBox_lfo1_shape = nullptr; + m_slider_lfo2_speed = nullptr; + m_slider_lfo3_speed = nullptr; + m_comboBox_lfo2_shape = nullptr; + m_comboBox_lfo3_shape = nullptr; + m_label_lfo2_speed = nullptr; + m_label_lfo3_speed = nullptr; + m_comboBox_vcf_f_src0 = nullptr; + m_comboBox_osc0_fm_src0 = nullptr; + m_comboBox_osc1_fm_src0 = nullptr; + m_slider_vca_am_amt0 = nullptr; + m_label_vca_am_amt0 = nullptr; + m_comboBox_vca_am_src0 = nullptr; + m_slider_vca_pan_amt0 = nullptr; + m_label_vca_pan_amt0 = nullptr; + m_comboBox_vca_pan_src0 = nullptr; + m_label_synth_name = nullptr; + m_label_synth_version = nullptr; + m_comboBox_vcf_type = nullptr; + m_slider_lfo1_smooth = nullptr; + m_label_lfo1_smooth = nullptr; + m_slider_lfo0_smooth = nullptr; + m_label_lfo0_smooth = nullptr; + m_slider_lfo2_smooth = nullptr; + m_label_lfo2_smooth = nullptr; + m_slider_lfo3_smooth = nullptr; + m_label_lfo3_smooth = nullptr; + m_slider_osc0_pwm_amt0 = nullptr; + m_label_osc0_pwm_amt0 = nullptr; + m_slider_osc1_pwm_amt0 = nullptr; + m_label_osc1_pwm_amt0 = nullptr; + m_comboBox_osc0_pwm_src0 = nullptr; + m_comboBox_osc1_pwm_src0 = nullptr; + m_slider_osc0_level = nullptr; + m_label_osc0_level = nullptr; + m_slider_osc1_level = nullptr; + m_label_osc1_level = nullptr; + m_slider_noise_level = nullptr; + m_label_noise_level = nullptr; + m_comboBox_noise_shape = nullptr; + m_btn_noise_enable_led = nullptr; + m_btn_osc0_enable = nullptr; + m_btn_osc1_enable = nullptr; + m_label_patch_name = nullptr; + m_button_patch_incr = nullptr; + m_button_patch_decr = nullptr; + m_label_patch_number = nullptr; + m_label_osc1_pb_min = nullptr; + m_label_osc1_pb_max = nullptr; + m_label_osc0_pb_max = nullptr; + m_label_osc0_pb_min = nullptr; + m_slider_master_tune = nullptr; + m_label_master_tune = nullptr; + m_button_humanize_enable = nullptr; + m_comboBox_vcf_order = nullptr; + m_slider_portamento_time = nullptr; + m_label_portamento_time = nullptr; + m_button_unisono_enable = nullptr; + m_slider_humanize_var_vco = nullptr; + m_slider_voice_pan_spread = nullptr; + m_label_voice_pan_spread = nullptr; + m_slider_humanize_var_vcf = nullptr; + m_slider_humanize_var_env = nullptr; + m_label_unisono_num_voices = nullptr; + m_button_osc0_restart_enable = nullptr; + m_button_osc1_restart_enable = nullptr; + m_button_mono_enable = nullptr; + m_comboBox_osc1_fm_src1 = nullptr; + m_comboBox_osc1_pwm_src1 = nullptr; + m_comboBox_osc0_fm_src1 = nullptr; + m_comboBox_osc0_pwm_src1 = nullptr; + m_comboBox_osc1_am_src0 = nullptr; + m_comboBox_osc1_am_src1 = nullptr; + m_slider_osc1_am_amt0 = nullptr; + m_label_osc1_am_amt0 = nullptr; + m_comboBox_osc0_am_src0 = nullptr; + m_comboBox_osc0_am_src1 = nullptr; + m_slider_osc0_am_amt0 = nullptr; + m_label_osc0_am_amt0 = nullptr; + m_slider_env2_attack = nullptr; + m_slider_env2_decay = nullptr; + m_slider_env2_release = nullptr; + m_slider_env2_sustain = nullptr; + m_label_env2_attack = nullptr; + m_label_env2_decay = nullptr; + m_label_env2_sustain = nullptr; + m_label_env2_release = nullptr; + m_slider_env3_attack = nullptr; + m_slider_env3_decay = nullptr; + m_slider_env3_release = nullptr; + m_slider_env3_sustain = nullptr; + m_label_env3_attack = nullptr; + m_label_env3_decay = nullptr; + m_label_env3_sustain = nullptr; + m_label_env3_release = nullptr; + m_comboBox_vcf_f_src1 = nullptr; + m_slider_vcf_q_amt0 = nullptr; + m_label_vcf_q_amt0 = nullptr; + m_comboBox_vcf_q_src0 = nullptr; + m_comboBox_vcf_q_src1 = nullptr; + m_label_humanize_var_vco = nullptr; + m_label_humanize_var_vcf = nullptr; + m_label_humanize_var_env = nullptr; + m_btn_limiter_led = nullptr; + m_label_limiter_led = nullptr; + m_slider_lfo0_delay = nullptr; + m_label_lfo0_delay = nullptr; + m_slider_lfo0_attack = nullptr; + m_label_lfo0_attack = nullptr; + m_slider_lfo1_delay = nullptr; + m_label_lfo1_delay = nullptr; + m_slider_lfo1_attack = nullptr; + m_label_lfo1_attack = nullptr; + m_slider_lfo2_delay = nullptr; + m_label_lfo2_delay = nullptr; + m_slider_lfo2_attack = nullptr; + m_label_lfo2_attack = nullptr; + m_slider_lfo3_delay = nullptr; + m_label_lfo3_delay = nullptr; + m_slider_lfo3_attack = nullptr; + m_label_lfo3_attack = nullptr; + m_button_lfo0_restart_enable = nullptr; + m_button_lfo0_individual_enable = nullptr; + m_slider_lfo0_symmetry = nullptr; + m_label_lfo0_symmetry = nullptr; + m_slider_lfo1_symmetry = nullptr; + m_label_lfo1_symmetry = nullptr; + m_button_lfo1_restart_enable = nullptr; + m_button_lfo1_individual_enable = nullptr; + m_button_lfo2_restart_enable = nullptr; + m_button_lfo2_individual_enable = nullptr; + m_slider_lfo2_symmetry = nullptr; + m_label_lfo2_symmetry = nullptr; + m_slider_lfo3_symmetry = nullptr; + m_label_lfo3_symmetry = nullptr; + m_button_lfo3_restart_enable = nullptr; + m_button_lfo3_individual_enable = nullptr; + m_slider_osc0_fm_amt1 = nullptr; + m_label_osc0_fm_amt1 = nullptr; + m_slider_osc0_pwm_amt1 = nullptr; + m_label_osc0_pwm_amt1 = nullptr; + m_slider_osc0_am_amt1 = nullptr; + m_label_osc0_am_amt1 = nullptr; + m_slider_osc1_fm_amt1 = nullptr; + m_label_osc1_fm_amt1 = nullptr; + m_slider_osc1_pwm_amt1 = nullptr; + m_label_osc1_pwm_amt1 = nullptr; + m_slider_osc1_am_amt1 = nullptr; + m_label_osc1_am_amt1 = nullptr; + m_slider_vcf_f_amt1 = nullptr; + m_label_vcf_f_amt1 = nullptr; + m_slider_vcf_q_amt1 = nullptr; + m_label_vcf_q_amt1 = nullptr; + m_button_mono_retrigger = nullptr; + m_label_max_num_voices = nullptr; + m_label_num_voices_playing = nullptr; + m_labelDebug = nullptr; + m_btn_midiClockLed = nullptr; //[Destructor]. You can add your own custom destruction code here.. @@ -2784,797 +2586,797 @@ void JaySynthAudioProcessorEditor::paint (Graphics& g) g.fillAll (Colour (0xff8b94bd)); g.setColour (Colour (0xff2a64a5)); - g.fillRoundedRectangle (644.0f, 4.0f, 80.0f, 310.0f, 10.0000f); + g.fillRoundedRectangle (644.0f, 4.0f, 80.0f, 310.0f, 10.000f); g.setColour (Colour (0xff2a64a5)); - g.fillRoundedRectangle (644.0f, 318.0f, 80.0f, 310.0f, 10.0000f); + g.fillRoundedRectangle (644.0f, 318.0f, 80.0f, 310.0f, 10.000f); g.setColour (Colour (0xff2a64a5)); - g.fillRoundedRectangle (962.0f, 4.0f, 154.0f, 310.0f, 10.0000f); + g.fillRoundedRectangle (962.0f, 4.0f, 154.0f, 310.0f, 10.000f); g.setColour (Colour (0xff2a64a5)); - g.fillRoundedRectangle (962.0f, 318.0f, 154.0f, 310.0f, 10.0000f); + g.fillRoundedRectangle (962.0f, 318.0f, 154.0f, 310.0f, 10.000f); g.setColour (Colour (0xff2a64a5)); - g.fillRoundedRectangle (560.0f, 318.0f, 80.0f, 310.0f, 10.0000f); + g.fillRoundedRectangle (560.0f, 318.0f, 80.0f, 310.0f, 10.000f); g.setColour (Colour (0xff2a64a5)); - g.fillRoundedRectangle (560.0f, 4.0f, 80.0f, 310.0f, 10.0000f); + g.fillRoundedRectangle (560.0f, 4.0f, 80.0f, 310.0f, 10.000f); g.setColour (Colour (0xff2a64a5)); - g.fillRoundedRectangle (4.0f, 632.0f, 1112.0f, 84.0f, 10.0000f); + g.fillRoundedRectangle (4.0f, 632.0f, 1112.0f, 84.0f, 10.000f); g.setColour (Colour (0xff2a64a5)); - g.fillRoundedRectangle (4.0f, 318.0f, 324.0f, 310.0f, 10.0000f); + g.fillRoundedRectangle (4.0f, 318.0f, 324.0f, 310.0f, 10.000f); g.setColour (Colour (0xff2a64a5)); - g.fillRoundedRectangle (446.0f, 318.0f, 110.0f, 310.0f, 10.0000f); + g.fillRoundedRectangle (446.0f, 318.0f, 110.0f, 310.0f, 10.000f); g.setColour (Colour (0xff2a64a5)); - g.fillRoundedRectangle (446.0f, 4.0f, 110.0f, 310.0f, 10.0000f); + g.fillRoundedRectangle (446.0f, 4.0f, 110.0f, 310.0f, 10.000f); g.setColour (Colours::black); - g.setFont (Font (15.0000f, Font::plain)); - g.drawText (L"OSC 1 tune", + g.setFont (Font (15.00f, Font::plain)); + g.drawText (TRANS("OSC 1 tune"), 12, -108, 76, 30, Justification::centred, true); g.setColour (Colour (0xff2a64a5)); - g.fillRoundedRectangle (728.0f, 318.0f, 230.0f, 310.0f, 10.0000f); + g.fillRoundedRectangle (728.0f, 318.0f, 230.0f, 310.0f, 10.000f); g.setColour (Colours::white); - g.setFont (Font (16.0000f, Font::plain)); - g.drawText (L"VCA", + g.setFont (Font (16.00f, Font::plain)); + g.drawText (TRANS("VCA"), 732, 322, 48, 24, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Env. amt.", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Env. amt."), 740, 504, 52, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Volume", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Volume"), 968, 572, 40, 16, Justification::centred, true); g.setColour (Colour (0xff2a64a5)); - g.fillRoundedRectangle (728.0f, 4.0f, 230.0f, 310.0f, 10.0000f); + g.fillRoundedRectangle (728.0f, 4.0f, 230.0f, 310.0f, 10.000f); g.setColour (Colours::white); - g.setFont (Font (16.0000f, Font::plain)); - g.drawText (L"VCF", + g.setFont (Font (16.00f, Font::plain)); + g.drawText (TRANS("VCF"), 732, 8, 48, 24, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Env. amt.", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Env. amt."), 886, 156, 52, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Reson.", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Reson."), 816, 88, 44, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Cutoff", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Cutoff"), 746, 88, 40, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Sustain", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Sustain"), 664, 222, 40, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Decay", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Decay"), 664, 156, 40, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Release", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Release"), 660, 290, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Attack", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Attack"), 660, 88, 48, 16, Justification::centred, true); g.setColour (Colour (0xff2a64a5)); - g.fillRoundedRectangle (4.0f, 4.0f, 324.0f, 310.0f, 10.0000f); + g.fillRoundedRectangle (4.0f, 4.0f, 324.0f, 310.0f, 10.000f); g.setColour (Colours::white); - g.setFont (Font (16.0000f, Font::plain)); - g.drawText (L"VCO 1", + g.setFont (Font (16.00f, Font::plain)); + g.drawText (TRANS("VCO 1"), 6, 8, 72, 32, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Detune", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Detune"), 96, 86, 54, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Transpose", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Transpose"), 246, 154, 58, 16, Justification::centred, true); g.setColour (Colours::white); - g.setFont (Font (16.0000f, Font::plain)); - g.drawText (L"VCO 2", + g.setFont (Font (16.00f, Font::plain)); + g.drawText (TRANS("VCO 2"), 6, 322, 72, 32, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Pulse Width", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Pulse Width"), 160, 86, 68, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Shape", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Shape"), 242, 86, 64, 16, Justification::centred, true); g.setColour (Colour (0xff2a64a5)); - g.fillRoundedRectangle (332.0f, 4.0f, 110.0f, 310.0f, 10.0000f); + g.fillRoundedRectangle (332.0f, 4.0f, 110.0f, 310.0f, 10.000f); g.setColour (Colours::white); - g.setFont (Font (16.0000f, Font::plain)); - g.drawText (L"LFO 1", + g.setFont (Font (16.00f, Font::plain)); + g.drawText (TRANS("LFO 1"), 336, 8, 60, 24, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"FM amt. 1", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("FM amt. 1"), 90, 154, 70, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Speed", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Speed"), 338, 120, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Shape", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Shape"), 348, 54, 72, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Mod. amt. 1", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Mod. amt. 1"), 736, 156, 64, 16, Justification::centred, true); g.setColour (Colour (0xff2a64a5)); - g.fillRoundedRectangle (332.0f, 318.0f, 110.0f, 310.0f, 10.0000f); + g.fillRoundedRectangle (332.0f, 318.0f, 110.0f, 310.0f, 10.000f); g.setColour (Colours::white); - g.setFont (Font (16.0000f, Font::plain)); - g.drawText (L"LFO 2", + g.setFont (Font (16.00f, Font::plain)); + g.drawText (TRANS("LFO 2"), 450, 8, 60, 24, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Polyphon", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Polyphon"), 388, 290, 44, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Restart", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Restart"), 346, 290, 30, 16, Justification::centred, true); g.setColour (Colours::white); - g.setFont (Font (16.0000f, Font::plain)); - g.drawText (L"LFO 3", + g.setFont (Font (16.00f, Font::plain)); + g.drawText (TRANS("LFO 3"), 336, 322, 60, 24, Justification::centred, true); g.setColour (Colours::white); - g.setFont (Font (16.0000f, Font::plain)); - g.drawText (L"LFO 4", + g.setFont (Font (16.00f, Font::plain)); + g.drawText (TRANS("LFO 4"), 450, 322, 60, 24, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Tremolo", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Tremolo"), 736, 402, 60, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Stereo pan", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Stereo pan"), 810, 402, 60, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"FM Source 1", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("FM Source 1"), 94, 188, 64, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Source", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Source"), 804, 436, 72, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Source", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Source"), 732, 436, 72, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Source 2", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Source 2"), 732, 290, 72, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"VCF type", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("VCF type"), 878, 54, 72, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Smooth", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Smooth"), 386, 120, 44, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"PWM amt. 1", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("PWM amt. 1"), 160, 154, 70, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"PWM Source 1", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("PWM Source 1"), 166, 188, 64, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Level", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Level"), 30, 86, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Noise level", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Noise level"), 802, 504, 72, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Noise shape", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Noise shape"), 810, 540, 60, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Tune", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Tune"), 1018, 572, 40, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"VCF Order", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("VCF Order"), 878, 90, 72, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Portamento", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Portamento"), 1058, 376, 60, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Voice pan.", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Voice pan."), 1064, 572, 52, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"VCO hum.", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("VCO hum."), 966, 504, 44, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"VCF hum.", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("VCF hum."), 1016, 504, 44, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"ENV hum.", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("ENV hum."), 1068, 504, 44, 16, Justification::centred, true); g.setColour (Colours::white); - g.setFont (Font (11.0000f, Font::plain)); - g.drawText (L"Unison num. voices :", + g.setFont (Font (11.00f, Font::plain)); + g.drawText (TRANS("Unison num. voices :"), 966, 414, 100, 18, Justification::centredRight, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"FM Source 2", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("FM Source 2"), 94, 290, 64, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"PWM Source 2", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("PWM Source 2"), 166, 290, 64, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"AM source 1", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("AM source 1"), 22, 188, 64, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"AM source 2", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("AM source 2"), 22, 290, 64, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"AM amt. 1", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("AM amt. 1"), 20, 154, 70, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Detune", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Detune"), 96, 400, 54, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Transpose", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Transpose"), 246, 468, 58, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Pulse Width", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Pulse Width"), 160, 400, 68, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Shape", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Shape"), 242, 400, 64, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Level", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Level"), 30, 400, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Speed", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Speed"), 338, 434, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Shape", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Shape"), 348, 368, 72, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Smooth", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Smooth"), 386, 434, 44, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Speed", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Speed"), 452, 120, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Shape", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Shape"), 462, 54, 72, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Smooth", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Smooth"), 500, 120, 44, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Speed", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Speed"), 452, 434, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Shape", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Shape"), 462, 368, 72, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Smooth", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Smooth"), 500, 434, 44, 16, Justification::centred, true); g.setColour (Colours::white); - g.setFont (Font (16.0000f, Font::plain)); - g.drawText (L"VCF ENV", + g.setFont (Font (16.00f, Font::plain)); + g.drawText (TRANS("VCF ENV"), 562, 8, 76, 24, Justification::centred, true); g.setColour (Colours::white); - g.setFont (Font (16.0000f, Font::plain)); - g.drawText (L"VCA ENV", + g.setFont (Font (16.00f, Font::plain)); + g.drawText (TRANS("VCA ENV"), 648, 8, 72, 24, Justification::centred, true); g.setColour (Colours::white); - g.setFont (Font (16.0000f, Font::plain)); - g.drawText (L"ENV 3", + g.setFont (Font (16.00f, Font::plain)); + g.drawText (TRANS("ENV 3"), 562, 322, 76, 24, Justification::centred, true); g.setColour (Colours::white); - g.setFont (Font (16.0000f, Font::plain)); - g.drawText (L"ENV 4", + g.setFont (Font (16.00f, Font::plain)); + g.drawText (TRANS("ENV 4"), 648, 322, 72, 24, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Sustain", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Sustain"), 664, 534, 40, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Decay", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Decay"), 664, 470, 40, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Release", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Release"), 660, 604, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Attack", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Attack"), 660, 402, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Sustain", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Sustain"), 580, 222, 40, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Decay", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Decay"), 580, 156, 40, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Release", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Release"), 576, 290, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Attack", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Attack"), 576, 88, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Sustain", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Sustain"), 580, 534, 40, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Decay", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Decay"), 580, 470, 40, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Release", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Release"), 576, 604, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Attack", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Attack"), 576, 402, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Source 1", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Source 1"), 732, 190, 72, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Mod. amt. 1", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Mod. amt. 1"), 808, 156, 64, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Source 2", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Source 2"), 804, 290, 72, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Source 1", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Source 1"), 804, 190, 72, 16, Justification::centred, true); g.setColour (Colours::white); - g.setFont (Font (16.0000f, Font::plain)); - g.drawText (L"Misc.", + g.setFont (Font (16.00f, Font::plain)); + g.drawText (TRANS("Misc."), 966, 322, 58, 24, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Delay", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Delay"), 338, 188, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Attack", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Attack"), 384, 188, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Delay", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Delay"), 452, 188, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Attack", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Attack"), 498, 188, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Delay", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Delay"), 452, 502, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Attack", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Attack"), 498, 502, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Delay", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Delay"), 338, 502, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Attack", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Attack"), 384, 502, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Symmetry", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Symmetry"), 362, 256, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Polyphon", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Polyphon"), 500, 290, 44, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Restart", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Restart"), 458, 290, 30, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Symmetry", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Symmetry"), 476, 256, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Polyphon", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Polyphon"), 388, 604, 44, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Restart", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Restart"), 346, 604, 30, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Polyphon", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Polyphon"), 500, 604, 44, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Restart", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Restart"), 458, 604, 30, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Symmetry", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Symmetry"), 362, 570, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Symmetry", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Symmetry"), 476, 570, 48, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"FM amt. 2", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("FM amt. 2"), 90, 256, 70, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"PWM amt. 2", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("PWM amt. 2"), 160, 256, 70, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"AM amt. 2", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("AM amt. 2"), 20, 256, 70, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"FM amt. 1", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("FM amt. 1"), 90, 468, 70, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"PWM amt. 1", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("PWM amt. 1"), 160, 468, 70, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"AM amt. 1", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("AM amt. 1"), 20, 468, 70, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"FM Source 1", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("FM Source 1"), 94, 502, 64, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"PWM Source 1", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("PWM Source 1"), 166, 502, 64, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"AM source 1", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("AM source 1"), 22, 502, 64, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"FM amt. 2", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("FM amt. 2"), 90, 570, 70, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"PWM amt. 2", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("PWM amt. 2"), 160, 570, 70, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"AM amt. 2", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("AM amt. 2"), 20, 570, 70, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"FM Source 2", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("FM Source 2"), 92, 604, 64, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"PWM Source 2", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("PWM Source 2"), 164, 604, 64, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"AM source 2", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("AM source 2"), 20, 604, 64, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Mod. amt. 2", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Mod. amt. 2"), 736, 258, 64, 16, Justification::centred, true); g.setColour (Colours::black); - g.setFont (Font (10.0000f, Font::plain)); - g.drawText (L"Mod. amt. 2", + g.setFont (Font (10.00f, Font::plain)); + g.drawText (TRANS("Mod. amt. 2"), 810, 258, 64, 16, Justification::centred, true); g.setColour (Colours::white); - g.setFont (Font (11.0000f, Font::plain)); - g.drawText (L"Max. Polyphony :", + g.setFont (Font (11.00f, Font::plain)); + g.drawText (TRANS("Max. Polyphony :"), 966, 394, 100, 18, Justification::centredRight, true); @@ -3792,6 +3594,8 @@ void JaySynthAudioProcessorEditor::resized() m_button_mono_retrigger->setBounds (965, 364, 86, 16); m_label_max_num_voices->setBounds (1064, 394, 42, 18); m_label_num_voices_playing->setBounds (1060, 598, 42, 18); + m_labelDebug->setBounds (966, 274, 150, 24); + m_btn_midiClockLed->setBounds (1058, 272, 32, 32); //[UserResized] Add your own custom resize handling here.. //[/UserResized] } @@ -5305,6 +5109,13 @@ void JaySynthAudioProcessorEditor::actionListenerCallback (const String &message m_label_num_voices_playing->setText(String::formatted("%d", paramID), juce::NotificationType::dontSendNotification); break; + case JaySynthActionListener::JAYSYNTH_CHANGED_MIDICLOCK: + uint32_t deltaTime_ms; + deltaTime_ms = spa.getValue("value", "-1").getIntValue(); + m_btn_midiClockLed->flash(100); + m_labelDebug->setText(String("dT = ") + String(deltaTime_ms), juce::NotificationType::dontSendNotification); + break; + default: break; } @@ -5418,9 +5229,10 @@ void JaySynthAudioProcessorEditor::timerCallback() //============================================================================== #if 0 -/* -- Jucer information section -- +/* -- Introjucer information section -- - This is where the Jucer puts all of its metadata, so don't change anything in here! + This is where the Introjucer stores the metadata that describe this GUI layout, so + make changes in here at your peril! BEGIN_JUCER_METADATA @@ -5428,7 +5240,7 @@ BEGIN_JUCER_METADATA componentName="" parentClasses="public AudioProcessorEditor, public Timer, public ButtonListener, public ActionListener, public MidiCC_PopUp_Listener, public VelKey_PopUp_Listener" constructorParams="JaySynthAudioProcessor* ownerFilter, bool has_wt" variableInitialisers="AudioProcessorEditor (ownerFilter)" snapPixels="2" - snapActive="1" snapShown="1" overlayOpacity="0.330000013" fixedSize="1" + snapActive="1" snapShown="1" overlayOpacity="0.330" fixedSize="1" initialWidth="1120" initialHeight="720"> @@ -6671,6 +6483,14 @@ BEGIN_JUCER_METADATA textCol="ffffff00" edTextCol="ff000000" edBkgCol="0" labelText="0" editableSingleClick="1" editableDoubleClick="1" focusDiscardsChanges="0" fontname="Default font" fontsize="14" bold="0" italic="0" justification="36"/> +