~rabbits/orca-toy

b600a492f1ef935adda2f44f5f1f88a12add2f1a — neauoire 1 year, 8 months ago 497a584
Added byte operator
2 files changed, 16 insertions(+), 3 deletions(-)

M README.md
M orca.tal
M README.md => README.md +2 -1
@@ 56,7 56,8 @@ To display the list of operators inside of Orca, use `CmdOrCtrl+G`.
### Special

- `=` **synth**(channel octave note): Plays a note.
- `:` **data**(channel octave note): Send a note.
- `:` **midi**(channel octave note): Send a note.
- `;` **byte**(octave note): Send a byte.

## Controls


M orca.tal => orca.tal +14 -2
@@ 58,8 58,8 @@

%CHAR-NULL  { #00 } %CHAR-LINE  { #0a }
%CHAR-HASH  { #23 } %CHAR-BANG  { #2a }
%CHAR-DOT   { #2e } %CHAR-COLON { #3a }
%CHAR-EQUAL { #3d }
%CHAR-DOT   { #2e } %CHAR-SLASH { #2f }  
%CHAR-COLON { #3a } %CHAR-EQUAL { #3d }

%IS-CHAR-KEY { STHk #20 > STHr #7b < #0101 == }



@@ 867,6 867,17 @@ RTN

RTN

@op-byte ( x y char -- )

	POP
	( get octave ) DUP2 [ SWP #01 + SWP ] GET-PORT-RIGHT [ #0c * ] STH 
	( get note ) DUP2 [ SWP #02 + SWP ] GET-PORT-RIGHT-RAW GET-NOTE STH 
	( req bang ) DUP2 ;get-bang JSR2 ,&is-bang JCN POP2 POP2r RTN &is-bang
	IO-TYPE SET-TYPE
	ADDr STHr .Console/char DEO

RTN

@string "hello $1

@run-char ( x y char -- )


@@ 899,6 910,7 @@ RTN
	DUP CHAR-HASH = ;op-comment JCN2
	DUP CHAR-EQUAL = ;op-synth JCN2
	DUP CHAR-COLON = ;op-midi JCN2
	DUP CHAR-SLASH = ;op-byte JCN2

	( unknown )
	POP2 POP