MIDI Music Player [Java, Swing]

[GitHub Repository]

This was the final project for CS 3500: Object Oriented Design. The program follows the model-view-controller design pattern and is written in Java by myself and a classmate. The program reads notes from a text file and either prints a text version to the console (“console” view), displays a GUI in a popup window (“gui” view), plays the piece (“midi” view), or displays the GUI and plays the piece (“composite” view). Most views support pause/playing the music with the spacebar, and support the following while paused: moving forwards and backwards by one beat with the left and right arrow keys, adding a new note by holding down the mouse on the appropriate piano key (longer holds creating longer notes), returning to the beginning of the piece with the Home button, and skipping to the end of the piece with the End button. Additionally, I implemented an optional feature: increasing and decreasing tempos (by hitting the up and down keys while the music is paused).

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s