New UI Main menu: 1 step backward & 2 steps forward

When you don’t have any layers, the save snapshot screen will not be displayed.
If you have layers, a short press on learn/snapshot does the trick

I am in a layer window, I guess it’s the control window, but a short press gives me MIDI learn.

Reading up to what @jofemodo listed, that actually reads right - From Control: CC MIDI-learn

So do I have to be a level back to save a snapshot and it cant be done from where I’m editing my synth layer?

I will admit, I’ve not really used snapshots much, so i’m not sure if its me being dim or a change has thrown me.

The wiki’s documentation, including the UI workflow charts are up-to-date.
Please, revise and tell me if i forgot something:

Zynthian UI Users Guide - V1/V4 - ZynthianWiki

@Simon, you can access “Save Snapshot” when you have created layer:

  • From Main Menu
  • From Load Snapshot => short-snapshot

Regards,




I’m sorry - I tried it and don’t like it :frowning:. As previously suggested, I would prefer a dead stop at the Main screen with BACK button not doing anything. I find it confusing that pressing BACK will never stop. It seems counter intuitive to me. I am used to interfaces where you navigate back to a higher level until you reach the top. I have always found Zynthian navigation confusing, jabbing at buttons until I find what I am looking for. I have just accepted this is how it is so may need to learn to live with the new implementation. (There were several fellow users who agreed with my earlier point though. :laughing:)

1 Like

Bold Back is giving you what you want.
I am happy with this solution

For me it’s about establishing a mental hierarchy that aligns with the designers. As long as there is a design philosophy then I can adjust to it, in spite off my own assumptions, and as a left hander I frequently do run into problems.

The difficulty I have is I don’t get any feedback as I move between the states. One of the things I’m playing around with RGB leds that indicate when you are in short, bold or long presses on a specific encoder so you can know when you have passed the thresholds…

The one that often catches me is ALL notes off, which I no is a bold press but once I have a tone of MIDI noise going on, I kind of expect it to stop once it’s got there but, of course, it’s the release of the knob that produces the result. Again it could just be me.

I don’t know if this is a personal desire or more widely needed but perhaps some visual feedback in the status might aid this process a little…?

The finest menu structure I ever saw was on the Ampex VPR-3 video recorders. An interfaced designed for highly stressful accurate operation in sports frequently driven by people that had been up half the night for the past five or so days. It featured a home button on the right hand side that Always took you home to the top menu.
The ability to just bash that. (they were good Military grade buttons as well) and get back to a known state was good because it matched the concept in your head ( lets start again). So I agree with @riban bout the known good state.

I’ve found the changes the Interface is making at the moment confusing, but I expected that. I’ve got a fair bit of zynthian muscle memory built up, and some of this obviously changes that.

I suggest we settle on this for a period of time, as i’ts been properly documented and then reconsider it in light of as much use as we can all give it.

IMO, the LONG PRESS implementation is wrong :relaxed:. This has been talked about before but changing it may require some extra overhead which has so far been deemed undesirable or maybe just not worth the effort :wink:. I implemented (what I believe is) the right implementation in an Arduino yesterday whereby the code triggers events when:

  • A button is pressed
  • A SHORT button press is released
  • A pressed button exceeds its BOLD duration
  • A BOLD button press is released
  • A pressed button exceeds its LONG duration
  • A LONG button press is released

I would then expect to use this to trigger actions on:

  • SHORT button release
  • BOLD button release
  • LONG button press

and have an indication at:

  • SHORT button press
  • BOLD button press

I believe this gives the most intuitive behaviour. A user will see the state of the button (not pressed -> short press -> bold press -> long press) and the long press action will occur at a specified and consistent time, not requiring guess work about when to release the button nor indeed the need to release the button. (It feels intuitive to me to force something to happen by holding down the button and for it to happen at some point without the need to count or watch the display - FORCE THOSE NOTES OFF, DAMN IT!)

A disadvantage of this approach (and probably why it is not (yet) implemented) is that it cannot be driven by button state alone. It requires time based events or checks. I can take a look at the Zynthian code again to see how this behaviour may be added. I avoided this previously because when I first encountered the issue I was insufficiently familiar with the code-base to be able to assess the effectiveness of a solution.

Oops! That turned into a rather long (and slightly off-topic) response which should maybe be transferred to a feature request… done!

1 Like

I agree.
IT’s about acknowledgement of event.
If one fell against it, would it indicate the state? At present it doesn’t; in a timed world it does . . .

The real development is the declaration of the encoder switch as a displayed state :-D,
The visual confirmation is very strong, and it tells you very quickly if your GUI is alive.

Hi @zynthianers!

Regarding the dicussion about this:

I just changed the zyncoder switches behaviour so long pushes will be detected before release, as @riban-bw has proposed. I don’t consider adding GUI feedback for bold/short pushes because they are too fast and eyes too slow. But … i added some config vars for allowing to adjust the timing values:

  • ZYNTHIAN_SWITCH_LONG_US
  • ZYNTHIAN_SWITCH_BOLD_US

It should be added to webconf UI’s adjustments tab :wink:

Just update and enjoy!

Regards

1 Like

Having applied the same patch to zyncoder_i2c it now works as described. I tried to trigger PANIC (all notes off) and it is a bit awkward. Imagine you are on stage and your Zynthian has decided it will get stuck playing a loud note over your prima donna guitarist’s solo - you are getting glared at by him whilst the crowd roar with laughter. You are getting hot under the collar (because you love Kraftwerk and always wear a collared shirt on stage). You press and hold the button on your Zynthian and try to remember how long before you need to release… no too fast… try again. No too slow… when will I get out of this hell-hole and where have I ended up in my menu system. What changes have I made to my setup and will I be playing french horn instead of grand piano in the next section…

Or to put it another way, maybe it would make sense to have the long press trigger the panic mode rather than bold press.

1 Like

and the label?
“Bold switch activation in microseconds”?
after
“Panel Background Color”?

Hi,
hi, the new menu structure works very well, I like it. But, there seems to be a problem when I let presets load automatically at startup ([x] preset preload).

Right after startup, I am in “layers” menu. Pressing back once, brings me to “main” menu, second press leads to nowhere. After that you can only pull the power plug to bring it back to life. And it’s probably not due to corona… it is switched off as you can judge by its unlit power led… no infection… :smile:

regards, hal.

Curious. Do you have a last state snapshot? Could you send it?
What SD image are you using?

Please, when reporting a bug, here or in the tracker, give all the details for reproducing it. Think that it’s really difficult to solve a problem that you can’t reproduce. It’s a lot more efficient if you include all the required info in the initial report :wink:

Regards!

Ideally, you would like to have a dedicated button for that … and luckily, you can easily have one if you really need it ;-b

In the other hand, we have limited non-contextual actions in zynthian. Long actions are non contextual and currently we have:

  • long layer => ALSA Mixer
  • long back => Admin
  • long snapshot => Recorder
  • long select => Power Off

As you can imagine, every person in this forum will have a proposal for choosing this 4 actions. accordingly to his use-case or personal likes. We have 2 options:

  • Allow to configure this 4 actions (non contextual actions are more difficult to define)
  • Reach a consensus

What do you prefer, @zynthianers? :grin:

I like:

  • Bold Push Time (us)
  • Long Push Time (us)

And I would put the stuff under meter, as advanced setting (hidden by default). But opinions are accepted and studied, of course … :wink:

Thanks!

I don’t like us, because it is micro and that is μ and not u

But I would need to remove an escape() in config_block.html to achieve that.
What was the reason for the escape around the title?

I doubt anyone will be able to time their button presses to microsecond accuracy, nor indeed millisecond accuracy so why not enter ms value in webconf (or even seconds, allowing fractions, e.g. 2.4s) and scale appropriately. I certainly don’t fancy entering 3000000000 when I want 3s.

Of course you will get as many opinions as there are forum members :wink:. I think the following are useful contextual operations:

  • Power Off
  • Panic
  • Return home
  • Recorder

I can see that access to the mixer is also useful but maybe the ability to return to the home screen will mean we have two presses to get to many of our most useful screens.

My preference for button allocation is:

Panic on the Layer button because some of us aspire to having the volume control default to this encoder so it ties in with audio level.

Return home on Back button because it is intuitive to go back to the beginning by long pressing the button that head that way.

Power off on Select button because that is where it has always been.

Record on Learn / Shot because we have run out of options.

I get your point. I was irritated myself when I saw, that it was microseconds…which would be 3000000 “only”, though…

I would change zynthian_gui_config and use ms instead of us, but I don’t know if @jofemodo agrees on that.

Otherwise I had to hack the webconf and change the variable before saving by multiplying with 1000.

@jofemodo, your call