├── .gitignore ├── README.md ├── demo.gif ├── piano-roll-api ├── .gitignore ├── Gemfile ├── Gemfile.lock ├── README.md ├── Rakefile ├── app │ ├── channels │ │ └── application_cable │ │ │ ├── channel.rb │ │ │ └── connection.rb │ ├── controllers │ │ ├── api │ │ │ └── v1 │ │ │ │ ├── application_controller.rb │ │ │ │ └── songs_controller.rb │ │ └── concerns │ │ │ └── .keep │ ├── jobs │ │ └── application_job.rb │ ├── mailers │ │ └── application_mailer.rb │ ├── models │ │ ├── application_record.rb │ │ ├── concerns │ │ │ └── .keep │ │ ├── instrument.rb │ │ ├── note.rb │ │ ├── song.rb │ │ └── track.rb │ ├── serializers │ │ ├── instrument_serializer.rb │ │ ├── note_serializer.rb │ │ ├── song_serializer.rb │ │ ├── songs_serializer.rb │ │ └── track_serializer.rb │ └── views │ │ └── layouts │ │ ├── mailer.html.erb │ │ └── mailer.text.erb ├── bin │ ├── bundle │ ├── rails │ ├── rake │ ├── setup │ ├── spring │ └── update ├── config.ru ├── config │ ├── application.rb │ ├── boot.rb │ ├── cable.yml │ ├── database.yml │ ├── environment.rb │ ├── environments │ │ ├── development.rb │ │ ├── production.rb │ │ └── test.rb │ ├── initializers │ │ ├── application_controller_renderer.rb │ │ ├── backtrace_silencers.rb │ │ ├── cors.rb │ │ ├── filter_parameter_logging.rb │ │ ├── inflections.rb │ │ ├── mime_types.rb │ │ ├── new_framework_defaults.rb │ │ └── wrap_parameters.rb │ ├── locales │ │ └── en.yml │ ├── puma.rb │ ├── routes.rb │ ├── secrets.yml │ └── spring.rb ├── db │ ├── migrate │ │ ├── 20170525224225_create_songs.rb │ │ ├── 20170525224658_create_tracks.rb │ │ ├── 20170525224808_create_instruments.rb │ │ ├── 20170525225021_create_notes.rb │ │ ├── 20170525225022_add_midi_instrument_number_to_instruments.rb │ │ ├── 20170525225024_add_name_to_notes.rb │ │ ├── 20170526172901_add_duration_to_notes.rb │ │ ├── 20170526172902_change_decimals_to_floats_on_notes.rb │ │ ├── 20170526172903_change_decimals_to_floats_on_songs.rb │ │ ├── 20170526172904_change_decimals_to_floats_on_tracks.rb │ │ └── 20170705221438_add_ppq_and_time_signature_to_songs.rb │ ├── schema.rb │ ├── seed.json │ └── seeds.rb ├── lib │ └── tasks │ │ └── .keep ├── log │ └── .keep ├── public │ └── robots.txt └── tmp │ └── .keep └── piano-roll-client ├── .gitignore ├── README.md ├── package-lock.json ├── package.json ├── public ├── favicon.ico ├── index.html └── manifest.json └── src ├── App.css ├── App.js ├── App.test.js ├── actions ├── createSongActions.js ├── fetchSongActions.js ├── fetchSongsActions.js ├── songActions.js └── timeActions.js ├── api ├── Timer.js ├── ToneKeyboardHandler.js └── index.js ├── components ├── Key.js ├── Note.js ├── NoteSlot.js ├── PianoKeysSidebar.js ├── PlayHead.js ├── SongSelector.js ├── TimeBar.js ├── TimerClock.js └── TracksHeader.js ├── concerns └── keyboard.js ├── icons ├── accordion-outline.svg ├── ff-outline-circle.svg ├── flute-outline.svg ├── guitar-outline.svg ├── logo.svg ├── metronome-outline.svg ├── microphone-outline.svg ├── mute-outline-circle.svg ├── note-outline.svg ├── pause-outline-circle.svg.js ├── piano-outline.svg ├── play-outline-circle.svg.js ├── recordplayer-outline.svg ├── restart-outline-circle.svg ├── rw-outline-circle.svg ├── settings-eq-outline.svg ├── shuffle-outline-circle.svg ├── skip-b-outline-circle.svg ├── skip-f-outline-circle.svg ├── speaker-outline-circle.svg ├── stop-outline-circle.svg.js ├── tamborine-outline.svg ├── trumpet-outline.svg └── xylophone-outline.svg ├── index.css ├── index.js ├── reducers ├── fetchSongReducer.js ├── fetchSongsReducer.js ├── index.js ├── instrumentsReducer.js ├── musicReducer.js ├── notesReducer.js ├── playersReducers.js ├── reducerUtilities.js ├── timeReducer.js └── tracksReducer.js ├── registerServiceWorker.js └── selectors ├── index.js ├── noteSlotsSelectors.js └── notesSelectors.js /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/README.md -------------------------------------------------------------------------------- /demo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/demo.gif -------------------------------------------------------------------------------- /piano-roll-api/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/.gitignore -------------------------------------------------------------------------------- /piano-roll-api/Gemfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/Gemfile -------------------------------------------------------------------------------- /piano-roll-api/Gemfile.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/Gemfile.lock -------------------------------------------------------------------------------- /piano-roll-api/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/README.md -------------------------------------------------------------------------------- /piano-roll-api/Rakefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/Rakefile -------------------------------------------------------------------------------- /piano-roll-api/app/channels/application_cable/channel.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/app/channels/application_cable/channel.rb -------------------------------------------------------------------------------- /piano-roll-api/app/channels/application_cable/connection.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/app/channels/application_cable/connection.rb -------------------------------------------------------------------------------- /piano-roll-api/app/controllers/api/v1/application_controller.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/app/controllers/api/v1/application_controller.rb -------------------------------------------------------------------------------- /piano-roll-api/app/controllers/api/v1/songs_controller.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/app/controllers/api/v1/songs_controller.rb -------------------------------------------------------------------------------- /piano-roll-api/app/controllers/concerns/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /piano-roll-api/app/jobs/application_job.rb: -------------------------------------------------------------------------------- 1 | class ApplicationJob < ActiveJob::Base 2 | end 3 | -------------------------------------------------------------------------------- /piano-roll-api/app/mailers/application_mailer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/app/mailers/application_mailer.rb -------------------------------------------------------------------------------- /piano-roll-api/app/models/application_record.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/app/models/application_record.rb -------------------------------------------------------------------------------- /piano-roll-api/app/models/concerns/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /piano-roll-api/app/models/instrument.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/app/models/instrument.rb -------------------------------------------------------------------------------- /piano-roll-api/app/models/note.rb: -------------------------------------------------------------------------------- 1 | class Note < ApplicationRecord 2 | belongs_to :track 3 | end 4 | -------------------------------------------------------------------------------- /piano-roll-api/app/models/song.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/app/models/song.rb -------------------------------------------------------------------------------- /piano-roll-api/app/models/track.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/app/models/track.rb -------------------------------------------------------------------------------- /piano-roll-api/app/serializers/instrument_serializer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/app/serializers/instrument_serializer.rb -------------------------------------------------------------------------------- /piano-roll-api/app/serializers/note_serializer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/app/serializers/note_serializer.rb -------------------------------------------------------------------------------- /piano-roll-api/app/serializers/song_serializer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/app/serializers/song_serializer.rb -------------------------------------------------------------------------------- /piano-roll-api/app/serializers/songs_serializer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/app/serializers/songs_serializer.rb -------------------------------------------------------------------------------- /piano-roll-api/app/serializers/track_serializer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/app/serializers/track_serializer.rb -------------------------------------------------------------------------------- /piano-roll-api/app/views/layouts/mailer.html.erb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/app/views/layouts/mailer.html.erb -------------------------------------------------------------------------------- /piano-roll-api/app/views/layouts/mailer.text.erb: -------------------------------------------------------------------------------- 1 | <%= yield %> 2 | -------------------------------------------------------------------------------- /piano-roll-api/bin/bundle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/bin/bundle -------------------------------------------------------------------------------- /piano-roll-api/bin/rails: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/bin/rails -------------------------------------------------------------------------------- /piano-roll-api/bin/rake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/bin/rake -------------------------------------------------------------------------------- /piano-roll-api/bin/setup: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/bin/setup -------------------------------------------------------------------------------- /piano-roll-api/bin/spring: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/bin/spring -------------------------------------------------------------------------------- /piano-roll-api/bin/update: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/bin/update -------------------------------------------------------------------------------- /piano-roll-api/config.ru: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config.ru -------------------------------------------------------------------------------- /piano-roll-api/config/application.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/application.rb -------------------------------------------------------------------------------- /piano-roll-api/config/boot.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/boot.rb -------------------------------------------------------------------------------- /piano-roll-api/config/cable.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/cable.yml -------------------------------------------------------------------------------- /piano-roll-api/config/database.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/database.yml -------------------------------------------------------------------------------- /piano-roll-api/config/environment.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/environment.rb -------------------------------------------------------------------------------- /piano-roll-api/config/environments/development.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/environments/development.rb -------------------------------------------------------------------------------- /piano-roll-api/config/environments/production.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/environments/production.rb -------------------------------------------------------------------------------- /piano-roll-api/config/environments/test.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/environments/test.rb -------------------------------------------------------------------------------- /piano-roll-api/config/initializers/application_controller_renderer.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/initializers/application_controller_renderer.rb -------------------------------------------------------------------------------- /piano-roll-api/config/initializers/backtrace_silencers.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/initializers/backtrace_silencers.rb -------------------------------------------------------------------------------- /piano-roll-api/config/initializers/cors.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/initializers/cors.rb -------------------------------------------------------------------------------- /piano-roll-api/config/initializers/filter_parameter_logging.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/initializers/filter_parameter_logging.rb -------------------------------------------------------------------------------- /piano-roll-api/config/initializers/inflections.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/initializers/inflections.rb -------------------------------------------------------------------------------- /piano-roll-api/config/initializers/mime_types.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/initializers/mime_types.rb -------------------------------------------------------------------------------- /piano-roll-api/config/initializers/new_framework_defaults.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/initializers/new_framework_defaults.rb -------------------------------------------------------------------------------- /piano-roll-api/config/initializers/wrap_parameters.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/initializers/wrap_parameters.rb -------------------------------------------------------------------------------- /piano-roll-api/config/locales/en.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/locales/en.yml -------------------------------------------------------------------------------- /piano-roll-api/config/puma.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/puma.rb -------------------------------------------------------------------------------- /piano-roll-api/config/routes.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/routes.rb -------------------------------------------------------------------------------- /piano-roll-api/config/secrets.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/secrets.yml -------------------------------------------------------------------------------- /piano-roll-api/config/spring.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/config/spring.rb -------------------------------------------------------------------------------- /piano-roll-api/db/migrate/20170525224225_create_songs.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/db/migrate/20170525224225_create_songs.rb -------------------------------------------------------------------------------- /piano-roll-api/db/migrate/20170525224658_create_tracks.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/db/migrate/20170525224658_create_tracks.rb -------------------------------------------------------------------------------- /piano-roll-api/db/migrate/20170525224808_create_instruments.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/db/migrate/20170525224808_create_instruments.rb -------------------------------------------------------------------------------- /piano-roll-api/db/migrate/20170525225021_create_notes.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/db/migrate/20170525225021_create_notes.rb -------------------------------------------------------------------------------- /piano-roll-api/db/migrate/20170525225022_add_midi_instrument_number_to_instruments.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/db/migrate/20170525225022_add_midi_instrument_number_to_instruments.rb -------------------------------------------------------------------------------- /piano-roll-api/db/migrate/20170525225024_add_name_to_notes.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/db/migrate/20170525225024_add_name_to_notes.rb -------------------------------------------------------------------------------- /piano-roll-api/db/migrate/20170526172901_add_duration_to_notes.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/db/migrate/20170526172901_add_duration_to_notes.rb -------------------------------------------------------------------------------- /piano-roll-api/db/migrate/20170526172902_change_decimals_to_floats_on_notes.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/db/migrate/20170526172902_change_decimals_to_floats_on_notes.rb -------------------------------------------------------------------------------- /piano-roll-api/db/migrate/20170526172903_change_decimals_to_floats_on_songs.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/db/migrate/20170526172903_change_decimals_to_floats_on_songs.rb -------------------------------------------------------------------------------- /piano-roll-api/db/migrate/20170526172904_change_decimals_to_floats_on_tracks.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/db/migrate/20170526172904_change_decimals_to_floats_on_tracks.rb -------------------------------------------------------------------------------- /piano-roll-api/db/migrate/20170705221438_add_ppq_and_time_signature_to_songs.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/db/migrate/20170705221438_add_ppq_and_time_signature_to_songs.rb -------------------------------------------------------------------------------- /piano-roll-api/db/schema.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/db/schema.rb -------------------------------------------------------------------------------- /piano-roll-api/db/seed.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/db/seed.json -------------------------------------------------------------------------------- /piano-roll-api/db/seeds.rb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/db/seeds.rb -------------------------------------------------------------------------------- /piano-roll-api/lib/tasks/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /piano-roll-api/log/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /piano-roll-api/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-api/public/robots.txt -------------------------------------------------------------------------------- /piano-roll-api/tmp/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /piano-roll-client/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/.gitignore -------------------------------------------------------------------------------- /piano-roll-client/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/README.md -------------------------------------------------------------------------------- /piano-roll-client/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/package-lock.json -------------------------------------------------------------------------------- /piano-roll-client/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/package.json -------------------------------------------------------------------------------- /piano-roll-client/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/public/favicon.ico -------------------------------------------------------------------------------- /piano-roll-client/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/public/index.html -------------------------------------------------------------------------------- /piano-roll-client/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/public/manifest.json -------------------------------------------------------------------------------- /piano-roll-client/src/App.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/App.css -------------------------------------------------------------------------------- /piano-roll-client/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/App.js -------------------------------------------------------------------------------- /piano-roll-client/src/App.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/App.test.js -------------------------------------------------------------------------------- /piano-roll-client/src/actions/createSongActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/actions/createSongActions.js -------------------------------------------------------------------------------- /piano-roll-client/src/actions/fetchSongActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/actions/fetchSongActions.js -------------------------------------------------------------------------------- /piano-roll-client/src/actions/fetchSongsActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/actions/fetchSongsActions.js -------------------------------------------------------------------------------- /piano-roll-client/src/actions/songActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/actions/songActions.js -------------------------------------------------------------------------------- /piano-roll-client/src/actions/timeActions.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/actions/timeActions.js -------------------------------------------------------------------------------- /piano-roll-client/src/api/Timer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/api/Timer.js -------------------------------------------------------------------------------- /piano-roll-client/src/api/ToneKeyboardHandler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/api/ToneKeyboardHandler.js -------------------------------------------------------------------------------- /piano-roll-client/src/api/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/api/index.js -------------------------------------------------------------------------------- /piano-roll-client/src/components/Key.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/components/Key.js -------------------------------------------------------------------------------- /piano-roll-client/src/components/Note.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/components/Note.js -------------------------------------------------------------------------------- /piano-roll-client/src/components/NoteSlot.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/components/NoteSlot.js -------------------------------------------------------------------------------- /piano-roll-client/src/components/PianoKeysSidebar.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/components/PianoKeysSidebar.js -------------------------------------------------------------------------------- /piano-roll-client/src/components/PlayHead.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/components/PlayHead.js -------------------------------------------------------------------------------- /piano-roll-client/src/components/SongSelector.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/components/SongSelector.js -------------------------------------------------------------------------------- /piano-roll-client/src/components/TimeBar.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/components/TimeBar.js -------------------------------------------------------------------------------- /piano-roll-client/src/components/TimerClock.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/components/TimerClock.js -------------------------------------------------------------------------------- /piano-roll-client/src/components/TracksHeader.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/components/TracksHeader.js -------------------------------------------------------------------------------- /piano-roll-client/src/concerns/keyboard.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/concerns/keyboard.js -------------------------------------------------------------------------------- /piano-roll-client/src/icons/accordion-outline.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/accordion-outline.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/ff-outline-circle.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/ff-outline-circle.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/flute-outline.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/flute-outline.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/guitar-outline.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/guitar-outline.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/logo.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/metronome-outline.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/metronome-outline.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/microphone-outline.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/microphone-outline.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/mute-outline-circle.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/mute-outline-circle.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/note-outline.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/note-outline.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/pause-outline-circle.svg.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/pause-outline-circle.svg.js -------------------------------------------------------------------------------- /piano-roll-client/src/icons/piano-outline.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/piano-outline.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/play-outline-circle.svg.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/play-outline-circle.svg.js -------------------------------------------------------------------------------- /piano-roll-client/src/icons/recordplayer-outline.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/recordplayer-outline.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/restart-outline-circle.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/restart-outline-circle.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/rw-outline-circle.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/rw-outline-circle.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/settings-eq-outline.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/settings-eq-outline.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/shuffle-outline-circle.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/shuffle-outline-circle.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/skip-b-outline-circle.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/skip-b-outline-circle.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/skip-f-outline-circle.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/skip-f-outline-circle.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/speaker-outline-circle.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/speaker-outline-circle.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/stop-outline-circle.svg.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/stop-outline-circle.svg.js -------------------------------------------------------------------------------- /piano-roll-client/src/icons/tamborine-outline.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/tamborine-outline.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/trumpet-outline.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/trumpet-outline.svg -------------------------------------------------------------------------------- /piano-roll-client/src/icons/xylophone-outline.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/icons/xylophone-outline.svg -------------------------------------------------------------------------------- /piano-roll-client/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/index.css -------------------------------------------------------------------------------- /piano-roll-client/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/index.js -------------------------------------------------------------------------------- /piano-roll-client/src/reducers/fetchSongReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/reducers/fetchSongReducer.js -------------------------------------------------------------------------------- /piano-roll-client/src/reducers/fetchSongsReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/reducers/fetchSongsReducer.js -------------------------------------------------------------------------------- /piano-roll-client/src/reducers/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/reducers/index.js -------------------------------------------------------------------------------- /piano-roll-client/src/reducers/instrumentsReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/reducers/instrumentsReducer.js -------------------------------------------------------------------------------- /piano-roll-client/src/reducers/musicReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/reducers/musicReducer.js -------------------------------------------------------------------------------- /piano-roll-client/src/reducers/notesReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/reducers/notesReducer.js -------------------------------------------------------------------------------- /piano-roll-client/src/reducers/playersReducers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/reducers/playersReducers.js -------------------------------------------------------------------------------- /piano-roll-client/src/reducers/reducerUtilities.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/reducers/reducerUtilities.js -------------------------------------------------------------------------------- /piano-roll-client/src/reducers/timeReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/reducers/timeReducer.js -------------------------------------------------------------------------------- /piano-roll-client/src/reducers/tracksReducer.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/reducers/tracksReducer.js -------------------------------------------------------------------------------- /piano-roll-client/src/registerServiceWorker.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/registerServiceWorker.js -------------------------------------------------------------------------------- /piano-roll-client/src/selectors/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/selectors/index.js -------------------------------------------------------------------------------- /piano-roll-client/src/selectors/noteSlotsSelectors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/selectors/noteSlotsSelectors.js -------------------------------------------------------------------------------- /piano-roll-client/src/selectors/notesSelectors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/drumnation/react-midi-sequencer/HEAD/piano-roll-client/src/selectors/notesSelectors.js --------------------------------------------------------------------------------