@neauoire i pushed a new branch, 'portmidi'. it doesn't actually send MIDI output yet, but i'd like you to see if it builds for you. try this:

./tool --portmidi build debug orca

and see if it builds on your system(s)?


@neauoire ok, the portmidi branch now sends midi, for real. i tested it with the IAC stuff on mac and it works fine. the note lengths (and velocity) might not be what you expect, since 0 will be 1 bar, 3 will be a quarter note, etc. (not sure what state the js version is with regards to that)

@cancel @neauoire just tested on debian 9, and it works! just the notes output is 2 octave lower than normal orca.

I also has to do sudo apt-get install libportmidi-dev to compile, you can add that to the documentation

@npisanti @neauoire i think it's expected that when you specify to build something with portmidi, that you have to have the portmidi dev files installed :) i can't really list the way to install it on linux, because it's different on each distro

@cancel @neauoire fair enough, maybe it could be more meaningful to have setup instructions for different distros when there will be a released binary, at least for apt-get / yum /pacman

@npisanti @neauoire you're missing like 50 more package managers at least. there's a reason people don't list the library dependencies for each package manager as commandline examples

@cancel @neauoire yes i was suggesting just the more widely used, and then you don't have to do it, other persons that use different distros can just contribute to the documentation. But if you don't want to keep that infos i understand it's time consuming to suppor EVERYTHING and you're already doing a great work.

@npisanti @neauoire it's not something i would want to maintain and keep up to date, even assuming that i could get a full list for every linux distro and each release of each distro. after doing this for many years, you learn which battles to not fight. users building software from source on linux are expected to know how to install dependencies.

if someone wants to add orca-c to their distro package manager, then they can set up the dependencies there.

@cancel @neauoire also, i was able to get /orca/started and /orca/stopped OSC messages, how i can use orca-c to send other OSC messages? i didn't saw a guide for that anywhere in the repo

@npisanti @cancel there's no "OSC" specs yet? I personally just pushed for features that I needed myself, but I've seen others ask for it too, so maybe it should be a thing, what is your ideal operator UX for OSC?

@neauoire @cancel mmm there could be different choices for an OSC operator, you could do it more midi-like or more OSC like...
midi like could be like the midi operator, but instead of the channel you use a letter that is the address, for example "a" could send messages to /orca/a, then you give the value the same as midi and to /orca/a is sent a float value for gate and another for pitch

@npisanti @cancel so, something like `~a3C`, where a is the channel, 3 the octave, and C the note?

@neauoire @cancel yess `~a3C8` could pack a message to /orca/a with a integer equivalent of C3 note and another float for gate on with 0.63, and then send a message with same pitch and 0.0 instead of the note off

@neauoire @cancel but then, if i think about it if it was designed like this i would still use midi to have the same functionality

@neauoire @cancel maybe you could do `~a12.678' where a is the channel and then you have 4 or 5 space for write a floating point number, the example would send 12.678 as float argument to the address /orca/a. This design could be flexible and easy enough to use

@npisanti @cancel I'll think about it, I'm not sure that's the most Orca way.

@neauoire @cancel don't worry, i'll probably be very fine with midi right now, it's better something clear that is more limited than lot of confusing features

@neauoire @cancel i just asked about OSC because the orca-c port had some options that implied OSC even before getting midi, so i thought it was already there

@npisanti @neauoire use it like this


send the numbers 0, 1, 2, 3 to OSC address /x

@cancel @neauoire like this??? it isn't working (but still i can see /orca/started and /orca/stopped)

Show more

@neauoire @cancel or it could be more osc like, so you give the address as first argument and then an argument to decide if it's int or float, and then the value, float could be useful to have in 0-1 range for modulations / triggers and int with 0-127 for pitch (hexadecimal?) but this design could be confusing

Sign in to participate in the conversation

Merveilles is a community project aimed at the establishment of new ways of speaking, seeing and organizing information — A culture that seeks augmentation through the arts of engineering and design. A warm welcome to any like-minded people who feel these ideals resonate with them.