Low hanging fruit - small things to improve Zynthian

Some notes on the current help pages:

  1. While the Push encoders get plenty of deserved screentime, it would be nice to have an overview page summarizing each of the 20 buttons. Maybe I overlooked this info…
  2. The Chain Manager seems to be an exception in terms of not showing the encoder legend next to the V4/V5 encoders. This may be intentional due to functionality depending on the selection etc. Still, I find it useful to eat have this visual summary of functionality, at least for stuff that doesn’t depend on current selection etc.
  3. The help index could benefit from a bit of distance between each of the bullets in the list, to avoid hitting the previous/next item when using the touch screen.

Regards

The chain manager help (and a few other pages) is a draft I wrote without the hardware specific customisation which includes encoders. I would prefer a way to abstract this common stuff but a previous attempt was deemed inappropriate. So I am leaving this to @jofemodo to figure out. I am putting my help in the core folder and this may subsequently be customised.

We could add some style to the index to make the gaps bigger for touch.

1 Like

Here is my fruit wish: I’m working an updated launchpad pro driver for Vangelis. I’d like to develop & test the driver alongside the ‘default’ driver so it won’t be overwritten when running a system update (frequent as they are).

Recently we have standard drivers available to select (e.g. mackie control). Is it possible to make a second device driver by adding a suffix to the file name e.g. launchpad_pro_mk2_dev.py so Zynthian can know to make this available to select and it won’t get overwritten. Once all the work is done, we do a pull request process and back to business as usual.

Or perhaps there’s a better or easier way to do it that I’m unaware of?

Hi

You could experiment with .gitignore to exclude specific files from updates. Since the updates use git this should allow fine control.

Haven’t tried this though :upside_down_face:

Git overwrites stuff. I have lost stuff this way too. You need to be aware of the development process. If you are developing something, do not run standard updates. This is one of my workflows (the lazy / quick one for much dev I do):

  • Make changes.
  • git stash to store and undo the changes.
  • git pull (or update) to apply updates.
  • git stash pop to restore the changes.

but… this does not stash new files. Another (maybe better) way is to create a dev branch:

  • git checkout -b my_dev_branch_name
  • Make changes.
  • git add <filenames>
  • git commit
  • git checkout vangelis
  • git pull
  • git checkout my_dev_branch_name
  • git merge vangelis
  • Repeat until complete…

This is means you are working on a proper development branch which benefits from all the protection and freedom that git gives you. If you are working on your own GitHub fork, it works can work to allow pull requests, etc. but there are extra repo-sync steps required.

This post is not really low hanging fruit - it is more about how to facilitate the picking of that fruit! more cherries in your basket.

3 Likes

For small changes, e.g. ctrldev drivers I switched to the approach @riban (?) mentioned elsewhere. Make changes on computer, then copy via FileZilla to Zynthian.

Yes. This is the way to have alternate driver for the same device.

Not currently. Update will overwrite/delete your user installed drivers. This should be solved, so please, open a feature request in the issue tracker.

Thanks!

1 Like

OK! I just added a user’s directory for ctrldev drivers (vangelis). Just update and look for this directory:

/zynthian/zynthian-my-data/ctrldev

you can put your drivers in this directory and they wont be deleted/overwritten by updates.
Keep in mind that this direcetory has priority over the system one, so if you have a driver with the same name than the system one, the user’s version will be loaded, replacing the system version.

Regards!

10 Likes

Excellent @jofemodo!

More fruit here Issue: Main menu icons need space inside their box · Issue #1668 · zynthian/zynthian-issue-tracking · GitHub