Venom Modules - Beta release home stretch - submitted to library

Yes - that is the conclusion I came to. The only drawback in my mind is having a dependency on a font. But I think it is worth it. My designs will always be minimalist, so there is no need for svg - I can simply draw lines, rectangles, text, maybe some circles or arcs easily enough.

I think since I have the svg files for this release (ignoring the color changes), I will stick with my current design and dynamically swap the faceplate svg files to offer alternate skins. But for future work I will try to draw everything, and probably refactor the existing modules.

Yeah, I think a ton of ppl do what @dan.tilley is suggesting - do it programmatically, then do an SVG when it’s done.

@DaveVenom dependent on a font? I don’t understand. You can, of course, ship any font you want in your plugin, assuming you have a license. I useed Google’s Robato for everything - you can do whatever you want with it.

As far as a “final design”, it sounds crazy to me to do it directly in code. At least for me I have to iterate over many alternatives, etc… So I always use a screen design program and output and SVG. But the only critical part is using software as you home in on your design. Whether you then output SVG or start typing code depends on what you like. So ppl really like one, some the other.

[ Oh, and btw, Inkscape is not a screen design program, it’s a vector drawing tool. Of course you can use a vector drawing tool if you want, but most ppl find designing a screen (panel) to be easier with a screen design program ].

I will say that if you don’t use an SVG panel, it’s your responsibility to make sure that your panel doesn’t use too much CPU or GPU to draw. Usually it’s fine, but you should pay attention to it.

Did you create another topic for dev discussions?

Why is this a drawback? Do you have a specific font that you want to use but doesn’t have an appropriate license?

In my new plugin I just created a folder and added it to the make file DISTRIBUTABLES += font

Then I found a font I liked on https://fonts.google.com/ and downloaded the .ttf (I did also try an .otf but those don’t appear to work).

I even figured out how to use the Material icon font Material Symbols and Icons - Google Fonts

    std::shared_ptr<rack::window::Font> font = APP->window->loadFont(rack::asset::plugin(pluginInstance, "font/MaterialIcons-Regular.ttf"));

    if (!font)
    {
      DEBUG("*** FONT NOT LOADED ***");
      return;
    }
    nvgFontFaceId(args.vg, font->handle);

    nvgFontSize(args.vg, 18.0f);
    nvgTextLetterSpacing(args.vg, 0.0f);
    nvgTextAlign(args.vg, static_cast<int>(NVG_ALIGN_CENTER | NVG_ALIGN_TOP));

    nvgBeginPath(args.vg);
    nvgFillColor(args.vg, nvgRGBA(0, 0, 50, 200));
    nvgText(args.vg, xPos, yPos, "\uea5f", NULL); // ea5f is the code point for the calculate icon
    nvgFill(args.vg);

I like it. It would stand out in our collections. options to choose from would probably be best for those that don’t find it comfy, but I would use your original scheme. I like the concepts of the modules too.

1 Like

I believe most stereo modules treat a single input on the left with none on the right as mono. Essentially you just use the left port for in & out if you don’t need stereo. Does this make sense?

2 Likes

Here is a post showing what I see with other VCOs that do true through 0 FM with a 0 Hz carrier wave:

1 Like

I like your Med Light Version a lot , which is strange as I always normally go for the dark … this one should be an option for sure . Cheers .

1 Like

Ooh, always wanted to try out the VRR.

1 Like

Please do tell me about your experience with Rhythm Explorer if you do try the beta. Do read the documentation I have written. There are definitely major similarities with Vermona’s Random Rhythm, but a lot of differences as well.

Missing:

  • No swing for 1/16 notes (well maybe you could achieve something similar with the external clock, but haven’t tried)
  • No internal clock - requires 24 ppqn external clock
  • No dual rhythm generators, just the one

Added:

  • Addition of XOR odd parity and XOR 1 hot to go along with the OR output
  • Linear mode to go along with Offbeat mode
  • Ability to turn off Offbeat (and Linear) for the OR output, which is where XOR becomes interesting
  • More simultaneous divisions for one generator, 8 instead of 4.
  • More division options 1/2 - 1/32, as well as triplet versions of each
  • Each division channel division value can be individually assigned, including repeated division values
  • The order of the divisions is important when Linear or Offbeat is enabled
  • Linear / Offbeat / All can be individually assigned to each division channel, even for the OR mode if using poly CV control
  • Ability to capture the pattern seed value, as well as seed value input so patterns can be captured and played back later
  • Ability to provide your own “random” input to achieve totally different patterns than you get with the internal pseudo random number generator
  • More meter options - bar length up to 16, and phrase length (bar count per phrase) up to 16
  • Addition of clock division outputs, as well as bar start and phrase start trigger outputs
  • Individual division channel mutes to go along with global mute
  • Lots more CV inputs
  • Reset trigger and Run gate outputs to go along with inputs

A good use case for my Bernoulli Switch recently came up in the forum.

And here is my solution using Bernoulli Switch along with a couple modules from Count Modula

Venom Modules Beta 2 is now available at VenomModules/README.md at main · DaveBenham/VenomModules · GitHub

The biggest change is the added support for themes - there are 4 to choose from:

Themes

I have also added RECURSE STEREO - a stereo version of the RECURSE module.

RecurseStereo

Technically the original RECURSE module is no longer needed, the stereo version is perfectly happy processing one input and output using the Left channel only. The stereo version uses a tad more CPU, but I think it is inconsequential. I also think the stereo version may be a bit more confusing if you don’t use the stereo capability. I’m curious, what do others think? Should I keep both versions? Or should I just have the stereo version and rename it to RECURSE?

I’ve also enhanced the behavior of the Rhythm Explorer Mode buttons and CV input. The CV now updates the displayed value in the buttons to give you visual feedback. I also fixed some bugs in Rhythm Explorer.

Now that the themes are in place, I hope I can get some feedback as to the functionality of the modules. Which ones have you tried? Are they useful? Are they working properly? Is the documentation clear? Or any other feedback is welcome.

Unless I get reports of some bugs or significant design flaws, I think I am almost ready to submit the plugin to the library.

14 Likes

Just keep the stereo version and rename it. As long as you’re in beta there’s no need to keep obsolete modules around.

4 Likes

Thanks - I absolutely agree. I was/am inclined to remove the original version. It’s just that I have seen a number of plugins with similarly redundant modules, perhaps because the “redundant” module was introduced in a later version, so you wouldn’t want to remove the old form.

But I was/am just curious if there is anyone that would prefer to have both.

1 Like

I prefer to have both single and dual. Helps reduce clutter, increase productivity / focus I think, to only see the channels I use. If the load is reduced using the mono version, I’ll accept that as a bonus.

Thank you for creating these modules, and making them available free-of-charge and open source to learn from.

1 Like

It still builds on Chromebook Linux VenomModules-2.0.beta2-lin-arm64.vcvplugin - Google Drive

1 Like

Thanks. I may keep both on just your recommendation. But if someone else also indicates they prefer both, then that will settle it for me.

1 Like

Please keep both… Less clutter is a good thing when patching … Thanks for the plugins!

1 Like

Done!

2 Likes

I especially like ivory and earth, particularly in ivory the Venom logo really pops :slight_smile: And the red on metal has a clean intellijel look to it.

1 Like

Nice modules :slight_smile: about colors, Many great devs 'painting" theirs face plate to create a brand image, but as seen on the two examples below (both using pretty much the same colors just in a different way) sometimes you just need small touch at the right place to have something that stands out but still being well balanced in a larger thing :smiley:
I really like the Coal and Ivory version for these reasons.

We make “plugins” that are part of a big rack over which we have no control, so I guess if one wants to stand out by being colorful, it’s cool but we have reconcile this with the fact that we are only making small bits of a bigger think that is not ours

2 Likes