After latest update, Oram refuses to do quite a few things, such as (trying to) add a chain

After trying to add a chain, or, as in the log below, selecting a chain and then another one, nothing seems to work anymore.

This happened after an update to oram (which I did as I wanted to check out latest sooperlooper improvements).

Apr 09 18:11:24 zynthian startx[872]: Hardware Model: Raspberry Pi 4 Model B Rev 1.4
Apr 09 18:11:24 zynthian startx[872]: ----------------------------------------------
Apr 09 18:11:26 zynthian startx[902]: ZynCore: Setting-up 16 x Zynswitches...
Apr 09 18:11:26 zynthian startx[902]: ZynCore: Setting-up 4 x Zynpots (zyncoders)...
Apr 09 18:11:26 zynthian startx[902]: ZynCore->gpiod_start_callbacks: Callback thread created successfully
Apr 09 18:11:28 zynthian startx[902]: Started libzynaudioplayer using libsndfile-1.2.0
Apr 09 18:11:29 zynthian startx[902]: Started libzynmixer
Apr 09 18:11:29 zynthian startx[902]: Started libzynseq
Apr 09 18:11:29 zynthian startx[902]: Started libzynsmf
Apr 09 18:11:30 zynthian startx[902]: WARNING:zynthian_gui_brightness_config.init_ctrls: Can't set display brightness!
Apr 09 18:13:25 zynthian startx[902]: ERROR:zynthian_gui.cuia_thread_task: CUIA zynswitch failed with params: (3, 'S')
Apr 09 18:13:25 zynthian startx[902]: Traceback (most recent call last):
Apr 09 18:13:25 zynthian startx[902]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui.py", line 2249, in cuia_thread_task
Apr 09 18:13:25 zynthian startx[902]: self.zynswitch_short(i)
Apr 09 18:13:25 zynthian startx[902]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui.py", line 1860, in zynswitch_short
Apr 09 18:13:25 zynthian startx[902]: if self.screens[self.current_screen].switch(i, 'S'):
Apr 09 18:13:25 zynthian startx[902]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Apr 09 18:13:25 zynthian startx[902]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui_mixer.py", line 1009, in switch
Apr 09 18:13:25 zynthian startx[902]: self.switch_select(t)
Apr 09 18:13:25 zynthian startx[902]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui_mixer.py", line 962, in switch_select
Apr 09 18:13:25 zynthian startx[902]: self.zyngui.chain_control()
Apr 09 18:13:25 zynthian startx[902]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui.py", line 929, in chain_control
Apr 09 18:13:25 zynthian startx[902]: self.modify_chain({"chain_id": chain_id, "type": "Audio Effect"})
Apr 09 18:13:25 zynthian startx[902]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui.py", line 865, in modify_chain
Apr 09 18:13:25 zynthian startx[902]: self.show_screen("engine")
Apr 09 18:13:25 zynthian startx[902]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui.py", line 584, in show_screen
Apr 09 18:13:25 zynthian startx[902]: if not self.screens[screen].build_view():
Apr 09 18:13:25 zynthian startx[902]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Apr 09 18:13:25 zynthian startx[902]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui_engine.py", line 208, in build_view
Apr 09 18:13:25 zynthian startx[902]: self.get_engines_by_cat()
Apr 09 18:13:25 zynthian startx[902]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui_engine.py", line 191, in get_engines_by_cat
Apr 09 18:13:25 zynthian startx[902]: self.engines_by_cat = self.zyngui.chain_manager.filtered_engines_by_cat(self.proc_type, all=self.show_all)
Apr 09 18:13:25 zynthian startx[902]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Apr 09 18:13:25 zynthian startx[902]: File "/zynthian/zynthian-ui/zyngine/zynthian_chain_manager.py", line 1001, in filtered_engines_by_cat
Apr 09 18:13:25 zynthian startx[902]: result[eng_cat][eng_code] = info
Apr 09 18:13:25 zynthian startx[902]: ~~~~~~^^^^^^^^^
Apr 09 18:13:25 zynthian startx[902]: KeyError: 'Filter' 

Hi @niels

Oram is 64-bit only so there is no direct update route. You need to flash a new image to a uSD card.

@jofemodo we should change stable to remove the ability to update to Oram.

Hi @niels !

Update again, please :wink:

Regards,

@jofemodo thanks, but this did not work. I experimented some more, and as far as adding chains go, any type of chain does work, except for Audio or MIDI+Audio chains.

@riban, it is an oram image which I burned and updated (a few times already). Sorry for the confusing wording I chose.

Here’s the log for booting up Zynthian into the mixer, bold-pressing to get to the menu, and adding an Audio chain:

Apr 10 07:49:24 zynthian startx[867]: Hardware Model: Raspberry Pi 4 Model B Rev 1.4
Apr 10 07:49:24 zynthian startx[867]: ----------------------------------------------
Apr 10 07:49:25 zynthian startx[897]: ZynCore: Setting-up 16 x Zynswitches...
Apr 10 07:49:25 zynthian startx[897]: ZynCore: Setting-up 4 x Zynpots (zyncoders)...
Apr 10 07:49:25 zynthian startx[897]: ZynCore->gpiod_start_callbacks: Callback thread created successfully
Apr 10 07:49:28 zynthian startx[897]: Started libzynaudioplayer using libsndfile-1.2.0
Apr 10 07:49:28 zynthian startx[897]: Started libzynmixer
Apr 10 07:49:29 zynthian startx[897]: Started libzynseq
Apr 10 07:49:29 zynthian startx[897]: Started libzynsmf
Apr 10 07:49:30 zynthian startx[897]: WARNING:zynthian_gui_brightness_config.init_ctrls: Can't set display brightness!
Apr 10 07:51:24 zynthian startx[897]: ERROR:zynthian_gui.cuia_thread_task: CUIA zynswitch failed with params: (3, 'S')
Apr 10 07:51:24 zynthian startx[897]: Traceback (most recent call last):
Apr 10 07:51:24 zynthian startx[897]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui.py", line 2249, in cuia_thread_task
Apr 10 07:51:24 zynthian startx[897]: self.zynswitch_short(i)
Apr 10 07:51:24 zynthian startx[897]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui.py", line 1876, in zynswitch_short
Apr 10 07:51:24 zynthian startx[897]: self.screens[self.current_screen].switch_select('S')
Apr 10 07:51:24 zynthian startx[897]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui_selector.py", line 331, in switch_select
Apr 10 07:51:24 zynthian startx[897]: self.click_listbox(None, t)
Apr 10 07:51:24 zynthian startx[897]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui_selector.py", line 322, in click_listbox
Apr 10 07:51:24 zynthian startx[897]: self.select_action(self.index, t)
Apr 10 07:51:24 zynthian startx[897]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui_main_menu.py", line 81, in select_action
Apr 10 07:51:24 zynthian startx[897]: self.last_action(t)
Apr 10 07:51:24 zynthian startx[897]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui_main_menu.py", line 87, in add_audiofx_chain
Apr 10 07:51:24 zynthian startx[897]: self.zyngui.modify_chain({"type": "Audio Effect", "midi_thru": False, "audio_thru": True})
Apr 10 07:51:24 zynthian startx[897]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui.py", line 865, in modify_chain
Apr 10 07:51:24 zynthian startx[897]: self.show_screen("engine")
Apr 10 07:51:24 zynthian startx[897]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui.py", line 584, in show_screen
Apr 10 07:51:24 zynthian startx[897]: if not self.screens[screen].build_view():
Apr 10 07:51:24 zynthian startx[897]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Apr 10 07:51:24 zynthian startx[897]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui_engine.py", line 208, in build_view
Apr 10 07:51:24 zynthian startx[897]: self.get_engines_by_cat()
Apr 10 07:51:24 zynthian startx[897]: File "/zynthian/zynthian-ui/zyngui/zynthian_gui_engine.py", line 191, in get_engines_by_cat
Apr 10 07:51:24 zynthian startx[897]: self.engines_by_cat = self.zyngui.chain_manager.filtered_engines_by_cat(self.proc_type, all=self.show_all)
Apr 10 07:51:24 zynthian startx[897]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Apr 10 07:51:24 zynthian startx[897]: File "/zynthian/zynthian-ui/zyngine/zynthian_chain_manager.py", line 1001, in filtered_engines_by_cat
Apr 10 07:51:24 zynthian startx[897]: result[eng_cat][eng_code] = info
Apr 10 07:51:24 zynthian startx[897]: ~~~~~~^^^^^^^^^
Apr 10 07:51:24 zynthian startx[897]: KeyError: 'Looper' 

Push the “search for engines” button in webconf, please.

@jofemodo I hit the button, waited for it to finish, then rebooted. Same issue.

Could this duplicate name be the cause of my problem?

This may be related. You could try disabling it and seeing if there is any improvement.

@jofemodo we should probably remove the LV2 instance of SooperLooper. I don’t think it gives us any benefit and is likely to lead to further confusion. Probably want to do similar with others like Aeolus, Fluidsynth, setBFree, Pianoteq, etc.

1 Like

Disabling both of them lets me add Audio chains again.

What steps would I need to perform to get SooperLooper with the special interface working again?

Duplicated names shouldn’t be a problem. Each engine have a unique ID assigned, that is used internally for all management.

Try enabling again, please.

Regards,

1 Like

Hi @jofemodo. Re-enabling SooperLooper/Looper gives me the same problem again.

Please update your zynthian and push “Search for engines” button again.
If not, send this file:

/zynthian/config/engines_config.json

and i will try to figure what is your problem.

Regards,

1 Like

Same story.

engine_config.json (395.7 KB)

Thanks @niels!

Your DB file helped me to find the issue: a wrongly assigned category in the engine DB regeneration code. Please update and test.

Regards

1 Like

Thanks @jofemodo . After the update and search for engines, adding audio chains works again!

3 Likes

But now adding Synth Chains failed. KeyError Modeler

Ups! I will try to fix it tomorrow. Until then, you could solve it by running this from terminal:

cd /zythian/zynthian-ui/zyngine
./zynthian_lv2.py engines

Then reboot.

Regards

That’s my opinion too.

I will remove duplicated engines that could cause confusion.

Regards,

2 Likes