Integration with Bandhelper app -> MIDI remote control for Zynthian UI

Dear @mheidt!

I understand your POV, but i really think that we should try to use an uniform criteria for this. Banks and Programs are the standard way for years. Zynthian engines use this paradigm (in some way ;-)) for organizing its presets:

  • ZynAddSubFX & FluidSynth use natively this paradigm. They understand bank and program messages.

  • LinuxSampler no, but Zynthian UI adds a “bank” layer for it.

The three engines use directory structures that (in some way) match the paradigm.

  • MOD-UI engine is a little special, of course, and banks are used for “pedalboards”. “Presets” inside a “pedalboard” are the presets of the different plugins. Currently this is a mess but i will try to fix it very soon…

  • setBfree doesn’t understand bank messages, but Zynthian UI adds a “bank” layer to separate the presets by its functionality type.

Snapshots should follow the “bank&program” paradigm too. If we use a different paradigm for snapshots, most of users will get confused in an UI that is already quite complex. No need to add more wood to the fire.

Also, if we use this paradigm, every snapshot has a MIDI command assigned by default. No need for extra configuration if you don’t need it …

Moreover … 65536 banks should be enough for everybody … ;-D

Kind Regards!

Before I fill the buttons with life:

When I change the bank and program, the file will be moved.
“+ New bank” will create a new bank…in this case 2 or 4?

You can change the bank name after creation:


or move it to a new banknumber.
A delete deletes the directory incl. the snapshots!? There is a confirmation message of course.

The numbers are 5 or with leading zeros? Could be 00003 for banks and 005 for programs instead.

2 Likes

Hi @mheidt!

Excelent work, my dear!! Really!! Thanks a lot for your time and effort!!
The next 2 weeks i will be really busy with the Maker Faires: Berlin and Barcelona!
After that, i will start to implement the Zynthian UI part. I want this feature working ASAP!! Yesssss!!! :sunglasses:

Regarding your questions:

I think 4 is OK. If you can rename it after, no problem.

Buff!! A simple confirmation is dangerous … perhaps it’s safer not allow to delete a bank if it contains snapshots.
Another posibility is asking to “write” a word for confirmation… but this is some “geek-way”.

I like leading zeros, but not too many. 2 or 3 are anough for banks and programs, like “003”. If somebody really needs so much banks and programs, always can tweak the source code :wink:

Anyway, default snapshot names should be the default MIDI program. Same for banks.

Also, i don’t like too much the “1-Bank1” notation … perhaps we can find something better? :innocent:

Super Regards!

This wont work as snapshots can contain multiple engines with multiple midi channels.
so maybe default to how os deal with creating new folders. Just call it New Bank and if it exists put a number at the end. and snapshot just name it snapshot with a number after for example.

New Bank
----- Snapshot 1
----- Snapshot 2
----- Snapshot 3
New Bank 1
----- Snapshot 1
----- Snapshot 2
----- Snapshot 3

It is not sex I know but then you can go in and change it to whatever you want later.
One other thing when you create a snapshot on the Zynthian it should as what bank to save it in.

john

I have new screenshots.

  1. New bank: I propose the next free bank, but you can choose any other number. “Bank exists already”, if the number exists. The name is Bank# initially, but you can change that name later. (see second screenshot)
  2. yes, I will only allow the deletion of empty banks
  3. I decided to use leading zeros, because otherwise the file system order doesn’t work correctly in linux. OsX is smarter with numbers in filenames.

And here a screenshot to show how a snapshot is moved:


Only existing banks are possible. I take care if the program number is used within a bank already.

Next I will prepare the MIDI-Config-Panel. As submenu of System?

And here we go: the MIDI panel

Save doesn’t work yet, because I can’t commit changes in the setenv script.
But you will take over from here, Fernando :slight_smile:

4 Likes

Hi @mheidt!

Here we go with the full implementation of this feature! Sorry for the delay … :wink:

I found some problems in the webconf tool:

When selecting a snapshot, the full path is shown in the “name” input field, like this:

Bank1/0001

For autogenerated snapshot names, this field should remain empty and a default “program number” should be selected, based in the first part (0001) of snapshot name. Autogenerated snapshot names are 0001, 0002 and so on, so it will work quite well for the first 128 snapshots in every bank, that should be enough for most of users.

Regarding your last posts in this thread, I think this is your vision too, but something is not working OK :wink:

Bank and snapshot dir/filenames are composed of 2 parts separated by “-”, like this:

001-BankBlablabla
001-SnapshotBlobloblo

This first part is the MIDI bank/program number and the second part is the “name” itself.

Currently, snapshot autogenerated filenames contains only the first part (001, 002, 003, …). I suggest so the same with bank dirnames. So, initially (on creation), bank “name” is also empty and the dirname is only the first part (0001, 0002, …). This will simplify bank creation from the UI and will unify the way bank/snapshot names work.

The second part of the dir/filename, the “name” itself, would be “optional” and can be edited using the webconf tool.

What do you think? :wink:

Regards,

Yes, that was what I was thinking, when I implemented the webconf part.
Names are optional and zynthian-ui only displays them later. Manipulation via webconf only.

I couldn’t follow “your problem”.

What exactly is not working?

When there is no name, it fails like this:

Regards,

just generate a default name or number.

Also fails when a bank has no name:

Hi @mheidt!

“Master MIDI Bank & Program change for snapshot loading” is almost ready. As soon as we solve the problems with the webconf tool , i will upload the changes :wink:

Also, i’ve added a new config variable and would be nice to have it in the webconf tool. It’s for selecting the Bank change “mode”. It’s name is:

ZYNTHIAN_MASTER_MIDI_BANK_CHANGE_CCNUM

And 2 values are possible:

  • LSB => 0x20
  • MSB => 0x00

Perhaps a 3rd option should be added for allowing using both and have 128x128 banks.

Regards,

A selection box with those two values?

how did you create those snapshots? ssh?
Because a dash (-) is mandatory between number and name.
Nevertheless I will change something, so that the dash is not mandatory.

Exactly!!! :+1:

“LSB” and “MSB”

No, i used the Zynthian UI :wink:

If the name is optional, the dash too :wink:

I can’t reproduce it locally on my pc…no zynthian available right now.
Could you show me your
find .
from /snapshots?

root@zynthian:/zynthian/zynthian-my-data/snapshots# find .
.
./00001-Mampon
./00001-Mampon/002.zss
./00008
./00008/001.zss
./00002-Bank2
./00007-Bank7
./00007-Bank7/001-pitos.zss
./00007-Bank7/002.zss

checkout branch snapshotWebConfFix

Only the fix, not the new LSB/MSB feature