Synthesia 2013 Roadmap

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

Post by Nicholas »

Whole desktop. That's why I called it a "casualty" in terms of technically-lost functionality.

The config tool doesn't have a video section anymore. Overall this change makes everything simpler for users, simpler in the code, and to finally have the game window behave like a normal program. Losing custom resolutions seemed like a small price to pay.

Let me know if I'm mistaken. There have been a few changes in the past where I made assumptions thinking they covered 99% of everyone and found out that nearly the opposite was true. Do you use custom resolutions? (Mind you, full-screen on a secondary monitor is still possible. It's just limited to using the current desktop resolution on that monitor.)
Sederien
Posts: 5

Post by Sederien »

Well, my setup is three 2560x1440 monitors all in portrait mode side by side converted into "one giant screen" for all intents and purposes by my nVidia graphic drivers. 95% of all applications have 0 issues with this, but the 5% that do make the following mistake: They attempt to full-screen on launch with only built in support for standard resolutions and I get a predictable crash on start. This is typically solved by finding the appropriate .cfg file and setting the resolution in advance OR by forcing the program to start in window mode and then adjusting the options correctly from there.

EDIT: The current 8.6 full-screens just fine, btw.

Now... from what I'm reading, it -sounds- like you're letting Windows 7/8 do the heavy lifting in which case it should work fine for me because Windows thinks I just have a single monitor at 4320x2560 pixels and nVidia handles any window movement. HOWEVER, if you have coded to assume only standard (non-custom) resolutions exist from the get-go, that could be more problematic.

I'll let you know shortly after the next dev release. ;)
Nicholas
Posts: 13138

Post by Nicholas »

There aren't any assumptions about standard resolutions. From what you just described, my guess is that the new stuff should continue to work fine.

Definitely mention it one way or the other when the preview goes out. It is the courageous few (like you!) on the front line of development that help make Synthesia a better experience for everyone. My goal for this change is that it's a net gain for everyone but those two cases mentioned above.
Raymond
Posts: 528

Post by Raymond »

Nicholas wrote:Whole desktop. That's why I called it a "casualty" in terms of technically-lost functionality. ... Let me know if I'm mistaken. ... Do you use custom resolutions? ...
The problem is with people with hi-res screens and a old/slow/no graphics card. I have to run all my games at 1440x900(some times lower) vs native 1680x1050. with the exception of Synthesia.
I can only run Synthesia at native, because it doesn't have much graphically.
Before I got this graphics card(geforce6800), I couldn't even run Synthesia native. But I still wanted the whole use of the screen. So desktop was native.

I can't really say that your mistaken, now that My graphics card can handle it. :lol:
Nicholas wrote:..lost functionality..
I know simpler things are easier for most people, but it's still sad seeing Synthesia lose stuff(or pushed back) for simplicity.
Nicholas
Posts: 13138

Post by Nicholas »

Raymond wrote:I know simpler things are easier for most people, but it's still sad seeing Synthesia lose stuff(or pushed back) for simplicity.
So, this is something I joke with myself about sometimes. My favorite software engineering task is removing code. There are a bunch of sayings about the fastest (or most easily maintained or [insert your metric here]) code is the code that you didn't have to write or that doesn't exist. So whenever I get to strip something out, I will usually get a chuckle out of imagining a distant future where Synthesia will be the most efficient when I've removed the last line of code and there is nothing left.

Of course different people lean in different directions. Apple cuts all kinds of functionality in the name of simplicity. A good counter-point are the Linux/GNU folks that focus on power-users and jam as much in until you need to spend hours learning before you can even begin using their stuff (see Blender).

I try to find a happy medium somewhere in the middle where anyone can pick Synthesia up, but there are plenty of advanced bits secreted away in the cracks for the users that are into that sort of thing.

I would agree that back when I added custom video modes, it had merit for all the reasons you just listed (e.g., video cards not being able to handle hardware accelerated native resolutions). Though like you found, a bunch of years have passed in the meantime. My guess is that this won't be a very controversial change. Especially with the new ability to resize the window anytime you like. Even funnier, I bet this change is going to prompt all sorts of new requests like being able to drag-drop songs right into the app. Once people get used to Synthesia's window being well-behaved they'll want to use it like all their other programs.

I think that's exciting. You guys have watched this thing go from a goofy hobby project where I made all the wrong decisions at the outset to slowly grow into a useful, "real" tool that can help people. I can't wait to see where it goes next.
Raymond
Posts: 528

Post by Raymond »

I love code clean-up, I generally write functional code, then go through a few clean-up passes. ;)

I have used Apple products as well as Blender(and linux), I do prefer functionality, but I fully understand the need for simplicity.
simplicity vs features is always hard to get balanced. It's just sad because I already know how to use the features.
Synthsia is pretty good. Except for adv/simple track selection, and lack of sheet music. (that should change soon :D )

It is exciting to watch Synthesia grow. really when you went full-time dev.
User avatar
jimhenry
Posts: 1900

Post by jimhenry »

The way I imposed simplicity on the software engineers I supervised was that I made them write user documentation for a feature before they could add it. My logic was that an undocumented feature was pretty much the same as a nonexistent feature and that the way a feature needed to work was the way the users thought it should work, i.e. the way it was described in the user documentation. Starting with the user documentation cuts down a lot of work in the long run. It also weeds out all those features that programmers like to throw in "just for the fun of it." :twisted:
Jim Henry
Author of the Miditzer, a free virtual theatre pipe organ
http://www.Miditzer.org/
Nicholas
Posts: 13138

Post by Nicholas »

jimhenry wrote:... I made them write user documentation for a feature before they could add it.
That's a really good idea. I'm just not sure I'd ever get anything done. :lol:

As for "an undocumented feature was pretty much the same as a nonexistent feature", I completely agree. For years I've been solving it on a case-by-case basis in the forums, but historically one of Synthesia's weakest areas has been documentation. Between Synthesia 10 and 11 I'm hoping to amend a little of that. Secret plans!
Xoco
Posts: 32

Post by Xoco »

Contact with me if you are problems (or just need help) with spanish (es-ES) or catalan (ca-CA) translations. ;)
Nicholas
Posts: 13138

Post by Nicholas »

The resize preview is really close now. I'm on the last couple small issues now.

It took an extra day or so because another feature had to make it in immediately, too: automatic music store metadata updating. The couple public domain arrangements (to demo the music store's quality) have been ready to go for a little while now, but it occurred to me that without 8.6 containing the metadata for those songs, they would have the opposite effect and make a terrible first impression. (The same is true for the "Dreamy Piano" promotion. 8.6 doesn't contain metadata for that song either.)

To tackle the issue moving forward, a background metadata download is now piggybacked on the version check that happens every three days. It's super polite on bandwidth, too: all the store's metadata is only 25kB today (for the 73 arrangements in there so far) and in the event that nothing has changed since your last update, there is no download at all. So long as someone has Synthesia 9 or later, music store songs will always have their associated metadata.

So I'll be pushing out the two free samples on the music store when the preview goes out, too. Just make sure you're using the preview when you check them out! ;)
Xoco wrote:Contact with me if you are problems (or just need help) with spanish (es-ES) or catalan (ca-CA) translations. ;)
Thanks for the offer! es-ES is definitely going to be a launch language. I'm super fortunate to have such an international crowd here in the forums. When the translation preview goes out after the resize preview, I'll definitely be listening for feedback from non-native-English speaking users. I'll be in the strange position of being unable to detect "bugs" in my own software if only because I don't speak the other languages myself. User feedback will be more vital than ever.
kiwi
Synthesia Donor
Posts: 1180

Post by kiwi »

Yep u can count on us and on me for the FR ;)
inrluna
Posts: 1

Post by inrluna »

Is the display of full sheet music (instead of one line of several measures at a time) on the 2013 roadmap? At times, I like to practice with just looking at the sheet music (at least a minimum of one page) instead of playing the game . Also will a feature be available to print a hard copy of the music sheets? If this is on the roadmap for 2013, when will it be implemented? Thanks fory our help.
Nicholas
Posts: 13138

Post by Nicholas »

Synthesia 10 will get the underlying systems a lot closer to being ready for multi-line notation, but it won't make it all the way there in 2013.

As for printing support, I don't have any plans to add it. With free software like MuseScore and Finale Notepad that already contain great printing support, adding it to Synthesia would be duplicated effort.
Sederien
Posts: 5

Post by Sederien »

Nicholas wrote:There aren't any assumptions about standard resolutions. From what you just described, my guess is that the new stuff should continue to work fine.

Definitely mention it one way or the other when the preview goes out. It is the courageous few (like you!) on the front line of development that help make Synthesia a better experience for everyone. My goal for this change is that it's a net gain for everyone but those two cases mentioned above.
Newest 2411 works fine on my end. Kudos.
revilo2
Posts: 135

Post by revilo2 »

Synthesia 10 is not scheduled in 2013 ?

multi-line notation (with fingering) in 2013 ?
Nicholas
Posts: 13138

Post by Nicholas »

Synthesia 10, yes. (See the top post.)

Multi-line notation, no.
slash8789
Posts: 90

Post by slash8789 »

Nicholas,

In the finger substitution thread we had a few weeks ago, you said you would be sitting down to design how I'd implement it. Since you never replied back to that thread, I was just wondering if you have actually had a chance to sit down and do any work on that. Also, I was also wondering if finger substitution would be the only feature mentioned in that thread that you will be working on. Feet hints/pedal markings ? :) Any chance of these features in 2014? I'm a classical pianist and teacher and these features in Synthesia would be wonderful for me and my students. Maybe those features aren't needed by other types of piano players. I dunno. I'd be willing to pay for Synthesia again just to have those features. :idea: Hey, maybe you should charge for specific features to be added since some features aren't used by everybody. I dunno. Just tryin to get my features in I guess ;)
thx
Nicholas
Posts: 13138

Post by Nicholas »

I had tentatively added finger substitution hints to the list for Synthesia 10 (with a release date hopefully before the end of the year), though depending on how pressed for time things get, it might get pushed off to the following release.

Regarding multiple substitutions, I'm going to wait and see how things shake out when I sit down to actually implement it. Right now it seems like more than one substitution will come for "free" on the engineering side. It might get a little complicated on the user side when you go to add these. Do you have any input there? Substitutions are definitely an out-of-the-way code path. When you go to clear a hint on a note, does it clear all hints? Just the most-recently added? Those types of questions I still don't have answers for.

As for other types of annotations, MusicXML should cover (traditional) pedal markings in the sheet. I'm still thinking about how to do it in the falling note area. I'm worried that displaying pedal events will be less useful because many MIDI files simply hold down the sustain pedal the entire song to achieve a particular effect.
slash8789
Posts: 90

Post by slash8789 »

Well it is great to know that is is planned for a future release.
Nicholas wrote:Right now it seems like more than one substitution will come for "free" on the engineering side. It might get a little complicated on the user side when you go to add these. Do you have any input there? Substitutions are definitely an out-of-the-way code path. When you go to clear a hint on a note, does it clear all hints? Just the most-recently added? Those types of questions I still don't have answers for.
Even though I am not a coder or programmer, I understand what you are saying because I have done a little coding myself. I think the best scenario on the user end of things would be able to handle the substitution hints just like the regular finger hints. You click on the little hand, have some sort of option for hint 1 (regular finger hint), hint 2 (substitution) and hint 3 (substitution). After you choose which hint you would like (1,2 or 3), then the actions regarding adding and removing the hints would be just like they are right now in the current versions for the regular finger hint. All substitutions would be in an ascending order, preferably placement adjustable (for longer note duration and timing of the substitution) but with hint 1 always on the bottom, obviously. Now, I know on the coding side of things, things are trickier, more complicated and specific.

Regarding hint 3 specifically., Even though in classical music (especially with my purist views) you do see multiple finger substitions, I will admit they are not very common and perhaps bordering on the rare. I would say that if you left it out, nobody would miss it, myself included. It would just be an extra handy thing to have but, not something crucial.
Nicholas wrote: I'm still thinking about how to do it in the falling note area. I'm worried that displaying pedal events will be less useful because many MIDI files simply hold down the sustain pedal the entire song to achieve a particular effect.
.

Again, I understand what you are saying here. I make my own MIDIs from the sheet music I own. I include no pedal events because pedaling is a personal thing. I understand though that a lot, if not most of the MIDIs that people are using are downloaded and they may (and most likely) include pedal events especially if they are not classical music MIDIs and even then. I will say this, from my own experience in learning and teaching (classical music) and the input from my colleagues, I have found that, just making a mental note in the falling note area where the pedal should be pressed and released makes learning a piece with pedal so mush easier and to transfer the mechanics over when reading the sheet music. It is wonderful. Another great thing about having it (at least for me and my colleagues) is that since some of my/our students use the pedals differently, it makes it harder for me/us to keep a mental note of their preferences. The older students make their own mental notes but, the younger ones need help with that. Anyways... I hope that helps.

Thx. :)
User avatar
jimhenry
Posts: 1900

Post by jimhenry »

Nicholas wrote:As for other types of annotations, MusicXML should cover (traditional) pedal markings in the sheet. I'm still thinking about how to do it in the falling note area. I'm worried that displaying pedal events will be less useful because many MIDI files simply hold down the sustain pedal the entire song to achieve a particular effect.
If you had an on-screen indication of the pedal down and pedal up events but did not display pedal state between events, would that resolve this issue? I am surprised that many MIDI files hold sustain all the way through.
Jim Henry
Author of the Miditzer, a free virtual theatre pipe organ
http://www.Miditzer.org/
Locked