Skip to content

Releases: jeremy-collette/midistar

v0.9.0

03 Apr 00:09
7abd86a
Compare
Choose a tag to compare

midistar v0.9.0 (rev. 7abd86a)

Changes:

  • Added practice mode to piano songs. Upon missing a note, practice mode pauses the playback of the song until the missed note is correctly played.
  • Added support for M1 Macs running on OSX Monterey and later.
  • Added score screen which is displayed at the end of a song.
  • Added scaling of piano instrument on different screen resolutions (which can be set in the config.cfg file).
  • Added icon to game window.
  • Added max activation time to each drum.

v0.8.0

11 Dec 22:22
0bbc06e
Compare
Choose a tag to compare

midistar v0.8.0 (rev. 0bbc06e)

Changes:

  • Added pause screen to start of song that allows instrument to be tested (with MIDI note number annotations on drums)
  • Moved title theme chopin_nocturne_op9_n2.mid to piano songs directory so that it can be played by user
  • Added rock1.mid to drum songs directory
  • Added MIDI input port configuration option midi_input_port
  • Drum mode now plays sound for all instrument notes even if they aren't part of the song
  • Added custom drum ordering (by MIDI note number) configuration option drum_midi_order
  • Song list now sorted alphabetically
  • Songs can now be found recursively in subfolders in the songs directory

Bug fixes:

  • SFML external libraries now included in OSX builds

v0.7.0

14 Feb 20:57
d3653d6
Compare
Choose a tag to compare

midistar v0.7.0 (rev. d3653d6)

Changes:

  • Added Scores! Check the upper-left hand corner when playing to see the game score.
  • Added the "songs" directory. Place your MIDI files here in the "drums" or "piano" sub-folders.
  • Added basic main-thread hang handling. This reduces note skipping when dragging / resizing the game window or during increased system load.
  • Added git revision to version. This allows developers to determine exactly what version of the source code is being used.
  • Updated Fluid SoundFont download URL. This is a URL controlled by the midistar team, which means hosting can be ensured in the future.

v0.6.1

24 Jan 19:16
90da6cd
Compare
Choose a tag to compare

Changes:

  • Fixed a bug introduced in v0.6.0 where installed .deb package would not start the game (#84).

Known issues:

  • When uninstalling .deb package, dpkg may not delete the midistar-0.6.0 folder in usr/local/bin.

v0.6.0

24 Jan 06:31
6d2df08
Compare
Choose a tag to compare

OSX support is back with v0.6.0! OSX Catalina (v10.15.7 or greater) is now supported. Also, SoundFont files are now automatically installed by midistar on first-time setup. This means midistar should now work out-of-the-box without additional configuration.

Here is a full list of changes:

  • Fixed OSX build errors. OSX Catalina (v10.15.7 or greater) is now supported.
  • Added automatic SoundFont installation. Fluid SoundFont (Release 3) is now installed as part of initial setup. Simply run the appropriate "setup" script on your platform. Thanks to Frank Wen et al. for all your hard work!
  • Added Chopin's Nocturne Op. 9 No. 2 as the main menu background music. You should be able to hear this playing when you start midistar.
  • Fixed a bug where Windows binaries were built as 32-bit (#56).
  • Converted README to markdown and added some screenshots.
  • Updated copyright headers.

Known issues:

  • midistar won't start when installed using .deb package (v0.6.0) (#84).
  • On OSX, you may see a message similar to "midistar cannot be opened because the developer cannot be verified". To run midistar, you will have to modify your security settings.

v0.5.0

09 Dec 04:13
5c1faea
Compare
Choose a tag to compare

Introducing the main menu! Now you can start midistar without specifying the MIDI file and game mode that you want to play. Just start the game and navigate through the various menus using the arrow keys, enter, and escape.

A full list of changes:

  • Added main menu
  • Added Scenes (GameObjects are now held in Scenes instead of all being held in the "Game" object)
  • Removed 'midi_file' and 'game_mode' config and commandline options (as these are now selected using the menu)
  • Added Silkscreen font (thanks Jason Kottke!)
  • Added MenuBuilder to easily create menus (and sub-menus)
  • Added TextBuilder to easily create on-screen text
  • MIDI logic (such as MIDI file in, MIDI output) and SFML logic (such as SFML events) are now in Components / GameObjects
  • GameObjects now have tags and can be enabled/disabled

Note: OSX is not supported in this release due to Mojave missing the <experimental/filesystem> headers. This may be fixed in later releases.

v0.4.0

31 Mar 21:47
Compare
Choose a tag to compare

Introducing the 'drum' game mode! Now you can finally play electronic drums on midistar. Simply hook up your MIDI drums through USB, set the 'game_mode' config option to 'drum', and you're away! Make sure that the SoundFont file that you're using supports drum noises, and make sure you're playing a MIDI file that is intended to be played on drums.

And now you can build midistar on Windows! Windows build support has been added.

A full list of changes:

  • Added 'drum' game mode!
  • Added Windows build support!
  • Added 'instrument_midi_remapping' config option, which allows player to remap the MIDI notes that their instrument plays.
  • Added 'show_third_party' command line flag, which prints out the third-party projects included with midistar and their copyright holders.
  • Other minor changes.

v0.3.0

16 Jun 03:28
Compare
Choose a tag to compare

Introducing game modes! Game modes change the way midistar is played. This version adds the 'default' and 'piano' game modes. The 'default' game mode is similar to previous versions of midistar, but the 'piano' game mode transforms midistar in to a piano! Connect your electronic piano or digital keyboard with a MIDI cable and play midistar using your piano!

Features:

  • Added 'piano' and 'default' game modes
  • 'auto_play' now visibly plays song notes

Bug fixes:

  • Fixed a bug where overlapping notes were not correctly played by 'auto_play'

Other changes:

  • Game modes inherit the GameObjectFactory interface and control the look & feel of the game
  • Game modes now control keyboard bindings for instruments
  • Added PianoGameObjectFactory and DefaultGameObjectFactory game modes
  • GameObject now holds an SFML object that implements sf::Drawable and sf::Transformable instead of using a GraphicsComponent instance. This adds support for sprite and text drawing.
  • Added support for sprite animation using SpirteAnimatorComponent class
  • Collisions are now handled by the VerticalCollisionDetectorComponent class
  • Added CollidableComponent, InstrumentCollisionHandler, InvertColourComponent, LambdaComponent components
  • Removed CollisionDetectorComponent and GraphicsComponent classes

v0.2.1

30 May 06:09
Compare
Choose a tag to compare

Bug fixes:

  • Fixed a bug where midistar would not find shared libraries at runtime if the project folder had been moved since building.

v0.2.0

30 May 04:09
Compare
Choose a tag to compare

Version 0.2.0 brings some new features and changes.

Features:

  • Notes are now created at the appropriate size depending on their duration, instead of being expanded through a costly process. The game now runs much faster.
  • Frame independence: timing of game events is now independent of frame rate.
  • Game speed is now dependent on the speed of the MIDI file (ticks per quarter note) and note_fall_speed configuration option.
  • Users can now specify multiple MIDI channels / tracks to play from the supplied MIDI file by setting the midi_file_channels and midi_file_tracks configuration settings.
  • Users can now specify max frame-rate by setting the max_fps configuration setting.

Other changes:

  • Removed 'note off' GameObjects as notes are now represented by one GameObject.
  • Removed AnchorComponent and RemoveSongNoteAnchorComponent classes.
  • Components now retrieve the instrument bar in constant time using the Game::GetInstrumentBar() method.
  • Removed TestInputComponent class.
  • Removed '_COMPONENT' suffix from the ComponentType enum.
  • Removed 'bool on' from the NoteInfoComponent class.
  • GameObjectFactory is now a singleton and holds note / instrument width info.