Skip to content

Commit

Permalink
Add Titlt EQ
Browse files Browse the repository at this point in the history
  • Loading branch information
Paul-Dempsey committed Feb 13, 2024
1 parent d6a9d18 commit 33ca2f8
Show file tree
Hide file tree
Showing 12 changed files with 65 additions and 30 deletions.
23 changes: 12 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,36 +10,37 @@ See [Getting Started](https://vcvrack.com/manual/GettingStarted) in the VCV Rack

Grab a current build for the latest features and fixes: [HC-One Nightly](https://github.com/Paul-Dempsey/pachde-hc-one/releases/tag/Nightly)

The beta 5 release announced online can be downloaded here: [HC-One 2.0.0-beta5](https://github.com/Paul-Dempsey/pachde-hc-one/releases/tag/v2.0.0-beta5).

- [Documentation](doc/index.md#pachde-d-hc-one)

- [Buy pachde a coffee](https://venmo.com/u/pcdempsey). Thank you!

Donations help pachde's morale, and fund hardware for testing and developing this software.\
![Buy pachde a coffee with VenMo](./doc/image/VenMo.png)

Pachde and HC One are not affiliated with or sponsored by Haken Audio (but we're friends).
Pachde and HC One are not affiliated with or sponsored by Haken Audio or Expressive E.

**Note** — HC One has been designed and tested with EaganMatrix firmware version 10.09.
Some features are not operational with newer firmware (version > 10.09), and an update to HC One will be required.

## Modules

- **[HC-1](./doc/HC-1.md)** Fast access to favorite presets, with knobs and CV inputs for the essential controls: Macros and the Recirculator.

- **[Pedal 1 & Pedal 2](./doc/Pedals.md)** Pedal control, virtual pedals, and pedal CV in/out.
- **[Pedal 1 & Pedal 2](./doc/Pedals.md#modules-pedal-1-and-pedal-2)** Pedal control, virtual pedals, and pedal CV in/out.

- **[Round](./doc/Round.md)** Control of rounding and the tuning scale, with CV and trigger.
- **[Round](./doc/Round.md#module-round)** Control of rounding and the tuning scale, with CV and trigger.

- **[Compress](./doc/Compress.md)** EaganMatrix compressor controls, with CV.
- **[Compress](./doc/Compress.md#module-compress)** EaganMatrix compressor controls, with CV.

- **[Favorites](./doc/Favorites.md)** Pushbuttons to access up to 16 Favorite files.
- **[TiltEQ](./doc/Tilt.md#module-tilteq)** EaganMatrix Tilt EQ controls, with CV.

- **[HC-2](./doc/HC-2.md)** TiltEQ, and CC maps. This module will be going away.
- **[Favorites](./doc/Favorites.md#module-favorites)** Pushbuttons to access up to 16 Favorite files.

## Installing
## Installing from Github builds

To install this plugin from the GitHub builds, you must first have VCV Rack, of course, so do that if you haven't yet.
To install this plugin, you must first have VCV Rack of course, so go get it if you haven't yet. See [Getting Started](https://vcvrack.com/manual/GettingStarted) in the VCV Rack manual.

You'll need to know the Operating System (OS), and Architecture (ARCH) of your Rack install, and where to copy the downloaded plugin package to.
You'll need to know the Operating System (OS) and Architecture (ARCH) of your Rack install, and where to copy the downloaded plugin package to.

- In Rack, choose **Help** / **Open user folder**.

Expand Down
9 changes: 9 additions & 0 deletions doc/Tilt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Module TiltEQ

Controls for Tilt EQ (equalization). The light at the top is lit when the mix is above zero. All options can be CV-controlled in absolute or relative mode.

![Tilt EQ module](./image/Tilt.png)

**Slug** `pachde-hc-tilteq`

![pachde (#d) logo](./image/Logo.svg)
Binary file modified doc/image/HC-One-modules.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/image/Tilt.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
18 changes: 13 additions & 5 deletions doc/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,15 @@ The Eagan Matrix is the synth engine for a variety of hardware devices.
These include the Haken Continuum, ContinuuMini, EaganMatrix Module, and the Osmose from Expressive E.

**Note** — Osmose has known issues when interfacing with external software.
External changes are not immediately displayed on it's screens.
Not all EaganMatrix features work with the Osmose.
Changes can be operational, but are not immediately displayed on the Osmose display.
Pachde does not own an Osmose or EMM, so any help testing and documenting any issues with these devices is welcome.

**Note** — HC One has been designed and tested with EaganMatrix firmware version 10.09.
Some features are not operational with newer firmware (version > 10.09), and an update to HC One will be required to restore full function (see issue #28).

HC One is *not* intended to be a replacement for the Haken Editor.
The intention is to build out a performance companion for the device.
HC One is a complementary performance companion and automation tool.

![HC One modules](./image/HC-One-modules.png)

Expand All @@ -20,17 +24,21 @@ They do not have to be side-by-side like Rack expander modules.

The HC-One modules shown here from left to right are:

- **[HC-1](HC-1.md)** Fast access to favorite presets, with knobs and CV inputs for the essential controls: Macros and the Recirculator.
- **[HC-1](HC-1.md)** Fast access to favorite presets, with knobs and CV inputs for the essential controls.

- **[Pedal 1 & Pedal 2](Pedals.md#modules-pedal-1-and-pedal-2)** Pedal control, virtual pedals, and pedal CV in/out.
- **[Pedal 1 & Pedal 2](Pedals.md#modules-pedal-1-and-pedal-2)** Pedal control, virtual pedals, pedal CV input and output.

- **[Round](Round.md#module-round)** Control of rounding and the tuning scale, with CV and trigger.

- **[Compress](Compress.md#module-compress)** EaganMatrix compressor controls, with CV.

- **[TiltEQ](Tilt.md#module-tilteq)**

- **[Favorites](Favorites.md#module-favorites)** Pushbuttons to access up to 16 Favorite files.

- **[HC-2](HC-2.md#module-hc-2)** TiltEQ, and CC maps (To Be Retired).
There is one hidden module, used for development:

- **[HC-2](HC-2.md#module-hc-2)** Experimental module (hidden).

---

Expand Down
8 changes: 4 additions & 4 deletions plugin.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"slug": "pachde-hc-one",
"name": "HC One",
"version": "2.0.0-beta7",
"version": "2.0.0-beta6",
"license": "GPL-3.0-or-later",
"brand": "pachde",
"author": "pachde",
Expand All @@ -22,8 +22,8 @@
{
"slug": "pachde-hc-2",
"name": "HC-2",
"description": "More Eagan Matrix controls (HC-1 companion)",
"tags": [ "Controller", "MIDI", "Expander" ]
"description": "Experimental controls (HC-1 companion)",
"hidden": true
},
{
"slug": "pachde-hc-favorites",
Expand Down Expand Up @@ -56,7 +56,7 @@
"tags": [ "Controller", "Expander" ]
},
{
"slug": "pachde-hc-tilt-eq",
"slug": "pachde-hc-tilteq",
"name": "TiltEQ",
"description": "Controller for EaganMatrix Tilt EQ (HC-1 companion)",
"tags": [ "Controller", "Expander" ]
Expand Down
23 changes: 15 additions & 8 deletions res/HC-2.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 8 additions & 0 deletions src/HC-1/HC-1-draw.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,14 @@ void Hc1ModuleWidget::drawLayer(const DrawArgs& args, int layer)
SetTextStyle(vg, normal_font, RampGray(G_85), 12.f);
auto text = getBannerText(vg, normal_font, bold_font);
CenterText(vg, box.size.x/2.f, 15.f, text.c_str(), nullptr);

// red * next to firmware version if greater than supported
uint16_t fw = my_module ? my_module->em.firmware_version : 0;
if (fw > 1009) {
SetTextStyle(vg, bold_font, GetStockColor(StockColor::Red), 12.f);
nvgText(vg, firmware_label->box.pos.x + firmware_label->box.size.x + 2.5f, firmware_label->box.pos.y + firmware_label->box.size.y - 1.5f, "*", nullptr);
}

} else {
SetTextStyle(vg, bold_font, preset_name_color, 16.f);
CenterText(vg, box.size.x/2.f, 15.f, "My Amazing Preset", nullptr);
Expand Down
2 changes: 1 addition & 1 deletion src/HC-1/HC-1-presets.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ bool Hc1Module::requireFirmwareVersionMatch(const std::string &path, json_t* roo
ver = json_integer_value(j);
}
if (ver != em.firmware_version) {
WARN("%s: Loading %d presets on %d hardware", path, ver, em.firmware_version);
WARN("%s: Loading %d presets on %d hardware", path.c_str(), ver, em.firmware_version);
return false;
}
return true;
Expand Down
1 change: 1 addition & 0 deletions src/HC-1/HC-1.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@ Hc1Module::~Hc1Module()

void Hc1Module::Uninit()
{
dsp_client = nullptr;
midi_dispatch.clear();
silence(true);
dispatchMidi();
Expand Down
1 change: 1 addition & 0 deletions src/HC-1/HC-1.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,7 @@ struct Hc1Module : IPresetHolder, ISendMidi, IMidiDeviceHolder, IMidiDeviceChang

std::string favoritesFile;
std::string moduleFavoritesPath();
bool requireFirmwareVersionMatch(const std::string &path, json_t* root);
void clearFavorites();
void saveFavorites();
bool readFavoritesFile(const std::string& path, bool fresh);
Expand Down
2 changes: 1 addition & 1 deletion src/Tilt/Tilt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -215,4 +215,4 @@ void TiltModule::process(const ProcessArgs& args)

}

Model *modelTilt = createModel<pachde::TiltModule, pachde::TiltModuleWidget>("pachde-hc-tilt-eq");
Model *modelTilt = createModel<pachde::TiltModule, pachde::TiltModuleWidget>("pachde-hc-tilteq");

0 comments on commit 33ca2f8

Please sign in to comment.