No plans for this no, the idea with orca is that it’s a livecoding language that always display where the notes are coming from. The reason for this is that as a member of the audience of livecoding shows, I always felt it was pretty boring when someone scrolled up and down the track’s source, it made it really difficult to understand what was doing what.

Orca is designed with “transarency” in mind, notes should always have some sort of visual feedback.

4 Likes

oh that’s too bad. I understand your thinking, but since it’s already possible to zoom out to a large degree, I think it wouldn’t hurt to have a better way to navigate that space.

My points for being able to move around would be:

  1. I think it would actually be quit cool for the audience, Patches could become more like terrains and you could move from one valley to another to start a new song/track from a minmal predefined structure.

  2. It would be easier to use multiple styles of sequencing within a live set without haveing to reload patches or open other programs (texteditors, to paste things)

  3. You could get very creative with it, which I think could be very interesting for the audience. one could for example include ascii art as visual elements, so you could integrate ascii words or sentences to your world that might enhance your set in a poetic way and with being able to slowly move around the world, this could also be used to establish a narrative visual structure for a live set and would actually be more understandable and elegant than one just pasting in a new track/structure from a txt editor.

For example (if possible to define various colors). One could start out in a red world and then move to a green area and move past images or text. You could come dream up a whole ascii music world/machine

I don’t think that this would make things less unclear for the audience, the sense that something moves and triggers and bangs to create music is still quit clear. I would rather think that the game like terrain / level approach is something that maybe makes it easier for audience, since most know games like zelda and they could appreciate moving through level like structures, it would give could give a performance a more passage like quality.

and most importantly, nobody would have to do this, it would just open up the creative posibilities

anyway :slight_smile: just my thoughts!

Sounds like you’re the one for the job @rxrx ! It’s open source after all.

5 Likes

hello! I have a bit of a dumb question:

I seem to have the web version working on my android phone, but I can’t seem to find the midi settings to send the midi to the device i’m actually interested in controlling. does anyone know where it is?

@rxrx Much of what you’re describing could be accomplished with the $in command, (re)loading small code snippets on the fly, sans different colors. I imagine there are other ways to get creative with ;write and send values and bangs or even blocks of code in realtime between two Orca instances.

If you follow @corpusjonsey’s advice and get down to the scrolling implementation, here’s an idea: loupe mode :slight_smile:

For example, there could be one window showing the entire composition in a smaller font, and another (or several) showing a zoomed in section. The loupe window could then be scrollable and still satisfying @neauoire’s constraint somewhat.

2 Likes

@neauoire Any chance to have the sync in merged in the build as well? I’ve been playing with it via npm start yesterday and it’s tight! Can’t get over the comfort of launcing a compiled app though…

Let me get back to you in that after I have learned coding :slight_smile:

Thanks for the suggestions, I’m not aware of those commands yet and yes! A small rectangle with a total view and a moveable magnifying glass would be good, but that means an extra UI Element and this goes A bit against the pure/minimal aesthetic of ORCA.

I think being able to zoom out and in + moving around (I would imagine once you’re 2 or 4 boxes/squares from the border the whole patch/level would move one box over to whatever direction you’re moving to. Of course there could be different cameras as well (like a centered one where the world moves around the courser, one that is more like a page - once you leave the screen the neighbouring screen is shown, etc)

What language is ORCA coded in? I always wanted to learn how to code, but that might take a few years :slight_smile: But I’m always up for a good challenge

@Ste_v: I will try to make new official builds soon. I’m having some computer issues at the moment that are making it hard to make new builds. :woman_facepalming:

@rxrx There’s a view versions of Orca floating around. I wrote the JS version, there is a C version for terminal, there’s a plan9 C version for Plan9, there’s a lua version for norns. I’m currently working on a ANSI C version in SDL.

4 Likes

But if it’s entirely optional and togglable, why not?

Also something like this would be interesting to at least try, especially the Cartesian example: https://bost.ocks.org/mike/fisheye/

I’d also love the ability to scroll around.

In order to have more code one has to effectively be able to read smaller and smaller font. This just isn’t practical for me at some point.

I thought it would be handy if you could zoom into certain areas and program hotkeys to take you to specific spots in your field.

1 Like

A long time ago, in the first few versions of orca, there was a concept of “doors”(/), you could enter a door, and see a sub program running.

Every door contained a smaller program within, with an input and an output. I removed this system to keep the main branch as simple and lean as I could.

The idea of the master version is that it should be just enough to run the basic specs, but remain simple to be extendable by anyone.

If someone wants to implement something simple like scrolling, they can, it wouldn’t find its way in the master, but it should be fairly simple for anyone to make sense of the code and make a fork.

4 Likes

I just made a PR implementing ableton link support, I think it’s working but need more feedback :pray:

3 Likes

What is ORCA doing in this Andrew Huang video? :slight_smile:

1 Like

Andrew, get those three producers to actually use Orca and make a beat with it. :stuck_out_tongue:

2 Likes

I totally agree with you, this is just jerking off with producer skills and not actually reflecting on the practice of working with algorithmic composition with orca.

5 Likes

They’ll come around.

6 Likes

Electronic music became instagram? Who would have thought? What did I just watch? The hardest part of being a functioning human is loving others and what they do? Did I decorate my own body enough? So many questions.

Haskell won at mottos with “avoid success at all costs”, now I appreciate the wisdom of those words so much more.

2 Likes

I just got started with Orca and I’m in love! Working my way through the operators, trying them out in different ways and combinations. I’m a little bit confused to how the NESW operators work in combination with the O operator (Read). Usually, the directional operators bangs whenever they hit something. But when they hit the read position of an O operator, it just holds the operator in place. How do I get it to bang instead? Here’s an example:

....................4U9
..................2I8*H
81O................41gW
...:03F................
81O....................
...:03g................
81O....................
...:03a................
81O....................
...:04d................

So, I want the W:s to bang when they hit the respective 8-1 offset read positions of O. But the W just gets stuck and holds instead. Thankful for an explanation or solution!

Wonder if anyone can recommend a good way to write to multiple locations without using variables. For example, I’d like to bang several operators at once without building J/Y networks, or emit a vertical column of Es.

Also, why would this naive attempt be acting so strangely? The bottom E is aways a frame ahead.

.......................
...D...................
....Y.Y.H..............
...J.30xE..............
....Y.Y.J...E.......E..
...J.30xE..............
....Y.Y.J...E.......E..
.....30xE..............
.............E.......E.
.......................

I can see they’re written at once:

............
..D.........
..*Y*Y*H....
..J.30xE....
..*Y*Y*J.E..
..J.30xE....
..*Y*Y*J.E..
....30xE....
.........E..
............

but on the next frame the bottom E moves and the other two don’t:

............
..D.........
...Y.Y.H....
..J.30xE....
...Y.Y.J.E..
..J.30xE....
...Y.Y.J.E..
....30xE....
..........E.
............