AnalogTapeModel

Physical modelling signal processing for analog tape recording
Log | Files | Refs | Submodules | README | LICENSE

commit da5269d5bc4ac25fa53d07dd6249caf5308d65d6
parent 3d68451820f3a5d86a77a1843996af861e63b5d5
Author: jatinchowdhury18 <jatinchowdhury18@gmail.com>
Date:   Thu, 25 Feb 2021 22:32:57 -0800

Update links to new url (#143)

Co-authored-by: jatinchowdhury18 <jatinchowdhury18@users.noreply.github.com>
Diffstat:
MPlugin/CMakeLists.txt | 1+
APlugin/Source/GUI/Assets/logo.png | 0
MPlugin/Source/GUI/AutoUpdating.cpp | 2+-
MPlugin/Source/GUI/CMakeLists.txt | 1-
DPlugin/Source/GUI/InfoComp.cpp | 41-----------------------------------------
DPlugin/Source/GUI/InfoComp.h | 60------------------------------------------------------------
MPlugin/Source/PluginProcessor.cpp | 3+--
MREADME.md | 15+++++++++------
8 files changed, 12 insertions(+), 111 deletions(-)

diff --git a/Plugin/CMakeLists.txt b/Plugin/CMakeLists.txt @@ -17,6 +17,7 @@ juce_add_plugin(CHOWTapeModel FORMATS AU VST3 Standalone LV2 #VST ProductName "CHOWTapeModel" LV2_URI https://github.com/jatinchowdhury18/AnalogTapeModel + ICON_BIG Source/GUI/Assets/logo.png ) # create JUCE header diff --git a/Plugin/Source/GUI/Assets/logo.png b/Plugin/Source/GUI/Assets/logo.png Binary files differ. diff --git a/Plugin/Source/GUI/AutoUpdating.cpp b/Plugin/Source/GUI/AutoUpdating.cpp @@ -5,7 +5,7 @@ namespace const String updateFilePath = "ChowdhuryDSP/ChowTape/UpdateManage.txt"; const String currentVersion = "v" + String (JucePlugin_VersionString); const String versionURL = "https://api.github.com/repos/jatinchowdhury18/AnalogTapeModel/releases/latest"; -const String updateURL = "https://github.com/jatinchowdhury18/AnalogTapeModel/releases/latest"; +const String updateURL = "https://chowdsp.com/products.html#tape"; const Colour backgroundColour = Colour (0xFF31323A).withAlpha (0.9f); const Colour textColour = Colour (0xFFEAA92C); } // namespace diff --git a/Plugin/Source/GUI/CMakeLists.txt b/Plugin/Source/GUI/CMakeLists.txt @@ -1,6 +1,5 @@ target_sources(CHOWTapeModel PRIVATE AutoUpdating.cpp - InfoComp.cpp LightMeter.cpp MixGroupViz.cpp MyLNF.cpp diff --git a/Plugin/Source/GUI/InfoComp.cpp b/Plugin/Source/GUI/InfoComp.cpp @@ -1,41 +0,0 @@ -#include "InfoComp.h" - -InfoComp::InfoComp (const AudioProcessor::WrapperType wrapperType) : wrapperType (wrapperType) -{ - setColour (text1ColourID, Colours::grey); - setColour (text2ColourID, Colours::white); - - addAndMakeVisible (linkButton); - linkButton.setFont (Font (17.0f).boldened(), false, Justification::left); -} - -void InfoComp::paint (Graphics& g) -{ - g.setFont (17.0f); - auto font = g.getCurrentFont(); - auto b = getLocalBounds(); - - auto drawText = [=, &g, &b] (const String& text) { - auto width = font.getStringWidth (text); - g.drawFittedText (text, b.removeFromLeft (width), Justification::left, 1); - }; - - auto typeStr = String (AudioProcessor::getWrapperTypeDescription (wrapperType)); - g.setColour (findColour (text1ColourID)); - drawText (typeStr + ", "); - - g.setColour (findColour (text2ColourID)); - drawText ("v" + String (JucePlugin_VersionString) + " "); - - g.setColour (findColour (text1ColourID)); - drawText (String ("~ DSP by ")); - - linkX = b.getX() - 2; - linkButton.setColour (HyperlinkButton::ColourIds::textColourId, findColour (text2ColourID)); - resized(); -} - -void InfoComp::resized() -{ - linkButton.setBounds (linkX, 0, 100, getHeight()); -} diff --git a/Plugin/Source/GUI/InfoComp.h b/Plugin/Source/GUI/InfoComp.h @@ -1,60 +0,0 @@ -#ifndef INFOCOMP_H_INCLUDED -#define INFOCOMP_H_INCLUDED - -#include <JuceHeader.h> - -class InfoComp : public Component -{ -public: - InfoComp (const AudioProcessor::WrapperType wrapperType); - - enum ColourIDs - { - text1ColourID, - text2ColourID, - }; - - void paint (Graphics& g) override; - void resized() override; - -private: - const AudioProcessor::WrapperType wrapperType; - HyperlinkButton linkButton { JucePlugin_Manufacturer, URL ("https://ccrma.stanford.edu/~jatin/chowdsp") }; - - int linkX = 0; - - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (InfoComp) -}; - -class InfoItem : public foleys::GuiItem -{ -public: - FOLEYS_DECLARE_GUI_FACTORY (InfoItem) - - InfoItem (foleys::MagicGUIBuilder& builder, const ValueTree& node) : foleys::GuiItem (builder, node) - { - setColourTranslation ({ - { "text1", InfoComp::text1ColourID }, - { "text2", InfoComp::text2ColourID }, - }); - - infoComp = std::make_unique<InfoComp> (builder.getMagicState().getProcessor()->wrapperType); - addAndMakeVisible (infoComp.get()); - } - - void update() override - { - } - - Component* getWrappedComponent() override - { - return infoComp.get(); - } - -private: - std::unique_ptr<InfoComp> infoComp; - - JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (InfoItem) -}; - -#endif // INFOCOMP_H_INCLUDED diff --git a/Plugin/Source/PluginProcessor.cpp b/Plugin/Source/PluginProcessor.cpp @@ -9,7 +9,6 @@ */ #include "PluginProcessor.h" -#include "GUI/InfoComp.h" #include "GUI/MixGroupViz.h" #include "GUI/PowerButton.h" #include "GUI/TitleComp.h" @@ -289,7 +288,7 @@ AudioProcessorEditor* ChowtapeModelAudioProcessor::createEditor() builder->registerJUCEFactories(); presetManager.registerPresetsComponent (*builder); builder->registerFactory ("TooltipComp", &TooltipItem::factory); - builder->registerFactory ("InfoComp", &InfoItem::factory); + builder->registerFactory ("InfoComp", &chowdsp::InfoItem::factory); builder->registerFactory ("TitleComp", &TitleItem::factory); builder->registerFactory ("MixGroupViz", &MixGroupVizItem::factory); builder->registerFactory ("PowerButton", &PowerButtonItem::factory); diff --git a/README.md b/README.md @@ -11,6 +11,11 @@ presented at the 2019 DAFx conference. This work began part of a class project for [Music 420](https://ccrma.stanford.edu/courses/420/) at Stanford University (CCRMA). +### Quick Links +- [Latest Release](https://chowdsp.com/products.html#tape) +- [Nightly Builds](https://chowdsp.com/nightly.html#tape) +- [User Manual](https://ccrma.stanford.edu/~jatin/chowdsp/Products/ChowTapeManual.pdf) + ## Definition **magnetic tape** noun<br/> mag·net·​ic tape | \ˈnedik 'tāp\ @@ -32,20 +37,18 @@ CHOW Tape is currently available in the following formats: - LV2 - Standalone plugin -For more information, see the [User Manual](https://ccrma.stanford.edu/~jatin/chowdsp/Products/ChowTapeManual.pdf) - ## Installation Download the latest release -[here](https://github.com/jatinchowdhury18/AnalogTapeModel/releases/latest). -If you would like to try the most recent builds (potentially unstable), -see [here](https://github.com/jatinchowdhury18/AnalogTapeModel/tree/develop/Plugin/Bin). +[here](https://chowdsp.com/products.html#tape). +If you would like to try the nightly builds (potentially unstable), +see [here](https://chowdsp.com/nightly.html#tape). If you need Linux builds, or if you prefer to build the plugin for yourself, please see the [building instructions](https://github.com/jatinchowdhury18/AnalogTapeModel/blob/master/BUILDING.md). Alternatively, Linux users may download builds from the [Open Build Service](https://build.opensuse.org/package/show/home:kill_it:JUCE/CHOWTapeModel). -**Note: If you have a computer with Applie Silicon, please try the [experimental build](https://github.com/jatinchowdhury18/AnalogTapeModel/tree/develop/Plugin/Bin)! Please note your experiences using the plugin on Apple Silicon in this [issue](https://github.com/jatinchowdhury18/AnalogTapeModel/issues/124).** +**Note: If you have a computer with Applie Silicon, please try the [experimental build](https://chowdsp.com/nightly.html#tape)! Please note your experiences using the plugin on Apple Silicon in this [issue](https://github.com/jatinchowdhury18/AnalogTapeModel/issues/124).** Note for FL Studio users: If you're experiencing pops and click while using the plugin, try enabling the "used fixed size buffers" setting. For more