hydrorifle / pianogame Goto Github PK
View Code? Open in Web Editor NEWThis project forked from johndpope/pianogame
legacy code when Synthesia was once open source.
Home Page: http://www.synthesiagame.com/
License: MIT License
This project forked from johndpope/pianogame
legacy code when Synthesia was once open source.
Home Page: http://www.synthesiagame.com/
License: MIT License
Piano Game teaches you to play piano using any MIDI file. Visit http://www.synthesiagame.com/ for the latest version of this project. -------------------------------------------------------------------------------- Piano Game is mostly written by Nicholas Piegdon. The following people have also contributed: - Luis Anton with an early version of the MIDI input code - Troy Ramos with a suggestion to use Klavarskribo staff notation - Dave Ray for his STRING/WSTRING macro - NeHe Productions for their OpenGL base code - Christian Auby for input octave shifting code -------------------------------------------------------------------------------- Change Log Release 0.6.1b -------------- CHG: Rebranded to remove copyrighted music and trademarked names. Release 0.6.1a -------------- FIX: A few bug fixes. Release 0.6.1 ------------- NEW: On the Mac, output to external devices is now available. NEW: On the Mac, you can now drag a MIDI file to the application on the Dock or in Finder or right click a MIDI file and choosing "Open With..." to open. NEW: In Windows, added a low-tech solution to choose between different monitors connected to the SAME video card (doesn't work in multi-video-card situations.) (Set the string key HKCU\Software\PianoGame\Monitor to "0" for primary monitory, "1" for secondary, etc.) CHG: Mac OpenGL display now has v-sync enabled. CHG: Mac game window is now much less obtrusive. Other windows are allowed to be on top and the Dock and Application bar can both be made visible by hovering the mouse over there positions for a second or so. The game window also no longer must be hidden during file selection or error boxes. FIX: In Windows, MIDI SysEx messages in input are no longer flagged as errors. FIX: On the Mac, fixed MIDI that used RPN / NRPN controller events (e.g. to set pitch bend) so they're now handled correctly. FIX: On the Mac, output devices are now reset much harder than before, so output device internal state that may be set by one song isn't carried over to another. FIX: On the Mac, there was a potential problem with some input devices that might send bursts of events all at once. Previously, only the first event in the incoming list of events was recognized. Now, any number of incoming events will be recognized correctly. FIX: Picked a font for the Mac version to use that is actually a default system font. (Apparently "Palatino" only ships with iLife now.) FIX: On the Mac, fixed a problem where the (modal!) file open dialog could be hidden underneath the game window, leaving you not choice but to force- quit the program. FIX: Disabled OpenGL depth testing to fix a problem where text would sometimes not appear above other controls (TrackBox, SongBox, etc.) in Windows. FIX: Score state now displays correctly at low resolutions (like 800x600). FIX: Title bar no longer pops when changing speed at the beginning of gameplay. FIX: Text centering and placement on the Mac is now properly implemented. FIX: MIDI files with non-all-lowercase file extensions can now be selected in the File Open dialog box. Release 0.6.0 ------------- NEW: Mac Version! NEW: All new note and keyboard graphics! NEW: All new menu graphics. NEW: Right-click association option in installer. CHG: Rebranded as Synthesia CHG: Switched from base 2D OS drawing to 3D accelerated OpenGL drawing. CHG: Moved status display to the bottom of the screen during play. CHG: Made default music folder less imposing. Now the game will only default to the directory the very first run. Afterwards, it will remember the last file you attempted to play (like it used to). CHG: Improved exception handling. FIX: Don't crash if "Synthesia Music" folder doesn't exist. FIX: No more crash sometimes when app regains focus on the title screen. Release 0.5.1 ------------- NEW: Your notes are played (in the correct instrument for the track) NEW: Tooltips on all menu controls and settings. NEW: 10 Sample songs from Game Music Themes. NEW: "Stray Notes" metric on stats screen NEW: "Average Speed" metric on stats screen NEW: Box around MIDI input test on title screen NEW: Combo counter and much improved stats display during play. CHG: Improved Klavarskribo staff notation. CHG: Match input to closest unplayed note's opportunity window center instead of matching against the first available unplayed note. CHG: Swapped blue and yellow in the track color order, making blue the new "first" color. CHG: ReasonableSynthVolume object replaces MidiCommOut::SetReasonableSynthVol and now works for all mixers in the system instead of only the first. CHG: Darkened the border for a few different colors to increase the contrast between sharp/flat notes in a series. CHG: Default to new "Piano Hero Music" folder at startup. (User configurable in the future.) FIX: Disabled MIDI input while game is paused to prevent cheating. FIX: Made MidiCommOut::Reset() actually reset everything by fully closing and reopening the device. midiOutReset() apparently only turns off the keys and pedals on each track. It *doesn't* reset patches or volume. FIX: Reworked MIDI engine to correct a sync/lag issue in songs that started with a considerable delay before the first note. FIX: Notes don't draw on top of keys anymore. FIX: MIDI track default color order is now consistent for all files. FIX: Two tracks with identical notes would cause the "second" track's note to not appear. This normally would not matter, as they overlap completely, but when hiding the first track, the second note would not show. Release 0.5.0 ------------- NEW: Klavarskribo staff notation (thanks to Troy Ramos for the suggestion!) NEW: MIDI input instrument selection (early version by Luis Anton) NEW: MIDI input with note matching and scoring (early version by Luis Anton) NEW: Note hit/miss effects NEW: If muted, temporarily unmute the selected MIDI device during gameplay NEW: Level progress bar along top of game play screen NEW: In-game open file dialog NEW: Song finish screen with score, rating, and statistics Release 0.4.0 ------------- NEW: Initial Release
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.