[content] fill challenges, aproch and implementation section

This commit is contained in:
thibaud keller 2024-11-25 19:16:10 +00:00
parent c8fee3084f
commit bb3736b033
3 changed files with 132 additions and 49 deletions

File diff suppressed because one or more lines are too long

View file

@ -23,7 +23,7 @@ Thibaud Keller
with Alexander Wiethoff [[2]](https://doi.org/10.21428/92fbeb44.6a2451e6)[[12]](https://doi.org/10.1145/3294109.3295646), Maximilian Rauh[[3]](https://doi.org/10.21428/92fbeb44.db84ecd0)
and Sebastian Unger [[4]](https://doi.org/10.21428/92fbeb44.303223db).
- With a dedicated course at Berklee college of Music
- With a dedicated course at Berkley college of Music
"Grid Controller Studies" ISEL-112 [[5]](https://github.com/stretta/gridlab)
- And an active community of artists and developers [[6]](https://llllllll.co/tag/grid)
@ -36,9 +36,10 @@ Due, in part, to the open source, and open-ended nature of monome's grid
![w:540](images/monome-gridlab.jpg) ![h:297](images/grids.jpg)
As presented in [Maker Stories [7]](https://stories.maker.co/monome-open-source-tools-for-music-makers).
<!-- * Demo of the MLR max patch and a sonified Conway's game of life
<!--
* Demo of the MLR max patch and a sonified Conway's game of life
* Made in america
* Made in America
-->
---
@ -90,9 +91,11 @@ Pocket operators, Teenage Engineering (hand held)
- 2019 - Grid, Intech Studio (modular)
- 2020 - Mine S, Special Waves (modular)
<!-- An alternative open source firmware for the Novation Launchapd Pro
<!--
An alternative open source firmware for the Novation Launchpad Pro
Interesting, but Idealy, a library should work with any controller out of the box-->
Interesting, but Ideally, a library should work with any controller out of the box
-->
---
@ -100,10 +103,12 @@ Interesting, but Idealy, a library should work with any controller out of the bo
- [libmonome](https://github.com/monome/libmonome/tree/main)
- [mixxx](https://github.com/mixxxdj/mixxx/tree/main/res/controllers)
- [AbletonLive12_MIDIRemoteScripts](https://github.com/gluon/AbletonLive12_MIDIRemoteScripts)
- [MIDIRemoteScripts](https://github.com/gluon/AbletonLive12_MIDIRemoteScripts)
- [DrivenByMoss](https://github.com/git-moss/DrivenByMoss)
- [OpenAV-Ctrla](https://github.com/openAVproductions/openAV-Ctlra)
- [SDL_GameControllerDB](https://github.com/mdqinc/SDL_GameControllerDB)
- [GameControllerDB](https://github.com/mdqinc/SDL_GameControllerDB)
- [OpenAV-Ctrla](http://openavproductions.com/doc/ctlra.html)
![bg right:60% 100%](images/ctlra_with_without.png)
---
@ -124,7 +129,7 @@ Yamaha FS1R [[8]](https://fs1r.skerjanc.de/)
and the dread of
"menu diving"
against
[Pamla's PRO Wokrout](https://busycircuits.com/alm034/)
[Pamela's PRO Workout](https://busycircuits.com/alm034/)
![bg right:60% 110%](images/controller-b-fur-yamaha-fs1r-730x548.jpg)
![bg 26%](images/pamela.jpg)
@ -136,9 +141,9 @@ against
- Keyboards / drum pads
- Step sequencers
- "Clip" launchers (Ardour (Ableton))
- Arangement views (Deluge)
- Arrangement views (Deluge)
- Routing matrixes (Deluge)
- Rudimentary waveform cropers (Deluge)
- Rudimentary waveform croppers (Deluge)
- Text displays (Launchapd)
- Basic spin boxes (Circuit)
- Nodal patchers (Zoia) ...
@ -152,12 +157,58 @@ Samuel J. Hunt's [UGS](https://iv.nboeck.de/watch?v=KHFJPfa38wY) [[9]](https://d
---
# Byond
# Challenges
- Compatibility: supporting a wide selection of hardware devices
- Performance: low compute cost & optimal responsiveness
- Extensibility: ease of adding more devices
- Low resolution: reducing graphical elements to their bare minimum
- Portability: ease of integration in software
- Modularity: option to aggregate devices
---
# Aproche
- Starting with the Launchpad Pro: common & full-featured
- Implement a minimalist widget system
- Porting [score](https://ossia.io)'s user interface to a grid
- Drawing from the [remote control plugin](https://ossia.io/score-docs/in-depth/remote.html)
- Search for Intuitive mappings of physical actions to software functionalities
- Aim for full integration of the hardware device, allowing complete use of score without a screen, mouse or keyboard
<!--
score contains:
Independent timelines,
nodal patchers,
waveform displays,
and widgets of all kind
Heavily rely on WIMP interactions
-->
---
# Beyond
![bg vertical right:70% 90%](images/touchgrid.png)
![bg 90%](images/kinephone.png)
Beat Rossmy's [TouchGrid](https://vimeo.com/387381202) [[4]](https://nime.pubpub.org/pub/touchgrid/release/1) & MIT labs [Kinéphone [10]](https://doi.org/10.5281/zenodo.1176145)/[SoundFORMS [11]](https://doi.org/10.1145/2851581.2892414)
<!--
edge and basal interactions
Accessibility: convert light lo cell height
or vibration
small screen in each cell
or dot matrix
or 14 segment displays
displaying characters requires at least 3x5 cell fonts
https://fontstruct.com/fontstructions/show/1371235/3x5-dot-matrix-1
-->
---
# Honorable mention
@ -170,27 +221,23 @@ Eli Fieldsteel's
[COMB](https://vimeo.com/231299236)[[12]](https://doi.org/10.1145/3294109.3295646)
<!--
Impluse curve filemd performance
Impulse curve filmed performance
https://inv.nadeko.net/watch?v=k8N0iMYd9H8&t=0
-->
---
# Chalenge
- Porting [score](https://ossia.io)'s user interface on a grid
---
# Aproche
---
# Implementation
- Drawing from [Avendish's GUI toolkit](https://ossia.io/posts/minimum-viable/)
- Device specifications written as simple c++ aggregates
- Avoid runtime overhead with reflection
- Midi sysex to update the entire grid with a single message
- Available on [codeberg](https://codeberg.org/bugui)
---
# Bibliographie
# Bibliography
[[1]](https://doi.org/10.21428/92fbeb44.563bfea9) Rossmy, B. “Buttons, Sliders, and Keys A Survey on Musical Grid Interface Standards.” In International Conference on New Interfaces for Musical Expression, 2022.

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB