Norns 2.0 beta

norns

#271

at the moment, all the fixes are in lua and app code, so you can just pull and build

(that said, the Smart Linux People here might have some performance tweaks for the kernel soon… but no promises because i’m not one of them)


#272

re-read this earlier…

Perhaps there could be a “Norns Tips” thread in the new Library category here?


#273

i think this is a good place to host the guide

even if there are existing tutorials or references listed as helpers for those who want more info…having a simple explanation of the basics in the norns docs would help some users

i successfully grabbed sway + all R related jah scripts this way

come to think of it
@carltesta readme doc is perfect for a git beginner to follow

tried this and failed

good idea
i have an account but have not made my own repositories
just rely on gists for the few times i’ve needed to save something

i’d like to try since i know that is how git is customarily used

never tried this but agree it would be great to learn

this is scary since i assume i’ll “break” someone elses work

agreed
as someone who has put off learning on my own unless absolutely necessary i encourage those who are hesitant to try the command line

it is quicker than copying code into maiden and honestly feels like magic when everything works as planned


if help is needed let me know
i’m not particularly qualified to make the docs alone…i have some familiarity with github and terminal but still feel inexperienced using them (which might help in providing contructive feedback or cooperating with somebody more knowledgeable)

i figure my perspective might help
for example i suggest the github tuts be split:

  • one page/section for bare minimum needed to download + update scripts or firmware easily
  • and another for those who want to upload and share the engines and scripts they’ve developed

#274

A perhaps useful note (for the tips or guide or wherever) is that a github gist is really a very simple repo! I just learned this the other day.

You can clone/pull from a gist same as with a regular repo.

so as an example:
git clone <repository-url> <directory-to-clone-into>

could become the following for the uhf gist by @speakerdamage

git clone https://gist.github.com/speakerdamage/3847cbf60a9d340f526cd895a1c3e818 uhf


#275

just a heads up that we’ve had a lot of discussion about git. we’d like to encourage it for those interested, but we’re committed to not requiring usage of git as a fundamental requirement for using norns.


#276

THANK YOU wow I was worried here.


#277

thank you for your patience everyone— just finished a bunch of fixes and i’ll be posting a new beta and image tomorrow. i appreciate the feedback everyone has provided!


#278

cheers / we appreciate all your hard work.


#279

Yikes… I pulled the dev branch just now and did a ./waf clean and ./waf and now I’m dead in the water (error: Audio Engine).

./crone.sh gives me the following:

compile done
localhost : setting clientID to 0.
internal : setting clientID to 0.
Class tree inited in 0.98 seconds
softcutvoice startup
Execution warning: Class 'SoftCutHead' not found
ERROR: Message 'ar' not understood.
RECEIVER:
   nil
ARGS:
then the rest of the error dump

Instance of OutputProxy { (0x2ebbfd0, gc=64, fmt=00, flg=00, set=04)
instance variables [11]
synthDef : instance of SynthDef (0x2f31010, size=16, set=4)
inputs : nil
rate : Symbol ‘control’
synthIndex : Integer 0
specialIndex : Integer 0
antecedents : nil
descendants : nil
widthFirstAntecedents : nil
source : instance of Control (0x2eba450, size=10, set=4)
outputIndex : Integer 0
name : Symbol ‘buf’
}
Instance of OutputProxy { (0x2fb4ed0, gc=64, fmt=00, flg=00, set=04)
instance variables [11]
synthDef : instance of SynthDef (0x2f31010, size=16, set=4)
inputs : nil
rate : Symbol ‘audio’
synthIndex : Integer 3
specialIndex : Integer 0
antecedents : nil
descendants : nil
widthFirstAntecedents : nil
source : instance of In (0x2fb51f0, size=9, set=4)
outputIndex : Integer 0
name : nil
}
Instance of Lag { (0x2e67170, gc=6C, fmt=00, flg=00, set=03)
instance variables [8]
synthDef : instance of SynthDef (0x2f31010, size=16, set=4)
inputs : instance of Array (0x2e67a10, size=2, set=3)
rate : Symbol ‘audio’
synthIndex : Integer 5
specialIndex : Integer 0
antecedents : nil
descendants : nil
widthFirstAntecedents : nil
}
Instance of Lag { (0x214ebd0, gc=6C, fmt=00, flg=00, set=03)
instance variables [8]
synthDef : instance of SynthDef (0x2f31010, size=16, set=4)
inputs : instance of Array (0x2d38430, size=2, set=3)
rate : Symbol ‘audio’
synthIndex : Integer 7
specialIndex : Integer 0
antecedents : nil
descendants : nil
widthFirstAntecedents : nil
}
Instance of BinaryOpUGen { (0x2fb24f0, gc=6C, fmt=00, flg=00, set=04)
instance variables [9]
synthDef : instance of SynthDef (0x2f31010, size=16, set=4)
inputs : instance of Array (0x2cf0210, size=2, set=3)
rate : Symbol ‘audio’
synthIndex : Integer 10
specialIndex : Integer 2
antecedents : nil
descendants : nil
widthFirstAntecedents : nil
operator : Symbol ‘*’
}
Instance of OutputProxy { (0x2f3a430, gc=64, fmt=00, flg=00, set=04)
instance variables [11]
synthDef : instance of SynthDef (0x2f31010, size=16, set=4)
inputs : nil
rate : Symbol ‘control’
synthIndex : Integer 0
specialIndex : Integer 0
antecedents : nil
descendants : nil
widthFirstAntecedents : nil
source : instance of Control (0x2eba450, size=10, set=4)
outputIndex : Integer 16
name : Symbol ‘pos’
}
Instance of OutputProxy { (0x2fb5830, gc=64, fmt=00, flg=00, set=04)
instance variables [11]
synthDef : instance of SynthDef (0x2f31010, size=16, set=4)
inputs : nil
rate : Symbol ‘control’
synthIndex : Integer 2
specialIndex : Integer 0
antecedents : nil
descendants : nil
widthFirstAntecedents : nil
source : instance of InTrig (0x2fb6190, size=9, set=4)
outputIndex : Integer 0
name : nil
}
Instance of OutputProxy { (0x2d08e50, gc=64, fmt=00, flg=00, set=04)
instance variables [11]
synthDef : instance of SynthDef (0x2f31010, size=16, set=4)
inputs : nil
rate : Symbol ‘control’
synthIndex : Integer 0
specialIndex : Integer 0
antecedents : nil
descendants : nil
widthFirstAntecedents : nil
source : instance of Control (0x2eba450, size=10, set=4)
outputIndex : Integer 14
name : Symbol ‘start’
}
Instance of OutputProxy { (0x20a3c30, gc=64, fmt=00, flg=00, set=04)
instance variables [11]
synthDef : instance of SynthDef (0x2f31010, size=16, set=4)
inputs : nil
rate : Symbol ‘control’
synthIndex : Integer 0
specialIndex : Integer 0
antecedents : nil
descendants : nil
widthFirstAntecedents : nil
source : instance of Control (0x2eba450, size=10, set=4)
outputIndex : Integer 15
name : Symbol ‘end’
}
Instance of OutputProxy { (0x2fb2130, gc=64, fmt=00, flg=00, set=04)
instance variables [11]
synthDef : instance of SynthDef (0x2f31010, size=16, set=4)
inputs : nil
rate : Symbol ‘control’
synthIndex : Integer 0
specialIndex : Integer 0
antecedents : nil
descendants : nil
widthFirstAntecedents : nil
source : instance of Control (0x2eba450, size=10, set=4)
outputIndex : Integer 17
name : Symbol ‘fade’
}
Instance of OutputProxy { (0x2fb5bf0, gc=64, fmt=00, flg=00, set=04)
instance variables [11]
synthDef : instance of SynthDef (0x2f31010, size=16, set=4)
inputs : nil
rate : Symbol ‘control’
synthIndex : Integer 0
specialIndex : Integer 0
antecedents : nil
descendants : nil
widthFirstAntecedents : nil
source : instance of Control (0x2eba450, size=10, set=4)
outputIndex : Integer 18
name : Symbol ‘loop’
}
Instance of OutputProxy { (0x2fb5e70, gc=64, fmt=00, flg=00, set=04)
instance variables [11]
synthDef : instance of SynthDef (0x2f31010, size=16, set=4)
inputs : nil
rate : Symbol ‘control’
synthIndex : Integer 0
specialIndex : Integer 0
antecedents : nil
descendants : nil
widthFirstAntecedents : nil
source : instance of Control (0x2eba450, size=10, set=4)
outputIndex : Integer 19
name : Symbol ‘fadeRec’
}
Instance of OutputProxy { (0x2fb5f10, gc=64, fmt=00, flg=00, set=04)
instance variables [11]
synthDef : instance of SynthDef (0x2f31010, size=16, set=4)
inputs : nil
rate : Symbol ‘control’
synthIndex : Integer 0
specialIndex : Integer 0
antecedents : nil
descendants : nil
widthFirstAntecedents : nil
source : instance of Control (0x2eba450, size=10, set=4)
outputIndex : Integer 20
name : Symbol ‘fadePre’
}
Instance of OutputProxy { (0x2d668b0, gc=64, fmt=00, flg=00, set=04)
instance variables [11]
synthDef : instance of SynthDef (0x2f31010, size=16, set=4)
inputs : nil
rate : Symbol ‘control’
synthIndex : Integer 0
specialIndex : Integer 0
antecedents : nil
descendants : nil
widthFirstAntecedents : nil
source : instance of Control (0x2eba450, size=10, set=4)
outputIndex : Integer 21
name : Symbol ‘recRun’
}
Instance of OutputProxy { (0x2125330, gc=64, fmt=00, flg=00, set=04)
instance variables [11]
synthDef : instance of SynthDef (0x2f31010, size=16, set=4)
inputs : nil
rate : Symbol ‘control’
synthIndex : Integer 0
specialIndex : Integer 0
antecedents : nil
descendants : nil
widthFirstAntecedents : nil
source : instance of Control (0x2eba450, size=10, set=4)
outputIndex : Integer 22
name : Symbol ‘offset’
}

PROTECTED CALL STACK:
Meta_MethodError:new 0x23653e0
arg this = DoesNotUnderstandError
arg what = nil
arg receiver = nil
Meta_DoesNotUnderstandError:new 0x23665a0
arg this = DoesNotUnderstandError
arg receiver = nil
arg selector = ar
arg args = [ an OutputProxy, an OutputProxy, a Lag, a Lag, a BinaryOpUGen, an OutputProxy, an OutputProxy, an OutputProxy, an OutputProxy, an OutputProxy, an OutputProxy, an OutputProxy, an OutputProxy, an OutputProxy, an OutputProxy ]
Object:doesNotUnderstand 0x2042660
arg this = nil
arg selector = ar
arg args = nil
a FunctionDef 0x2ada120
sourceCode = "{
arg buf, in, out, gate=1,
phase_out= -1, trig_out= -1, trig_in = -1,
phase_att_in, phase_att_bypass=0.0,// phase attenuation input
amp=0.2, rec=0.0, pre=0.0,
rate=1, ratelag=0.1,
start=0, end=1, pos=0, fade=0.1, loop=1,
fadeRec=1.0, fadePre = 1.0, recRun=0, offset=0,
preLag=0.001, recLag=0.001, envTimeScale = 0.001;

				var snd, phase, tr;
				var brs;
				var cutfade;
				var trig;
				var sin;
				var aenv;
				var att; // attenuation from ...etc..."
	arg buf = an OutputProxy
	arg in = an OutputProxy
	arg out = an OutputProxy
	arg gate = an OutputProxy
	arg phase_out = an OutputProxy
	arg trig_out = an OutputProxy
	arg trig_in = an OutputProxy
	arg phase_att_in = an OutputProxy
	arg phase_att_bypass = an OutputProxy
	arg amp = an OutputProxy
	arg rec = a Lag
	arg pre = a Lag
	arg rate = a Lag
	arg ratelag = an OutputProxy
	arg start = an OutputProxy
	arg end = an OutputProxy
	arg pos = an OutputProxy
	arg fade = an OutputProxy
	arg loop = an OutputProxy
	arg fadeRec = an OutputProxy
	arg fadePre = an OutputProxy
	arg recRun = an OutputProxy
	arg offset = an OutputProxy
	arg preLag = an OutputProxy
	arg recLag = an OutputProxy
	arg envTimeScale = an OutputProxy
	var snd = nil
	var phase = nil
	var tr = nil
	var brs = a BufRateScale
	var cutfade = nil
	var trig = an OutputProxy
	var sin = an OutputProxy
	var aenv = nil
	var att = nil
SynthDef:buildUgenGraph	0x2c5f0a0
	arg this = a SynthDef
	arg func = a Function
	arg rates = nil
	arg prependArgs = [  ]
	var result = nil
	var saveControlNames = nil
a FunctionDef	0x2c5e160
	sourceCode = "<an open Function>"
Function:prTry	0x23e86e0
	arg this = a Function
	var result = nil
	var thread = a Thread
	var next = nil
	var wasInProtectedFunc = false

CALL STACK:
DoesNotUnderstandError:reportError
arg this =
Nil:handleError
arg this = nil
arg error =
Thread:handleError
arg this =
arg error =
Object:throw
arg this =
Function:protect
arg this =
arg handler =
var result =
SynthDef:build
arg this =
arg ugenGraphFunc =
arg rates = nil
arg prependArgs = nil
< closed FunctionDef > (no arguments or variables)
Function:doOnStartUp
arg this =
ArrayedCollection:do
arg this = [*8]
arg function =
var i = 2
List:do
arg this =
arg function =
Meta_StartUp:run
arg this =
Main:startup
arg this =
var didWarnOverwrite = false
^^ The preceding error dump is for ERROR: Message ‘ar’ not understood.
RECEIVER: nil

EDIT - is that error coming from here ? :
https://github.com/monome/norns/blob/7fee1ffbc4d71336e0a69d6b860001479240a0bd/sc/engines/abstractions/SoftCutVoice.sc#L54


#280

this is about to be fixed. we’re removing obsolete softcut SC stuff (ugens) :slight_smile:

it is a dev branch so things may break once in a while


#281

FYI https://github.com/monome/norns/pull/754


#282

sorry about that— i approved the PR while working on a parallel-effort branch— so missed the errors.

prepping the new update…


#283

Sorry if this is obvious, but I can’t locate the battery percentage display? :confused:


#284

on the Select/System/Sleep screen press key2


#285

When in the Select/System/Sleep menu you press key 2. There’s battery consumption, percentage left, disk space left and something else I forgot.


#286

Thanks, guys. Having a moment… :sleeping:


#287

see top post for links!

update 190314

  • fixed TAPE record! thank you @zebra !!
  • your old dust gets backed up to dust-old2/
  • changed dust folder layout. see https://github.com/monome/norns/wiki/dust-2.0 but basically all script folders now go in the root dust/ folder and audio/ has been moved out to the home folder.
  • ENGINES now live in dust. moved everything to the we repository. feel free to move your engine into your own repo if desired (submit a PR).
  • all of the fixes and changes described in the thread so far
  • supercollider updated properly
  • some OS fixes for performance

script updating addendum, important!

in an effort to facilitate script sharing we moved folders around, again (i’m sorry!)

with engines and engine libs now living in /dust/we/lib you now need to change some require paths if they use engine libs:

require 'ack'

needs to change to

require 'we/lib/ack'

this seems more complicated, but it actually introduces a lot of sensible correlation to the dust file tree, and allows many people to have the same-named lua files without conflicts.


just run this new installer the same as the last. remember to back up any important work! still beta.


#288

At the moment it looks that access to the update file is 403 forbidden. Is it me?


#289

same here… error accessdenied


#290

fixed perms thank you for the heads up!