mixxxdj / mixxx

Mixxx is Free DJ software that gives you everything you need to perform live mixes.
http://mixxx.org
Other
4.38k stars 1.26k forks source link

Simplify modifying controller scripts / "Copy mapping to user directory" button #11443

Open ronso0 opened 1 year ago

ronso0 commented 1 year ago

Feature Description

When a built-in mapping (xml) is modified in the controller I/O tabs it is copied to the user mapping directory. (but not the js file!) When editing a script however

the xml using it also needs to be copied there manually.

I imagine these steps can be simplified. First thing I think of is a "Copy mapping to user directory" button:

ronso0 commented 3 months ago

Just being reminded of this by https://mixxx.discourse.group/t/numark-partymix-ii-vdj-pad-editor-equivalent/29621

The downside of copying all required script files is that there is currently no distinction between the includes, i.e. Your-controller.js is treated equally like midi-components.js or lodash.js. And even if we'd figure which is/are the controller js, we'd need to change the base names for each file incl. duplicate checks and use the new names in the xml file, which is cumbersome (error prone and/or a lot of work to write and maintain the code).

An alternative is to create a directory for each mapping (get the title from the existing overwrite/copy dialog), then copy the required mapping files there. The copy dialog may also have a checklist for which includes to copy (by default only the mappings js would be checked). Users can then pick the files they plan to modify. This give the advantage to use potentially fixed/updated common incldes like midi-components.js

What do you think?