0.7.0 Preview r621, r627

Archived development update discussion from past versions
Archived development updates.
tommai78101
Posts: 762

Post by tommai78101 » 07-10-09 7:48 am

Ah!! I missed it! I missed it! I missed the release day, ya waaaa...! :cry:
*pulling myself up*
---------------------------

Nice update.

There are some things worth mentioning. I did read the last two pages.

1. If the title screen isn't placed with any sorts of stuffs, you'll have a weird feeling. What is this place? Emptiness.....(echoes)...

2. It might be fun if the raindrops are a bit more interactive. When you click, the waves comes out from where the mouse is pointing at.

3. Isn't it a bit nice if the title screen, when the resolutions are high enough (at least a widescreen), you can drag the buttons around and rearrange it into all sorts of patterns and stuffs.

4. I wondered if Synthesia let users view customized sequences instead of playing the midi. If a midi file is opened in a tracker (a program used for making modules, which are songs containing a melody and all needed instruments in the same file), a user can see a sequence of the midi. Probably like a preview in some way, except it gives out more information about the midi. If you're planning on selling a Pro version, I wondered if there's a Debugger included?

5. Colored piano keys? I do see pianos with black keys colored in white. Is that okay with Synthesia?

6. I saw vicentefer31's picture of the title screen. If Buttons are pressed and opened up sideways, or showing pathways (like a navigation section in a forum), would it make the title screen a bit interesting? Instead of fading in/out, we can scroll sideways, like ITouch, or we can Zoom in along with the raindrops. Like this, click and hold to move, and you zoom in after you eat the red tadpoles, zoom out after you eat the blue ones. (requires Flash) I meant the zoom in/out part, not the game. The waves might give some inspirations.

7. If you see the second picture, I was thinking of Play/Pause. Then I saw your post and felt: 冏

EDIT: 8. I forgot one more thing, why are there 4 stars instead of 5?


Sorry to say a lot. and the expanded width of the forums.
Attachments
Untitled1.jpg
This is what you see when the screen resolution is THIS wide.
Untitled1.jpg (40.55 KiB) Viewed 12244 times
Untitled.jpg
There's no Play and Pause after I disable Auto-Preview.
Untitled.jpg (64.26 KiB) Viewed 12247 times
Hardware Information: Windows Vista Home Premium SP1, 358MB Mobile Intel Graphics Media Accelerator X3100, Synthesia 0.7.1 preview r697, 2 GB DDRAM, 1.6 GHz Intel Pentium Dual-Core Processor T2330, Acer Aspire 5720-4126
New Hardware Information: Windows 10 Pro, 2GB Nvidia GeForce 860M, 8GB RAM, 1.7GHz Core-i5 4210U, Alienware 13 R1.

vicentefer31
Posts: 899
Location: Madrid, Spain

Post by vicentefer31 » 07-10-09 10:04 am

tommai78101 wrote:If the title screen isn't placed with any sorts of stuffs, you'll have a weird feeling. What is this place?
For us, for "old users" when we see for the first time we can have a weird felling, but after a couple of days you´ll know it's a good change.
tommai78101 wrote:It might be fun if the raindrops are a bit more interactive. When you click, the waves comes out from where the mouse is pointing at.
I prefer like now (random - aleatory).
tommai78101 wrote:I saw vicentefer31's picture of the title screen...
Forget all that ideas, I prefer the actual Tittle Screen because it´s very easy for new users (even grandmothers) :lol:
TieDyeGuy wrote:I am excited for the meta-data and eventual fingering information. I believe that will be the point where Synthesia goes from being a brilliant game to being a breakthrough teaching tool and starts to gather some of the acclaim that it is due.
True.
Picasso: I am always doing that which I cannot do, in order that I may learn how to do it.

Nicholas
Posts: 12390

Post by Nicholas » 07-10-09 12:43 pm

Wow, I've really brought you over to my side, huh vicentefer? ;)

Otherwise, yeah, there is a lot of new open space on the title screen, tommai. I run my development machine at (2x) 1920x1280, so I see all that space constantly. I have some secret plans for it though, better than ripples. Won't be for a little while though... 8-)

Zageron, I've spent a lot (too much?) of time on the library so far, so I was hoping to switch back over to music-related features soon. In general though, there is still a lot of room for improvement. The search thing Rickeeey mentioned feels like the quickest way to add the most utility. But, various playlist and foldering features on top of that would help even more. I expect to sneak the searching/filtering in next time (0.7.1) and will probably wait to do more after that.

I consider the 0.6.x to 0.7.0 jump to be all about the interface infrastructure I've recently built. The various menus used to be incredibly painstaking to put together and a huge chore to touch-up even just a little. Now I can make them in very short order. Outside of having some visual designer (a la the form designer in Visual Studio), the coding side is almost as clean and fast now.

(All of that was just hoping to express that these types of things in the future really will be able to "sneak" into the schedule vs. derailing the project for like a month. ;) )

tommai78101
Posts: 762

Post by tommai78101 » 07-10-09 11:32 pm

Nicholas wrote:(All of that was just hoping to express that these types of things in the future really will be able to "sneak" into the schedule vs. derailing the project for like a month. ;) )
At least, like what Thomas Edison once said, "I have not failed. I've just found 10,000 ways that won't work. "

Nothing is worth more than trying to expect something.
Hardware Information: Windows Vista Home Premium SP1, 358MB Mobile Intel Graphics Media Accelerator X3100, Synthesia 0.7.1 preview r697, 2 GB DDRAM, 1.6 GHz Intel Pentium Dual-Core Processor T2330, Acer Aspire 5720-4126
New Hardware Information: Windows 10 Pro, 2GB Nvidia GeForce 860M, 8GB RAM, 1.7GHz Core-i5 4210U, Alienware 13 R1.

vicentefer31
Posts: 899
Location: Madrid, Spain

Post by vicentefer31 » 07-12-09 6:29 pm

Hello, this is a comentary I have made from other Post to help to a new user to select his Keyboard. I have a quote here because it's an idea for the new release to help new users to select the device. I hope you find it useful.
vicentefer31 wrote:I think it could be a good idea for the next release you can do something like I show in the this picture. If Input and Output Device are in *red" or it's the first time you are running Synthesia; you can add a *help* like you can see in the Song Library if you don't have any folder there.
Image
Picasso: I am always doing that which I cannot do, in order that I may learn how to do it.

Nicholas
Posts: 12390

Post by Nicholas » 07-12-09 7:51 pm

Ha! I have the same exact idea drawn in one of my sketches. :D

Next to it is a sketch of more arrows that when you're in "Demo Mode" (after clicking any of the buttons on the Learning Pack screen) that it would show one on the Track Settings screen pointing at one of the sheet music boxes, and another on the Play Settings screen pointing to the practice mode button.

I kind of skipped over them as I was going along. I'm always trying to squeeze my schedule down to being as small as possible. But, the Keyboard Setup one seems useful enough that I should at least do that one.

Nicholas
Posts: 12390

Post by Nicholas » 07-13-09 12:56 am

Getting closer. Here's the --help message.

I've run into an interesting problem. Apparently, in Win32 programs unless you *always* want to have a console window present (I don't ;) ) you can't write to the console at all. So, things like --help and --version will have to show in a message box. Now that I think about it, I've seen this before with other programs. I guess I didn't wonder why at the time. Anyhoo, this is for you, TonE. Still subject to a little change...

Case is sensitive. Also, unless somebody informs me otherwise, I'm not sure I know how to make command-line arguments work on OS X. The argv set has a bunch of weird looking system stuff tucked in them. So, all of this is Windows-only for now.

EDIT: Yuck. In the message box it doesn't use a fixed-width font so the stuff below looks terrible. :( I'm leaving it for now because this is already a (really) power-user feature and I'm rushing, but it will bother me to no end! :D

Code: Select all

usage: Synthesia.exe [options] [filename]
(If filename contains spaces, it should be wrapped in quotes.)

Options:
  --help                 Shows this help message
  --version              Output the version number
                         
  --speed arg            Percentage speed [0-400]
  --visible-duration arg Milliseconds visible on screen [250-10000]

  --keyboard-zoom arg    All, Song, or YouPlay
  --play-mode arg        Rhythm or Practice (requires Learning Pack)
  --sheet-mode arg       Scrolling or PageFlip (requires Learning Pack)
                         
  --dont-save            Prevents track settings from being saved this run.  
                         Useful with channel mode 'All'.
                         
  --on-startup arg       What screen should show when Synthesia starts?
                         
                         Title, SongLibrary, TrackSettings, PlaySettings, or 
                         Play.
                         
                         Title is default if no file specified.  TrackSettings 
                         is default otherwise.  Anything past SongLibrary 
                         requires a file argument.
                         
  --on-song-end arg      What should happen when the song is over?
                         
                         RestartSong, Quit, or ShowScoresThenQuit.
                         
  --channel-mode arg     Examples:
                           Ch1=YouPlay
                           Ch3=PlayedAutomatically,ShowSheet
                           All=PlayedButHidden
                         
                         In general:
                           ChX=Mode
                         or:
                           ChX=Mode,ShowSheet
                         
                         Channel is between 1 and 16 (or All).
                         
                         Modes are YouPlay, YouPlayMuted, PlayedAutomatically, 
                         PlayedButHidden, DisplayOnly, or NotPlayed.
                         
                         You can specify more than one.  Modes will be set in 
                         the order they're received.  So, you can use All and 
                         follow it with individual channels to override the 
                         first setting.  (ShowSheet requires the Learning 
                         Pack.)

vicentefer31
Posts: 899
Location: Madrid, Spain

Post by vicentefer31 » 07-13-09 3:20 am

I have been thinking a little more about when it would be interesting to show the *help arrows* in the main screen to select the devices:
1) If you run Synthesia for the first time
2) If you have input and output device as None
3) If the game has changed automatically the devices because it cannot find the devices from the last time you played.
4) If the games detected there are more "devices" than the last time you have used this software. Imagine: You always played Synthesia with input device="Synthesia Software Keyboard", but you have bought a new "Keyboard" and you are going to use for the first time. This can help you to select this new Keyboard.
Picasso: I am always doing that which I cannot do, in order that I may learn how to do it.

Nicholas
Posts: 12390

Post by Nicholas » 07-13-09 3:41 am

Alright, no new preview tonight. ;)

It's close... but there was 159 minutes of "banging head on the wall"-style esoteric C++ problems I had to slog through. (I can be that precise thanks to ManicTime!)

Rickeeey
Posts: 647

Post by Rickeeey » 07-13-09 4:33 am

Nicholas wrote:Alright, no new preview tonight. ;)

It's close... but there was 159 minutes of "banging head on the wall"-style esoteric C++ problems I had to slog through. (I can be that precise thanks to ManicTime!)
Nice software, I sit at my computer alot and the time seems to fly away too fast.

TonE
Synthesia Donor
Posts: 1180

Post by TonE » 07-13-09 9:34 am

Regarding the command line features:
Help can be written into a text file, version we will know anyway and will not ask for that, so you could even take them out of there, but message box is nice. I am now waiting for the Synthesia version which supports these command-line parameters/features and is not crashing/stable.

Is it possible to add (only if it is very easy) in the case of --on-song-end Quit|ShowScoresThenQuit: the current score could be also copied into the clipboard before quitting? Then I could omit this in my AutoHotkey .xml checking each certain intervals. If not, I will continue using AutoHotkey also for this purpose.

Nicholas
Posts: 12390

Post by Nicholas » 07-13-09 10:54 am

It's very easy. I'll add it. I'll make it a separate option like --copy-score, too.

It's actually kind of fun to run through the code and wire all these up. All the little hooks have been there forever. Now there is a way to control them. You may find in the future that I'm more amenable to adding these than any other feature. ;) With no UI work, it is startling how fast each one of these has been.

Rickeeey
Posts: 647

Post by Rickeeey » 07-14-09 6:10 am

As it's soon time for the chord library, how about if the chord names would show of in rhythm and practice modes too. For example you hit a C chord in rhythm mode and it says 'Chord: Major C' at the bottom of the page. Also how about a chord chart in game or maybe midis with chords included when downloading the game.

Nicholas
Posts: 12390

Post by Nicholas » 07-14-09 11:23 am

Showing the actively-held chord might be a little tricky. The reason is because for any given set of notes, you may be playing lots of different chords.

The site I linked before shows that off pretty well. If you click in a few keys there, you'll see the names of all the chords you're playing. They only show the top 6 results, but if you turn on four or more keys, it's easy to fill all the boxes.

Granted, most of the stragglers on the list are the "add #" which just mean "You're playing chord X along with an extra note". Still, it's not an easy problem to disambiguate between all the possibilities and report definitively exactly which one is being played.

Rickeeey
Posts: 647

Post by Rickeeey » 07-14-09 11:37 am

Well, for example if you play C, E & G it should show the "normal" name of the chord which is C Major chord. There's no need to show like 5 different names for a such combination. But I know what you mean, it's not that easy to know how to call each possible combinations and it's probably quite hard to program too.
But I think there could be a chord label function with song metadata. So maybe people would be able to write in the exact name of the chord or combination of chords.

Phil
Posts: 9

Post by Phil » 07-14-09 5:03 pm

I think chord recognition should be limited to the most probable. On the site mentionned by Nicholas, it works pretty well, even with inversions. The simpler, the better !

For quizz mode, it will be simple, as all played notes (modulo 12) have to belong to the chord to find (this covers inversions and additional notes played at lower or upper octaves).
By the way Nicholas, do you plan to include quizz mode with the chord library version, or in a later one ?
This question is not innocent as I am sure this quizz mode will be a great feature for learning piano.

Here is my feeling about Synthesia regarding to piano learning methods :
The piano hero mode (no sheet display) is good for fun and mechanical memorisation.
The learning pack features such as sheet music display and practice mode are really cool features for learning piano "by the classical way" (learn to read and play music).
But a really cool way to learn piano is to use the "chord approach" (as in fake books) : playing the different chords of a tune with the left hand and adding the melody with the right hand. No need to memorise a full tune, knowing the chord patterns and the main theme of the melody is enough. But for this you need to know well how to play the chords : the quizz mode will help for that. A great feature would be to have also a mode to practice chord rythms (jazz, blues, boogie, bossa nova, ...).
Tunes in fake books could be played in Synthesia by simply having the melody in a midi file and the chords in song metadata.
This opens Synthesia to the world of improvisation ! (oups, I am so enthusiastic with regard to Synthesia that I cannot stop writing !)

Rickeeey
Posts: 647

Post by Rickeeey » 07-14-09 5:33 pm

Phil wrote:I think chord recognition should be limited to the most probable. On the site mentionned by Nicholas, it works pretty well, even with inversions. The simpler, the better !

For quizz mode, it will be simple, as all played notes (modulo 12) have to belong to the chord to find (this covers inversions and additional notes played at lower or upper octaves).
By the way Nicholas, do you plan to include quizz mode with the chord library version, or in a later one ?
This question is not innocent as I am sure this quizz mode will be a great feature for learning piano.

Here is my feeling about Synthesia regarding to piano learning methods :
The piano hero mode (no sheet display) is good for fun and mechanical memorisation.
The learning pack features such as sheet music display and practice mode are really cool features for learning piano "by the classical way" (learn to read and play music).
But a really cool way to learn piano is to use the "chord approach" (as in fake books) : playing the different chords of a tune with the left hand and adding the melody with the right hand. No need to memorise a full tune, knowing the chord patterns and the main theme of the melody is enough. But for this you need to know well how to play the chords : the quizz mode will help for that. A great feature would be to have also a mode to practice chord rythms (jazz, blues, boogie, bossa nova, ...).
Tunes in fake books could be played in Synthesia by simply having the melody in a midi file and the chords in song metadata.
This opens Synthesia to the world of improvisation ! (oups, I am so enthusiastic with regard to Synthesia that I cannot stop writing !)
Also with song metadata there could be extra midis used for learning included when downloading Synthesia, such as scales, chords etc. With chord labels, youtube-like pop-up messages, fingering and so on it would make learning even easier. But ofc lets not put too much pressure on Nicholas, he needs to foucs on the importiant thing which is finishing 0.7.0 and finally release the next offical version of Synthesia.

Nicholas
Posts: 12390

Post by Nicholas » 07-14-09 10:38 pm

It's not too much pressure. Actually, we're entering the fun phase just before a release where I'm mostly just tying up loose ends (all the design work is finished, I just have to write the code and then make it work). So, there is time to discuss the future. :)

Quiz mode is on the list down in the "dependencies" section (dependent on the chord library, in fact). I'm pretty excited about that one, too. My guess -- as soon as the first pass of the chord library is finished in less than a month or so -- is that Quiz mode will shoot up the list pretty fast. (Of course, someone is going to quote me on that "less than a month" thing... I'll have to make sure that happens. ;) )

You're also right that grading quiz mode is easy. Starting with a known chord and checking to see if the inputs match is super-easy. Starting with a set of inputs and figuring out the most-likely one, well... isn't. But, with some simple scoring rules (an "add #" subtracts a few points, "dim 2" subtracts one or two, inversions make it less likely, etc) picking out the closest match shouldn't be so bad.

Phil
Posts: 9

Post by Phil » 07-15-09 2:37 am

Nicholas wrote: But, with some simple scoring rules (an "add #" subtracts a few points, "dim 2" subtracts one or two, inversions make it less likely, etc) picking out the closest match shouldn't be so bad.
If a basic chord is played (maj, min, 7th, m7, maj7, m/maj7, 6th or m6th), I think there will be no ambiguity, even with inversions.
I don't know if it will help, but a solution to cover this 3 or 4 notes basic chords is to elaborate the "octave signature" of the chord (pattern of the chord in a single C-B octave), and elaborate the "octave signature" of the notes played by the user (bringing back all the notes played in a single octave). Comparing the two signatures note by note will give the equivalence (notes are naturally sorted, even with inversions).
For less usual chords, ambiguities will appear. For example, C aug / E aug and G# aug have the same signature. In this case, the non-inverted chord will be chosen.

Nicholas
Posts: 12390

Post by Nicholas » 07-15-09 3:16 am

Yeah, that sounds like what I had in mind. I just didn't know whether there would be ambiguities. (I'm a better software engineer than I am music theorist... The blind leading the blind, I suppose. ;) ) Thanks for that info. If it's as easy as picking the least inverted chord whenever there is a choice, it shouldn't be too much trouble.

Locked