Tried but no luck… Would love to use Orca on my ipad for sure–I think there was talk of an ios port earlier in the thread

I think the trouble you’re running into is that iOS Chrome actually uses Apple’s browser code under the hood. At least this is the understanding I’ve been able to gain. Apple hasn’t taken the steps to implement webmidi yet. I was able to make an app wrapper that intercepts those MIDI messages and forwards them to the native MIDI system in iOS. There is still a lot of work though involved in getting a solid iOS port working. It would be nice if Apple would just implement MIDI. Alternatively, if you can find an iOS browser that supports MIDI, you’d be good to go.

1 Like

Thanks for the insight and the work on the ios port, sounds like a lot of work! I did a little poking around and found this Web MIDI Browser https://apps.apple.com/us/app/web-midi-browser/id953846217 but can’t figure out how to get it to work and looks like it hasn’t been updated in some time. Will probably just send midi out from orca via my computer into the ipad for now–lots of great apps there waiting to be sequenced…

2 Likes

I was wondering about the “locked” text which appears instead of the operator reminder in the down-left corner. Is there a new way to switch it to show the help text again?

Ah! Nice catch, sorry about that. Just pushed a fix that adds it back :slight_smile:

1 Like

sorry it took me so long to try the new build, but I finally did and it works perfectly! Thanks!

1 Like

Breaking Update v158+

  • Pushed an update that changes the behaviour of the F, L and B operators. I know I said I wouldn’t do that anymore but it’s well worth it.
  • The new update also includes a better display of play/pause state.
  • Backspace in insert-mode will erase the selection and move westward.
  • Fixes an issue where the port names were invisible.

Okay, let’s look at the changes with the operators.

Previously, the L was mostly used to toggle between two values, like a swap, but this behaviour was destructive and in most cases I saw people use the T or P operators like:

.D....
i.....
22Tab.
..a...

The new B and L are now math operators, like A and M, here are tables of all the math operators side-by-side.

Lesser Operator

So you’ll notice that the new L, outputs the smallest value of the inputs, so in 2L4 = 2, or 6L3 = 3, or 4L4 = 4, you get the idea.

It’s useful to find if something is not null, or to bang only a region of a Track. You can see some more examples here, notably how to bang on greater-than when combined with the new F.

C...
3L3.
.38T

Bounce Operator

The new B basically took the operation of the old B, where it would bounce between two values on the clock, but its old operation has been extracted and turned into this new operator, taking a value(will often be the output of a C or I) so you can now bounce a iterator like:

I8....
5B4...
.1.X..

If Operator

The change in F is basically a return to the old behaviour where .F. bangs, that means that it won’t change most cases where you’re catching a passing value like:

C..
7F2

Because we lacked a reliable way of inverting a bang *, the following pattern will now give you the opposite of the Euclidean sequence:

3U8
.*F

Or,

.*..*..*.*..*..*.
..**.**.*.**.**.*
11 Likes

Super into all of this except that I was using the old L function to rotate euclidean rhythms… wondering if there’s another way to do that efficiently. I’ll see if I can work something out.

1 Like

You could write the rhythm on a track, and offset the playhead like:

C...C.5U
6A2.6.X.
.8Y88T*.

You can change the offset by changing the 2 value in the addition. It’s a bit crude, but it might do the trick?

Alternatively, if you want something a bit more esoteric:

3O....
......
.3O...
......
..3O..
......
...3U8
1 Like

It would be nice if these commands where also listed in the initial help view.

But these commands are all available in the dropdown menus? Or do you use the web version?

You are right. I was using the web app. But this is exactly the time when these info screen would be very useful, because you don’t have the dropdown menus

okay :slight_smile: I will add the shortcuts to the guide

1 Like

Thanks! That’s quick! :grinning::grinning::grinning::grinning::grinning::grinning::grinning::grinning:

Here’s something new and fun in the meantime.

Redesigned how injection works in ORCΛ. You can now use the $in:filename pattern in your patch to load an orca file at that position! To load extra modules in your project, just open or drag files onto the window.

Enjoy :slight_smile:

10 Likes

Trying to dig into Orca with a more “programming tools” mindset beside the “finding new ideas” I usually have. Today I made a small but useful phase sequencer :slight_smile:

https://www.instagram.com/p/B5VK4NlJqV0/?igshid=1w8uexcl6nxlg

edit: cleaned the patch a bit (thanks a lot to @neauoire for being such an active supervisor and giving me the right suggestion about the K operator on Twitter) and added a couple of controls. I put it on my github for those who wish to play with it. My idea is to create some modules to inject while performing, cause I love to jam with Orca, especially when improvising with other people :slight_smile:

4 Likes

Here’s the cleanup tip for everyone else who are curious.

If you make orca modules, you can put them up also on patchStorage

5 Likes

Totally missed this! Just uploaded my patch there as well!

Hi! Its really nice the injection. I used it yesterday for the first time, but with the old build (I commented on youtube)
Today i updated Orca and found out i have to drag the files first to load them. (Instead of having them in the same parentfolder)
Yesterday i just put the command $inject:filename;0;0 in the topleft corner. This way i could recall different states of a patch really fast, just by hitting enter in topleft.
Now with the new build i cannot do that anymore, since it doesnt overwrite the patch but pastes it underneath the "$in:filename"command.
Is this how it is now or am i overlooking something?
Thank you!

Today i updated Orca and found out i have to drag the files first to load them. (Instead of having them in the same parentfolder)

Orca doesn’t read the file system anymore, and that’s not likely to come back. That is a dependency on Electron that I am gradually trying to phase out. I don’t have a faster solution at the moment but I am thinking about alternative options.

Yesterday i just put the command $inject:filename;0;0 in the topleft corner. This way i could recall different states of a patch really fast, just by hitting enter in topleft.

You can still just put $inject:filename in the top left, and it will work the same. The difference is that you don’t have to include the command at the top of each file that will be included anymore.

If you look back at this video, you could build yourself a main.orca, with the content:

$in:a....
.........
.........
.........
.........

And in a.orca, you don’t need to include anything special to control the patch loading, nor in any other file that will be injected.

1 Like

I see the benefit of the new function.
But since i am swapping back and forth/injecting quite fast its easier that the injectioncommand gets overwritten also. But i guess i can get used to it this way. If i dont hit the copied commands it doesnt grow to a huge stack which pushes my patch downward.