not-things modules - v2.0.5

Thanks! I hope I managed to explain everything somewhat clearly in the documentation.

documentation looks really nice.

2 Likes

Beta release 2 of the TimeSeq module is now available at

https://github.com/not-things-modular/not-things-vcv/releases/tag/v2.0.3-timeseq-beta-02

This update includes:

  • Added set-label action to allow updating the tooltip labels of output ports
  • Updated state handling during script loading to fix a memory issue when a script is already running
  • Added an addition Sample and Hold example/tutorial to the documentation
1 Like

Release v2.0.3 of the not-things modules is now available in the VCV Rack library.

New TimeSeq module

This release includes the first official version of the TimeSeq module, a JSON script driven sequencer: https://library.vcvrack.com/not-things/timeseq

The 8 inputs and 8 outputs (all supporting polyphony) are fully controllable using a JSON script that supports:

  • receiving voltages or triggers from the input ports
  • updating output voltages on the output ports (with scriptable polyphony)
  • “glide” values that change from a start value to an end value with optional easing factor
  • internal variables
  • internal triggers to start, restart, stop and chain sequences
  • conditional actions
  • random voltages
  • support for several parallel sequences
  • timing based on samples, milliseconds, bpm (beats & bars) or hertz

Using the script, it’s possible to create simple sequences, more complex parallel sequences or even perform logic processing (e.g. one of the documented Samples recreates the Bernoulli Gate)

Full documentation is available in the GitHub repository:

Other changes

Other v2.0.3 changes include:

  • Small design updates, including a color scheme update
  • Fixed an issue where a disconnect of the Solim Output Octaver was not correctly detected on the main Solim module
9 Likes

I just tried to build your main branch. Got this error:

In file included from ./include/core/timeseq-core.hpp:3,
                 from src/components/timeseq-display.cpp:2:
./include/core/timeseq-json.hpp:5:10: fatal error: nlohmann/json.hpp: No such file or directory
    5 | #include "nlohmann/json.hpp"
      |          ^~~~~~~~~~~~~~~~~~~
compilation terminated.

But I wanted to see if you included any presets. looking at the source I don’t think so? would there be an opportunity there if you made some?

Did you do a “make dep” first?

That did it. sry. Oops, spoke to soon. Now I get:

In file included from ./include/core/timeseq-json.hpp:3,
                 from ./include/core/timeseq-core.hpp:3,
                 from src/core/timeseq-core.cpp:1:
./include/core/timeseq-script.hpp:172:25: error: 'uint64_t' was not declared in this scope
  172 |         std::unique_ptr<uint64_t> samples;
1 Like

No prob :slight_smile: There are no presets indeed, because it depends on what the user wants to sequence, and the preset output would probably be confusing because you don’t know that comes out of which ports for which reason. That’s why I included the samples (script and patches) on the documentation pages, as a starter guide

1 Like

ah, makes sense.

looks like include cinttypes isn’t included in that file?

correct, I didn’t include that file, but it does compile on my system and in the build that the VCV Rack team did?

so you don’t care that it seems to work by luck sometimes, and correctly fails other times?

If I had known that error could occur, I would have fixed it, but I haven’t seen it happen yet in my builds (Windows or Linux), the GitHub builds, or had a complaint from the VCV Rack team about it … so I would first have to know how to also get it on my system to fix it and verify that it doesn’t also happens somewhere else…

why not just put it in and ask me if it worked? It would clearly be “correct” to put it in.

I can tell from your code that your are an experienced programmer. Surely this is not the first time you can run into code that “works for me, not for you”?

100% repro for me:

  1. delete dep folder, to simulate forgetting to run make dep.
  2. make - fails as it should.
  3. make dep
  4. make

fails for me every time. msys fully up to date. win11 fully up to date.

btw, make gives me:

Makefile:34: warning: overriding recipe for target 'cleandep'
../../dep.mk:81: warning: ignoring old recipe for target 'cleandep'
tr: warning: an unescaped backslash at end of string is not portable
tr: warning: an unescaped backslash at end of string is not portable

There’s a Makefile in the dep directory that does the actual downloading of dependencies (similar to how Rack does it), so if anybody else wants to build from source: don’t just remove the dep directory because that will also remove part of the build setup.

2 Likes

Colour me impressed! This is super cool…

2 Likes

The user manual is remarkably well done, structured and… understandable! Thank you for this great work.

2 Likes

Sorry… posted in wrong thread… DOH