MonsterJam - Maschine JAM controller extension

RELATED
PRODUCTS

Post

Was too far along my own project to give up when Moss surprised us with his Jam support, and it finally hit an important milestone of being complete enough for me to get back to making music — so here it is.

For the most part it's what you'd expect from a Maschine Jam extension, albeit fairly basic at the moment and oriented towards performance more than anything else. Unlike the original script it has nice things I've always wanted and is based on a newer API. Ideologically it's meant to be a meticulous confluence of the good things from the original script, Maschine's own integration, some well made pieces of hardware I've encountered and Moss' implementation.

Feature highlights:

* Mapping agnostic: should work with pretty much any sane .ncmj file (it reads the mapping file to generate its mappings instead of hardcoding MIDI note/CC numbers and relying on a matching controller mapping)
* Momentary modes and fine slider adjustments, of course
* Touch-sensitive FX a la Maschine's PERFORM (with a small workaround)
* Track buttons flash to MIDI, because Maschine is awesome like that

Downloads, docs and source: https://github.com/unthingable/monster-jam/

Now that I'm back to user mode updates and more novel features are likely soon, and feedback/asks are always welcome.

Post

v2.0:

* Select scene/track pages directly with SHIFT+SCENE/GROUP. Holding SHIFT lights up scene/group buttons to indicate available and selected pages. Near-instant access to 64 tracks and scenes.
* Added preference to leave group buttons out of the above
* Added preference for shift matrix row illumination

Post

v3.0: SuperScenes!

Why can't a scene include clips from other rows, like Maschine does? Well, now it can: a SuperScene is an arbitrary collection of clips, created on the fly (but saved in the project). Consequently, this addresses the lack of ghost/alias clips, as the same clip can be launched as part of multiple clip combinations.

See docs for details: https://github.com/unthingable/monster- ... aster/docs

Also unified page selection color scheme, everything selected is white.

Fixes:

* Control strips could cause a crash on a deviceless track
* Black channels now show as white strips (as opposed to nothing)
* Control strip colors could be set incorrectly when switching pages
* Use Vector everywhere for a superficial performance gain

Post

v4.0: MonsterJam got more monstery with group navigation and slider limits.

New:

* You can now fold, unfold, enter and exit groups
- * Doubleclick track button on a group track to fold/unfold top level groups (it will preserve its scroll position)
- * Hold track button and use arrow keys to go up and down groups levels
* Level sliders can now be capped at various levels other than +6 dB (0, -10 or smart: 0 for groups and -10 for others), configurable via settings
* More direct track modes (hold track button): solo and mute

Improved:

Previously SuperScenes remembered clips by their track positions, so if the track layout changed it would be starting and stopping wrong clips. Now MonsterJam has ability to identify and follow tracks, by using a bit of steganography on track colors under the hood. With that, SuperScene will always launch/stop the correct clips as long as the track is visible in the app, even if it moves around.

https://github.com/unthingable/monster- ... s/tag/v4.0

https://github.com/unthingable/monster- ... /README.md

Post

Last one for the day, v5.0b1: Device Selector preview.

In addition to navigating devices in CONTROL mode with page buttons, now it is possible to see and select devices directly for the 8 visible tracks. Hold CONTROL and hit SELECT to enable/disable device selector (actually to cycle through available device selector modes, but right now there's only one), then use clip matrix to select devices and arrow buttons to navigate.

https://github.com/unthingable/monster- ... tag/v5.0b1

https://github.com/unthingable/monster- ... e-selector

Still unsure:

* If CONTROL+SELECT is the best button combination to cycle if there are more modes (as opposed to a direct selection via something else)
* Whether device matrix shouldn't be enabled by default

Need to test drive it a little more to refine an opinion. Other opinions welcome.

Post

v5.0b2

* Added Track Selector (MACRO): hold MACRO and use pad matrix to directly select from 64 tracks
* Added user controls (hold MACRO, toggle CONTROL+MACRO) - TODO fix value display on strips
* Made Device Selector enabled by default when holding CONTROL (toggle with CONTROL+SELECT)
* Added "Hide disabled tracks" doc pref, also togglable via SHIFT+PAD<1><0>
* Fixed: slider level limits were not properly set when paging with arrow keys

https://github.com/unthingable/monster- ... tag/v5.0b2

Still debating ergonomics. The button combinations are getting involved and emacs-like, I should probably make a video.

Post

v5.0

Fixed user control bank display, everything works properly now. No fine adjustment with SHIFT-slide though, because UserControlBank implementation sucks.

https://github.com/unthingable/monster- ... s/tag/v5.0

As always, see updated docs: https://github.com/unthingable/monster- ... /v5.0/docs

Post

v5.1: displaying modulated values in the strips quickly drove me insane. Now everything is unmodulated, but device control strips show both values.

https://github.com/unthingable/monster- ... s/tag/v5.1

Post

v6.0

* Bitwig 4.0 is required (API 14)
* NOTE REPEAT button activates fill mode
* Fixed: sliders with level limits could be scaled incorrectly upon activation and bank scrolling

https://github.com/unthingable/monster- ... s/tag/v6.0

Post

6.2

Added:

- AUTO toggles automation writing (arranger), indicates and resets automation override
- REC button records (right, finally)
- TRACK+REC to arm/disarm track
- sticky mode for device selector
- pom.xml: install extension in extension dir

Fixed: strip levels were not being set correctly when reactivating level mode

Post

An overview/demo of MonsterJam:

https://www.youtube.com/watch?v=wWDKdUCGX7s

I have zero video-making skills, if things are unclear please ask.

Post

6.4

Added:

- SHIFT-AUTO toggles launcher automation write

Fixed:
- It was possible to exceed parameter range bounds when making fine adjustments with shift-slide
- Shift-sliding could get stuck if a strip was released before SHIFT
- CONTROL-MACRO (user controls) did not always activate correctly
- User controls could display erroneous values when switching from device controls
- When switching from superscenes to scenes, bright active superscene button did not always clear
- Triggering a scene did not clear active superscene

Misc:
- Code refactor, shrank a giant file
- Previous 6.2 release included 6.3 version by mistake, so here is 6.4

Post

Hi, great effort, thank you.
Are you going to support new note operators?
Should I use your MonsterJam instead of DrivenByMoss right now?

Post

fwsuperhero wrote: Fri Aug 20, 2021 6:11 am Should I use your MonsterJam instead of DrivenByMoss right now?
That's the question for me too...

Post

fwsuperhero wrote: Fri Aug 20, 2021 6:11 am Hi, great effort, thank you.
Thank you for the feedback.
Are you going to support new note operators?
I thought about it. MonsterJam has no note sequencer at the moment, when it does I will definitely try to include them.
Should I use your MonsterJam instead of DrivenByMoss right now?
You should use what makes the most sense to you. :) They do different things. I recommend trying them out, or at least opening their docs side by side and comparing. If you're asking me what the difference is, I don't want to speak for Moss so take this as an opinion (hopefully unbiased):

- DBM covers more ground in terms of breadth of functionality and offers things like step sequencer, different note/drum input modes with chords and scales, onboard arpeggiator and browser.
- MonsterJam expects you to do those things on the computer or a better suited controller (for example, I often need to type when using the browser anyway) and instead focuses on features that are inconvenient, slow or impossible on the computer, with the bias towards navigation and performance. It offers direct navigation to devices, tracks, groups and track/scene pages; superscenes, "perform fx" mode, fine slider adjustments, slider level limits, self-exiting modes, etc.. Happy to explain any specific use case.
- Both extensions are opinionated, so another factor is whose opinion do you prefer.

Moss successfully addresses the formidable challenge of supporting a wide comprehensive range of functionality across a zoo of controllers for more than one DAW, while I have the luxury of obsessing over a smaller set of nuanced features and their ergonomics on a single controller. That being said, aside from note/step input and browser, MonsterJam should cover all the basics. Seeing that I sometimes add functions only after needing them in my own work, if you see something missing please let me know.

By the way, you can use both almost side by side, by switching between them quite quickly. After loading the `DrivenByMoss.ncmj` mapping in NI Controller Editor, if you drop that file into your `Bitwig Studio/Extensions` MonsterJam will pick it up and use it instead of its own. Then all you have to do is switch the active controller extension in Bitwig settings, no need to also switch in Controller Editor. I haven't personally verified that every single control works as expected, but it should.

Post Reply

Return to “Controller Scripting”