XXIIVV
Orca x Dotgrid
Orca x Dotgrid13A12

Orca is a livecoding language and virtual machine.

Orca is a two-dimensional esoteric programming language in which every letter of the alphabet is an operator, where lowercase letters operate on bang, uppercase letters operate each frame.

If you wish to learn how to use Orca, watch a tutorial or ask your questions in the forum.

Orca is a wildly unique visual programming tool. It's also an inky black and seafoam green alphabet soup, pulsating to some species of broody electronic industrial throb. Ivan Reese, The Future Of Coding

The Orca operations Manual

The base operators are present in every version of Orca, no matter the platform:

The special operators make use of a platform's devices, here are the suggested special operators:

Source

uxnasm orca.tal orca.rom view raw

An introduction to basic operations in Orca.

Basics

This section will teach the basics of playing a note and a sequence of notes.

Send a midi note

D8...
.:03C

Play a random note

D8.aRG.
.:03D..

Make a melody

D814TCAFE
.:03A....

Play the melody

.8C4.....
D804TCAFE
.:03C....

Logic

This section will teach the basics of automating logic decisions and changing the values of operators dynamically.

Play every second note

.2I6.......
D646TCAFEDG
.:03D......

Play a note with an offset

D8.1AC.
.:03D..

Play a sequence back and forth

4C6......
.4B3.....
D414TCAFE
.:03A....

Play a note at a specific interval

I4.....
3F2.1AC
..:03D.

Play a note at a specific frame

.aCa.
..6F4
Ca...
.Y.f5

Projectors

This section will teach the basics of creating new operators procedurally.

Hold a moving operator

..H
E..

Read an operator at position

22O...
..E..H
.....E

Write an operator at position

22XE.
.....
.....
....E

Animate a projector

C...........
.B4.........
.1XE........
........:03C
........:03D
........:03E
........:03F
........:03G

Variables

This section will teach the basics of storing accessing and combining that stored data.

Write a variable

aV5

Read a variable

.....Va
.......
aV5..Va
.....5.
.......
aV6..Va
.....6.

Read 3 variables

iV0.oV3.nVC
...........
3Kion......
.:03C......

Carry a value horizontally and vertically

3..
J..
3Y3

Carry a bang

D43Ka...
.Y.:03C.

I hope this workshop has been enlightening, if you have questions or suggestions, please visit the forum, or the chatroom. Enjoy!

Base 36 Table

Orca operates on a base of 36 increments. Operators using numeric values will typically also operate on letters and convert them into values as per the following table. For instance Do will bang every 24th frame.

0123456789AB
01234567891011
CDEFGHIJKLMN
121314151617181920212223
OPQRSTUVWXYZ
242526272829303132333435

Transpose Table

The midi operator interprets any letter above the chromatic scale as a transpose value, for instance 3H, is equivalent to 4A.

0123456789AB
__________A0B0
CDEFGHIJKLMN
C0D0E0F0G0A0B0C1D1E1F1G1
OPQRSTUVWXYZ
A1B1C2D2E2F2G2A2B2C3D3E3

Golf

Here are a few interesting snippets to achieve various arithmetic operations.

1X..
6I4.
Modulo
Will output the modulo of 6 % 4.
cA1.
.dAZ
Uppercase
Will output uppercase C.
H...
CM1.
Lowercase
Will output lowercase C.
.L0.
..F0
Not Null
Will bang if L free input is not null.

incoming alicef azolla roms marabu pilot enfer norns studio merveilles