Monome ecosystem firmware development backlog

This is a wiki post for keeping track of community development status of bugs and feature requests for firmwares in the monome ecosystem, including monome-released Eurorack modules as well as TELEX and other objects that speak the ii protocol. As a discussion thread it probably makes most sense for backlog grooming and discussion, and as a place for developers to indicate anything they’re working on to avoid repeating work. Threads which may be better suited for related discussions include:

This is organized alphabetically, roughly by hardware platform, but in the case of alt firmwares and so on it may make sense to change that organization to break things down by app a little more, especially with some of the hardware-independence enabled by work such as multipass. All proposed Teletype remote control operations (e.g. KR.CUE) are organized under Teletype. Existing features in officially released firmwares are not included, but as features in this list are released it may make sense to relocate them to a different section to keep this document focused on active and proposed development. I have not included Trilogy modules since I don’t know if they have active development being done, if you do please feel free to add them – likewise with any other firmware development (or monome-friendly hardware development!) you are aware of.

This big ol’ list of Markdown tables may not be all that friendly to edit in Discourse. You might have a little better time downloading the whole source of this post as a Markdown file and editing it in a Markdown editor of choice.

Legend:

  • name - short name for the feature or bug
  • release - link to first official release containing the feature or bugfix
  • proposed / reported - link to a post proposing the feature or reporting the bug. A link has been chosen to try and provide some discussion context and requirement clarity, this is not intended to credit a given idea to any particular poster. This was chosen as a fairly well-defined way to order items in each category, this is not intended to suggest any particular development order.
  • github issue - links to related issues on github, if any
  • approved - indicates approval by @tehn
  • effort estimate - low, medium, high, or “nbp” for “not believed possible”, perhaps with link to discussion
  • dev(s) - lines users involved in working on the feature. Putting your name here is not a commitment to completing a feature, it just means you’re going to try working on something, with no expectations/obligations attached to it.
  • prototype(s) / betas - links to lines posts containing the latest firmware binary with this implemented
  • PR(s) - links to pull requests to the master branch for the project
  • description / notes

Ansible

Bugs
name release reported github issue effort estimate dev(s) prototype(s) / beta PR(s) description / notes
timing glitch when connecting USB May 2017 #23 @scanner_darkly? this seems to be alluded to here
arc freezes when controlling levels from TT Apr 2018 #32
notes don’t tie at max duration Jul 2018 @freqout, @scanner_darkly 2019/04/06 ansible 1, 2
pitch cv lockup for rapid midi notes Jul 2018 #34
freezes on midi pitch shift Oct 2018
ratcheting glitch when using reset Dec 2018 #37
Features

These are basically all Kria related, from the Kria feature requests thread. I have not found a lot in the way of Meadowphysics.

name release proposed github issue approved effort estimate dev(s) prototype(s) / beta PR(s) description / notes
freeze button Oct 2016 a “Freeze” (repeat current step) button and a “Reset” button in the Trigger Page
pattern stop Dec 2016 right now, the only way to stop playback is to leave one saved pattern slot empty and switch to it
no auto-advance/no auto-loop Dec 2016
chord progressions Feb 2017
probability for each pattern Feb 2017
preset write/read UI changes Feb 2017 W or R indicators to confirm save/load
note repeat and delay Mar 2017 duration alt page?
multi-note monophony Jun 2017 as in parc
phase sync on time div changes Jun 2017 #25 yes @csboling 2019/05/28 ansible
“all phase” reset per track Jun 2017 #25
randomize parameter page Sep 2017 depending on UI
randomization options Sep 2017 randomize parameters within range, random walk, partial page randomization
live input Sep 2017 play notes while sequence continues
octave master shift Jan 2018 #29 yes low @csboling 2019/05/28 ansible top row on octave page?
store presets to USB disk Oct 2016 #7 yes @csboling 2019/05/28 libavr32, ansible JSON formatted
microtonal scales Feb 2018
step modes Mar 2018 yes @csboling 2019/05/28 1, 2, 3, docs 1, docs 2 forward, reverse, triangle, drunk, random
live latching notes Sep 2018 if you hold down a button you’ll send a gate until you let it go, and the sequence will go on
reset individual tracks Nov 2018
gate swing Jan 2019
gate selection for ratcheting Jan 2019 seems low @csboling 2019/05/28
mark the 1 May 2019
save TT clock enable state May 2019 @csboling 2019/05/28

Teletype

This is no doubt missing plenty of proposed features from various Teletype discussions. If you don’t see a proposed feature that you’d like to be on the radar, feel free to add it with a link to a post in a discussion/feature request thread - it’s good to have some discussion posts for a feature outside of this list so that requirements can be clarified and related ideas can be grouped together.

Bugs
name release reported github issue effort estimate dev(s) prototype(s) / beta PR(s) description / notes
scenes with # in desc load incorrectly Sep 2017 #104 needs usb disk rework
some keyboards drop keystrokes Jul 2018 #156 @scanner_darkly 2019/03/27
scenes get mysteriously wiped Nov 2018 @scanner_darkly, @tehn 2019/03/27 1, 2 cause still unknown, safeguards added
mode switching timing issues Nov 2018 @scanner_darkly 2019/03/27
negative pattern values load from disk incorrectly Dec 2018 #172 may need usb disk rework
INIT.SCENE doesn’t update metro rate Jan 2019 #174 @scanner_darkly 2019/03/27 1
Hardware features
name release proposed dev(s) prototype(s) description / notes
keyboard UART expander Aug 2018 to use e.g. keyboard + grid with TT
Remote control features
name release proposed github issue approved effort estimate dev(s) prototype(s) / beta PR(s) description / notes
kria: cue pattern Oct 2018 #35 @csboling 2019/05/04 KR.CUE
ansible as grid extender Oct 2018 may require i2c rework
levels: clocking Oct 2018
Just Friends: additional addresses Feb 2019
ansible: emulate grid/arc events Apr 2019 @csboling 2019/05/04 ANS.G, ANS.G.P, ANS.G.LED, ANS.A, ANS.A.LED
kria: get/set active page Apr 2019 @csboling 2019/05/04 KR.PG
ansible: get/set active app Apr 2019 @csboling 2019/05/04 ANS.APP
ansible/trilogy: emulate panel button events Apr 2019
faderbank: scale / quantization Apr 2019 FADER.MAP x y z, FADER.SCALE, FADER.QT, FADER.N
kria: step modes May 2019 @csboling
Teletype features
name release proposed github issue approved effort estimate dev(s) prototype(s) / beta PR(s) description / notes
tracker alternate data views Mar 2016 #7 yes
timeline Mar 2016 #8 yes may need usb disk rework
autotrig Mar 2016 #9 yes
second pattern bank Mar 2016 #17 may need usb disk rework
increase DAC slew resolution Apr 2016 #26 yes
usb disk rewrite + UI Sep 2017 #81 UI work here
longer init script Feb 2018 may need usb disk rework
shadow scripts Apr 2018
get/set displayed screen Mar 2018 yes may be problematic
create multiple delays Jun 2018 @alphacactus 2019/03/27 1, 2 DEL.X, DEL.R
execute / goto script line Sep 2018
bit shift with rotation Sep 2018 LROT, RROT
number representation ops Sep 2018 BIN, HEX, OCTL, ER.V
number base selection Sep 2018 @simondemeule BASE b n, DEVICE.BASE, P.BASE, PN.BASE
flip screen and I/O numbering Sep 2018 #162 yes @scanner_darkly 2019/03/27 teletype DEVICE.FLIP
additional turtle scripts Oct 2018
probabilistic conditional Oct 2018
script-local persistent variables Oct 2018 @alphacactus 2019/03/27 1, 2 J, K
slew easing curves Oct 2018 libfixmath has sin/parabola, maybe also exp/log?
comment before insert Oct 2018 @scanner_darkly
get/set random seed Dec 2018 @alphacactus 2019/03/27 1 SEED, RAND.SEED / RAND.SD / R.SD, TOSS.SEED / TOSS.SD, PROB.SEED / PROB.SD, DRUNK.SEED / DRUNK.SD , P.SEED / P.SD
load scene without resetting grid Jan 2019 @scanner_darkly 2019/03/27 SCENE.G
change pattern step direction Jan 2019 P.DIR, PN.DIR
restore patterns without reloading scene Feb 2019
grid ops: define spacing May 2019
14 Likes

Teletype key dropping long-since fixed for Vortex users, AFAIK

1 Like

thanks for doing this! i think this is helpful to get an idea where dev stands at any given point. i think it makes sense to include mods of the existing official firmwares (such as grid 256 version of meadowphysics) but not completely separate alt firmwares (polyEs / ansible ES / orca) as those are usually driven by a single developer anyway.

i wonder if github wiki(s) would be a better place to host the lists - it is indeed difficult to edit markdown here, while github has a built in editor / preview. as an experiment, i’ve created this wiki page: https://github.com/monome/teletype/wiki/development-backlog - not sure why Bugs / Hardware Features are not rendering properly, just did a quick copy/paste and replaced details tags with headers.

5 Likes

It looks like I might have put some extra | at the end of the line with the | --- | table breaks for those tables and Github’s markdown parser rejected them. I was able to clone the wiki to check this out but it doesn’t seem you can do PRs to the wiki portion of a repo? Suggestions for workarounds: 1, 2. This seems like maybe a mark against a Github wiki for this if it’s more difficult to allow communal editing.

good point on github editing - i assumed the list would be updated by devs when they pick a feature to work on, but i guess the list is also meant to be updated by people requesting new features?

I think feature requests should probably go in the feature request threads so there can be some discussion before they’re added here. I was thinking more about the need to have edit permissions on the GitHub repo where the wiki lives and how this might make it more cumbersome to deal with for people wanting to get into firmware development, since I don’t know if wiki permissions can be granted on e.g. the monome/teletype repo wiki without also giving write access to the repo itself. But maybe there are other access control schemes available for wikis, or maybe the wiki for the backlog tables could live in a separate repo in the monome-community org with more permissive access controls. There are some things that seem kind of nice about it being here, like how Discourse will cross-reference posts in feature discussion lists that are linked from this table back to this topic, and visibility. Maybe the answer is to find/write a Discourse plugin for more WYSIWYGgy table editing. In searching for one I found this post on another Discourse forum talking about HTML tables, not clear to me without some experimenting if this is built in and still lets you put all the Markdown links and stuff in the cells.

Wikis on GitHub can be edited from the UI/browser, no need to clone them/use the git workflow.
The repo owner(s) can either set permissions for anyone to have editing rights or only for people who have committed to the repo before (collaborators).

1 Like

my suggestion re: using git wiki was more to address the inefficiency of editing markdown on discourse (as a side note, a plugin could help but this could have a negative impact on maintainability of the forum). for a list like this you really want it to be easily editable, otherwise it’ll be hard to encourage people to keep it up to date.

this is also where i think clarifying the purpose of the list would help - at what point does it get updated? by whom? another thing to consider - putting your name on the list might feel like committing to completing a feature, which could actually discourage new devs. perhaps we should clarify this is not the case, and putting your name up just means you’re going to try working on something, with no expectations/obligations attached to it.

to me the main benefit of the list is to have a central place to check the status of requests, less so to coordinate who’s working on what - we don’t really have that many devs working on monome eurorack firmware.

1 Like

If you were looking for info on who’s working on what it’s probably easiest to create an issue for it in the relevant repo on GitHub and assign whoever is working on it/going to work on it.