Orca

Yep, orca predates the keyboard module and uses hard coded layout. It could be patched up for sure

One of those nice patches where you end up with lots less code

1 Like

@opty & @zebra welp i did a PR back when i was working on the keyboard layout feature.

i guess @Frederickk hasn’t checked his github notification for a while.

5 Likes

Thanks for the bump, I’ll review!

EDIT: Merged! I’ll roll this together with some bug fixes for the next release.

8 Likes

For some reason ORCA won’t load in my Fates (error: load fail). I’ve tried deleting and reloading, restarting Fates and Maiden. Any help appreciated.

be sure to be on last update. last orca release requires is.

1 Like

Thanks, just checked and I am up to date on norns and fates.

Is there any output in Maiden? Hard to tell what’s going awry. I dev and update Orca on a Fates device, so I’m thinking something else might be amiss.

Thanks for your reply, this is the output on matron:

?

pset >> write: /home/we/dust/data/buoys/buoys-144.pset
norns.script.load(“code/orca/orca.lua”)

script clear

script load: /home/we/dust/code/orca/orca.lua

including /home/we/dust/code/orca/lib/crow.lua
including /home/we/dust/code/orca/lib/engines.lua
including /home/we/dust/code/orca/lib/engines/_fm7.lua
including /home/we/dust/code/orca/lib/engines/_passersby.lua
including /home/we/dust/code/orca/lib/engines/_polyperc.lua
including /home/we/dust/code/orca/lib/engines/_timber.lua

MISSING INCLUDE: timber/lib/timber_engine

SCRIPT ERROR: load fail

/home/we/dust/code/orca/lib/engines/_timber.lua:1: MISSING INCLUDE: timber/lib/timber_engine
stack traceback:
/home/we/norns/lua/core/norns.lua:145: in function </home/we/norns/lua/core/norns.lua:145>
[C]: in function ‘error’
/home/we/norns/lua/core/startup.lua:48: in function ‘include’
/home/we/dust/code/orca/lib/engines/_timber.lua:1: in main chunk
[C]: in function ‘dofile’
/home/we/norns/lua/core/startup.lua:42: in function ‘include’
/home/we/dust/code/orca/lib/engines.lua:6: in main chunk
[C]: in function ‘dofile’
/home/we/norns/lua/core/startup.lua:42: in function ‘include’
/home/we/dust/code/orca/orca.lua:47: in main chunk
[C]: in function ‘dofile’
/home/we/norns/lua/core/script.lua:192: in function </home/we/norns/lua/core/script.lua:192>
[C]: in function ‘xpcall’
/home/we/norns/lua/core/norns.lua:146: in field ‘try’
/home/we/norns/lua/core/script.lua:192: in function ‘core/script.load’
(…tail calls…)

script clear

lua: /home/we/norns/lua/core/clock.lua:59: bad argument #1 to 'resume' (thread expected) stack traceback: [C]: in function 'coroutine.resume' /home/we/norns/lua/core/clock.lua:59: in function 'core/clock.resume' lua: /home/we/norns/lua/core/clock.lua:59: bad argument #1 to 'resume' (thread expected) stack traceback: [C]: in function 'coroutine.resume' /home/we/norns/lua/core/clock.lua:59: in function 'core/clock.resume' >>

I’m a noob to Norns, but it looks like the Timber engine is missing? I just downloaded it, how would I add it to Norns if not by Maiden?

After installing Timber, did you restart your Norns/Fates?

1 Like

That did it! Very happy.

1 Like

What is the expected output for comparing bangs?

.J.D2.
.*F*..
..🐒..

:banana: = :banana:?

I’m staring at

but there’s a lot going on on that line.:exploding_head:

PS. I still have no idea how to use / softcut operator, I’m trying to sample a conference livestream via audio in and mess with it in Orca but that’s not how to do it obviously.

if(a == b)
  bang
else
  no-bang

So, if a and b are both *, it will bang

Makes sense, ie. matches reasonable intention.

Seems there’s a bug lurking in the norns implementation. Here’s a more focused and lab-controlled video than the one above, expressing F not banging where the ladybug sits

.....
.D.D.
..F..
..🐞..
.....

According to Lua documentation the precedence is (classic) == > and > or, and Lua cuts and and or short.

If both are *, the second test will be true and "*" which will always be false. A logical contradiction, right?

no, all values in lua are truthy except false and nil.

people often use this expression as a stand-in for a ternary operator: <test> and <yes> or <no>. the pitfall indeed is that it breaks if the value returned by the <yes> expression is falsy, but it’s not here.

> function hm(a, b) return a == b and '*' or '-' end
> hm(1, 1) 
*
> hm(1, 2)
-
1 Like

Ah yeah truthiness, thanks for correcting!

The code runs ok on norns Lua, but *F* is not banging (excuse my language).

Or the bug is between the screen (admittedly in need of a wash) and the chair.

Is anyone else noticing that the scale operator “$” isn’t ever outputting the B note? I am pretty sure I am using it correctly. For example, 1$1C outputs C, and 6$1C outputs A, but when I try 7$1C, it outputs a blank. I’ve tried this with out scales too. Is something up, or am I just not thinking of it right?

(Also, I stepped away from Orca on norns for a while and HOLY COW - thank you so much devs! I am particularly happy to have the crow integration!)

4 Likes

FWIW there’s nothing explicitly in the implementation of $ that prevents B from being output. However, I’ll take a peek and see if there’s anything going on.

2 Likes

Hello hello. I have tried searching through the thread for this but don’t think I found anything concrete. Is there a way yet to modulate the bpm at all? Really desperately needing a way to get some swing/shuffle going. This can’t be that difficult right? If we could have control over bpm it would be easy to just setup quick shifts between say 120-122 bpm, that would surely achieve a shuffle-esque vibe. Anyone?

there is BPM control (and an APM, animate to speed) in the electron version but I don’t think there is in the norns port. there would have to be something worked out with the global norns clock system it seems.

Oh shoot I didn’t realize I was in a Norns thread, I thought I was in general Orca convo. Thank you though!

1 Like