8.6 Preview r2347 - Metadata features and some extras

Archived development update discussion from past versions
Archived development updates.
Nicholas
Posts: 12471

Post by Nicholas »

PREVIEW r2347
Download from the pink box above.



Changes in r2347 since official 8.5 release:
  • When launching Synthesia with a song (via right-click shortcut or dragging the song to the program icon), Synthesia will now search that song's folder and a few folders above it looking for .synthesia metadata files so the song gets all the benefit of things like finger hints, hand parts, etc.
  • New metadata support: a "Made Famous By" title bar field and "Named Bookmarks". Bookmark names fall in the left margin.
  • Click the score box to tuck it off to the side so it's less distracting. This preference is remembered between plays.
  • Reintroduced "Scale Number" labels.
  • Song library now highlights previously played song (again).
  • Automatic octave shifting (when your keyboard isn't full-size) is smarter.
  • When unpinned, the menu drawer at the top of the screen tucks in further than ever.
  • You can skip "Your progress will be lost" with Enter.
  • Interim solution for title screen news: a small "Visit Site!" button next to the news line.
  • Lots of smaller fixes related to lighted keys, song loading, preventing crashes, and aesthetic hiccups. See readme.txt.
  • A nice change to the way settings are loaded that helps in classroom situations. See readme.txt.
This actually moved along so swiftly that I threw in a few extra user requests from the past few months. This is pretty much the whole thing. I wanted to add the metadata support before the store launched and there were a number of bugs piling up, so another small bug-fix release seemed in order. It's finally starting to feel like all the dust that was kicked up by 8.4 bug-wise is settling and things are in a more stable place again.

P.S. That first bullet point is dedicated to TonE. ;)
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

Oh, thanks Nicholas, when reading the changes I could not believe my eyes. Thanks a lot. I have to check it, if it works correctly. If it works, I can try to continue adding fingerings to Hanon/Czerny, if not done already. I might even optimize a little more my 'fingering writing method'. Just had following input picture in my head: All using homerow, all as you would use the homerow. For left thumb g, right thumb h. This is one way for the thumbs. Another way would be: left thumb = space, right thumb = left-control + space = (here) capslock + space, as my capslock is also left-control.

Just tried quickly, it seems via the command line the fingerings are not shown. My *.mid and *.synthesia files were outside the Synthesia watched folders. It does not hurry at all for me, you can continue with your normal time plan, no problem. Thanks anyway.
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

If this would work correctly, I would feel like this 8-)
Nicholas
Posts: 12471

Post by Nicholas »

TonE wrote:Just tried quickly, it seems via the command line the fingerings are not shown. My *.mid and *.synthesia files were outside the Synthesia watched folders. It does not hurry at all for me, you can continue with your normal time plan, no problem. Thanks anyway.
Hmm. Have you tried with a minimal command line, like just dragging the MIDI file to the preview executable? Or are you using more options?

Another small thing to double-check: If you do set that folder to be watched, do the finger hints show up? (What we're checking is that the finger hints are properly associated with the MIDI file and that your settings are all correct to actually show finger hints.) This is a bit like the "have you rebooted your computer" advice that you get from tech support people sometimes, but it never hurts to double-check.

It's also worth mentioning that the initial metadata scan/load is only for songs specified to be loaded immediately from the command line. If you back out to the song library and try a different song, any non-watched-folder metadata isn't retained.
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

Interesting, simple drag and drop worked! Now I have to check why my other command line did not work. I just used what I had from the past, did not do anything different, overwrote old Synthesia.exe with latest one, also all the rest of the files. Then hit F3 in FreeCommander. For F3 I have following AutoHotkey definition for triggering Synthesia:

Midi file contains bookmarks:

Code: Select all

Run, %SYNTHESIA_EXECUTABLE% --simple-track BothHands --simple-mode MelodyPractice --on-startup Play --speed %Speed% --play-mode Practice --copy-score --loop-start=b%LoopStartBookmark% --loop-end=b%LoopEndBookmark% "%CurrentSong%"
or

Midi file contains no bookmarks:

Code: Select all

Run, %SYNTHESIA_EXECUTABLE% --simple-track BothHands --simple-mode MelodyPractice --on-startup Play --speed %Speed% --play-mode Practice --copy-score --loop-start=m%LoopStartMeasure% --loop-end=m%LoopEndMeasure% "%CurrentSong%"
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

Nicholas wrote:Another small thing to double-check: If you do set that folder to be watched, do the finger hints show up? (What we're checking is that the finger hints are properly associated with the MIDI file and that your settings are all correct to actually show finger hints.) This is a bit like the "have you rebooted your computer" advice that you get from tech support people sometimes, but it never hurts to double-check.
I double checked, even if I put the folder into 'watched folders', it still did not work. My assumption would be, somehow Synthesia.exe is maybe 'too fast' for fingering checking, or steps about the fingering somehow. Similar to AutoHotkey, you should never 'automate too much' or 'too fast', as the original designers never thought any human would use a computer that fast. Slowing down the 'command line file loading process' might help maybe?
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

I checked also log.txt for both cases and did an ediff on them:
log_OK (ok, drag and drop, simplest command line) says: File found: 241 byte(s).

log_NOK (not ok, my other longer command line) says: File found: 62 byte(s).

Even both files were the same in the test, 'Czerny 07.mid'.

I am also jumping directly into play mode, --on-startup Play, as in the drag and drop case, I have to click 'watch and listen only' to continue, or 'both hands'. I should try my longer command line also without --on-startup Play, just to make sure if this is the reason.
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

TonE wrote:I am also jumping directly into play mode, --on-startup Play, as in the drag and drop case, I have to click 'watch and listen only' to continue, or 'both hands'. I should try my longer command line also without --on-startup Play, just to make sure if this is the reason.
Yes, after removing --on-startup Play, it works nicely. It seems, clicking on the Synthesia UI to continue and using '--on-startup Play' do not execute the same code.
Nicholas
Posts: 12471

Post by Nicholas »

I wouldn't have expected "--on-startup Play' to change anything. I'll fix that in the next preview. Thanks for all the testing!
kiwi
Synthesia Donor
Posts: 1178

Post by kiwi »

My new toys :mrgreen:
Thank you!
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

My next improvement wishes would be in this order:
1. right-left for measure based navigation.
2. background image selection from .jpg or .png via command line.
--background-image=[path-to-image]
Background image would give Synthesia the feel of 'out of the window looking' to whatever you wish.
Nicholas
Posts: 12471

Post by Nicholas »

Measure-based RW/FF is pretty soon. If not the next major release, then the one after.

That background image thing... would actually be really trivial to implement. I already have an image loading library (FreeImage) that does all the heavy lifting, so it would be able to load basically any format. And then just making a texture and stretching it out in the background would be easy enough. I wonder if I could sneak this into a preview sometime when I get a little extra time.
Nicholas
Posts: 12471

Post by Nicholas »

TonE wrote:Background image would give Synthesia the feel of 'out of the window looking' to whatever you wish.
Out of curiosity, would you actually change this on a per-song basis? Or would it be fine to have a background image setting in something like the config tool? I only ask because the command-line is rather inaccessible to most people, which would make this hidden feature even harder to find.

(To be fair, it'd be super easy to write a script to grep through settings.xml and change it on a per-song basis anyway if you're using command-line tools. So I feel like the config tool works for both populations but command-line only for one.)
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

Any place is fine for me if I can change it. Having an additional side command line channel would be fine of course. It would use it just for that song then, keeping the old config setting. Some command line layer above the config layer, similar to fingerings.
Nicholas
Posts: 12471

Post by Nicholas »

I just tested the "--on-startup Play" bug and wasn't able to reproduce it. Even using your entire command-line that you posted, it still seemed to load an associated .synthesia file that was nearby.

To double-check, which kind of bookmarks are we talking about? Old-style (bright yellow) bookmarks or the just-added (darker orange) "named bookmarks" that can now be set in metadata files?

I haven't been able to find a configuration where the .synthesia file isn't loaded correctly, even if the song jumps right into play.
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

I was talking of the (old) bookmarks in the midi file. But the problem here are the fingering information which are not shown. Anyway, I will try a little more then. You can just ignore this for now, as you can not reproduce it there.
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

The strange thing is only the first time the fingerings are not visible, if I do once ESC, then click on 'watch and listing only' or 'both hands', then the fingerings appear correctly. But never the first time. Maybe the looping creates the problem? Hmm, mysterious behaviour. ;)
Nicholas
Posts: 12471

Post by Nicholas »

Ah ha, I can reproduce that! Thanks! I'll have that fixed in the next preview. (Though again, that is very strange behavior I wouldn't have expected.)
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

Cool, what was the reason?

A few more ideas: Beside measure based navigation, a second based navigation would be also nice. Example: If you have some other visualization tool which can be set for visualizing using seconds on the x-axis, like MusicGraph by Paul Nelson, then you could loop Synthesia exactly in that region what you are seeing in MusicGraph. Then with the help of MusicGraph you can practice 'listening' better to the available intervals in the song. MusicGraph has a nice feature of background colouring based on the used intervals. Maybe another interesting idea also for Synthesia directly. Then this 'MusicGraph interval helper display' would be integrated into Synthesia itself. This was the background why I would like such a second based navigation.

Then what I experienced, kind of 'problem' when using Synthesia in window mode, at the borders I can not set the loop points, at the begin and end of the song, there I can not go any more directly with the mouse. So I have to use the loop border tools inside Synthesia.
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

TonE wrote:Background image would give Synthesia the feel of 'out of the window looking' to whatever you wish.
Just imagine Michael Jackson's or Beethovens image appearing as background? Instant more pop-factor in the available Synthesia YouTube videos. :)
Locked