library
library copied to clipboard
CosineKitty-Sapphire
This is my first submission of a plugin called Sapphire. It contains a single module called Moots. (I intend to add more modules over time.)
Source code: https://github.com/cosinekitty/sapphire Version: 2.0.0 Commit: e2690693bbf344030b9b4925c96e264808060028
I used rack-plugin-toolchain to verify it builds and works correctly on Linux, Mac, and Windows.
Your plugin has been integrated and will be available for all supported platforms with the next Plugin Manager update. Please let us know in this issue when a new version is available. We will reopen it. Thank you for providing your plugin to the Rack community.
I'm submitting an update with enhancements and fixes.
Version: 2.0.1
Source: https://github.com/cosinekitty/sapphire
Branch: main
Commit: 477a872dda723d13ebf1ff2d2376bc0ac39eaf66
Summary of changes:
- Added CHANGELOG.md and linked to it from plugin.json.
- Fixed Issue #1: dim glow for push-buttons when disabled.
- Fixed Issue #2: added menu options for anti-click ramping.
- Fixed Issue #3: use Schmitt trigger hysteresis for all gate inputs.
Thank you!
I added a new module to Sapphire called Elastika.
Version: 2.1.1
Source: https://github.com/cosinekitty/sapphire
Branch: main
Commit: 8f35d3cccf1521b4d19e67cf54aa19ae053b92d3
Thank you!
Version: 2.1.2
Source: https://github.com/cosinekitty/sapphire
Branch: main
Commit: e41b5ef65e098cdd55442e3bed564e8da52d0afd
Improvements based on community feedback:
- Added bypass support for Elastika and Moots.
- Sum polyphonic inputs (audio and CV) in Elastika and Moots.
- Check for NAN outputs every quarter of a second and auto-recover if found. (One user reported this, but nobody has been able to repro. This is a fail-safe to prevent getting stuck in a NAN state.)
- Added right-click menu slider to adjust output DC reject corner frequency. Default is 20 Hz, but can go up to 400 Hz.
- Prevent randomization of input and output level knobs.
Version: 2.1.3
Source: https://github.com/cosinekitty/sapphire
Branch: limiter
Commit: 2711df94a1ad8e89c090768f7ba14f09de5c8a8d
Fixes and improvements to Elastika:
- Refactored Elastika's calculation engine as a separate C++ class that does not have any dependencies on the VCV Rack SDK. I used this to create a command-line version of Elastika in my automated unit tests.
- Added automatic limiter option to prevent excessive output voltage levels.
- Added warning light to the output level knob that indicates when the limiter is active.
Version: 2.2.1
Source: https://github.com/cosinekitty/sapphire
Branch: main
Commit: 2299a7a66837bc5269ae2a0a6af01ba9649b6072
Added a new module called Tube Unit. Thank you!
Version: 2.2.2
Source: https://github.com/cosinekitty/sapphire
Branch: main
Commit: 97de81578cb712cb0968eb21daf877fe92c07629
- Fixed minor display issues in Tube Unit.
- Added a VENT/SEAL toggle to invert the meaning of the gate input.
- More descriptive hover-text for attenuverters and CV inputs.
- Miscellaneous code cleanup and SVG compacting.
Version 2.3.0
Source: https://github.com/cosinekitty/sapphire
Branch: main
Commit: 77f2e99137e3a19cc143df78c3cba8e32a320a58
Added new modules:
- Frolic: a low frequency chaotic oscillator in 3D space
- Tricorder: a 3D scope designed for Frolic and Tin
- Tin: a generic 3-input signal source for Tricorder
Thank you!
Version: 2.3.1
Source: https://github.com/cosinekitty/sapphire
Branch: main
Commit: 9d9d3ae703259b55a2734e03a9421874ebd35cf9
Added bonus module Glee; similar to Frolic but with different chaotic attractor.
Version: 2.4.0 Source: https://github.com/cosinekitty/sapphire Branch: main Commit: 6241328cb44fd25498bc5f68f4ab8cc0bdc8ef8f
- Added a new module: Nucleus.
- Minor maintenance and improvements to Elastika and Tube Unit.
- UI enhancements for Tricorder.
As always, thank you so much for all you do to make this project possible!
Version: 2.4.1 Branch: main Source: https://github.com/cosinekitty/sapphire Commit: 0dfb86d666f25aba408fbb4d2f4bbad7d4fd2e23
- New module: Polynucleus
- New module: Tout
- New module: Hiss
- (Various modules) added 3-channel ports for vector-oriented inputs/outputs.
- Other minor fixes and enhancements.
Thank you!
Version: 2.4.2 Branch: main Source: https://github.com/cosinekitty/sapphire Commit: 2513bd4ace680f82133f4609ee2931be0ceac904
- Tricorder allows user adjustment of rotation rate.
- Tricorder's animation is much smoother.
- Tricorder right-click on display area now invokes context menu.
- Added a low-sensitivity mode for Sapphire attenuverter knobs.
Thank you!
Version: 2.4.3 Branch: main Source: https://github.com/cosinekitty/sapphire Commit: 327d6ab32a3b11db34b65e204f9606033563622b
- Moots: added a right-click menu option that toggles the behavior of the 5 control ports:
- Gate mode: the existing behavior, still the default: pass-through while gate is held high.
- Trigger mode: toggle the pass-through state on each trigger.
As always, I'm grateful for this platform to create and share fun stuff.
Version: 2.4.4 Branch: main Source: https://github.com/cosinekitty/sapphire Commit: f590d3093c4e1e69b800c8f51dc52611cf7c4d4d
- Upgraded to C++17
- Miscellaneous UI improvements in Moots, Nucleus, and Polynucleus.
Thank you!
Version: 2.4.6 Source: https://github.com/cosinekitty/sapphire Commit: 0e3f5a389846d5076815120f971c6461525b4c06
- Added new module: Sapphire Galaxy
As always, thank you!
Version: 2.4.7 Source: https://github.com/cosinekitty/sapphire Commit: 643c1e233a530e8f4533e1e372ae22d7e971d8fb
- New module: Rotini
- Galaxy supports stereo input using 2-channel cable to either L or R input.
- Tube Unit supports low-sensitivity attenuverter options.
Thank you, VCV Rack team!
UPDATE: I changed the hash above to include adding 3 monophonic output ports X, Y, Z to the new Rotini module. I hope changing the hash is OK because this issue is still in the closed state as I write this.
For future reference, I have added @DaveBenham (author of the Venom plugin) as a collaborator on the Sapphire project. Dave is authorized to submit update requests here using the same source URL (https://github.com/cosinekitty/sapphire) on my behalf, should he conclude that I am unreachable or otherwise unable to maintain the Sapphire plugin. This is to ensure development continuity should anything happen to me. Thank you for your attention in this matter.
Version: 2.4.8 Source: https://github.com/cosinekitty/sapphire Commit: 0fdffb82ef9d2c379affdcd7c68e5e1900004414
- New module: Pivot
- Added missing help text to Rotini's ports.
- Added turbo mode option to Glee and Frolic so that they can produce audio rate signals.
- Glee now has 4 different chaos modes instead of 1.
As always, thank you!
Version: 2.4.9 Source: https://github.com/cosinekitty/sapphire Commit: 70152bc03b156f1f07bd60296da46d6430c1b66f
- New module: Pop.
- New module: Split/Add/Merge.
- Minor cosmetic enhancement: draw hexagon around 3D vector ports.
Version: 2.5.0 Source: https://github.com/cosinekitty/sapphire Commit: ccca9e17a75798746feef177fb6fb63325bcd80b
- Split/Add/Merge allows selecting 1..16 output channels instead of always 3 channels.
- Link each Sapphire module to its individual documentation page instead of the plugin table of contents page.
- Make it easier to toggle anti-click ramping in Moots, and visually depict when it is enabled.
- Added voltage-flipping option in (X, Y, Z) output ports for Frolic, Glee, Pivot, and Rotini.
Version: 2.5.1 Source: https://github.com/cosinekitty/sapphire Commit: b5d2fc122382d7934b3ea92e05ad91a9aec89504
- Added new module: Gravy
- Added polyphonic stereo input/output options in Galaxy.
Thank you!
Version: 2.5.2 Source: https://github.com/cosinekitty/sapphire Commit: cdf1c77242cd5e8c1afe8e94a5fa7af0c632252a
- New module: Sauce
- Added automatic output limiter option to Sauce, Gravy.
- Added output channel count display (1..16) to Pop, Hiss, Split/Add/Merge.
Thank you!
Version: 2.5.3 Source: https://github.com/cosinekitty/sapphire Commit: b936319efa21ff264d0a7bfb8273d46257d34c69
- Pop: fixed timing so that SPEED works as documented (was slightly off).
- Pop, Gravy, Sauce: allow easy V/OCT input by setting attenuverter knob to +100%.
Thank you!
Version: 2.5.4 Source: https://github.com/cosinekitty/sapphire Commit: 6c39e81f48225e559181d4f60087b793c7356cee
- Added a new chaotic oscillator module: Lark.
Thank you for your service to the electronic music community!
Version: 2.5.5 Source: https://github.com/cosinekitty/sapphire Commit: fcfdfab93efed535ea65e0a47c870f6e2e6654be
- Added module Chaops to provide additional functionality to chaos modules Frolic, Glee, Lark.
- Glee and Lark now display the selected chaos mode on the CHAOS knob.
- Frolic, Glee, and Lark now display the letter T on the SPEED knob when Turbo Mode is enabled.
Thank you!
Version: 2.5.6 Source: https://github.com/cosinekitty/sapphire Commit: 9665f4bddb59841ef74ff206fe91345c146fed52
- Bug fix: now Frolic/Glee/Lark correctly reflect Chaops MORPH control in their X/Y/Z outputs.
- Chaops CV input for the MORPH control now displays help text on mouse hover.
Version: 2.5.7 Source: https://github.com/cosinekitty/sapphire Commit: f838c2364366c2b258cd63dd5ec5158237c96ed1
- Elastika now uses about 60% of the CPU time as earlier versions, thanks to a complete overhaul of the physics engine.
- Elastika now provides a context menu option to run its physics model at a different sample rate from the VCV Rack engine.
- The channel count sliders in Hiss, Pop, and Split/Add/Merge now move in a "snapped" manner instead of smoothly.
As always, thank you!
Version: 2.5.8 Source: https://github.com/cosinekitty/sapphire Commit: c65bf21e00c984613749ce76ba07633f3eb8d61f
- Added new module Sapphire Env.
- Polyphonic stereo in/out options added to Elastika.
- Fixed minor display glitch in Tin+Tricorder after reset.
- Starting migration of documentation to a dedicated folder
doc(trying to clean up the project's root directory).
Version: 2.5.9 Source: https://github.com/cosinekitty/sapphire Commit: a1f7deb7931b7ef0fc4fa9f8a3871d9e37e81e73
- Added new module: Sapphire Echo, a multi-layer delay expander chain.
- Chaops did not reset the FREEZE button on initialize. This has been fixed.
- Fixed minor polyphony bug in Env: the number of channels in the GAIN control's CV input did not affect the number of output channels.
- Corrected typos in help text for Gravy and Sauce.
- Added "neon mode" menu options to make the Sapphire panel borders glow.
There are some warnings in the macOS SDK that cannot be resolved at this point. The -Werror flag prevents compilation at this point. Can you please remove that flag?