-
Notifications
You must be signed in to change notification settings - Fork 16
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
Mapping v1 #87
Mapping v1 #87
Commits on Jun 11, 2018
-
mappa: initial commit of v1 input mapping API
This commit adds a sample application that implements an initial draft of the mappa API. In particular the abstraction between the application and the mappa software is being kept as simple as possible - even still it will probably change a few times - so do not start using this API just yet! This commit closes #80 initial mapping design. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4220ae1 - Browse repository at this point
Copy the full SHA 4220ae1View commit details -
mappa: adding lists for targets and implementation
Testing with valgrind to fix leaks + access issues, #81 Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c1392ec - Browse repository at this point
Copy the full SHA c1392ecView commit details -
mappa: add removal of target impl and test
See details in #81 Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 69cc30d - Browse repository at this point
Copy the full SHA 69cc30dView commit details -
mappa: adding multiple targets to linked list
This enables the app to add and remove multiple targets. Internally they're stored for book-keeping, but not event-lookup is implemented yet. See #81 Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f03dd27 - Browse repository at this point
Copy the full SHA f03dd27View commit details
Commits on Jun 12, 2018
-
mappa: implemented event lut, and event handling
This commit is a significant step towards POC of using Ctlra look-up-table for event mapping. The software target events are stored in a linear array sorted by type, so the lookup of the target is just an array access. The function pointer is called if one is set. This almost completes #81. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4a79a34 - Browse repository at this point
Copy the full SHA 4a79a34View commit details
Commits on Jun 15, 2018
-
mappa: refactor lut and error check
Error check to avoid segfault on NULL m or lut, refactor to make it easier to store a list of lut's Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2c174e0 - Browse repository at this point
Copy the full SHA 2c174e0View commit details -
mappa: insert concept of dev_t for devices
this allows multiple lut layers to be present in a single device. It also gives a good abstraction for using the userdata pointer for the ctlra dev callbacks, and a place to store state like current-layer for a device. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 57f0b06 - Browse repository at this point
Copy the full SHA 57f0b06View commit details -
mappa: reworking dev, few valgrind gotchas to fix
Segfaulting due to incorrect linked-lists / target setup Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for adcc42e - Browse repository at this point
Copy the full SHA adcc42eView commit details
Commits on Jun 16, 2018
-
mappa: refactoring event handling / lookup
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5ea7211 - Browse repository at this point
Copy the full SHA 5ea7211View commit details -
mappa: fix handling of null ptr
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5069202 - Browse repository at this point
Copy the full SHA 5069202View commit details -
mappa: enable other control types
Enable other types of ctlra inputs than slider, exposing it to the external API. Need to think about if this is the right solution to the interface for mapping Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1ceeeac - Browse repository at this point
Copy the full SHA 1ceeeacView commit details -
mappa: give luts an index for switching
This allows the lut switch to target a specific integer lut for each device. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9a0b244 - Browse repository at this point
Copy the full SHA 9a0b244View commit details -
mappa: poc layer switching is working
This commit enables layer switching by using an internal mappa callback function that takes a dev_t *. This allows the mappa instance to changes its active_lut, which causes different actions to be triggered by each input event. This closes #81. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bf71bc1 - Browse repository at this point
Copy the full SHA bf71bc1View commit details -
mappa: test layer 2 binding too
This tests the cross-fader being bound to something else on layer 2 - to ensure that the functionality gets transposed correctly. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5a99064 - Browse repository at this point
Copy the full SHA 5a99064View commit details -
mappa: error check items based on control counts
This commit checks the ids of controls being bound, failing with -EINVAL if the target is out of bounds for the hardware device being mapped. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e71f42a - Browse repository at this point
Copy the full SHA e71f42aView commit details -
mappa: refactor error handling, no more crashy
This commit strenghtens the error checking on events as compared to the events that are advertised by the device's metadata. If the event id is beyond the advertised range, it is ignored and a print issued to notify - this is due to invalid event/metadata pairing in the device code. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3cdecf1 - Browse repository at this point
Copy the full SHA 3cdecf1View commit details -
mappa: initial feedback prototype
This commit is the first version of the feedback prototype. It uses the token concept, along with a unique name per source of feedback. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a234489 - Browse repository at this point
Copy the full SHA a234489View commit details -
mappa: refactoring feedback sources
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2c3d5e1 - Browse repository at this point
Copy the full SHA 2c3d5e1View commit details -
mappa: feedback wip, almost there, some pointer issue
Mostly working - need to dig into last few pointer issues Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for beb597e - Browse repository at this point
Copy the full SHA beb597eView commit details
Commits on Jun 17, 2018
-
mappa: fixed led feedback, 2 src functions in app
This commit fixes the array issues mentioned in the previous commit, and adds a new source callback function in the app. The value returned by the two functions is now different, and a simple "musher" allows mapping a float value to 0-6 lights. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d6b8ad6 - Browse repository at this point
Copy the full SHA d6b8ad6View commit details -
mappa: cleanup prints, error checks, mini refactor
General cleanup of prints and noisy code, added error check for dev if there's no device available. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 851a5ca - Browse repository at this point
Copy the full SHA 851a5caView commit details -
mappa: refactor main, cleanup sources
This commit refactors main to have a seperate function for binding - this needs to be abstracted out of the app and into the mappa library at some point. Some valgrind mem leaks on close fixed by cleaning up sources. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3ceb202 - Browse repository at this point
Copy the full SHA 3ceb202View commit details -
This commit adds the tailq infrastructure to support multiple devices. This allows more than one ctlra instance to be mapped. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d0bfc71 - Browse repository at this point
Copy the full SHA d0bfc71View commit details -
mappa: fix error return in bind source
The missing return was causing invalid reads in valgrind. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fb2765e - Browse repository at this point
Copy the full SHA fb2765eView commit details -
mappa: cleanup now has zero valgrind warnings
This commit adds a bunch of destroy() functions, which free the linked-lists of targets, lut, devices etc. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5644f8a - Browse repository at this point
Copy the full SHA 5644f8aView commit details -
mappa: initial token based target approach
This approach uses a "token" that the application can give to each callback - think function parameters. This is in addition to the function pointer itself. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c55150d - Browse repository at this point
Copy the full SHA c55150dView commit details -
mappa: token targets, large refactor, broken/wip
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cf800b1 - Browse repository at this point
Copy the full SHA cf800b1View commit details -
mappa: add error checks, fix function prototype
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 86e82e0 - Browse repository at this point
Copy the full SHA 86e82e0View commit details -
mappa: refactor targets to contain pointers
This enables the token style variable size method. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4cbf7d9 - Browse repository at this point
Copy the full SHA 4cbf7d9View commit details -
mappa: refactor cloning / adding of targets
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for be05e89 - Browse repository at this point
Copy the full SHA be05e89View commit details -
mappa: refactor lut target pointer handling
This commit reworks the pointer setting for the targets, now working as expected. Updated docs to state that the target id is not to be relied on. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 11e3ec9 - Browse repository at this point
Copy the full SHA 11e3ec9View commit details -
mappa: API refactoring for consist. tokens working
API to match standard void *, size paradigm, token passthrough now working it seems. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bcc8593 - Browse repository at this point
Copy the full SHA bcc8593View commit details -
mappa: remove dead code for target mappings
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a9a1221 - Browse repository at this point
Copy the full SHA a9a1221View commit details -
mappa: tokens verified with 32 byte payload
This commit tests the token mechanism with a 32 byte payload, memcmp()-ing it with known correct data. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 25b1dbd - Browse repository at this point
Copy the full SHA 25b1dbdView commit details -
mappa: relax asserts() to debug prints
This allows testing with a number of controllers that don't have >=14 slider controls. Closes #85. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 96a3b9a - Browse repository at this point
Copy the full SHA 96a3b9aView commit details -
mappa: token based feedback initial commit
LEDs are lighting up as before - layer switching is up next. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 62d0b7e - Browse repository at this point
Copy the full SHA 62d0b7eView commit details -
mappa: feedback using source_id for search
Added a dynamic value based on slider input to set the feedback led value. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 52f9630 - Browse repository at this point
Copy the full SHA 52f9630View commit details -
mappa: feedback mapped to layer 2
Need to implement input layer switching with new APIs Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for be912e0 - Browse repository at this point
Copy the full SHA be912e0View commit details -
mappa: fixed layer binding with outputs
Layer switching not working correctly yet Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 48be0cf - Browse repository at this point
Copy the full SHA 48be0cfView commit details -
Limitation is that currently only one device can be switched. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 84f58e3 - Browse repository at this point
Copy the full SHA 84f58e3View commit details -
mappa: reduce asserts() to debug printfs
This allows testing with even more controllers. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a86574e - Browse repository at this point
Copy the full SHA a86574eView commit details
Commits on Jun 18, 2018
-
mappa: implement lookup APIs for ID
This commit adds an API to lookup a target_id from name. This should complete the basics required to load a config file, and map any controller to targets based on the file. Basic layer switching is only supported now - in future it must be expanded to more flexible methods. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1f4a907 - Browse repository at this point
Copy the full SHA 1f4a907View commit details -
Add some files for config reading. MIT license, simple and easy to use .ini file reading. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f22406b - Browse repository at this point
Copy the full SHA f22406bView commit details -
mappa: implement config file loading
This commit adds initial config file loading, creating mappings based on the .ini config file passed in. This allows any application to write the file, then trigger a reload in mappa, which should be enough to allow any app to map/expose everything. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4fb051b - Browse repository at this point
Copy the full SHA 4fb051bView commit details -
Also for easier compiling in future to have a reference file. This file format is not stable yet - this is just a v1 draft. Signed-off-by: Harry van Haaren <[email protected]>
1Configuration menu - View commit details
-
Copy full SHA for 103c102 - Browse repository at this point
Copy the full SHA 103c102View commit details -
mappa: config file feedback to device working
POC of source info from app being pushed back to the device, lighting up LEDs. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1563fc2 - Browse repository at this point
Copy the full SHA 1563fc2View commit details -
mappa: mute some runtime prints
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f390c44 - Browse repository at this point
Copy the full SHA f390c44View commit details -
mappa: refactor config binding loading
This commit refactors the binding loading config file into the mappa.c file instead of main.c, which is application code. Also mutes a few more prints that snuck by. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 59e9b16 - Browse repository at this point
Copy the full SHA 59e9b16View commit details -
mappa: layer switching by config file enabled
This commit implements buttons from the config file, and maps the button value to the layer to switch to. Simple layer switching from layer 0 to 1 is enabled on buttons 0 and 1, and the feedback id's are swapped to showcase the different layer mapping. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 08b66ab - Browse repository at this point
Copy the full SHA 08b66abView commit details -
mappa: refactor header file, remove impl functions
This commit refactors the header file for mappa, moving all binding related functions into the _impl.h file. This abstracts the host from any binding activities, and exposes just the mappa_load_bindings() function. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6661dc9 - Browse repository at this point
Copy the full SHA 6661dc9View commit details
Commits on Jun 20, 2018
-
mappa: implement source_remove()
Allows sources to be removed and de-allocated. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for eb78d1c - Browse repository at this point
Copy the full SHA eb78d1cView commit details
Commits on Jun 25, 2018
-
mappa: include in main ctlra directory
This allows external apps to be linked against Ctlra and use Mappa features. Given Mappa has no external dependencies it is always available if an applicaiton wishes to use it. If not, Ctlra can be used as-is. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5e810da - Browse repository at this point
Copy the full SHA 5e810daView commit details -
mappa: add C++ gaurds to header, fix filename
This commit enables C++ compilation and linking by adding the extern "C" { code. Also fixes a hardcoded path, now uses the passed-in filename. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6748397 - Browse repository at this point
Copy the full SHA 6748397View commit details -
mappa: fix includes to be local path includes
This should fix the travis CI compile warnings/failures. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6e71859 - Browse repository at this point
Copy the full SHA 6e71859View commit details
Commits on Jun 26, 2018
-
mappa: dynamic log prints with MACRO, cleanup
This commit adds dynamic log verbosity to MAPPA, allowing the user to set level. Ctlra debug level is set based on Mappa level, so the verbosities rise in parallel. This can be over-ridden by using the CTLRA_DEBUG env var. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for baf8b59 - Browse repository at this point
Copy the full SHA baf8b59View commit details -
mappa: handle resource freeing in remove callback
This fixes a use-after-free bug in previous code that read the previously free-ed dev info. Now the dev is only freed in the callback itself, which is the correct behaviour. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for cea7ad7 - Browse repository at this point
Copy the full SHA cea7ad7View commit details -
mappa: fix iteration over binding items
Previously a failure would cause other iters of that same loop to not be handled, now it is. This code needs a refactor for readability though. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c4970b6 - Browse repository at this point
Copy the full SHA c4970b6View commit details -
mappa: refactor lut creation code
This is working towards cleaner layer switching and more useable APIs for layer switching. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b0454b3 - Browse repository at this point
Copy the full SHA b0454b3View commit details
Commits on Jun 27, 2018
-
mappa: reworking lut loading adding name
This enables lut bindings being set by the config file as the name will become the main identifier for each layer. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4b0c09a - Browse repository at this point
Copy the full SHA 4b0c09aView commit details -
mappa: rework mapping APIs to take char layer name
This commit changes the identifier from the lut_t to be the name instead of the ID. As part of this change, some APIs had to be updated to accept a const char* as parameter instead of integer layer, which causes API/ABI break, so rework of all apps etc expected. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ecf91dd - Browse repository at this point
Copy the full SHA ecf91ddView commit details -
mappa: wip conversion to ctlra name based config
This commit is a ~40% conversion towards using control names as the config file items, instead of slider.0 and slider.1 etc. This will improve the human-readable aspect of the mappa config hugely, and also simplifies generation of bindings in a mapping editor (no string<->int conversion between target and slider id). Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for aa10b24 - Browse repository at this point
Copy the full SHA aa10b24View commit details -
mappa: large refactor of config file loading
This commit refactors a large amount of the config file loading, scraping the item names from the Ctlra device metadata. The config file is now human readable "key = value" pairs, with "key" being a Ctlra device driver control name, and "value" being the target string of the software to map to. "Key" is defined by the code implemented in the Ctlra driver. The names of the controls *MUST* refect the hardware device. If no logical name exists, a self-descriptive must be used to identify that singular control. Changing button names is *NOT* permitted, as doing so approximates an ABI break for users' config files. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c6ecc94 - Browse repository at this point
Copy the full SHA c6ecc94View commit details -
mappa: prefix names with button. slider. etc
This commit prefixes the names being looked up in the config file with the appropriate prefix, based on item type. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4eb9c8b - Browse repository at this point
Copy the full SHA 4eb9c8bView commit details -
mappa: added TODO on dynamic target add from app
This TODO solution probably handles the dynamic target add case well - users shouldn't notice that the "hot-plug" of the app took place - thier controller should just light up with the correct feedback. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fee71a0 - Browse repository at this point
Copy the full SHA fee71a0View commit details -
ctlra: fix event name array missing item
This commit fixes an issue if iterating over the event_names array, which would overflow the global array as it didn't have the feedback item. This commit also adds a compile-time check to ensure that these arrays are the same size in future. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e54ba67 - Browse repository at this point
Copy the full SHA e54ba67View commit details -
mappa: fix mem leak on close by free of active_lut
Detected using sanitiser=address, cleaned up by freeing it in the appropriate dev_destroy() function. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2f8e815 - Browse repository at this point
Copy the full SHA 2f8e815View commit details -
mappa: error check inputs for load_bindings better
Previously if there was no virtual or physical device attached a segfault would occur as dev_t* was never checked. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ebfcdc8 - Browse repository at this point
Copy the full SHA ebfcdc8View commit details -
mappa: add name to lut_create() function
This ensures that a name is passed in when creating a lut Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for bc7760b - Browse repository at this point
Copy the full SHA bc7760bView commit details -
mappa: fix bug in strcmp() == 0 vs != 0
This was freeing the lut_t * even though we didn't want it to, which would later lead to segfaults / use-after-free. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e811c2c - Browse repository at this point
Copy the full SHA e811c2cView commit details
Commits on Jun 28, 2018
-
mappa: mapping_count error check value added
The "mapping_count" item in a layer allows the human to indicate the number of mappings that are created for this layer. This allows mappa to check that exactly that number of mappings are made. If fewer are made, warning/error prints are emitted to inform the user that something has gone wrong. WIP on active-on-load, which should enable activating layers once the file is loaded. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 74d1720 - Browse repository at this point
Copy the full SHA 74d1720View commit details -
mappa: initial overlay list implementation
This commit adds the concept of the active_lut_list, which contains the currently active layers in the order that they should be handled. The entries in this lut_list must be itereated and flattended into the dev->active_lut in order for them to be used for event input lookup. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d039f7c - Browse repository at this point
Copy the full SHA d039f7cView commit details -
mappa: fix layer count lookup from config file
This commit uses the [mapping] layer_count field to get the number of layers defined in the mapping, which is then iterated to in the mapping lookups. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c9ee7e4 - Browse repository at this point
Copy the full SHA c9ee7e4View commit details -
mappa: lut flattening implemented
This commit implements lut_t flattening based on the order that the layers are read from the config file. If a layer is active, it is appended to the active_lut_list, which later gets flattened into the active_lut. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a493996 - Browse repository at this point
Copy the full SHA a493996View commit details -
mappa: layer active switching using names working
This is a WIP commit but does prove the concept of the layer active switching working with the sample .ini file. This shows that the mapping can be achieved using the overlay techinque, and that the button mapping to the layer-switch target allows the user to program all aspects of multilayered mappings using just the .ini config file, and some knowledge of the controller and software in question. Note that with virtual devices, a software developer can easily assist the user with any issues that arise - actually the development of this commit (and most of the previous mappa related ones) was done entirely using virtual devices, away from the hardware. With the hardware present, the cross-over was seamless to have working input mappings with those devices. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6c01844 - Browse repository at this point
Copy the full SHA 6c01844View commit details -
mappa: add demo config file to the repo
This commit adds the demo config file to use with the mappa branch, so others can test mappings easier. It is possible create a virtual device in order test this mapping if you don't have access to the Z1 hardware: $ export CTLRA_VIRTUAL_VENDOR="Native Instruments" $ export CTLRA_VIRTUAL_DEVICE="Kontrol Z1" Now run ./examples/ctlra_mappa, and the middle "mode" button will remap the "A" headphones que button (top left button) between two different targets - NO application logic in multiplexing, and NO user-programming - just a config file. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ce2dca1 - Browse repository at this point
Copy the full SHA ce2dca1View commit details -
mappa: cleanup layer_active function
Remove some prints and add a TODO note on how to enable different types of button actuation types in future. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 345da4d - Browse repository at this point
Copy the full SHA 345da4dView commit details
Commits on Jun 30, 2018
-
mappa: implement value scaling and set_range() api
This commit implements value scaling inside Mappa. The end result is that an application can set a range for each target, which Mappa then automatically range-scales and offsets any float value mapped to it. The end result is "transparent" range-scaling for users, where a full movement of the hardware translates to full movement of the software parameter (aka; basic expected experience). However the value of having the target range exposed here is that mappa can in future support "ranges" for each control, which can be user defined, and the range numbers are not 0-1 based, but actual real units (eg, remap lowpass filter min value from 0Hz to 110Hz, so the sound is never 100% cut out). Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 4ff33f8 - Browse repository at this point
Copy the full SHA 4ff33f8View commit details
Commits on Jul 1, 2018
-
mappa: rework how config files are used by app
This commit refactors the previous "load_bindings()" function, replacing it with the more generic add_config_file(). This allows the application to indicate config files that are present, and gives mappa freedom to scan/load them as appropriate on hotplug of devices. All in all, this reduces complexity in the application (eg: no need to implement a callback to get the correct mappa config for a specific devices). It also allows future mappa to timestamp loads of files, and auto-reload files etc. Note that this commit breaks API/ABI of load_bindings() Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 734a5ed - Browse repository at this point
Copy the full SHA 734a5edView commit details
Commits on Jul 7, 2018
-
mappa: improve error reporting of file load issues
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7667c0c - Browse repository at this point
Copy the full SHA 7667c0cView commit details
Commits on Jul 14, 2018
-
examples/daemon: update to new API
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9c16573 - Browse repository at this point
Copy the full SHA 9c16573View commit details
Commits on Jul 15, 2018
-
mappa: fix a bunch of code-sanity things
Some %d %u mixups, some variable scope reductions. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e3d425b - Browse repository at this point
Copy the full SHA e3d425bView commit details -
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1752048 - Browse repository at this point
Copy the full SHA 1752048View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0ddb49e - Browse repository at this point
Copy the full SHA 0ddb49eView commit details -
mappa: code cleanup - fix MAPPA_ERROR check
This commit removes the mappa_check() function call from the MAPPA_ERROR macro, as it *should* always print. Code-checkers were throwing up all sorts of errors saying that the limited data type comparison was invalid. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a0bfb22 - Browse repository at this point
Copy the full SHA a0bfb22View commit details -
mappa: final code cleanup fixes
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9b95e6e - Browse repository at this point
Copy the full SHA 9b95e6eView commit details
Commits on Jul 19, 2018
-
mappa: adding of config directories working
Note that although the code here is valgrind-clean, there is an issue in .ini files being leaked. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8560df6 - Browse repository at this point
Copy the full SHA 8560df6View commit details -
ctlra/mappa: add tinydir header file for xplatform file iteration
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 9c42fa7 - Browse repository at this point
Copy the full SHA 9c42fa7View commit details -
mappa: add config file iteration using tinydir
This commit starts using the header-only TinyDir library for cross-platform directory/file parsing. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 76560da - Browse repository at this point
Copy the full SHA 76560daView commit details -
mappa: config file prep, callbacks in foreach
Preparing to connect the callbacks in the foreach() config function to the binding part of mappa. Need to refactor the existing code quite a bit, so some breakage expected. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0b58e22 - Browse repository at this point
Copy the full SHA 0b58e22View commit details -
mappa: refactor config file open and device scan
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a92fb6a - Browse repository at this point
Copy the full SHA a92fb6aView commit details -
mappa: improve error checks for device existence
Also improve the error messages related to them. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b71e8a7 - Browse repository at this point
Copy the full SHA b71e8a7View commit details -
mappa: config file loading using tailq / tinydir working
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 6f2811b - Browse repository at this point
Copy the full SHA 6f2811bView commit details -
mappa: defer attempted loading of configs until after probe()
This avoids trying to load config files before the hardware has been scanned. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0f46cef - Browse repository at this point
Copy the full SHA 0f46cefView commit details -
mappa: dev conf path stored in dev
This allows mappa to provide better debug info, or possibly to reload the file if required later (eg: on update). Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2781ff7 - Browse repository at this point
Copy the full SHA 2781ff7View commit details -
mappa: target list has revision (towards hotplug)
The revision can be used to detect when we have added/removed targets. This paves the way for "hotplug" of targets, and allowing them to be removed/added and the mappings be picked up automatically. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 423677a - Browse repository at this point
Copy the full SHA 423677aView commit details -
mappa: reworking printfs() and debug warnings
Cleaning up output, and moving towards cleaner code. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8b6663f - Browse repository at this point
Copy the full SHA 8b6663fView commit details -
mappa: rework [hardware]serial warning reporting
This commit notifies users who *are* using the serial option for thier scripts that the script applies only to a specific device. Previously all users were notified if thier script did not contain a serial code. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for c1729dd - Browse repository at this point
Copy the full SHA c1729ddView commit details -
mappa: relax check for layer error print
If a layer *says* it has a 0 mapping_count, don't print an error if it also doesn't have any mappings. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ee546ef - Browse repository at this point
Copy the full SHA ee546efView commit details -
mappa: prep for large refactor of binding create
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 8f9b961 - Browse repository at this point
Copy the full SHA 8f9b961View commit details -
mappa: Remove add_config_file() API
This commit removes the add_config_file API, as the software should not directly control the location of mappa files - they should be centralized so it is easy to find and copy-paste bits from others. Might re-add this in future to allow applications to add thier own specific directory - but for now it doesn't seem smart to *require* that apps use this. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d3c2a07 - Browse repository at this point
Copy the full SHA d3c2a07View commit details
Commits on Jul 24, 2018
-
mappa: apply config file loading improved, wip
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 1d9e024 - Browse repository at this point
Copy the full SHA 1d9e024View commit details
Commits on Jul 27, 2018
-
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3d0002e - Browse repository at this point
Copy the full SHA 3d0002eView commit details -
mappa: load name of software from .ini file
Print it out for now. leading towards mappa_create() API refactor to demand each app registers with a prefix. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 10a3c54 - Browse repository at this point
Copy the full SHA 10a3c54View commit details -
mappa: refactor create() API to include app name
This commit requires applications to register a name, and to provide a "unique" string handle which can be used to identify different instances of the same application. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 602ee2e - Browse repository at this point
Copy the full SHA 602ee2eView commit details -
mappa: create() stores app name
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for fae2534 - Browse repository at this point
Copy the full SHA fae2534View commit details -
mappa: check software name vs app when loading
This commit adds a check for the [software]name tag against the mappa_create() provided application name. This allows scripts to be identified that are valid for the hardware / software combination, and ignore scripts that are not valid. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5062deb - Browse repository at this point
Copy the full SHA 5062debView commit details
Commits on Jul 29, 2018
-
examples/mappa: remove .ini file
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 2096c1a - Browse repository at this point
Copy the full SHA 2096c1aView commit details -
mappa: fix mem leaks detected by valgrind
This commit fixes 3 mem leaks that could occur, failure to release resources when returning early from a file-not-match vs controller, freeing the name of the app, and not duplicating the string for conf_file_path multiple times. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3b9501c - Browse repository at this point
Copy the full SHA 3b9501cView commit details
Commits on Sep 14, 2018
-
mappa: wip on testing hotplug functionality
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for b136a74 - Browse repository at this point
Copy the full SHA b136a74View commit details
Commits on Sep 29, 2018
-
mappa: config loading in accept() instead of main()
This should enable hotplug of devices at runtime, transparently to any application. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for aae8d4b - Browse repository at this point
Copy the full SHA aae8d4bView commit details
Commits on Oct 1, 2018
-
mappa: delay .ini scan til after dev_create()
The mappings now work as the device itself is found. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for f3f0b5d - Browse repository at this point
Copy the full SHA f3f0b5dView commit details
Commits on Oct 28, 2018
-
mappa: enable reload as mappa target
This commit enables scripts to use a button to reload the script itself. This vastly improves iteration time to testing changes, and abstracts the reloading process away from the application. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 7faae38 - Browse repository at this point
Copy the full SHA 7faae38View commit details -
mappa: enable screen redraw func
This paves the way to build AVTKA based UIs in future, and have the mappa library draw them.
Configuration menu - View commit details
-
Copy full SHA for 2183501 - Browse repository at this point
Copy the full SHA 2183501View commit details -
Increase the waiting time, and timeout iterations before giving up on closing the device. This reduces the issues of screen artifacts remaining when software disconnects. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3024499 - Browse repository at this point
Copy the full SHA 3024499View commit details
Commits on Oct 29, 2018
-
mappa: working on source_t feedback to ctlra
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for a5bbbb5 - Browse repository at this point
Copy the full SHA a5bbbb5View commit details -
mappa: lookups for feedback ids working
Needs some overhaul to make it a single linear space, and not per-event-type? Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 36f3273 - Browse repository at this point
Copy the full SHA 36f3273View commit details -
mappa: wip on making ctlra fb id more flexible
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for de2a677 - Browse repository at this point
Copy the full SHA de2a677View commit details
Commits on Nov 3, 2018
-
mappa: feedback mappings to lights working
This approach requires a "sources" array for each LUT/device to contain the maximum size for any light_id of the device. A source_t represents the source of that particular value to display, and callbacks are triggered when we need to update. This approach requires that Ctlra drivers expose the max number of endpoints that can be valid-ly called on the device. Aka, a device with 1000 leds will return 1000. This info is not yet available in Ctlra for each device, but will be required to properly support this feature. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 76a96d0 - Browse repository at this point
Copy the full SHA 76a96d0View commit details -
mappa: sources use token, cleanup/improve impl
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 47bfa5d - Browse repository at this point
Copy the full SHA 47bfa5dView commit details -
examples/mappa: update to more complex tests
This adds 64 targets and 64 sources, and a more complex but messy testing method. Cleanup of this example app is needed. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e0a8a45 - Browse repository at this point
Copy the full SHA e0a8a45View commit details -
mappa: zero lights if no source mapped
This commit switches off lights if no source is mapped. Although this makes layer "switch" etc easier, and reduces the chance of "stale" lights remaining on the device as the source has been unmapped. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 3cb6923 - Browse repository at this point
Copy the full SHA 3cb6923View commit details -
mappa: cleanup and comment prints
Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for d119afd - Browse repository at this point
Copy the full SHA d119afdView commit details -
mappa: add avtka functionality to draw screens
This commit adds AVTKA functionality to the existing Mappa screen callbacks, allowing a UI to be easily built-up from individual UI components. The particular components can then be mapped to mappa_source_t instances, providing the required mapping of values->screens, without any programming. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 91f7c3f - Browse repository at this point
Copy the full SHA 91f7c3fView commit details -
mappa: value on AVTKA UI updates from source
This commit implements the very crude basics of mapping from application source_t to an AVTKA provided UI. The names are hard-coded, and the LUTs are not in use to remap based on multiplexed settings, however the dev has a source_t * that it can retrieve a value from directly - POC working. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for adb08e9 - Browse repository at this point
Copy the full SHA adb08e9View commit details -
mappa: rework screens to be part of LUTs
This change allows the screen UIs to be set by each LUT, giving the user the flexibility to have a button activate a layer, and hence also change the display. The combination of one LUT having the input/lights/screen is a good one, to allow easier UX of developing/testing mappings. Signed-off-by: Harry van Haaren <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for e2ab18e - Browse repository at this point
Copy the full SHA e2ab18eView commit details
Commits on Dec 13, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 71c1c1f - Browse repository at this point
Copy the full SHA 71c1c1fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 79bc0e6 - Browse repository at this point
Copy the full SHA 79bc0e6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 45f8db7 - Browse repository at this point
Copy the full SHA 45f8db7View commit details -
Some more fixes to the MIDI code.
Improved error checking on the input side. Also make sure that the registered *decoder* is used for decoding received MIDI messages, rather than the *encoder* which is already used in MIDI output, which might cause races when both MIDI input and output happens simultaneously.
Configuration menu - View commit details
-
Copy full SHA for 543f697 - Browse repository at this point
Copy the full SHA 543f697View commit details -
Make sure that we decode the message before the call to snd_seq_event…
…_input_pending().
Configuration menu - View commit details
-
Copy full SHA for 1566b30 - Browse repository at this point
Copy the full SHA 1566b30View commit details -
Bugfix: buttons encoded at byte offset 3 would also trigger the pedal…
…. Also simplify the horribly convoluted masking of button values.
Configuration menu - View commit details
-
Copy full SHA for 8f4e5fd - Browse repository at this point
Copy the full SHA 8f4e5fdView commit details -
Put the top 8 button in its rightful position after top 7, instead of…
… following the mad layout in the actual data from the device.
Configuration menu - View commit details
-
Copy full SHA for c3c3ffd - Browse repository at this point
Copy the full SHA c3c3ffdView commit details -
Configuration menu - View commit details
-
Copy full SHA for cba118b - Browse repository at this point
Copy the full SHA cba118bView commit details -
Configuration menu - View commit details
-
Copy full SHA for a8980f3 - Browse repository at this point
Copy the full SHA a8980f3View commit details