b2renger / PdDroidPublisher

Publish signed apk from your PdDroidParty patches
GNU General Public License v3.0
33 stars 7 forks source link

Clock GUI rework #10

Open b2renger opened 9 years ago

b2renger commented 9 years ago
mgsx-dev commented 9 years ago

This still an open topic. So, here is my opinion for each features :

Modes

Local and Master modes are nearly the same. In an automatic discovery context (zero conf), master don't know he's a "master" while slaves register to him. Local mode is just Master mode without slaves. So the only 2 modes to be technically distinguished are Master mode and Slave mode.

Tempo multiplicator/divider

This control may be interserting even in local/master mode. Some use cases :

This control can be considered as "live" control, so it need to be directly accessible.

BPM spinner

This control only have sense in Master mode since slaves can't change it. In slave mode, this control could be replaced by a tempo feedback sensor calculated in real-time by ticks reception.

Play/stop/pause/resume controls follows the same rules. In slave mode, all these controls could be in unmutable state, reflecting Master's state (pause button when master pause, ...etc).

latency settings

Any mode need latency settings. For instance, beat visualization (via bang or any blink, animation) need to be delayed to have perfect audio/display sync.

Latency is per device, set once and will be the same for all PdPublisher apps. Shared preferences (http://developer.android.com/guide/topics/data/data-storage.html#pref) is well suited for that.

Since latency is in general set once, this setting don't need to be directly accessible. Settings window may host this slider.

MIDI settings

For now only midi clock is implemented but latter, midi controls / notes and maybe SysEx could be implemented. Maybe dialog settings is a Midi dialog (even if Midi communication is made by network, it could be made via USB). So an accurate icon could be a Midi icon (din ? original MIDI icon ?)

What do you think ?

mgsx-dev commented 9 years ago

ERRATUM for latency settings :

i made a confusion between audio latency and network latency. This subject is maybe out of this topic scope.

mgsx-dev commented 9 years ago

Major part of GUI rework has been made. It still some enhancement to have a better GUI but it's work has it is. So changes are scheduled to a futur version.