First steps with the OWL-modular

Hi,

I’m a very happy fresh owl owner, but I’m failing trying to grasp some basics.
I’m using PD
I succeed in uploading patches and compiling them (sometimes) but some questions/remarks

  • what about heavy objects. As this seems to be pretty standard for doing anything usefull, why isn’t heavy included by default? or am I missing something? Also for objects in heavy that rely on heavy subobjects [hv.osc saw] I have not found the correct wat to include them.

  • using github is great! big fan, how can I include a whole folder/repo of objects and have them added to the compilers search path? Might be the solution to the heavy question above

  • I haven’t been able to get midi out of the owl, unless I use the remote control on OwlControl. I tried renaming the parameters to match [r Channel-A]. I used the main pd-template patch to start from… still no midi out when turning the hardware buttons A-B-C-D.

  • how do I know which patch I’m running in “standalone mode” not talking about the factory supplied patches, but my own. How many can I upload? how can I select a different patch?

  • the SDTOUT compile info is very useful and helps me debug and fix. However what to do with messages like

LOAD LOADED PATCH: untitled-92f166d3e720 CONNECTED TO: OWL Modular v12 CPU: 150445% Memory: 6376

MESSAGE: Heavy assertion failed in cDelay_onMessage line 62

This patchworks in javascript, but not on the owl

Thanks!

Some more info on the midi problem using this patch

https://hoxtonowl.com/patch-library/patch/untitled_69b679898931/

I get this in mi OSX midi monitor

11:30:43.849 From OWL-MIDI Control 1 Controller 30 42 11:30:44.849 From OWL-MIDI Control 1 Controller 20 7 11:30:44.849 From OWL-MIDI Control 1 Controller 21 0 11:30:44.849 From OWL-MIDI Control 1 Controller 22 106 11:30:44.849 From OWL-MIDI Control 1 Controller 23 28 11:30:44.849 From OWL-MIDI Control 1 Controller 24 0 11:30:45.413 From OWL-MIDI SysEx Non-Commercial 25 bytes F0 7D 52 24 43 50 55 3A 20 35 25 20 4D 65 6D 6F 72 79 3A 20 36 30 35 36 F7 11:30:46.850 From OWL-MIDI SysEx Non-Commercial 25 bytes F0 7D 52 24 43 50 55 3A 20 35 25 20 4D 65 6D 6F 72 79 3A 20 36 30 35 36 F7 11:30:47.415 From OWL-MIDI SysEx Non-Commercial 25 bytes F0 7D 52 24 43 50 55 3A 20 35 25 20 4D 65 6D 6F 72 79 3A 20 36 30 35 36 F7

in a very periodic “keep-alive-status” signal rhythm.
however I should be receiving on CC CH2 4 random messages every second (not happening)
or whenever I turn one of the buttons (not happening)

is this a bug?
K

I had some success with this kick drum patch, sending midi notes from the axoloti straight to the owl. I can however so far not send back data…
knobs also work in this patch.

Trying to use this as a template now

K

Hi there kaosbeat, welcome to our little patch making community!

You can currently send pushbutton and MIDI note messages from Puredata OWL patches. Pushbutton changes (done, I believe, with send Channel-Push) controls the Push trigger output on the OWL Modular and toggles the LED.
MIDI note output goes to a connected MIDI host and should work with [noteout]

Not sure why you’re getting a Heavy assertion failure, I can try to find out when I’m next at my desk.

Changing patches and user slots is covered in the Getting Started: https://hoxtonowl.com/mediawiki/index.php/Getting_Started_With_OWL_Modular

Heavy objects: you mean heavylib [1]? You can simply add whatever file/s you want to use to your patch - but I see you’re doing that already. It would probably be better though, wouldn’t it, if we made them available somehow… Happy to try it out, but I think there are two potential problems: firstly the compilation time will probably massively increase if they’re all included in every compilation, secondly I’d be worried about versioning, ie if you make a patch that depends on a specific heavylib version. Maybe the latter is not really a problem, I’m not so familiar with heavylib.

[1] GitHub - enzienaudio/heavylib: Library of Heavy compatible abstractions

About MIDI output, note that the OWL normally only sends MIDI messages when requested, either by the running patch (e.g. using [noteout]) or by a MIDI host. This means that apps such as OwlControl will continuously poll the device for the current knob settings (unless you turn ‘Poll Device’ off). The reason is to avoid sending an abundance of MIDI messages which might affect audio performance.

Line 62 of HvControlDelay.c is where the assertion fails:

        hv_assert((i < __HV_DELAY_MAX_MESSAGES) && // scheduled message limit reached
            "[__delay] cannot track any more messages. Try increasing the size of __HV_DELAY_MAX_MESSAGES.");

I have no idea how [__delay] works and I’m afraid I can’t suggest a solution. Does the message make sense to you? Might be worth asking the Heavy people unless someone else here knows. Max messages is set to 8, in HvControlDelay.h

Ok, So meanwhile I had some success with the midi using [notein], but if I understand correctly, no use in trying [ctlin] or [ctlout] objects as they are not implemented (they do not give compile errors)

[ctlin] won’t work (yet), but you can use additional parameters F, G and H (as Channel-F, et c) which are mapped to CC 1, 12 and 13. See https://hoxtonowl.com/mediawiki/index.php/MidiMappings for the full set of mappings, currently available only to C++ patches.