Yoshimi - testers wanted

All your LV2 and LADSPA goodness and more.

Moderators: MattKingUSA, khz

folderol
Established Member
Posts: 2072
Joined: Mon Sep 28, 2015 8:06 pm
Location: Here, of course!
Has thanked: 224 times
Been thanked: 400 times
Contact:

Yoshimi - testers wanted

Post by folderol »

In an (almost) dramatic diversion from the past, the latest build supports a fairly complete theme colour control, along with a rather extreme demo of what is possible. It is almost complete, but as it has no effect on the actual sound, I'll only be giving it a minor point release.

At the same time I've tried to make button styles and colours more consistent, and clearly separate the idea of action buttons that do something and link buttons that take you to another place.

Finally, all buttons/switches/counters/menus that are MIDI-learnable now have bold italic blue text. They are more obvious that way. As before, all sliders and all knobs (except master fine detune) are learnable.

However, this all needs more eyeballs on it, and also other people to experiment with creating variations on the existing ones or completely new ones from scratch. The structure is quite heavily error checked and nothing should actually break. When a fault is found the line number is reported and no other entries in that file will be attempted.

Oh, and I recommend setting your gray scale first. It has quite a dramatic effect on everything else!

These are plain text files held in /home/{user}/.local/share/yoshimi/themes

Theme management is done via a new 'Theme' tab in Settings (via the Yoshimi dropdown). Changing theme is pretty much instant :)

'classic' is an example file and the actual classic theme can't be changed.

The Yoshimi guy {apparently now an 'elderly'}
User avatar
Largos
Established Member
Posts: 616
Joined: Mon Oct 05, 2020 12:21 pm
Has thanked: 70 times
Been thanked: 179 times

Re: Yoshimi - testers wanted

Post by Largos »

The border round the new green buttons looks odd. All the older buttons are bevelled to look raised whilst these are framed and look inset. I don't think you should use italics either as that is generally used to imply something is toggled.

User avatar
bluebell
Established Member
Posts: 1909
Joined: Sat Sep 15, 2012 11:44 am
Location: Saarland, Germany
Has thanked: 111 times
Been thanked: 116 times

Re: Yoshimi - testers wanted

Post by bluebell »

I tried to build it on my oldish Xubuntu 16 but I failed:

[ 0%] Building CXX object CMakeFiles/yoshimi.dir/Interface/InterChange.cpp.o
In file included from /tmp/yoshimi/src/Effects/EffectMgr.h:38:0,
from /tmp/yoshimi/src/Interface/InterChange.cpp:52:
/tmp/yoshimi/src/Effects/EQ.h: In constructor 'EQ::FilterParam::FilterParam(SynthEngine&)':
/tmp/yoshimi/src/Effects/EQ.h:74:47: error: 'TOPLEVEL::filter' is not a class, namespace, or enumeration
,l{new AnalogFilter(TOPLEVEL::filter::Peak2, 1000.0, 1.0, 0, &synth)}
^
compilation terminated due to -Wfatal-errors.

Probably my gcc version 5.4.0 is too old.

Linux – MOTU UltraLite AVB – Qtractor – http://suedwestlicht.saar.de/

User avatar
Largos
Established Member
Posts: 616
Joined: Mon Oct 05, 2020 12:21 pm
Has thanked: 70 times
Been thanked: 179 times

Re: Yoshimi - testers wanted

Post by Largos »

I had a go making a start on a dark theme. It's pretty easy to figure out, bar the gray scale adjustment which I don't fully understand. Being able to get rid of the windows 95 colour is definitely a plus point. :D

yoshimitheme.jpg
yoshimitheme.jpg (237.1 KiB) Viewed 1447 times
folderol
Established Member
Posts: 2072
Joined: Mon Sep 28, 2015 8:06 pm
Location: Here, of course!
Has thanked: 224 times
Been thanked: 400 times
Contact:

Re: Yoshimi - testers wanted

Post by folderol »

Largos wrote: Wed Apr 05, 2023 1:16 pm

The border round the new green buttons looks odd. All the older buttons are bevelled to look raised whilst these are framed and look inset. I don't think you should use italics either as that is generally used to imply something is toggled.

Thanks for your comments. Both of these changes were made in response to the argument that identification shouldn't rely on colour alone, as a surprisingly high number of people are colour blind. I tried various different styles and these two gave the best results with screen grabs converted to greyscale. In particular, hardly anyone realised the three engine buttons in the part edit window were learnable. What alternative would you suggest?

The Yoshimi guy {apparently now an 'elderly'}
folderol
Established Member
Posts: 2072
Joined: Mon Sep 28, 2015 8:06 pm
Location: Here, of course!
Has thanked: 224 times
Been thanked: 400 times
Contact:

Re: Yoshimi - testers wanted

Post by folderol »

bluebell wrote: Wed Apr 05, 2023 2:33 pm

I tried to build it on my oldish Xubuntu 16 but I failed:

[ 0%] Building CXX object CMakeFiles/yoshimi.dir/Interface/InterChange.cpp.o
In file included from /tmp/yoshimi/src/Effects/EffectMgr.h:38:0,
from /tmp/yoshimi/src/Interface/InterChange.cpp:52:
/tmp/yoshimi/src/Effects/EQ.h: In constructor 'EQ::FilterParam::FilterParam(SynthEngine&)':
/tmp/yoshimi/src/Effects/EQ.h:74:47: error: 'TOPLEVEL::filter' is not a class, namespace, or enumeration
,l{new AnalogFilter(TOPLEVEL::filter::Peak2, 1000.0, 1.0, 0, &synth)}
^
compilation terminated due to -Wfatal-errors.

Probably my gcc version 5.4.0 is too old.

That's really odd! TOPLEVEL::filter is very definitely an enumeration defined in the globals header!
I wonder if that version of gcc is being especially picky about included files. We are inheriting globals from synthengine.h
if you don't mind getting your hands dirty, try adding the following to the list in /src/Effects/EQ.h
#include "globals.h"

The Yoshimi guy {apparently now an 'elderly'}
folderol
Established Member
Posts: 2072
Joined: Mon Sep 28, 2015 8:06 pm
Location: Here, of course!
Has thanked: 224 times
Been thanked: 400 times
Contact:

Re: Yoshimi - testers wanted

Post by folderol »

@Largos
Yes the greyscale is very confusing.
Basically, FLTK has absolute colours and relative ones. For the latter FLTK will modify these to try and maintain contrast. All the raised buttons use relative colours, and so do the background ones. In an extreme case with black and white if you reverse the greyscale you swap these! You also swap the button borders so what was raised now looks inset!

The Yoshimi guy {apparently now an 'elderly'}
User avatar
bluebell
Established Member
Posts: 1909
Joined: Sat Sep 15, 2012 11:44 am
Location: Saarland, Germany
Has thanked: 111 times
Been thanked: 116 times

Re: Yoshimi - testers wanted

Post by bluebell »

folderol wrote: Wed Apr 05, 2023 4:15 pm
bluebell wrote: Wed Apr 05, 2023 2:33 pm

I tried to build it on my oldish Xubuntu 16 but I failed:

[ 0%] Building CXX object CMakeFiles/yoshimi.dir/Interface/InterChange.cpp.o
In file included from /tmp/yoshimi/src/Effects/EffectMgr.h:38:0,
from /tmp/yoshimi/src/Interface/InterChange.cpp:52:
/tmp/yoshimi/src/Effects/EQ.h: In constructor 'EQ::FilterParam::FilterParam(SynthEngine&)':
/tmp/yoshimi/src/Effects/EQ.h:74:47: error: 'TOPLEVEL::filter' is not a class, namespace, or enumeration
,l{new AnalogFilter(TOPLEVEL::filter::Peak2, 1000.0, 1.0, 0, &synth)}
^
compilation terminated due to -Wfatal-errors.

Probably my gcc version 5.4.0 is too old.

That's really odd! TOPLEVEL::filter is very definitely an enumeration defined in the globals header!
I wonder if that version of gcc is being especially picky about included files. We are inheriting globals from synthengine.h
if you don't mind getting your hands dirty, try adding the following to the list in /src/Effects/EQ.h
#include "globals.h"

One step further with "globals.h" but not at the end:

Code: Select all

[  0%] Building CXX object CMakeFiles/yoshimi.dir/Interface/InterChange.cpp.o
In file included from /tmp/yoshimi/src/Effects/EffectMgr.h:38:0,
                 from /tmp/yoshimi/src/Interface/InterChange.cpp:52:
/tmp/yoshimi/src/Effects/EQ.h: In constructor 'EQ::FilterParam::FilterParam(SynthEngine&)':
/tmp/yoshimi/src/Effects/EQ.h:75:47: error: 'TOPLEVEL::filter' is not a class, namespace, or enumeration
                 ,l{new AnalogFilter(TOPLEVEL::filter::Peak2, 1000.0, 1.0, 0, &synth)}
                                               ^
compilation terminated due to -Wfatal-errors.

The last version I tried to build (and it worked) from git is 06d176aa6cb45ef87232d22a3d93eb82ada36e2f (Yoshimi 2.2.1 M).

Linux – MOTU UltraLite AVB – Qtractor – http://suedwestlicht.saar.de/

folderol
Established Member
Posts: 2072
Joined: Mon Sep 28, 2015 8:06 pm
Location: Here, of course!
Has thanked: 224 times
Been thanked: 400 times
Contact:

Re: Yoshimi - testers wanted

Post by folderol »

Yes, the more detailed filter control arrived after that..
This seems like exactly the same issue, so this time you need to add that line in src/Effects/EffectMgr.h

In a sense this is good news to me. Your system seems to be especially pedantic for some reason, but other people's might also be. I'll make sure in the next commit we are being more squeaky clean.

The Yoshimi guy {apparently now an 'elderly'}
User avatar
Largos
Established Member
Posts: 616
Joined: Mon Oct 05, 2020 12:21 pm
Has thanked: 70 times
Been thanked: 179 times

Re: Yoshimi - testers wanted

Post by Largos »

folderol wrote: Wed Apr 05, 2023 4:01 pm
Largos wrote: Wed Apr 05, 2023 1:16 pm

The border round the new green buttons looks odd. All the older buttons are bevelled to look raised whilst these are framed and look inset. I don't think you should use italics either as that is generally used to imply something is toggled.

Thanks for your comments. Both of these changes were made in response to the argument that identification shouldn't rely on colour alone, as a surprisingly high number of people are colour blind. I tried various different styles and these two gave the best results with screen grabs converted to greyscale. In particular, hardly anyone realised the three engine buttons in the part edit window were learnable. What alternative would you suggest?

Putting "Midi learnable" in the tooltip. Some visual feedback when the ctrl button is held down. Put a list of things that are midi learnable in the manual. I would say that people will go from not knowing that something is midi learnable to also not knowing why that text is different.

I don't think converting to greyscale is the best way to assess for how it looks with colour blindness https://www.nei.nih.gov/learn-about-eye ... -blindness By making them inset, they don't look like buttons at all.

Raising the first number of the grayscale highlights these bad looking border lines all over the place

Screenshot_20230405_200225.png
Screenshot_20230405_200225.png (35.69 KiB) Viewed 1378 times
folderol
Established Member
Posts: 2072
Joined: Mon Sep 28, 2015 8:06 pm
Location: Here, of course!
Has thanked: 224 times
Been thanked: 400 times
Contact:

Re: Yoshimi - testers wanted

Post by folderol »

Thanks for pointing out those alignment errors. I don't know how they crept in. Fortunately it was only 5 minutes work to correct them, and that will appear in the next commit.

MIDI-learn needs to be 'at a glance' so although having the status mentioned in tooltips would be nice, it wouldn't be good enough when you're working quickly on an idea - even with years of practice I forget which ones are learnable!

Link buttons are a difficult one. They need to be distinct, and arguably, shouldn't be regarded as buttons at all. There aren't many projects that use links to independent windows as much as Yoshimi does - and where they do, mostly they are called from drop-down menus. I'll be asking round to try and get some form of census.
P.S.
No doubt, if I ask 50 people I'll get 50 quite different answers :lol:

The Yoshimi guy {apparently now an 'elderly'}
User avatar
bluebell
Established Member
Posts: 1909
Joined: Sat Sep 15, 2012 11:44 am
Location: Saarland, Germany
Has thanked: 111 times
Been thanked: 116 times

Re: Yoshimi - testers wanted

Post by bluebell »

folderol wrote: Wed Apr 05, 2023 6:55 pm

Yes, the more detailed filter control arrived after that..
This seems like exactly the same issue, so this time you need to add that line in src/Effects/EffectMgr.h

In a sense this is good news to me. Your system seems to be especially pedantic for some reason, but other people's might also be. I'll make sure in the next commit we are being more squeaky clean.

Still not enough:

Code: Select all

[ 10%] Building CXX object CMakeFiles/yoshimi.dir/Interface/InterChange.cpp.o
In file included from /tmp/yoshimi/src/Effects/EffectMgr.h:40:0,
                 from /tmp/yoshimi/src/Interface/InterChange.cpp:52:
/tmp/yoshimi/src/Effects/EQ.h: In constructor ‘EQ::FilterParam::FilterParam(SynthEngine&)’:
/tmp/yoshimi/src/Effects/EQ.h:76:47: error: ‘TOPLEVEL::filter’ is not a class, namespace, or enumeration
                 ,l{new AnalogFilter(TOPLEVEL::filter::Peak2, 1000.0, 1.0, 0, &synth)}
                                               ^
compilation terminated due to -Wfatal-errors.

I am afraid that's not the single cause.

Shall I go back in time to some specific commits?

Linux – MOTU UltraLite AVB – Qtractor – http://suedwestlicht.saar.de/

User avatar
Largos
Established Member
Posts: 616
Joined: Mon Oct 05, 2020 12:21 pm
Has thanked: 70 times
Been thanked: 179 times

Re: Yoshimi - testers wanted

Post by Largos »

folderol wrote: Thu Apr 06, 2023 9:07 am

Thanks for pointing out those alignment errors. I don't know how they crept in. Fortunately it was only 5 minutes work to correct them, and that will appear in the next commit.

MIDI-learn needs to be 'at a glance' so although having the status mentioned in tooltips would be nice, it wouldn't be good enough when you're working quickly on an idea - even with years of practice I forget which ones are learnable!

Link buttons are a difficult one. They need to be distinct, and arguably, shouldn't be regarded as buttons at all. There aren't many projects that use links to independent windows as much as Yoshimi does - and where they do, mostly they are called from drop-down menus. I'll be asking round to try and get some form of census.
P.S.
No doubt, if I ask 50 people I'll get 50 quite different answers :lol:

In other synths midi learn is done by right clicking a knob and clicking midi learn, there is never any clear indicator. The different colour is currently optional in the theme setting, maybe the italicisation and boldness could be optional as well.

I tried a more flat appearance in a theme and the round corners on panels cause problems when against another panel or object.

Screenshot_20230406_151818.png
Screenshot_20230406_151818.png (141.74 KiB) Viewed 1299 times

There's also some out of place lines in a part of the bank window.

Screenshot_20230406_154811.png
Screenshot_20230406_154811.png (5.09 KiB) Viewed 1299 times
folderol
Established Member
Posts: 2072
Joined: Mon Sep 28, 2015 8:06 pm
Location: Here, of course!
Has thanked: 224 times
Been thanked: 400 times
Contact:

Re: Yoshimi - testers wanted

Post by folderol »

First of all, there are people 'elsewhere' who also don't like the link buttons, so here are two alternatives for discussion.
http://www.musically.me.uk/Photos/Main_alt1.png
http://www.musically.me.uk/Photos/Main_alt2.png

As you say, you can disguise the the label colour - indeed you can make the label invisible if you want to. As for the rest everyone else seems happy with the arrangement.

Getting FLTK to play nice with resizable windows is, to put it mildly, 'interesting' and those discontinuities are entirely out of my control. The error on the voice amplitude box is a scaling error. If everything is not pixel-perfect the the scaling can attempt to produce different fractional positions. I'll have another look at that one.
There's nothing I can do about the bank windows. However the larger the size of the window the more equal everything gets.

The Yoshimi guy {apparently now an 'elderly'}
User avatar
bluebell
Established Member
Posts: 1909
Joined: Sat Sep 15, 2012 11:44 am
Location: Saarland, Germany
Has thanked: 111 times
Been thanked: 116 times

Re: Yoshimi - testers wanted

Post by bluebell »

folderol wrote: Thu Apr 06, 2023 7:43 pm

First of all, there are people 'elsewhere' who also don't like the link buttons, so here are two alternatives for discussion.
http://www.musically.me.uk/Photos/Main_alt1.png
http://www.musically.me.uk/Photos/Main_alt2.png

As the Undo, Redo and other buttons are somewhat rounded I prefer Main_alt2.

Linux – MOTU UltraLite AVB – Qtractor – http://suedwestlicht.saar.de/

Post Reply