openAVproductions / openAV-Luppp

Luppp is a live performance tool, created by OpenAV productions.
http://openavproductions.com/luppp
GNU General Public License v3.0
258 stars 44 forks source link

Improvements for APC Mini Controller Map #199

Closed georgkrause closed 6 years ago

georgkrause commented 6 years ago

I want to provide an better version of the APC Mini Controller Map, maybe some different ones for different use cases. This isnt ready yet, i simply want to get early feedback, maybe if there are some problems which prevent this PR to get merged.

georgkrause commented 6 years ago

first mistake: wrong file naming (did this for formatting)

georgkrause commented 6 years ago

fixed without a mess \o/

coderkun commented 6 years ago

Interesting, I will try to find some time to test it.

When Luppp is using Ctrla, will the APC mini be working using the general MIDI backend or will it need some custom code? I guess the old controller maps cannot be reused, right?

georgkrause commented 6 years ago

This is something only Harry can answer. For now here is no feature change for APC mini. Maybe there will be. Any wishes?

harryhaaren commented 6 years ago

@coderkun Ctlra will use an entirely different "engine" for handling controller mappings. This is a good thing - it is much more powerful, and allows "real" control - not just hacking some JSON to attempt to connect things together.

Ctlra is improving lots and fast the last weeks - although I'm focussed on Mixxx now, I do intend to start fixing-up OpenAV projects with Ctlra soon - and Luppp is on the list, as is Fabla2 and others. Don't ask for a timeline - I just don't know :)

As for this PR, I don't have an APC Mini to test so I have to rely on tests and reports. +1s will be valuable - code that works for more than 1 person is a lot better than "works on my machine" style code :D

HTH, -H

georgkrause commented 6 years ago

@harryhaaren in i didnt changed anything in the way it works, just the way the file is formatted.

Is it worth to work on getting as much as possible out of this midi binding or should we wait for ctrla-support and implement the apc mini there?

coderkun commented 6 years ago

Is it worth to work on getting as much as possible out of this midi binding or should we wait for ctrla-support and implement the apc mini there?

This was essentially my question ;)

georgkrause commented 6 years ago

@coderkun i guess since Harry will not make any timetable we wont get an specific answer. But if the current engine isn't dropped, i could spend some time on this anyway and also push some apc mini support to ctrla, but we shouldn't discuss this here.

harryhaaren commented 6 years ago

Its not that I wont - I just can't due to real-life commitments. Sometimes I have hours for OpenAV, sometimes I dont - and that's the reality of it :)

The issue with the current engine is that it isn't flexible enough (try mapping one button to do two different things, based on a 2nd "shift" key) and that its bug/error prone (as was discovered by adding the MIDI clear binding). Also its usability is rubbish (manually coding JSON to get outputs? Not good :)

I'm hesitant to say "Yes please make APC Mini bindings with JSON" because I do hope to remove after the Ctlra library infrastructure is in place, and I don't want to cause you wasted time.

georgkrause commented 6 years ago

@harryhaaren I don't wanted to say you dont want to make a plan, i already wanted to say you will not do. Maybe a missunderstanding because english isnt my native language ;)

If you plan to remove this engine, i wont put any more afford on this and contact you in another way to speak about ctrla-support for apc mini (or support for devices in general).

Anyway, this PR could be merged since the ctrl-file is better formatted and a better starting point for someone who wants wo tweak it. I will rank this topic pretty low and so it might be an good idea to have a testing @coderkun and then merge it and i will file another PR when i got time to work on some features in the map.

coderkun commented 6 years ago

@georgkrause, I have a hard time testing your mapping (for the AKAI APC mini): Except for the faders and the buttons above them no button is doing anything (it is the same before and after the changes of this PR). The feedback seems to work, the lights on the device match the application’s state.

Is there any documentation of how the mapping is supposed to work?

Next weekend I can compare your mapping file with one that works for me and see if there are any differences.

georgkrause commented 6 years ago

@coderkun thanks for testing! In general the changes should be just some new formatting, but maybe there gone something wrong. i will check (i am a little confused since i tested, but maybe there something gone wrong too. this json stuff in luppp is little error prone)

in general, what should work:

Since i am on holidays at the moment it might take a while until i can look into this. sorry for the problems! will fix as soon as possible!

coderkun commented 6 years ago

@georgkrause, as I said, I have the same issues with the mapping file before the re-formatting (this PR). Maybe this is not the right place to report this.

faders move the faders

Works for me.

buttons above the faders trigger the sends (unfortunally its not possible to change the state of the send by clicking, so the send is just active while pressing the button)

Works for me.

buttons on the right start the scene

Does not work for me.

grid buttons trigger the clip

Does not work for me.

Do you know if there are there different version of the AKAI APC mini (like mk I, II)?

georgkrause commented 6 years ago

Which version of luppp are you using? Will dig into this todays evening...

coderkun commented 6 years ago

I was using the master branch. But let me create a new issue tomorrow—when I can compare my working mapping file with yours—, this PR is about something different.

georgkrause commented 6 years ago

Okay so i know what the issue is. Its already reported somewhere

georgkrause commented 6 years ago

@coderkun Had some time to get into this. At first, thank you for verifying what is working! The problem you ran into is already reported by me in this issue: #134. Indeed it does not make any sense to provide an map which does not work with the current master, so i will fix this. Besides from this it might be an good idea to use the latest release for productive work, as far as i know Harrys trys to keep the master as stable as possible but the issue #134 shows that its not always in an consistent state. Another commit will be there in a few minutes, but i could test since i dont have my apc mini with me on holidays :(

georgkrause commented 6 years ago

sorry for the mess with the state, tried to replace the totally wrong branch name. hope this isnt an issue. (apc/apk are different devices)

georgkrause commented 6 years ago

@coderkun: PS: As far as i know there is no apc mini mk2.

Jazzpenner commented 6 years ago

Scenes are not working (not starting). Everything else works like a charm

georgkrause commented 6 years ago
  • buttons on the right start the scene

I lied on you, isnt implemented yet. will do this later.

georgkrause commented 6 years ago

@Jazzpenner @coderkun please test, everything i wrote above should work

  • faders move the faders
    • buttons above the faders trigger the sends (unfortunally its not possible to change the state of the send by clicking, so the send is just active while pressing the button)
    • buttons on the right start the scene
    • grid buttons trigger the clip

If everything is confirmed, we could merge and have a clean state which is ready for the next release and a base for maybe some more features. any wishes? ;)

georgkrause commented 6 years ago

Here is the last change, added the shift key to allow choosing the special clip with shift and a grid button.

from my side everything is done, please test so this can be merged.

coderkun commented 6 years ago

@georgkrause, I tested the AKAI APC mini with the mapping file from this PR and it works well. In fact it works much better than the one from the master branch: The scene buttons work now and with the shift button I am able to select the special clip—that is super cool!

@harryhaaren, you have my “go” to merge this PR ;)