diff options
Diffstat (limited to 'plugingui')
| -rw-r--r-- | plugingui/humanizerframecontent.h | 6 | ||||
| -rw-r--r-- | plugingui/maintab.cc | 66 | ||||
| -rw-r--r-- | plugingui/maintab.h | 6 | ||||
| -rw-r--r-- | plugingui/sampleselectionframecontent.h | 6 | ||||
| -rw-r--r-- | plugingui/timingframecontent.h | 6 | 
5 files changed, 70 insertions, 20 deletions
| diff --git a/plugingui/humanizerframecontent.h b/plugingui/humanizerframecontent.h index 048aea7..c8a49e7 100644 --- a/plugingui/humanizerframecontent.h +++ b/plugingui/humanizerframecontent.h @@ -56,9 +56,9 @@ private:  	GridLayout layout{this, 3, 1}; -	LabeledControl attack{this, "Attack"}; // drummer strength -	LabeledControl falloff{this, "Release"}; // regain -	LabeledControl stddev{this, "StdDev"}; +	LabeledControl attack{this, "pAttack"}; // drummer strength +	LabeledControl falloff{this, "pRelease"}; // regain +	LabeledControl stddev{this, "pStdDev"};  	Knob attack_knob{&attack};  	Knob falloff_knob{&falloff}; diff --git a/plugingui/maintab.cc b/plugingui/maintab.cc index e2ea9d2..1582d5c 100644 --- a/plugingui/maintab.cc +++ b/plugingui/maintab.cc @@ -29,6 +29,58 @@  namespace GUI  { +constexpr char humanizer_tip[] = "\ +The first two knobs influence how DrumGizmo simulates the\n\ +stamina of a physical drummers, ie. the fact that they\n\ +loose power in their strokes when playing fast notes:\n\ +  * pAttack: How quickly the velocity gets reduced when\n\ +     playing fast notes.\n\ +     Higher value results in faster velocity reduction.\n\ +  * pRelease: How quickly the drummer regains the velocity\n\ +     when there are spaces between the notes.\n\ +     Higher value results in faster regain.\n\ +\n\ +The last knob controls the randomization of the sample selection:\n\ +  * pStdDev: The standard-deviation for the sample selection.\n\ +     Higher value makes it more likely that a sample further\n\ +     away from the input velocity will be played."; + +constexpr char timing_tip[] = "\ +These three knobs influence how DrumGizmo simulates the tightness\n\ +of the drummer. The drifting is defined as the difference between\n\ +the perfect metronome (defined by the note positions) and the 'internal'\n\ +metronome of the drummer which can then drift back and forth in a\n\ +controlled fashion:\n\ +  * pTightness: For each note how much is the drummer aloowed to drift.\n\ +     Higher value make the drummer more tight, ie. drift less.\n\ +  * pTimingRegain: Once the drifted, how fast does the drummer's 'internal'\n\ +     metronome get back in sync with the perfect metronome.\n\ +     Higher values moves the timng back towards perfect faster.\n\ +  * pLaidback: Add or subtract a fixed delay in ms to all notes. This will\n\ +     alter the feel of a beat.\n\ +     Positive values are up-beat, negative values are back on the beat.\n\ +\n\ +NOTE: Enabling timing humanization will introduce a fixed delay into the\n\ +audio stream. So this feature should be disabled when using DrumGizmo in\n\ +a real-time schenario such as live with a MIDI drumkit."; + +constexpr char sampleselection_tip[] = "\ +These three knobs influence how DrumGizmo selects\n\ +its samples in the following way:\n\ +  * pClose: The importance given to choosing a sample close\n\ +     to the actual MIDI value (after humanization)\n\ +  * pDiversity: The importance given to choosing samples\n\ +     which haven't been played recently.\n\ +  * pRandom: The amount of randomness added."; + +constexpr char visualizer_tip[] = "\ +This graph visualizes the time and velocity offsets of last note played\n\ +according to it's ideal input time and velocity.\n\ +The green lines indicate the ideal time and velocity positions.\n\ +The pink areas indicate the spread of the position and velocity of the\n\ +next note in line. The wider the area the more the note can move in time\n\ +and velocity."; +  MainTab::MainTab(Widget* parent,                   Settings& settings,                   SettingsNotifier& settings_notifier, @@ -54,16 +106,14 @@ MainTab::MainTab(Widget* parent,  	add("Resampling", resampling_frame, resamplingframe_content, 20, 0);  	add("Velocity Humanizer", humanizer_frame, humanizerframe_content, 10, 1); -	humanizer_frame.setHelpText("Hello World\nThis is a nice World\n... I think"); +	humanizer_frame.setHelpText(humanizer_tip);  	add("Timing Humanizer", timing_frame, timingframe_content, 10, 1); -	add("Sample Selection", sampleselection_frame, sampleselectionframe_content, 10, 1); -	sampleselection_frame.setHelpText( -		"These three knobs influence how DrumGizmo selects its samples in the following way:\n" -		"    * Close: importance given to choosing a sample close to the actual MIDI value (after humanization)\n" -		"    * Diversity: importance given to choosing samples which haven't been played recently\n" -		"    * Random: amount of randomness added" -		); +	timing_frame.setHelpText(timing_tip); +	add("Sample Selection", sampleselection_frame, +	    sampleselectionframe_content, 10, 1); +	sampleselection_frame.setHelpText(sampleselection_tip);  	add("Visualizer", visualizer_frame, visualizerframe_content, 10, 1); +	visualizer_frame.setHelpText(visualizer_tip);  	add("Bleed Control", bleedcontrol_frame, bleedcontrolframe_content, 9, 1);  	add("Disk Streaming", diskstreaming_frame, diskstreamingframe_content, 10, 1); diff --git a/plugingui/maintab.h b/plugingui/maintab.h index 3e5eb1f..f90d23a 100644 --- a/plugingui/maintab.h +++ b/plugingui/maintab.h @@ -70,13 +70,13 @@ private:  	FrameWidget drumkit_frame{this, false};  	FrameWidget status_frame{this, false}; -	FrameWidget humanizer_frame{this, true, true};  	FrameWidget diskstreaming_frame{this, false};  	FrameWidget bleedcontrol_frame{this, true};  	FrameWidget resampling_frame{this, true}; -	FrameWidget timing_frame{this, true}; +	FrameWidget humanizer_frame{this, true, true}; +	FrameWidget timing_frame{this, true, true};  	FrameWidget sampleselection_frame{this, false, true}; -	FrameWidget visualizer_frame{this, false}; +	FrameWidget visualizer_frame{this, false, true};  	DrumkitframeContent drumkitframe_content;  	StatusframeContent statusframe_content; diff --git a/plugingui/sampleselectionframecontent.h b/plugingui/sampleselectionframecontent.h index 20765ed..ebb1a02 100644 --- a/plugingui/sampleselectionframecontent.h +++ b/plugingui/sampleselectionframecontent.h @@ -60,9 +60,9 @@ private:  	GridLayout layout{this, 3, 1}; -	LabeledControl f_close{this, "Close"}; -	LabeledControl f_diverse{this, "Diverse"}; -	LabeledControl f_random{this, "Random"}; +	LabeledControl f_close{this, "pClose"}; +	LabeledControl f_diverse{this, "pDiverse"}; +	LabeledControl f_random{this, "pRandom"};  	Knob f_close_knob{&f_close};  	Knob f_diverse_knob{&f_diverse}; diff --git a/plugingui/timingframecontent.h b/plugingui/timingframecontent.h index 282f08f..c0f82df 100644 --- a/plugingui/timingframecontent.h +++ b/plugingui/timingframecontent.h @@ -68,9 +68,9 @@ private:  	GridLayout layout{this, 3, 1}; -	LabeledControl tightness{this, "Tightness"}; -	LabeledControl regain{this, "Timing Regain"}; -	LabeledControl laidback{this, "Laid Back-ness"}; +	LabeledControl tightness{this, "pTightness"}; +	LabeledControl regain{this, "pTimingRegain"}; +	LabeledControl laidback{this, "pLaidback"};  	Knob tightness_knob{&tightness};  	Knob regain_knob{®ain}; | 
