Meadowphysics (norns)

I had the same issue. After deleting my presets, I was able to run the script again.

1 Like

how did u do that? dont have access to mp on norns. via ftp?

EDIT: got it thanks

1 Like

Very minor bug report. Using Encoder 2 to scroll past note G9 results in:

lua: 
/home/we/norns/lua/core/screen.lua:153: bad argument #1 to 's_text' (string expected, got nil)
stack traceback:
	[C]: in function 's_text'
	/home/we/norns/lua/core/screen.lua:153: in function 'core/screen.text'
	/home/we/dust/code/meadowphysics/lib/gridscales.lua:93: in function 'meadowphysics/lib/gridscales.redraw'
	/home/we/dust/code/meadowphysics/mp_midi.lua:239: in global 'draw_gridscales'
	/home/we/dust/code/meadowphysics/mp_midi.lua:313: in function 'enc'
	/home/we/norns/lua/core/encoders.lua:57: in function 'core/encoders.process'

This crashes the audio engine and requires a reboot or reset to set things right.

I’ve got a Lua rebuild branch at the moment. I’ll check for this bug and patch it.

2 Likes

Check this branch:

I’m actively working on this at the moment, I’ve redone the core system and separated out the sound making functionality (the first thing I tried here was outputting over crow/just friends which works but there are some concurrency/throughput bugs on the crow side at the moment I believe).

I’m working on an issue with cycle lengths at the moment (though now I rubber-duck it, it might be expected behaviour). First feature next on the todo list is the variable-cycle feature to meadowphysics with the different reset behaviours. At the moment, this script is just a set cycle length per voice. Once that is in I will merge from dev to master. Then I’ll get parameters sorted again for midi scales, output etc.

Another difference here is that the voice triggers/bangs happen on the start of the cycle not the end. That was to my taste but I’ll put a switch in params for the OG meadowphysics style (and probably make it the default)


Update 1: I’ve just pushed the Rule logic to that branch, but I’m unsure how rules are supposed to apply to speed. Does anyone know where speed gets it’s range from?


Update 2: I’ve got sample playback happening via Ack and it’s super fun! I’ve got a couple of grid bugs to fix then I should be able to cut a release. Hopefully soon because the rest of this week is looking super busy. (Nils Frahm tomorrow night :D)

11 Likes

So exciting! Thanks for doing the leg work!

https://vimeo.com/377289374

Up and running with samples! This is available in the dev branch. Once midi is back and voices can apply rules to other voices I’ll merge to master.

11 Likes

well that looks/sounds awesome.

Really like how you’ve refactored the code too. looks very cleanly organized

Thanks! if I’m honest it’s because there were a couple of bugs that I just could not find my way through the original code to fix. I’ve made a few performance mistakes here I think with the grid rendering and some spurious architecture choices (recursively passing the meadowphyics instance into its own children) but it’s pretty much there and those things can be refactored later.

1 Like

error when loading script (( both versions @alphacactus + @dansimco )) ?
fully updated nornsy, lots other scriptos working - - as a non modular person at home wld love to finally try out meadow w. just the norns and grid > >>>> thank you to anyone who can help
MDMD

Can you connect to norns via Maiden? If so, use maiden to launch the script. Then copy the error message from maiden and paste it here.

thanks,. first time jumping into maiden tbh --> prob an ez fix and thank for help :::

script clear

script load: /home/we/dust/code/meadowphysics-master/mp_midi.lua

cleanup

script clear

including /home/we/dust/code/awake/lib/halfsecond.lua

SCRIPT ERROR: load fail

/home/we/dust/code/meadowphysics-master/mp_midi.lua:21: module ‘meadowphysics/lib/meadowphysics’ not found:

no field package.preload[‘meadowphysics/lib/meadowphysics’]

no file ‘/home/we/norns/lua/meadowphysics/lib/meadowphysics.lua’

no file ‘/home/we/norns/lua/core/meadowphysics/lib/meadowphysics.lua’

no file ‘/home/we/norns/lua/core/params/meadowphysics/lib/meadowphysics.lua’

no file ‘/home/we/norns/lua/lib/meadowphysics/lib/meadowphysics.lua’

no file ‘/home/we/norns/lua/softcut/meadowphysics/lib/meadowphysics.lua’

no file ‘/home/we/dust/code/meadowphysics/lib/meadowphysics.lua’

no file ‘/usr/local/share/lua/5.3/meadowphysics/lib/meadowphysics.lua’

no file ‘/usr/local/share/lua/5.3/meadowphysics/lib/meadowphysics/init.lua’

no file ‘/usr/local/lib/lua/5.3/meadowphysics/lib/meadowphysics.lua’

no file ‘/usr/local/lib/lua/5.3/meadowphysics/lib/meadowphysics/init.lua’

no file ‘/usr/share/lua/5.3/meadowphysics/lib/meadowphysics.lua’

no file ‘/usr/share/lua/5.3/meadowphysics/lib/meadowphysics/init.lua’

no file ‘./meadowphysics/lib/meadowphysics.lua’

no file ‘./meadowphysics/lib/meadowphysics/init.lua’

no file ‘/usr/local/lib/lua/5.3/meadowphysics/lib/meadowphysics.so’

no file ‘/usr/lib/arm-linux-gnueabihf/lua/5.3/meadowphysics/lib/meadowphysics.so’

no file ‘/usr/lib/lua/5.3/meadowphysics/lib/meadowphysics.so’

no file ‘/usr/local/lib/lua/5.3/loadall.so’

no file ‘./meadowphysics/lib/meadowphysics.so’

stack traceback:

/home/we/norns/lua/core/norns.lua:126: in function </home/we/norns/lua/core/norns.lua:126>

[C]: in function ‘require’

/home/we/dust/code/meadowphysics-master/mp_midi.lua:21: in main chunk

[C]: in function ‘dofile’

/home/we/norns/lua/core/script.lua:149: in function </home/we/norns/lua/core/script.lua:149>

[C]: in function ‘xpcall’

/home/we/norns/lua/core/norns.lua:127: in field ‘try’

/home/we/norns/lua/core/script.lua:149: in function ‘core/script.load’

/home/we/norns/lua/core/menu/preview.lua:21: in function ‘core/menu/preview.key’

/home/we/norns/lua/core/menu.lua:139: in function </home/we/norns/lua/core/menu.lua:116>

script clear

and here’s the one for the “dev” @dansimco version:

script clear

script load: /home/we/dust/code/meadowphysics-dev/meadowphysics.lua

cleanup

script clear

MISSING INCLUDE: meadowphysics/lib/engine/core

SCRIPT ERROR: load fail

/home/we/dust/code/meadowphysics-dev/meadowphysics.lua:18: MISSING INCLUDE: meadowphysics/lib/engine/core

stack traceback:

/home/we/norns/lua/core/norns.lua:126: in function </home/we/norns/lua/core/norns.lua:126>

[C]: in function ‘error’

/home/we/norns/lua/core/startup.lua:45: in function ‘include’

/home/we/dust/code/meadowphysics-dev/meadowphysics.lua:18: in main chunk

[C]: in function ‘dofile’

/home/we/norns/lua/core/script.lua:149: in function </home/we/norns/lua/core/script.lua:149>

[C]: in function ‘xpcall’

/home/we/norns/lua/core/norns.lua:127: in field ‘try’

/home/we/norns/lua/core/script.lua:149: in function ‘core/script.load’

/home/we/norns/lua/core/menu/preview.lua:21: in function ‘core/menu/preview.key’

/home/we/norns/lua/core/menu.lua:139: in function </home/we/norns/lua/core/menu.lua:116>

script clear

I think in both cases you’ll need to rename your script folders, since the code expects libs at certain paths.

so instead of meadophysics-dev/ or meadowphysics-master/, you just want a meadowphysics/.

2 Likes

word~!! :face_with_hand_over_mouth:

1 Like

Thanks for that! If anyone knows how I can make it more robust in this manner that would be great

1 Like

Can’t wait to try this new version with samples. Thanks for this!

I’m not sure what the problem is here but after installing the dev meadowphysics my grid is not showing feedback when running the patch. To avoid the conflict stated above I deleted the midi version of meadow physics. I also did do a Norns reset

Also when I did try having both on Norns Im not quite sure how to handle the renaming to be honest since you can’t have two folders with the same name and when I tried putting the sample version Lua file in the original meadow physics folder it would not work. Im assuming because of the different libraries.

Good news is, I think I now have the refactored meadowphysics at feature parity with the original midi meadowphysics! The version I’ve just pushed now outputs midi with selectable note per voice in addition to selectable sample per voice, or you can mix and match. There currently isn’t scales, but it’s using the params system so any notes you use can be saved as presets. I’m going to merge to master now and then put in a request to the library repository to point to this new master branch, if that goes ahead updates from here on can be through the maiden library manager.

@alphacactus I’ve made a PR now to library to change the download url to the repository on my github account. If you’d prefer to maintain the source of truth for meadowphysics I’ll cancel the PR and instead make a PR against your repo!

15 Likes

Thank you for this. Appreciated