helge17 / tuxguitar

Improve TuxGuitar and provide builds
Other
492 stars 42 forks source link

feature request: tempo base for another duration than a quarter #539

Open guiv42 opened 1 month ago

guiv42 commented 1 month ago

TuxGuitar 1.6.4 enables to define a tempo value only with respect to one quarter: 120 means "120 quarters per minute". tempo_quarter

For songs with time signatures like 3/2 or 6/8, it could be interesting to define tempo base for another duration. Examples: tempo_half tempo_quarter_dotted

guiv42 commented 1 week ago

Currently investigating this feature request, it seems achievable. It would require 3 additional icons for dotted half, dotted quarter and dotted eighth (from existing 2.png, 4.png, 8.png) @helge17 : would it be possible for you to create these icons?

belfie13 commented 1 day ago

can your skins support svg or does it require png files? would be alot easier for me to generate in svg.

i noticed some of the dotted.png files would be good enough for the 4dotted.png files i believe.

i tried editing the png but they're too small and it's hard to get the right colors, would need the original files and software to do it right.

i can generate the entire set of all images from each skin in svg if you like. it will take a while but if you can support it, it will be worth doing.

guiv42 commented 1 day ago

at runtime, TG only uses png format. However, for Breeze and Symbolic skins the icons are defined in svg format, see src-skins folder. I never had the time to learn how to edit them, I think Inkscape should do the job well. Then, there are 2 scripts to generate the png for light and dark versions of these skins: Breeze, Symbolic

helge17 commented 1 day ago

@helge17 : would it be possible for you to create these icons?

Sure, I'll do it! But give me a few days...

The icons for the Oxygen skin come or are derived from the KDE Oxygen theme, see the README. KDE also provides these icons as SVG images in the scalable folder, but I haven't had time to derive all TuxGuitar icons cleanly from the SVG versions yet, so I'm currently deriving new icons from existing PNG files using Gimp.

As @guiv42 wrote, the Breeze and Symbolic icons are fully available as SVG files. I edit them with Inkscape. But it's not that easy to get them into the exact shape. Maybe I should document this one day...

guiv42 commented 1 day ago

But give me a few days...

Sure, take your time, nothing's urgent! And it's definitely not a matter of days. I started the implementation, and it appears more complex than I initially thought, so it will take time on my side.

guiv42 commented 1 day ago

I would appreciate an advice about this evolution. What shall metronome and countdown do when time signature and tempo base are inconsistent? Possible options:

  1. follow the time signature, independently from tempo base
  2. follow the tempo base, independently from time signature

Example with time signature 3/2 and tempo base 120 *quarters per minute:

  1. countdown clicks 3 times at 1 second interval, then metronome clicks every second
  2. countdown clicks 6 times at 0.5 second interval (6 * quarters in a measure), then metronome clicks every 0.5sec

It's a kind of degraded mode: with time signature 3/2 it would be more logical to select a half for tempo base. But this case will happen very often, each time a file with non-4/4 time signature will be imported from an external format. From musical point of view, option 1. seems more logical. But it's a bit weird to have the same metronome behavior whatever the tempo base [quarter=120] or [half=60].