library icon indicating copy to clipboard operation
library copied to clipboard

CosineKitty-Sapphire

Open cosinekitty opened this issue 3 years ago • 14 comments

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.

cosinekitty avatar Jul 31 '22 23:07 cosinekitty

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.

cschol avatar Aug 13 '22 13:08 cschol

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!

cosinekitty avatar Aug 26 '22 18:08 cosinekitty

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!

cosinekitty avatar Oct 25 '22 23:10 cosinekitty

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.

cosinekitty avatar Nov 13 '22 21:11 cosinekitty

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.

cosinekitty avatar Nov 21 '22 02:11 cosinekitty

Version: 2.2.1 Source: https://github.com/cosinekitty/sapphire Branch: main Commit: 2299a7a66837bc5269ae2a0a6af01ba9649b6072

Added a new module called Tube Unit. Thank you!

cosinekitty avatar Feb 22 '23 21:02 cosinekitty

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.

cosinekitty avatar Mar 10 '23 03:03 cosinekitty

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!

cosinekitty avatar Oct 24 '23 00:10 cosinekitty

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.

cosinekitty avatar Nov 14 '23 14:11 cosinekitty

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!

cosinekitty avatar Feb 08 '24 14:02 cosinekitty

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!

cosinekitty avatar Feb 22 '24 14:02 cosinekitty

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!

cosinekitty avatar Mar 04 '24 00:03 cosinekitty

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.

cosinekitty avatar Mar 21 '24 15:03 cosinekitty

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!

cosinekitty avatar Apr 23 '24 01:04 cosinekitty

Version: 2.4.6 Source: https://github.com/cosinekitty/sapphire Commit: 0e3f5a389846d5076815120f971c6461525b4c06

  • Added new module: Sapphire Galaxy

As always, thank you!

cosinekitty avatar Jun 09 '24 18:06 cosinekitty

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.

cosinekitty avatar Jul 09 '24 00:07 cosinekitty

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.

cosinekitty avatar Jul 13 '24 18:07 cosinekitty

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!

cosinekitty avatar Jul 24 '24 17:07 cosinekitty

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.

cosinekitty avatar Aug 23 '24 23:08 cosinekitty

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.

cosinekitty avatar Sep 06 '24 20:09 cosinekitty

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!

cosinekitty avatar Oct 08 '24 23:10 cosinekitty

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!

cosinekitty avatar Oct 26 '24 16:10 cosinekitty

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!

cosinekitty avatar Nov 08 '24 20:11 cosinekitty

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!

cosinekitty avatar Nov 13 '24 18:11 cosinekitty

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!

cosinekitty avatar Dec 09 '24 16:12 cosinekitty

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.

cosinekitty avatar Dec 22 '24 21:12 cosinekitty

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!

cosinekitty avatar Jan 07 '25 18:01 cosinekitty

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).

cosinekitty avatar Feb 24 '25 16:02 cosinekitty

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.

cosinekitty avatar Jun 03 '25 12:06 cosinekitty

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?

cschol avatar Jun 08 '25 14:06 cschol