0.7.4 Preview r1002

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

Post by Nicholas »

PREVIEW r1002
Download from the pink box above.

Lighted Keyboard Support
Image
Set it up from the keyboard settings screen. Your lighted keyboard must be your output device for this to work.

In practice mode, the lights will mirror the little "next note" markers. Otherwise, they should mirror the spark effect (so, all tracks played automatically should light all visible notes... any tracks set to You Play should only light user notes.)

Please let me know if this works (or doesn't!) with your lighted keyboard. There is a lot of voodoo going on under the hood. ;) If you can, mention the make and model of your lighted keyboard.

Definitely Supported
  • Casio LK-100
  • Yamaha EZ-200
Probably Supported
  • Casio LK-230
Unknown
  • Everything else. Please let me know!
Full list of changes in r1002 since r998:
  • Lighted keyboard support.
  • Double-flat key labels should no longer go outside of the key boundary.
Next up: Proper resolution and windowing settings! (Along with a couple quality of life improvements to the song library.)
User avatar
cairnz
Posts: 182

Post by cairnz »

Cheers on breaking into 4-digit revisions :)

Care to elaborate a bit on what you're planning on doing with song library?
Nicholas
Posts: 13135

Post by Nicholas »

My bug-tracker list tells me that "Paging" (for handling larger libraries and not dumping hundreds of megs of text textures into the graphics card) and "Move to recycle bin from song library" should make it into 0.7.4. ;)
Kasper
Posts: 149

Post by Kasper »

Wow!
I can't test it, but this should be perfect for beginners !

I'm thinking of buying the Casio LK-100, is that a proper keyboard ?
English was my worst subject on school, so my language could be a bit awkward sometimes...
Nicholas
Posts: 13135

Post by Nicholas »

I'd really recommend the Yamaha (EZ-200) over the LK-100. Now that I've literally been doing side-by-side testing of both of them for the last few days, I can report the difference in quality (for basically being the same price) is striking!

Like... in every dimension the Casio is pretty terrible. I can't speak to the LK-230... but the 100 is something you want to avoid. On the other hand, the Yamaha was actually sort of pleasant. The instruments are decent, it can light more than 4 keys at a time, and when you play MIDI through it the result actually sounds like the song. None of these things are true for the LK-100.

If you do get a lighted keyboard, make sure it comes with an AC adapter. It sounds silly that any device wouldn't... but neither of these did. You can either buy the adapter stand-alone or buy the keyboard bundle. The bundle is a few dollars more than just getting the adapter stand-alone, but it also includes a keyboard stand and some (cheap) headphones.
Kasper
Posts: 149

Post by Kasper »

So, if I buy the Yamaha (EZ-200), the synthesia experience would be quite okay? No real disappointments ?
I'm thinking to buy it for my young brother who is a real beginner.
English was my worst subject on school, so my language could be a bit awkward sometimes...
Nicholas
Posts: 13135

Post by Nicholas »

I would say so. It's still very much an entry-level piano, but if that's the price range you're looking, it's pretty good. Like I mentioned over in the other topic, I was able to throw one of my torture-test MIDIs at it and it played correctly. The Casio barely played half the notes and what it did was all strange and distorted.

The lighted keys are kind of neat too. For the most part you can still follow the falling notes just fine, but when some wacky four finger chord is coming up, you don't have to spend the time translating the little on-screen keys in your head down to the physical full-size keys under your hand. The lights show you exactly where you need to be. It eliminates one of the slower steps (for me, anyway) when I'm playing a song for the first few times and am still basically sight-reading. And by eliminating one of the slowest steps, the overall pace feels a lot better.
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

I would like to use the Yamaha EZ-200 output without having and using any Yamaha EZ-200, is this possible? I assume not, probably you are checking the port names right now to activate this feature?

My idea is using the midi notes sent out on the additional midi channels for external note visualizations, e.g. for Akai MPC-1000 or Korg nanoPad.
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

Sorry my failure, after activating an input device I could find the light keyboard settings.
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

Input device settings are not saved here.
Nicholas
Posts: 13135

Post by Nicholas »

What are your input device names? Anything weird? Unicode? Umlauts? (It really shouldn't matter.) Other settings are getting saved, right? What does settings.xml look like after you exit? Is there a Midi.InputDevice line? Midi.OutputDevice?

Regarding the lighted key output, it's actually pretty easy to use. (And I can't use port names because most of the lighted keyboards don't have USB ports, only MIDI... so it still has to travel through whatever adapter you have.)

Using one of those two options (Ch1 or Ch3/4) will attempt to "free" up those channels by moving any events that use them to the next available channel. This is done separately, so if a song uses both channels 3 and 4, but only channel 7 is free, only the events that use channel 3 will be moved (to 7). 4 will unfortunately have nowhere to go. I won't compromise the quality of the song for the lights.

The good news is, it is very rare that a song uses anywhere near all the available channels, so this process should work like 99% of the time.

After that, I only send velocity 1 note on/off events to channel 1 or 3 depending on your choice. Regardless of whether all the song events were able to be freed up on those channels, I still send the quiet notes.

In practice mode, that will correspond to the markers. In rhythm mode (r practice with no "You Play" tracks, they should go out whenever there are sparks... with the exception of You Play notes in rhythm mode. I made the assumption that all lighted keyboards will light the keys whenever a user is physically pressing them, so I omit user-based notes from sending out velocity=1 events.
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

Nicholas wrote:What are your input device names? Anything weird? Unicode? Umlauts? (It really shouldn't matter.) Other settings are getting saved, right? What does settings.xml look like after you exit? Is there a Midi.InputDevice line? Midi.OutputDevice?

Code: Select all

<setting key="Midi.InputDevice">[no input device]</setting>
<setting key="Midi.OutputDevice">USB Audio Device</setting>
But those values are not those I selected last time.
Nicholas
Posts: 13135

Post by Nicholas »

If you change something else during the same execution (some random setting on the options screen, perhaps) does that show up in settings.xml at the same time as the also-changed input device not showing up?

Or is nothing getting changed in that file?
Sean
Posts: 3

Post by Sean »

woohoo! Lighted keys are working over here on my EZ-200. :)
ajquick
Posts: 11

Post by ajquick »

*Tears*

The Casio really sucks, but Synthesia does its best (and it works).

http://www.youtube.com/watch?v=X0wR9t3gP74
Zageron
Posts: 84

Post by Zageron »

Just thought I would drop by again and say, WOW! This game is eons better than it was a few months ago. I remember struggling through very frequent lag spikes, and a low resolution screen. This is great! (I can't wait for the improved Sheet Music ;])
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

Nicholas wrote:If you change something else during the same execution (some random setting on the options screen, perhaps) does that show up in settings.xml at the same time as the also-changed input device not showing up?

Or is nothing getting changed in that file?
I changed something else during the same execution and that shows up in settings.xml correctly. Even the midi input and output devices values are correct after closing Synthesia. But when I start Synthesia again it shows the above wrong values. Closing Synthesia then, changes also settings.xml to those wrong values.

So when Synthesia is started midi input and output devices seem not to be read correctly from settings.xml, somehow.
aria1121
Posts: 1505

Post by aria1121 »

Awesome. Congrats 'bout getting over 1000 Dev versions, Nicholas!
(I taught Synthesia 1.0Final would come out somewhere at r890 or so)
Nicholas
Posts: 13135

Post by Nicholas »

TonE wrote:So when Synthesia is started midi input and output devices seem not to be read correctly from settings.xml, somehow.
Now we're getting somewhere! Thanks for all the info. One last question: when you start things back up and your device settings are lost (compared to what was written in settings.xml), is the other random setting you also changed lost too? Or does it persist and only the devices are being lost?
aria1121 wrote:(I taught Synthesia 1.0Final would come out somewhere at r890 or so)
You're still a relative newcomer. I've been in the 0.6.x's and 0.7.x's for a couple years now. Things are moving faster now though. We might hit 1.0 before r2000. ;)
Zageron wrote:Just thought I would drop by again and say, WOW! This game is eons better than it was a few months ago.
Thanks. Yeah, there was an optimization pass. Some silly things in there slowing the game down for no reason. :D Lots of other cool new stuff I've been wanting to do for a while. It's amazing what dedicating every free minute of your time (going on 3 months) can do to a project. :lol:
TonE
Synthesia Donor
Posts: 1180

Post by TonE »

Nicholas wrote:One last question: when you start things back up and your device settings are lost (compared to what was written in settings.xml), is the other random setting you also changed lost too? Or does it persist and only the devices are being lost?
The other setting persists, only the devices are lost. Btw. my device names are as follows:
input: In From MIDI Yoke: 8
output: Out To MIDI Yoke: 1

Can those ":" cause the problem? I hope not.
Locked