Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Norns converged update #1706

Merged
merged 114 commits into from
Sep 27, 2023
Merged
Changes from 1 commit
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
7222b70
add PSET number to PSET actions + add delete action (#1544)
dndrks Apr 1, 2022
3654d5c
releases.txt
tehn Apr 2, 2022
1b80109
remove nonexistent post_filter_fc_mod command from softcut param factory
catfact Apr 6, 2022
6115cbc
Merge pull request #1558 from catfact/fix/softcut-bogus-filter-command
catfact Apr 6, 2022
cf3be6c
Update pmap.lua
zjb-s Apr 7, 2022
7cce80e
Merge pull request #1561 from zjb-s/main
catfact Apr 7, 2022
fb8032d
typo fix (#1560)
jaseknighter Apr 7, 2022
41e0817
fix registration for screen_display_image_region
ngwese Apr 16, 2022
bbd424e
Update readme.md
tyleretters Apr 22, 2022
11b49f6
add note to readme regarding release flag
catfact Apr 24, 2022
2603a1a
Merge pull request #1568 from tyleretters/update-readme
catfact Apr 24, 2022
52a9b96
use abl_link C API for link clock
artfwo May 8, 2022
c3f1d6a
init session state
artfwo May 8, 2022
83e73b5
Merge pull request #1572 from monome/abl_link
artfwo May 13, 2022
b0e40ba
add param separators to lookup table (#1539)
dndrks Jun 14, 2022
e0c5d3e
cleanup DSP 'lab work' folder (#1580)
catfact Jun 27, 2022
534a9af
add script-definable action for when clock tempo changes (#1575)
dndrks Jul 5, 2022
2e2164e
params: align 'add_separator' and 'add_group' flow with other paramty…
dndrks Jul 18, 2022
221531a
add parameter-based lfo scripting library (#1585)
dndrks Jul 20, 2022
5b59630
apply menu password entry to SMB + hotspot (#1570)
dndrks Jul 20, 2022
a808394
fix to add midi data when device is removed (issue #1557) (#1562)
jaseknighter Jul 20, 2022
3322385
Place downbeats correctly.
sixolet Jul 24, 2022
a32c4d6
Revert "add parameter-based lfo scripting library (#1585)" (#1588)
dndrks Jul 27, 2022
13bccdd
Revert "fix to add midi data when device is removed (issue #1557) (#…
catfact Jul 29, 2022
3ab40de
add 'lfo' (#1591)
dndrks Aug 2, 2022
233e2fd
execute global Midi.remove callback (#1590)
catfact Aug 3, 2022
8d7ba0c
220802
tehn Aug 3, 2022
484d6a1
releases.txt
tehn Aug 3, 2022
6444a40
hotfix: lfo `:add` (#1593)
dndrks Aug 4, 2022
ffaa6de
rest of the lfo hotfix (#1594)
dndrks Aug 4, 2022
71772c6
releases.txt
tehn Aug 10, 2022
189e36d
gamepad support (#1439)
p3r7 Aug 25, 2022
57ddca1
do not add separators to PSET file (#1598)
dndrks Aug 26, 2022
2faa96b
fixed screen curve param descriptions (#1603)
tomwaters Oct 6, 2022
9e4f2f5
Update paramset.lua (#1605)
robbielyman Oct 12, 2022
193881d
expand acceptable accum CC values (#1606)
zjb-s Oct 17, 2022
47e18b2
add TAPE previewing to fileselect (#1607)
robbielyman Oct 19, 2022
41005a9
Tweaks to the keyboard (#1611)
schollz Oct 20, 2022
1f5513c
add version error (#1613)
robbielyman Oct 21, 2022
144d397
address issue #1612 (#1617)
dndrks Nov 10, 2022
e77a9e7
work on lattice v2 (#1616)
robbielyman Nov 10, 2022
f242b29
fix `_menu.keychar` not getting called (#1619)
p3r7 Nov 19, 2022
487610b
prevent global menu shortcut messing up w/ sub-menu's (#1620)
p3r7 Nov 20, 2022
eebb589
fix undefined `gamepad` when `script.clear` gets called (#1621)
p3r7 Nov 21, 2022
eddede8
fix: document sprocket ordering (#1625)
robbielyman Dec 5, 2022
4534c6b
update lfo lib to use lattice sprockets (#1626)
dndrks Dec 7, 2022
44bd36d
add password length failsafes for WPA-PSK (#1627)
dndrks Dec 12, 2022
3791929
221214
tehn Dec 14, 2022
fc7d860
releases.txt
tehn Dec 14, 2022
9fe5504
update.sh fix
tehn Dec 14, 2022
197dbdb
update docs
tehn Dec 15, 2022
3321c2f
releases.txt
tehn Dec 15, 2022
97b3dd7
`new_pattern` was missing return keyword (#1629)
sixolet Dec 22, 2022
e8ae360
lfo fixes + improvements (#1630)
dndrks Dec 23, 2022
9c4f660
add osc.cleanup() to script.lua (#1643)
dndrks Jan 13, 2023
b932b0d
allow sending midi clock to all devices simultaneously (#1642)
zjb-s Jan 13, 2023
2eaf688
fix lattice transport value getting increased in steps of 5 (#1638)
kasperbauer Jan 13, 2023
91f3d87
Make maiden-repl compile on macOS 13.1 Ventura (#1645)
barksten Jan 19, 2023
9a8e04d
Change wrap to use math instead of iteration, and happen in constant …
sixolet Jan 19, 2023
758db24
clean up device callbacks (#1646)
dndrks Jan 20, 2023
162a7cd
remove unnecessary _menu.rebuild_params() (#1647)
dndrks Jan 22, 2023
1398458
Update device_midi.c
catfact Jan 24, 2023
4732b0d
fix typo (want stop byte not start byte)
catfact Jan 24, 2023
06e9df1
Merge pull request #1648 from monome/catfact-patch-1
catfact Jan 24, 2023
c95f13d
Add UK keyboard option. (#1651)
niksilver Feb 15, 2023
f78f448
Remove error from unknown key press. (#1654)
niksilver Feb 17, 2023
b350d2e
fix argument indices for buffer_clear_region_channel (#1656)
catfact Feb 17, 2023
0c06b09
lua NRT processing function (#1634)
robbielyman Feb 17, 2023
19d536c
Update docs for screen.fill() and screen.stroke(). (#1660)
niksilver Mar 2, 2023
0c122cc
new crow4 features on norns (#1662)
trentgill Mar 15, 2023
f4588ab
run ldoc
tehn Mar 17, 2023
b09b929
regenerate docs
tehn Mar 17, 2023
67825b4
better separator labeling in core params (#1665)
dndrks Mar 21, 2023
59916f8
reduce 'send_midi_clock' var scope (#1666)
dndrks Mar 21, 2023
b80fe31
Implement character/key conversion (#1659)
niksilver Mar 24, 2023
389aa3b
[mergeable] rework `gamepad` to handle more edge-cases (#1624)
p3r7 Mar 24, 2023
8815512
add system/settings menu, move items, add battery_warning (#1668)
tehn Mar 25, 2023
a98f6b9
export png (#1669)
tehn Apr 5, 2023
54b0e26
changelog
tehn Apr 5, 2023
f13866b
norns.expand_filesystem() (#1670)
dndrks Apr 5, 2023
b37a2b1
releases.txt
tehn Apr 5, 2023
4230035
allow user to add gamepad profiles without tempering w/ core (#1671)
p3r7 Apr 19, 2023
3bc8bda
Revert "lua NRT processing function (#1634)" (#1673)
tehn Apr 19, 2023
9b937c6
changelog
tehn Apr 20, 2023
70bd0a2
releases.txt
tehn Apr 20, 2023
e0f1185
Update settings.lua (#1675)
dndrks May 2, 2023
52f9080
revert export_png and rename export_screenshot (#1676)
tehn May 9, 2023
5d58ef4
changelog, version, releases.txt
tehn May 9, 2023
32fa0b9
releases.txt
tehn May 9, 2023
1d5e9a6
fix: softcut.voice_sync order documentation
dndrks May 10, 2023
dded936
add fade_time correction, as well!
dndrks May 10, 2023
b678d87
fix fade_time parameter names
dndrks May 10, 2023
36b9bf7
add filters to fileselect (#1678)
dndrks May 12, 2023
c51e7a9
fix midi clock double-tap (#1680)
dndrks May 24, 2023
c176fbd
changelog, version
tehn May 26, 2023
877540f
update.sh ancient typo
tehn May 26, 2023
19726cc
Update releases.txt
dndrks May 26, 2023
77fd4da
fix #1681 (#1682)
dndrks Jun 11, 2023
7770ae8
230614
tehn Jun 14, 2023
71e00e6
changelog
tehn Jun 14, 2023
955e949
releases.txt beta
tehn Jun 14, 2023
c5adf1c
releases.txt stable
tehn Jun 14, 2023
ab42654
Return correct 7th chords from musicutil.generate_chord_scale_degree …
Dewb Jul 15, 2023
5126401
Ensure that disk field can represent size of larger sd cards (#1690)
radishmouse Jul 15, 2023
2bad325
Merge pull request #1677 from monome/voice_sync-order
catfact Jul 19, 2023
103f620
lfo library: v2 (#1692)
dndrks Jul 22, 2023
60bc9af
tune 'RESTART' (#1695)
dndrks Aug 16, 2023
8325b65
midi mapping touchups (#1696)
dndrks Aug 16, 2023
a99ea81
fix user gamepad profile lookup + new model (#1697)
p3r7 Aug 18, 2023
bd00828
disable hciuart in update (#1700)
tehn Sep 13, 2023
c7c6f40
merge main to converged, fixing conflicts
catfact Sep 25, 2023
c8dd7f3
make variable y in util.wrap local (#1704)
sixolet Sep 26, 2023
e4e858d
fix: debounce tape preview in fileselect (closes #1628) (#1703)
robbielyman Sep 26, 2023
36ab629
Merge branch 'main' into norns-converged-merge
catfact Sep 27, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
params: align 'add_separator' and 'add_group' flow with other paramty…
…pes (#1584)

* protect against casual param naming

* protect groups, too

* add error message

* change separator and group addition

* specify overwrite conditions

* overwrite flag allows for continuity for param count

* allow hidden param to be registered
dndrks authored Jul 18, 2022

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
commit 2e2164e0ffc713ccbae5316fa83f5e254ee60952
7 changes: 4 additions & 3 deletions lua/core/params/group.lua
Original file line number Diff line number Diff line change
@@ -6,10 +6,11 @@ Group.__index = Group

local tGROUP = 7

function Group.new(name, n)
function Group.new(id, name, n)
local g = setmetatable({}, Group)
g.name = name or "group"
g.n = n or 1
g.name = type(name) ~= "number" and name or (id or "group")
g.id = id or g.name
g.n = type(name) == "number" and name or (n or 1)
g.t = tGROUP
g.action = function() end
return g
5 changes: 3 additions & 2 deletions lua/core/params/separator.lua
Original file line number Diff line number Diff line change
@@ -6,9 +6,10 @@ Separator.__index = Separator

local tSEPARATOR = 0

function Separator.new(name)
function Separator.new(id,name)
local s = setmetatable({}, Separator)
s.name = name or ""
s.name = name or (id or "separator")
s.id = id or s.name
s.t = tSEPARATOR
s.action = function() end
return s
121 changes: 73 additions & 48 deletions lua/core/paramset.lua
Original file line number Diff line number Diff line change
@@ -97,40 +97,6 @@ function ParamSet.new(id, name)
return ps
end

--- add separator.
-- name is optional.
-- separators have their own parameter index and
-- can be hidden or added to a parameter group.
-- @tparam string name
function ParamSet:add_separator(name)
local param = separator.new(name)
table.insert(self.params, param)
self.count = self.count + 1
self.group = self.group - 1
self.hidden[self.count] = false
if name ~= nil then
self.lookup[name] = self.count
end
end

--- add parameter group.
-- groups cannot be nested,
-- i.e. a group cannot be made within a group.
-- @tparam string name
-- @tparam int n
function ParamSet:add_group(name,n)
if self.group < 1 then
local param = group.new(name,n)
table.insert(self.params, param)
self.count = self.count + 1
self.group = n
self.hidden[self.count] = false
self.lookup[name] = self.count
else
print("ERROR: paramset cannot nest GROUPs")
end
end

--- add generic parameter.
-- helper function to add param to paramset
-- two uses:
@@ -166,13 +132,18 @@ function ParamSet:add(args)
param = binary.new(id, name, args.behavior, args.default, args.allow_pmap)
elseif args.type == "text" then
param = text.new(id, name, args.text)
elseif args.type == "separator" then
param = separator.new(id, name)
elseif args.type == "group" then
param = group.new(id, name, args.n)
else
print("paramset.add() error: unknown type")
return nil
end
end

if self.lookup[param.id] ~= nil then
local overwrite = true
if self.lookup[param.id] ~= nil and param.t ~= 0 and param.t ~= 7 then
print("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!")
print("!!!!! ERROR: parameter ID collision: ".. param.id)
print("! please contact the script maintainer - this will cause a load failure in future updates")
@@ -182,14 +153,32 @@ function ParamSet:add(args)
else
print("! BEWARE! clobbering a script or mod param")
end
elseif self.lookup[param.id] ~= nil and param.t == 0 then
if params:lookup_param(param.id).t ~= 0 then
print("! separator ID <"..param.id.."> collides with a non-separator parameter, will not overwrite")
overwrite = false
elseif param.id ~= "separator" then
print("! stealing separator ID <"..param.id.."> from earlier separator")
overwrite = true
end
elseif self.lookup[param.id] ~= nil and param.t == 7 then
if params:lookup_param(param.id).t ~= 7 then
print("! group ID <"..param.id.."> collides with a non-group parameter, will not overwrite")
overwrite = false
elseif param.id ~= "group" then
print("! stealing group ID <"..param.id.."> from earlier group")
overwrite = true
end
end

param.save = true

table.insert(self.params, param)
self.count = self.count + 1
self.group = self.group - 1
self.lookup[param.id] = self.count
if overwrite == true then
self.lookup[param.id] = self.count
end
self.hidden[self.count] = false
if args.action then
param.action = args.action
@@ -209,26 +198,26 @@ function ParamSet:add_number(id, name, min, max, default, formatter, wrap)
end

--- add option.
-- @tparam string id
-- @tparam string name
-- @tparam string id (no spaces)
-- @tparam string name (can contain spaces)
-- @param options
-- @param default
function ParamSet:add_option(id, name, options, default)
self:add { param=option.new(id, name, options, default) }
end

--- add control.
-- @tparam string id
-- @tparam string name
-- @tparam string id (no spaces)
-- @tparam string name (can contain spaces)
-- @tparam controlspec controlspec
-- @param formatter
function ParamSet:add_control(id, name, controlspec, formatter)
self:add { param=control.new(id, name, controlspec, formatter) }
end

--- add file.
-- @tparam string id
-- @tparam string name
-- @tparam string id (no spaces)
-- @tparam string name (can contain spaces)
-- @tparam string path
function ParamSet:add_file(id, name, path)
self:add { param=file.new(id, name, path) }
@@ -240,8 +229,8 @@ function ParamSet:add_text(id, name, txt)
end

--- add taper.
-- @tparam string id
-- @tparam string name
-- @tparam string id (no spaces)
-- @tparam string name (can contain spaces)
-- @tparam number min
-- @tparam number max
-- @param default
@@ -252,21 +241,57 @@ function ParamSet:add_taper(id, name, min, max, default, k, units)
end

--- add trigger.
-- @tparam string id
-- @tparam string name
-- @tparam string id (no spaces)
-- @tparam string name (can contain spaces)
function ParamSet:add_trigger(id, name)
self:add { param=trigger.new(id, name) }
end

--- add binary
-- @tparam string id
-- @tparam string name
-- @tparam string id (no spaces)
-- @tparam string name (can contain spaces)
-- @tparam string behavior
-- @tparam number default
function ParamSet:add_binary(id, name, behavior, default)
self:add { param=binary.new(id, name, behavior, default) }
end

--- add separator.
-- id and name are optional.
-- if neither id or name are provided,
-- separator will be named 'separator'
-- and will not have a unique parameter index.
-- separators which have their own parameter index
-- can be hidden / shown.
-- @tparam string id (no spaces)
-- @tparam string name (can contain spaces)
function ParamSet:add_separator(id, name)
self:add { param=separator.new(id, name) }
end

--- add parameter group.
-- groups cannot be nested,
-- i.e. a group cannot be made within a group.
-- id and name are optional.
-- if neither id or name are provided,
-- group will be named 'group'
-- and will not have a unique parameter index.
-- groups which have their own parameter index
-- can be hidden / shown.
-- @tparam string id (no spaces)
-- @tparam string name (can contain spaces)
-- @tparam int n
function ParamSet:add_group(id, name, n)
if id == nil then id = "group" end
n = type(name) == "number" and name or (n or 1)
if self.group < 1 then
self:add { param=group.new(id, name, n) }
self.group = type(name) == "number" and name or n
else
print("ERROR: paramset cannot nest GROUPs")
end
end

--- print.
function ParamSet:print()
print("paramset ["..self.name.."]")