JPEvo Announcement

I am super excited to release JPEvo. Another collaboration between @joopvanderlinden and Path Set. This collection takes the novel note entry of JPFree and JPLab and adds a whole new dimension of self evolving sequences.

Along with this new collection, we’ve added two new free modules to JPFree.

JPEvo is a premium collection contains with three main sequencers, a utility module, and a bonus expander.

  • Evo Cycle ‐ Enter a sequence. Then let it evolve until it cycles back to its starting point.
  • Evo Mirror - Create two parallel sequences. Play them both two two difference voices. Then let the swapping of blocks commence.
  • Evo Endless - Dial in precise control over 8 different forms of sequence evolution.
  • Memory ‐ Save and load up to 5 sequences. All triggerable. Works with ANY JP Sequencer.
  • Helm ‐ An expanded Note Pool controller. Connect to ANY number of JP Sequencers and control ALL of their Note Pools at at once.

JPFree is also getting two new modules:

  • Evo Seq - A mini version of the Evo Sequencers, where each evolution is triggerable.
  • Octavator - Add octave variety to any sequence. Random, seeded, this module has three different modes of modifying a V/Oct signal.

The manuals, as always, describe the details on how these modules can evolve their sequences. Feedback, bugs, or suggestions can be report as an issue.

Thank you to everyone who helped test these modules!

16 Likes

Duplicate listing here.

@Vortico

Not really one is LAB the other EVO.

6 Likes

Another winner! These modules are so awesome!

4 Likes

More Rack fun! Well done!

2 Likes

Purchased Evo, love it, very nice.

Any chance of dark panel option in future?

3 Likes

Dare I say best sequencer suite so far?

3 Likes

Octavator now has its own video tutorial. Any feedback on the tutorial is more than welcome. Hopefully you find it useful and inspiring!

8 Likes

Nice one!

2 Likes

Saved a default preset for Evo Cycle, now each time I attempt to create a new instance it crashes rack.

[15.499 info src/app/Browser.cpp:93 chooseModel] Creating module widget JP Evo Cycle
[15.502 info src/app/ModuleWidget.cpp:590 load] Loading preset /home/ewen/.local/share/Rack2/presets/JPEvo/EvoCycle/template.vcvm
[15.503 fatal adapters/standalone.cpp:49 fatalSignalHandler] Fatal signal 6. Stack trace:
31: ./Rack() [0x40444d]
30: /lib/x86_64-linux-gnu/libc.so.6(+0x3c460)
29: /lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x11b)
28: /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x16)
27: /lib/x86_64-linux-gnu/libc.so.6(abort+0xd7)
26: /lib/x86_64-linux-gnu/libc.so.6(+0x2279b)
25: /lib/x86_64-linux-gnu/libc.so.6(+0x33b66)
24: ./libRack.so(rack::engine::Engine::getModule(long)+0x72)
23: /home/ewen/.local/share/Rack2/plugins-lin-x64/JPEvo/plugin.so(JP::SharedNotePoolLink::setSharedNotePoolModuleId(long)+0x1cb)
22: /home/ewen/.local/share/Rack2/plugins-lin-x64/JPEvo/plugin.so(JP::SeqBase::dataFromJson(json_t*)+0x39)
21: /home/ewen/.local/share/Rack2/plugins-lin-x64/JPEvo/plugin.so(EvoCycle::dataFromJson(json_t*)+0x27)
20: ./libRack.so(rack::engine::Engine::moduleFromJson(rack::engine::Module*, json_t*)+0x37)
19: ./libRack.so(rack::app::ModuleWidget::load(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)+0x8d)
18: ./libRack.so(rack::app::ModuleWidget::loadTemplate()+0xa4)
17: ./libRack.so(+0x393edf)
16: ./libRack.so(rack::app::browser::ModelBox::onButton(rack::widget::Widget::ButtonEvent const&)+0x90)
15: ./libRack.so(rack::widget::Widget::onButton(rack::widget::Widget::ButtonEvent const&)+0xed)
14: ./libRack.so(rack::widget::Widget::onButton(rack::widget::Widget::ButtonEvent const&)+0xed)
13: ./libRack.so(rack::widget::Widget::onButton(rack::widget::Widget::ButtonEvent const&)+0xed)
12: ./libRack.so(rack::ui::ScrollWidget::onButton(rack::widget::Widget::ButtonEvent const&)+0x103)
11: ./libRack.so(rack::app::browser::Browser::onButton(rack::widget::Widget::ButtonEvent const&)+0xfd)
10: ./libRack.so(rack::ui::MenuOverlay::onButton(rack::widget::Widget::ButtonEvent const&)+0x11d)
9: ./libRack.so(rack::widget::OpaqueWidget::onButton(rack::widget::Widget::ButtonEvent const&)+0x105)
8: ./libRack.so(rack::widget::EventState::handleButton(rack::math::Vec, int, int, int)+0x269)
7: ./libRack.so(+0x383c07)
6: ./libRack.so(_glfwPollEventsX11+0x102b)
5: ./libRack.so(rack::window::Window::step()+0x89)
4: ./libRack.so(rack::window::Window::run()+0x28)
3: ./Rack(main+0xec2)
2: /lib/x86_64-linux-gnu/libc.so.6(+0x23a90)
1: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x89)
0: ./Rack() [0x404379]

Also, any chance of future expanders to break out context menu options that don’t have corresponding CV inputs?

Re the crash. Good catch. There seems to be an issue when you try and save a preset on a module with a connected Helm.

Temporary fix: Delete your preset from the file system. It is located at <Rack Folder>\presets\JPEvo. Then avoid saving the preset when a Helm is connected.

I’ll get a permanent fix in place with the next update.

What menu options would you want as expanders. Keep in mind any JP Expander works on any JP main sequencers, so Shift & Shuffle for example works with any of the JPEvos.

1 Like