Pianoteq UI improvements (First contribution)


Hi everyone. First contribution to this great project from me.
This is the first time I’ve coded in Python so apologies in advance!

What’s new:


  • <default> presets not showing where preset has no name
  • The bank list doesn’t reflect the currently available instruments
  • Demo and licensed instruments mixed together in the Pianoteq bank list


  • Fix the <default> presets by reworking the checking if statement
  • Add missing instruments from the free KIViR.ptq pack
  • Look for licensed instruments mentioned in the <VALUE name="subl" val=""/> line of the config XML
  • Reorder the banks to licensed, then free, then demo
  • Add a spacer item to the bank list to separate full instruments from demo instruments

To do:

  • I don’t know what is used in the <VALUE name="subl" val=""/> line of the config XML for every instrument that can be purchased. I’ve only added them for the ones I can confirm.
  • First time coding in Python before so refactoring might be necessary

Note: You will have to delete your preset cache to see the changes
rm /zynthian/zynthian-my-data/pianoteq6/presets_cache.json

Tested with Pianoteq v6.3.0 STAGE


I bought Stage with the Electric keyboard pack and also the Grotrian so my config file has:
<VALUE name="subl" val="Grotrian:A;Electric:A;Clavinet:A"/>

These are the only ones I’ve put in the code so far.


Thank you, this would be nice to have.

I haven’t looked but are you looking at whether instruments are “hidden” or not (you can hide things in the instrument via the pianonteq ui)? That would be nice as I don’t like to have the list of demo instruments cluttering things up (though maybe ordering would be good enough).


Hi @Fitz

many thanks for the fixes and extensions of the pianoteq engine! Do you know if the push request is already merged?

I took a look at my licensed models. I have also the “Electric”. And I bought the Steinway D4. My line look like this:

<VALUE name="subl" val="D4:A;Electric:A;Clavinet:A"/>

Regards, Holger


Thanks, this is useful. From your D4:A it looks like the codes are based on the .ptq filenames. I’ve inspected the HTML on the Pianoteq online shop :grinning: and have added all the remaining instrument codes from that.

I’ve also added the new Ant. Petrof instrument from v6.3.0, with some code to check the installed version number https://www.pianoteq.com/antpetrof

The pull request is still waiting for review. Would be good to test it on a fresh install with Pianoteq v6.0.0 demo before it is committed. I’ll do this soon if no-one else has.


PS. I have just emailed Mordatt telling them I bought their software and would like to help get Pianoteq controls in the Zynthian UI. I guess these controls are not mapped via midi and not available through the LV2? If I hear back I’ll let you know.


thx @Fitz. Every modartt customer should mail or be active in their forum, so that they see, how many customers the Zynthian platform is generating. We haven’t had much success when we started the integration.
An API to enter the licence would be nice.


Hi @Fitz!

Nice work! Congraulations and thanks a lot for your contribution!
Your changes are tested and merged with master now.

@mheidt, you are right … It’s time to work a little bit more on the Pianoteq engine and get this little help we need from Moddart guys … :wink: