commit b573e5e97dcd3f5d364561862d03854517bb53d5
parent baf9b75280a982d072b77a71de9805ad98b8e512
Author: Jatin Chowdhury <[email protected]>
Date: Mon, 11 Jul 2022 20:56:51 +0100
Bump version and update user manual
Diffstat:
17 files changed, 77 insertions(+), 13 deletions(-)
diff --git a/Manual/ChowTapeManual.pdf b/Manual/ChowTapeManual.pdf
Binary files differ.
diff --git a/Manual/ChowTapeManual.tex b/Manual/ChowTapeManual.tex
@@ -26,7 +26,7 @@ can be used to emulate a wide variety of reel-to-reel tape
machines, using physics-based emulation algorithms\footnote{The
plugin is based off a 2019 DAFx paper \href{http://dafx2019.bcu.ac.uk/papers/DAFx2019_paper_3.pdf}{``Real-time Physical Modelling for Analog Tape Machines''}.}.
The plugin is currently available for Windows, Linux, Mac, and iOS
-in the following formats: VST/VST3, AU, LV2,
+in the following formats: VST/VST3, AU, CLAP, LV2,
AAX, AUv3, and Standalone.
\subsection{Installation}
@@ -133,13 +133,6 @@ signal they want to the plugin's processing to affect.
\newpar
\boldtheme{Output Gain} controls the level coming out of the plugin.
\newpar
-\boldtheme{Stereo - Mid/Side}: When using ChowTape in ``Stereo''
-mode, the plugin will process the input signal as a left/right
-pair. In ``Mid/Side'' mode, the plugin will encode the input
-signal as a mid/side pair, process the mid/side signal, and
-then decode the signal back to a left/right stereo pair at
-the output.
-\newpar
\boldtheme{Oversampling} controls the amount of oversampling
being done internally within the plugin. More oversampling
will result in a higher quality sound with fewer aliasing
@@ -166,11 +159,35 @@ plugin. The \boldtheme{Low Cut} and \boldtheme{High Cut} knobs
control the cutoff frequencies of the two filters. The
\boldtheme{Makeup} control allows the signal cut out by the
input filters to be added back to the output of the plugin.
-This can be useful for allowing sub-bass frequencies to pass
+Makeup be useful by allowing sub-bass frequencies to pass
through the plugin unaffected.
\begin{figure}[ht]
\center
+ \includegraphics[height=0.32\paperheight]{../Plugin/Screenshots/Stereo.png}
+ \caption{\label{h_inputs}{\it Stereo controls}}
+\end{figure}
+
+\subsection{Stereo Controls}
+
+When using ChowTape in \boldtheme{Stereo} mode, the plugin
+will process the input signal as a left/right pair. In \boldtheme{Mid/Side}
+mode, the plugin will encode the input signal as a mid/side pair,
+process the mid/side signal, and then decode the signal back to a
+left/right stereo pair at the output.
+\newpar
+The \boldtheme{Balance} control
+makes one of the channels louder than the other, either ``panning'' the
+signal, or emphasizing either the mid or side part of the signal. The
+\boldtheme{Makeup} control allows the signal which was attenuated by
+the Balance control to be amplified by the same amount at the output
+of the plugin. Makeup can be useful by allowing either the mid or side
+part of the signal to be distorted more heavily by the plugin.
+When using the plugin with a channel configuration other than stereo,
+these controls will have no effect.
+
+\begin{figure}[ht]
+ \center
\includegraphics[height=0.4\paperheight]{../Plugin/Screenshots/Tape.png}
\caption{\label{hysteresis_controls}{\it Tape hysteresis controls}}
\end{figure}
@@ -417,8 +434,53 @@ well as any subfolders, to load new user presets.
Presets located in subfolders will be placed in their
own groups in the preset menu.
\newline
-\newline
-\newline
+
+\subsection{Accessibility}
+ChowTape includes accessibility for screen readers on Windows
+and Mac OS. All the controls in the user interface may be navigated
+using either the screen reader's navigation keys, or using the ``Tab''
+key. Users may interact with buttons and menus using the ``Enter'' key.
+For continuous slider controls, the following keyboard shortcuts are
+supported:
+\renewcommand{\labelitemi}{\textendash}
+\begin{itemize}
+ \itemsep-1mm
+ \item Up/Down Arrow Key: Nudge the slider value.
+ \item Page-Up/Page-Down Key: ``Big'' nudge the slider value.
+ \item Delete Key: Move the slider to its default value.
+ \item Home Key: Move the slider to its minimum value.
+ \item End Key: Move the slider to its maximum value.
+\end{itemize}
+%
+Note that Windows users will want to ensure that OpenGL is turned off
+when using the plugin with a screen reader, otherwise the screen reader
+software may not be able to navigate into the plugin window.
+
+\subsection{Troubleshooting}
+If you run into issues when using ChowTape, you may submit bug reports
+using GitHub Issues. However, it is recommended to read the following
+troubleshooting suggestions first.
+
+\subsubsection{Resetting Global Settings}
+If you run into any issues that require the global settings to
+be changed or reset, the global settings file can be found in the
+users ``AppData'' directory (Windows), ``Library'' directory (Mac OS),
+or ``.config'' directory (Linux). To reset the global settings, you may
+delete this file, and it will automatically be regenerated the next time
+the plugin is used.
+
+\subsubsection{OpenGL Rendering}
+On Windows and Linux, ChowTape will have the option to use OpenGL
+for rendering the UI, unless the host system does not support OpenGL
+version 2.0 or greater. If OpenGL is available, it is possible to turn
+rendering with OpenGL on or off in the global settings menu. If you
+need to override your chosen OpenGL setting, please visit the global
+settings file.
+
+\subsubsection{Copying Plugin Diagnostics}
+If you need to submit a bug report, it is very useful to include
+the plugin's diagnostic information in your bug report. The diagnostic
+info can be copied from the global settings menu.
\subsection{Open Source}
ChowTape is open-source software that is free (as in ``free
diff --git a/Plugin/CMakeLists.txt b/Plugin/CMakeLists.txt
@@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.15)
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.9" CACHE STRING "Minimum OS X deployment target")
set(CMAKE_CXX_STANDARD 17)
-project(CHOWTapeModel VERSION 2.10.9)
+project(CHOWTapeModel VERSION 2.11.0)
add_subdirectory(modules)
include_directories(modules/RTNeural)
diff --git a/Plugin/Screenshots/CHEW.png b/Plugin/Screenshots/CHEW.png
Binary files differ.
diff --git a/Plugin/Screenshots/Comp.png b/Plugin/Screenshots/Comp.png
Binary files differ.
diff --git a/Plugin/Screenshots/Degrade.png b/Plugin/Screenshots/Degrade.png
Binary files differ.
diff --git a/Plugin/Screenshots/Filters.png b/Plugin/Screenshots/Filters.png
Binary files differ.
diff --git a/Plugin/Screenshots/Flutter.png b/Plugin/Screenshots/Flutter.png
Binary files differ.
diff --git a/Plugin/Screenshots/Gain.png b/Plugin/Screenshots/Gain.png
Binary files differ.
diff --git a/Plugin/Screenshots/Loss.png b/Plugin/Screenshots/Loss.png
Binary files differ.
diff --git a/Plugin/Screenshots/Stereo.png b/Plugin/Screenshots/Stereo.png
Binary files differ.
diff --git a/Plugin/Screenshots/Tape.png b/Plugin/Screenshots/Tape.png
Binary files differ.
diff --git a/Plugin/Screenshots/Tone.png b/Plugin/Screenshots/Tone.png
Binary files differ.
diff --git a/Plugin/Screenshots/Wow.png b/Plugin/Screenshots/Wow.png
Binary files differ.
diff --git a/Plugin/Screenshots/full_gui.png b/Plugin/Screenshots/full_gui.png
Binary files differ.
diff --git a/Plugin/Source/GUI/OversamplingMenu.cpp b/Plugin/Source/GUI/OversamplingMenu.cpp
@@ -10,6 +10,8 @@ OversamplingMenu::OversamplingMenu (OversamplerType& osManager,
vts (vtState),
processor (vts.processor)
{
+ generateComboBoxMenu();
+
for (const auto& tag : latencyChangeParameters)
vts.addParameterListener (tag, this);
}
diff --git a/Plugin/Source/Headless/ScreenshotHelper.cpp b/Plugin/Source/Headless/ScreenshotHelper.cpp
@@ -73,10 +73,10 @@ void ScreenshotHelper::takeScreenshots (const ArgumentList& args)
std::cout << "Generating screenshots... Saving to " << outputDir.getFullPathName() << std::endl;
- // auto plugin = std::make_unique<ChowtapeModelAudioProcessor>();
std::unique_ptr<AudioProcessor> plugin (createPluginFilterOfType (AudioProcessor::WrapperType::wrapperType_Standalone));
processAudio (plugin.get());
std::unique_ptr<AudioProcessorEditor> editor (plugin->createEditorIfNeeded());
+ MessageManager::getInstance()->runDispatchLoopUntil (100);
// make sure all plugin sections are enabled
StringArray onOffIDs { "ifilt_onoff", "hyst_onoff", "tone_onoff", "loss_onoff", "chew_onoff", "deg_onoff", "flutter_onoff", "comp_onoff" };