-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Changes to learned .midi controller files stored in Appdata local MIXXX controllers aren't loading properly. #14247
Comments
Are you saying that the user mapping is not loaded but the default, built-in version? |
Yes, it seems like it's not actually loading the ...\AppData\Local\Mixxx\
file even though it says that it is, in the .cfg file.
From my .cfg file;
```
[ControllerPreset]
2-_DJ-505 E:/MIXXX 2.5.0/controllers/Roland_DJ-505.midi.xml
2.4G_Wireless_Mouse_
C:/Users/iracarmel/AppData/Local/Mixxx/controllers/2.4G_Wireless_Mouse_--2.hid.xml
DJ-505
C:/Users/iracarmel/AppData/Local/Mixxx/controllers/Roland_DJ-505.midi.xml
<-------Looks like it should be loading this file, however changes
using learning while showing up in this file, don't actually seem to take effect.
```
Basically I wiped out my appdatalocal file, and launched the program, then
set up my controller, and learned things that were missing. Then I saved
the file on exiting the learn dialog, and closed the program and started it
again. The changes did not persist. Copying the <control><\control>
sections associated with the learns from the newly saved tfile into the
root software .midi file made them persist. This seems to indicate that
it's not actually loading the file it says it's loading. I could try again
to replicate it?
Perhaps I'm doing something wrong, but the net effect was that no learned
buttons or knobs lasted to the next session.
Let me know if you have any ideas!
Thanks!
…-Ira.
On Mon, Jan 27, 2025 at 3:07 PM ronso0 ***@***.***> wrote:
Are you saying that the user mapping is not loaded but the default,
built-in version?
In the user settings directory (...\AppData\Local\Mixxx\ in your case) is
also the mixxx.cfg which holds the last loaded mapping for each controller
that has been connected and had a mapping loaded. It's the
[ControllerPreset] section.
Can you please check that file for the saved mapping path?
—
Reply to this email directly, view it on GitHub
<#14247 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APQ7MTY4UNIPHNHB6OFGTWT2M2GZ5AVCNFSM6AAAAABV6YXRMGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMMJWG44DIMJZHE>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
--
-Ira
|
Yes please, try again. Please try to list every step you make, starting with the click on Learning. |
And can you please post the literal copy of the Wrap it in triple backticks ``` (on single lines before/after) |
Okay, I did replicate it by mapping an additional control. When I exited
the learn dialog box, it tried to overwrite the file that was already there
and failed. My only option was to make a new file, with a different name I
added a letter b into the file name. In V2.4.1 overwrite seemed to work as
far as files go, but learned functions also did not persist. It does seem
like the entry in the .cfg file did not change the name to the newly
created (b) version file when the software was restarted. I changed the
name of the settings file b to match what it said was loading, and it also
didn't load the changes. So it seems like the root file is being used
each time even though I'm successfully saving files
in C:\Users\iracarmel\AppData\Local\Mixxx\controllers
as of now; Roland DJ-505.midi.xml and
Roland DJ-505b.midi.xml exist there, but don't have I confirmed that the
new (b) version file does have the new learned <control> sections in it.
I don't think either of the Roland DJ-505.midi.xml files in the
Appdata\local directory are being read.
I pressed Apply, and exited the preferences window with Okay each time.
I could probably also make a video of all the steps involved to show this
bug if it would help.
Humbly, Ira.
…On Mon, Jan 27, 2025 at 7:03 PM ronso0 ***@***.***> wrote:
I could try again to replicate it?
Yes please, try again.
Do you save the changed mapping with Apply, or do you quit the preferences
which should give a warning and option to apply?
Please try to list every step you make, starting with the click on
Learning.
Maybe there's an uncovered case in the apply/save flow, or a bug.
—
Reply to this email directly, view it on GitHub
<#14247 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APQ7MT2H7JYDLZHLZEOI6SD2M3CNXAVCNFSM6AAAAABV6YXRMGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMMJXGIZDMNBUGI>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
--
-Ira
|
Yeah, a short screencsast is probably better than trying to clarify the procedure in text. |
ControllerPreset section of mixxx.cfg from C:\Users\iracarmel\AppData\Local\Mixxx [ControllerPreset] |
FWIW on Linux I can at least reproduce that the new mapping is not selected in the mapping combobox. |
This is logged
So it's indeed reloading the original mapping. I'll take a look.. |
Sorry it took so long, after renaming the AppLocal Mixxx folder I foolishly told Mixxx where my music library was, and then it took a long time looking through it. This time I was able to confirm that the .cfg file is looking at the OEM file even after a new mapping file is saved. [ControllerPreset] ^^-- Not the AppData/Local/Mixxx file. Adding the learned sections that are saved into Appdata/Local/Mixxx/ into the above file has the desired effect, but of course this is not how we'd like it to work. I'm not sure why the .cfg file wasn't showing the actual load location before when the Mixxx folder was (probably?) imported during the new 2.5.0 install? The video is quite long, but if it's still required I can edit it down. In the video, I walk through a fresh setup, and then try and map controls, fail, look at the new files in AppData/Local/Mixxx, copy the new bits into the .midi file that is actually being loaded and shown in the ControllerPreset, and it works. |
@zoeymithra found the issue, we don't need the video anymore, thanks! and I can confirm the bug exists in 2.4.2, too. |
Good Job!
…On Mon, Jan 27, 2025 at 10:35 PM ronso0 ***@***.***> wrote:
@zoeymithra <https://github.com/zoeymithra> found the issue, we don't
need the video anymore, thanks!
and I can confirm the bug exists in 2.4.2, too.
—
Reply to this email directly, view it on GitHub
<#14247 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/APQ7MT4WVRMHWQNLY3ZVGHD2M33HVAVCNFSM6AAAAABV6YXRMGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDMMJXG43TGOJRGM>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
-Ira
|
mapping changed with MIDI Learning wizard not saved Reason: signal DlgControllerLearning::stopLearning triggers DlgPrefController::show which enumerates and selects the old mapping BEFORE the changed mapping is selected and assigned DlgControllerLearning::stopLearning -> show() -> slotUpdate() -> enumerateMappings() -> slotMappingSelected() Though, DlgControllerLearning::mappingEnded signal will also call show(), so the other conection is not needed in the first place requires some other fixes in slotUpdate() and slotmappingSelected()
Bug Description
Forgive me if this has already been reported. I searched for the issue and didn't find it.
Issue Example; Upon startup the stock Working DJ-505 midi mapping file doesn't map mastergain, library button, and aux1 gain (for use with TRS-505), which is correct I think? So I map them once I have inputs and such setup, then I save the user mappings file on exiting the learn dialog. New file is created and appears to live in ...\AppData\Local\Mixxx\controllers as a new file with the mappings saved there. If I exit, and start the program anew, the mappings are no longer present. If I find the learned sections of the user file and copy them into the original .midi MIXXX 2.5.0\controllersfile\Roland_DJ-505.midi at the end, the changes are persistent between launches. It seems like the file that was created in AppData\Local\ is not being read after being created.
Here are the sections that I copied, but I think they should probably stay in the AppData local version of the file, and be correctly loaded after the original MIXXX 2.5.0\controllersfile\Roland_DJ-505.midi
Side note; Copying the AppData local saved version of the file to the software controllers directory seems to break it completely, hence the mods to the file to gain persistent mappings.
Version
2.5.0
OS
Windows 10
The text was updated successfully, but these errors were encountered: