Zynbleton Vangelis - READ ME

For me it is true for any chain including chain 1. The moment I select a preset UI debug log says (for encoder 4 selection):


Mar 18 15:47:36 hannes-zynthian startx[20233]: DEBUG:zynthian_gui.zynswitch_short: Short Switch 27
Mar 18 15:47:36 hannes-zynthian startx[20233]: DEBUG:zynthian_gui.callable_ui_action: CUIA 'V5_ZYNPOT_SWITCH' => [3, 'S']
Mar 18 15:47:36 hannes-zynthian startx[20233]: DEBUG:zynthian_gui.zynswitch_short: Short Switch 3
Mar 18 15:47:36 hannes-zynthian startx[20233]: ERROR:zynthian_gui.cuia_thread_task: CUIA 'zynswitch' failed with params: (27, 'S')
Mar 18 15:47:36 hannes-zynthian startx[20233]: Traceback (most recent call last):
Mar 18 15:47:36 hannes-zynthian startx[20233]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui.py", line 2612, in cuia_thread_task
Mar 18 15:47:36 hannes-zynthian startx[20233]: self.zynswitch_short(i)
Mar 18 15:47:36 hannes-zynthian startx[20233]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui.py", line 2225, in zynswitch_short
Mar 18 15:47:36 hannes-zynthian startx[20233]: return self.custom_switch_ui_action(i - 4, "S")
Mar 18 15:47:36 hannes-zynthian startx[20233]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Mar 18 15:47:36 hannes-zynthian startx[20233]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui.py", line 1987, in custom_switch_ui_action
Mar 18 15:47:36 hannes-zynthian startx[20233]: self.callable_ui_action_params(cuia)
Mar 18 15:47:36 hannes-zynthian startx[20233]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui.py", line 1215, in callable_ui_action_params
Mar 18 15:47:36 hannes-zynthian startx[20233]: self.callable_ui_action(cuia, params)
Mar 18 15:47:36 hannes-zynthian startx[20233]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui.py", line 1201, in callable_ui_action
Mar 18 15:47:36 hannes-zynthian startx[20233]: cuia_func(params)
Mar 18 15:47:36 hannes-zynthian startx[20233]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui.py", line 1820, in cuia_v5_zynpot_switch
Mar 18 15:47:36 hannes-zynthian startx[20233]: self.zynswitch_short(i)
Mar 18 15:47:36 hannes-zynthian startx[20233]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui.py", line 2220, in zynswitch_short
Mar 18 15:47:36 hannes-zynthian startx[20233]: self.screens[self.current_screen].switch_select('S')
Mar 18 15:47:36 hannes-zynthian startx[20233]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui_selector.py", line 402, in switch_select
Mar 18 15:47:36 hannes-zynthian startx[20233]: self.click_listbox(None, t)
Mar 18 15:47:36 hannes-zynthian startx[20233]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui_selector.py", line 394, in click_listbox
Mar 18 15:47:36 hannes-zynthian startx[20233]: self.select_action(self.index, t)
Mar 18 15:47:36 hannes-zynthian startx[20233]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui_preset.py", line 101, in select_action
Mar 18 15:47:36 hannes-zynthian startx[20233]: self.icon_canvas.grid_remove()
Mar 18 15:47:36 hannes-zynthian startx[20233]: ^^^^^^^^^^^^^^^^
Mar 18 15:47:36 hannes-zynthian startx[20233]: AttributeError: 'zynthian_gui_preset' object has no attribute 'icon_canvas'

(for touch selection):

Mar 18 15:53:58 hannes-zynthian startx[20233]: DEBUG:zynthian_gui.zynswitch_short: Short Switch 3
Mar 18 15:53:58 hannes-zynthian startx[20233]: ERROR:zynthian_gui.cuia_thread_task: CUIA 'zynswitch' failed with params: (3, 'S')
Mar 18 15:53:58 hannes-zynthian startx[20233]: Traceback (most recent call last):
Mar 18 15:53:58 hannes-zynthian startx[20233]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui.py", line 2612, in cuia_thread_task
Mar 18 15:53:58 hannes-zynthian startx[20233]: self.zynswitch_short(i)
Mar 18 15:53:58 hannes-zynthian startx[20233]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui.py", line 2220, in zynswitch_short
Mar 18 15:53:58 hannes-zynthian startx[20233]: self.screens[self.current_screen].switch_select('S')
Mar 18 15:53:58 hannes-zynthian startx[20233]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui_selector.py", line 402, in switch_select
Mar 18 15:53:58 hannes-zynthian startx[20233]: self.click_listbox(None, t)
Mar 18 15:53:58 hannes-zynthian startx[20233]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui_selector.py", line 394, in click_listbox
Mar 18 15:53:58 hannes-zynthian startx[20233]: self.select_action(self.index, t)
Mar 18 15:53:58 hannes-zynthian startx[20233]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui_preset.py", line 101, in select_action
Mar 18 15:53:58 hannes-zynthian startx[20233]: self.icon_canvas.grid_remove()
Mar 18 15:53:58 hannes-zynthian startx[20233]: ^^^^^^^^^^^^^^^^
Mar 18 15:53:58 hannes-zynthian startx[20233]: AttributeError: 'zynthian_gui_preset' object has no attribute 'icon_canvas'

I’m pretty sure @Nicolaz means the backlit physical buttons, not the pads.

@jofemodo says that he fixed that earlier today.

Sorry, i was talking about the physical pads.

By the way, and momentarily slightly OT, I never really understood how to effectively tap into the possibilities of disabled sequences. Is this function reserved for on-the-fly live launching, arguably through an external pad controller, or would it be of any use also for a pre-programmed (unattended) arrangement?

It also seems that on the V4 kit, the physical encoders still work but pushing them doesn’t do anything anymore.

The UI Debug log shows this when rotating encoder (works)

Mar 18 17:28:32 zynthian startx[1675]: INFO:zynthian_gui.wiring_midi_setup: CUSTOM I/O SETUP…

However it doesn’t show anything when pushing an encoder

One of the main advantages is that a disabled sequence will not trigger, so if you start a phrase with a disabled sequence, the already playing sequence will not be stopped. You don’t have to duplicate the sequence if you just want it to keep playing.

Yes - things are broken. I will fix it. It feels like part of the workflow review that we are doing now and partially linked to how we manage touch-only without physical encoders.

1 Like

I created a bug report concerning this issue.

Funny… Following the last development, I have just been considering to finally learn your touch control properly and abandon the beginners’ touch buttons, because the new extensions seem to utilise larger displays much better. (Actually, I have never considered these two methods as alternatives – rather as complementary. I understand your concerns, though.) This seems to be an interesting solution… I have to try it!

The only complaint raising from the screenshot is the huge and uneven font size of the labels, stretching edge-to-edge. Well, I suppose you have the standard 5 inch display only, which probably requires larger labels?

Button labels auto size to fit the buttons. I want to add a config to limit the size of buttons so that they don’t grow too large and larger format screens.

Hi @Nicolaz !

I already fixed, but you probably need to run this commands by hand:

fix_touch_envars.sh
systemctl restart zynthian

Regards,

1 Like

Or just update and it should get fixed.

1 Like

Hi @riban, sorry for asking, but I do not do electronica live sets, thus I am rather unfamiliar with the Launchpad+Ableton workflow and jargon, which should (?) be at the basis of the whole Zynpad concept. Can you expand a little bit, on the process of keeping on playing a sequence without duplicating it? Reading the by now not up-to-date old Zynpad documentation, I seem to have gathered (correct me if wrong) that a sequence is a column of interconnected patterns belonging to a track (a chain with a Midi ch), and a phrase is a row consisting of all the active patterns of the sequences (tracks) playing at the same time. Is this correct? Thanks :slight_smile:

A sequence is what is behind a single pad, both in the old and the new situation.

This could contain multiple ā€˜tracks’ for different instruments, each with multiple patterns. This subdivision was and is not visible from the zynpad/ launcher view. The state we are in now only allows a single track for the chain the pad is in and just one pattern.

Phrases are indeed the rows.

If a phrase is set to continue to the next phrase after playing it will keep on playing pads/sequences from a column if the pad in that row is disabled (dark grey). If the pad is empty (light grey) the previous pad will stop and the empty one will play.

On the SoooooperSubject of making the add engine flow more intuitive, I see the SooperLooper is now hidden in the category Audio Effect (meh), type Delay (double meh).

Does it deserve a more logical spot?

Ideas:

  • Category Special
  • Category Audio effect, type other
1 Like

With my deepest gratitude to @riban I can confirm the problem is fixed.

1 Like

I moved to ā€œotherā€. We would consider to move it to the ā€œSpecialā€ category …

1 Like

I have yet another bug, for which I’m interested if you experience the same:

Stopping any audio recording leads to the good old segmentation error, both from audio recording from the main chain as well as recording and stopping from a clippy chain. For the first example here’s the log:

Mar 19 12:45:10 hannes-zynthian startx[1681]: DEBUG:zynthian_gui.zynswitch_short: Short Switch 27
Mar 19 12:45:10 hannes-zynthian startx[1681]: DEBUG:zynthian_gui.callable_ui_action: CUIA 'V5_ZYNPOT_SWITCH' => [3, 'S']
Mar 19 12:45:10 hannes-zynthian startx[1681]: DEBUG:zynthian_gui.zynswitch_short: Short Switch 3
Mar 19 12:45:10 hannes-zynthian startx[1681]: INFO:zynthian_audio_recorder.toggle_recording: TOGGLING AUDIO RECORDING ...
Mar 19 12:45:10 hannes-zynthian startx[1681]: INFO:zynthian_audio_recorder.start_recording: STARTING NEW AUDIO RECORD '/zynthian/zynthian-my-data/capture/2026-03-19_124510.wav'...
Mar 19 12:45:16 hannes-zynthian startx[1681]: DEBUG:zynthian_gui.zynswitch_short: Short Switch 27
Mar 19 12:45:16 hannes-zynthian startx[1681]: DEBUG:zynthian_gui.callable_ui_action: CUIA 'V5_ZYNPOT_SWITCH' => [3, 'S']
Mar 19 12:45:16 hannes-zynthian startx[1681]: DEBUG:zynthian_gui.zynswitch_short: Short Switch 3
Mar 19 12:45:16 hannes-zynthian startx[1681]: INFO:zynthian_audio_recorder.toggle_recording: TOGGLING AUDIO RECORDING ...
Mar 19 12:45:16 hannes-zynthian startx[1681]: INFO:zynthian_audio_recorder.stop_recording: STOPPING AUDIO RECORD ...
Mar 19 12:45:16 hannes-zynthian startx[1681]: INFO:zynthian_processor.get_bank_list: Loaded 9 banks
Mar 19 12:45:16 hannes-zynthian startx[1681]: INFO:zynthian_processor.set_bank: Bank already selected: > capture (1)
Mar 19 12:45:16 hannes-zynthian startx[1681]: INFO:zynthian_processor.load_preset_list: Loaded 8 presets
Mar 19 12:45:16 hannes-zynthian startx[1681]: INFO:zynthian_processor.set_preset: Preset selected: 2026-03-19 124510 (7)
Mar 19 12:45:17 hannes-zynthian startx[1650]: ./zynthian.sh: line 316: 1681 Segmentation fault ./zynthian_main.py
Mar 19 12:45:17 hannes-zynthian startx[1650]: *******************
Mar 19 12:45:17 hannes-zynthian startx[1650]: EXIT STATUS => 139
Mar 19 12:45:17 hannes-zynthian startx[1650]: *******************
Mar 19 12:45:17 hannes-zynthian startx[1826]: /zynthian/config/img/fb_zynthian_message.jpg is a 1280x800 JPEG image, color space YCbCr, 3 comps, Huffman coding.
Mar 19 12:45:17 hannes-zynthian startx[1826]: Zooming image by 100%...done
Mar 19 12:45:17 hannes-zynthian startx[1826]: Merging...done
Mar 19 12:45:17 hannes-zynthian startx[1826]: Building XImage...done

Regarding this new workflow: Would it be possible to store the current state (show/now show virtual buttons) persistently? For people relying on always visible virtual buttons it may be nice to leave them on when shown once.

Also I witnessed in two recent updates that it reverted the preferences (previously buttons on right side, once it changed to buttons on left side, once to no touch input, while wiring layout is MCP23017-Encoders-V5Touch).

1 Like

Yes we can persist state. (I have added it to the snag list.) There were some changes that may have forgotten which side to display. That should now be persisted (and we will try to avoid regressing).

This is on our todo list. It is a substantial issue that we need to fix ASAP.

1 Like