├── .github ├── FUNDING.yml └── workflows │ └── build_ghpages.yml ├── .gitignore ├── .gitignore.ghpages ├── README.md ├── audio └── piano │ ├── a1.mp3 │ ├── a2.mp3 │ ├── a3.mp3 │ ├── a4.mp3 │ ├── a5.mp3 │ ├── a6.mp3 │ └── a7.mp3 ├── examples ├── adventure.json ├── chronotrigger.json ├── dontstarve.json ├── isaac.json ├── jimmyneutron.json ├── letitgo.json ├── mozartk453.json ├── rollercoaster.json └── whensomebodylovedme.json ├── index.html ├── package.json ├── run_local_server.bat ├── src ├── App.tsx ├── MenuEdit.tsx ├── MenuFile.tsx ├── MenuWindow.tsx ├── PlaybackToolbar.tsx ├── command │ ├── command.ts │ ├── convertNotesToChords.ts │ ├── file.ts │ ├── history.ts │ ├── index.ts │ └── playback.ts ├── dockable │ ├── Container.tsx │ ├── _global.ts │ ├── index.ts │ └── state.ts ├── main.js ├── menubar │ ├── Item.tsx │ ├── Root.tsx │ └── index.ts ├── playback │ ├── _global.ts │ ├── index.ts │ ├── instrument.ts │ ├── instrumentBasic.ts │ ├── instrumentSflib.ts │ ├── projectFeed.ts │ ├── sflib.ts │ └── synthManager.ts ├── popup │ ├── Button.tsx │ ├── Divider.tsx │ ├── Root.tsx │ ├── _global.ts │ └── index.ts ├── prefs │ ├── _global.ts │ ├── index.ts │ └── prefs.ts ├── project │ ├── _global.ts │ ├── elem.ts │ ├── index.ts │ ├── jsonExport.ts │ ├── jsonImport.ts │ ├── measures.ts │ ├── midiExport.ts │ ├── midiImport.ts │ └── root.ts ├── theory │ ├── chord.ts │ ├── index.ts │ ├── key.ts │ ├── meter.ts │ ├── pitch.ts │ ├── pitchName.ts │ ├── scale.ts │ ├── test.ts │ └── utils.ts ├── timeline │ ├── Element.tsx │ ├── index.ts │ ├── state.ts │ ├── state_keyDown.ts │ ├── state_keyUp.ts │ ├── state_mouseDown.ts │ ├── state_mouseDrag.ts │ ├── state_mouseMove.ts │ ├── state_mouseUp.tsx │ ├── state_mouseWheel.ts │ ├── state_render.ts │ ├── track.tsx │ ├── trackChords.tsx │ ├── trackKeyChanges.tsx │ ├── trackMeterChanges.tsx │ ├── trackNoteBlocks.tsx │ ├── trackNoteVelocities.tsx │ ├── trackNoteVolumes.tsx │ └── trackNotes.tsx ├── types.ts ├── ui │ ├── Button.tsx │ ├── ButtonList.tsx │ ├── ChordButton.tsx │ ├── Dial.tsx │ ├── DropdownMenu.tsx │ ├── Input.tsx │ ├── ListBox.tsx │ ├── LoadingBar.tsx │ └── index.ts ├── util │ ├── async.ts │ ├── binaryReader.ts │ ├── binarySearch.ts │ ├── binaryWriter.ts │ ├── canvasUtils.ts │ ├── globalObservable.ts │ ├── listOfPoints.ts │ ├── listOfRanges.ts │ ├── mathUtils.ts │ ├── midi.ts │ ├── misc.ts │ ├── range.ts │ ├── rational.ts │ ├── rect.ts │ ├── refState.ts │ └── wavEncode.ts └── windows │ ├── Inspector.tsx │ ├── InspectorChord.tsx │ ├── InspectorKeyChange.tsx │ ├── InspectorMeterChange.tsx │ ├── InspectorMultitype.tsx │ ├── InspectorTrack.tsx │ ├── InstrumentSelect.tsx │ ├── Render.tsx │ ├── Test.tsx │ ├── Timeline.tsx │ └── index.ts ├── src_old ├── App.tsx ├── AppContext.ts ├── AppState.ts ├── editor │ ├── editor.js │ ├── track.js │ ├── trackChords.js │ ├── trackMarkers.js │ └── trackNotes.js ├── editor2 │ ├── EditorContent.tsx │ ├── InspectorContent.tsx │ ├── TrackInstrumentContent.tsx │ ├── TrackPopup.tsx │ ├── editor.ts │ ├── editorState.ts │ ├── track.ts │ ├── trackKeyChanges.ts │ ├── trackKeyChangesState.ts │ ├── trackMeterChanges.ts │ ├── trackMeterChangesState.ts │ ├── trackNotes.ts │ ├── trackNotesPreview.ts │ ├── trackNotesPreviewState.ts │ ├── trackNotesState.ts │ ├── trackState.ts │ └── trackStateManager.ts ├── playback │ ├── PlaybackController.ts │ ├── instrumentSflib.ts │ ├── library.ts │ ├── libraryCache.ts │ ├── sflibWorklet.ts │ ├── synth.ts │ └── synthFeed.ts ├── popup │ ├── MenuBar.tsx │ ├── MenuFilePopup.tsx │ └── PlaybackToolbox.tsx ├── project │ ├── ioCompressedStr.js │ ├── ioJson.js │ ├── ioMidi.js │ ├── ioMidi.ts │ ├── playbackSynth.js │ ├── project.js │ └── project2.ts ├── synth │ ├── instrument.js │ └── synth.js ├── test.ts └── toolbox │ ├── App.js │ ├── ButtonList.tsx │ ├── DropdownMenu.tsx │ ├── ListBox.tsx │ ├── PlaybackController.js │ ├── Ribbon.js │ ├── ToolboxChord.js │ ├── ToolboxEdit.js │ ├── ToolboxFile.js │ ├── ToolboxInput.js │ ├── ToolboxMarkers.js │ ├── ToolboxNote.js │ └── ToolboxPlayback.js ├── tsconfig.json ├── watch.bat └── webpack.config.cjs /.github/FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/.github/FUNDING.yml -------------------------------------------------------------------------------- /.github/workflows/build_ghpages.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/.github/workflows/build_ghpages.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | /build/ 3 | /library/ -------------------------------------------------------------------------------- /.gitignore.ghpages: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | /library/ -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/README.md -------------------------------------------------------------------------------- /audio/piano/a1.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/audio/piano/a1.mp3 -------------------------------------------------------------------------------- /audio/piano/a2.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/audio/piano/a2.mp3 -------------------------------------------------------------------------------- /audio/piano/a3.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/audio/piano/a3.mp3 -------------------------------------------------------------------------------- /audio/piano/a4.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/audio/piano/a4.mp3 -------------------------------------------------------------------------------- /audio/piano/a5.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/audio/piano/a5.mp3 -------------------------------------------------------------------------------- /audio/piano/a6.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/audio/piano/a6.mp3 -------------------------------------------------------------------------------- /audio/piano/a7.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/audio/piano/a7.mp3 -------------------------------------------------------------------------------- /examples/adventure.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/examples/adventure.json -------------------------------------------------------------------------------- /examples/chronotrigger.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/examples/chronotrigger.json -------------------------------------------------------------------------------- /examples/dontstarve.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/examples/dontstarve.json -------------------------------------------------------------------------------- /examples/isaac.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/examples/isaac.json -------------------------------------------------------------------------------- /examples/jimmyneutron.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/examples/jimmyneutron.json -------------------------------------------------------------------------------- /examples/letitgo.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/examples/letitgo.json -------------------------------------------------------------------------------- /examples/mozartk453.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/examples/mozartk453.json -------------------------------------------------------------------------------- /examples/rollercoaster.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/examples/rollercoaster.json -------------------------------------------------------------------------------- /examples/whensomebodylovedme.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/examples/whensomebodylovedme.json -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/index.html -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/package.json -------------------------------------------------------------------------------- /run_local_server.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/run_local_server.bat -------------------------------------------------------------------------------- /src/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/App.tsx -------------------------------------------------------------------------------- /src/MenuEdit.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/MenuEdit.tsx -------------------------------------------------------------------------------- /src/MenuFile.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/MenuFile.tsx -------------------------------------------------------------------------------- /src/MenuWindow.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/MenuWindow.tsx -------------------------------------------------------------------------------- /src/PlaybackToolbar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/PlaybackToolbar.tsx -------------------------------------------------------------------------------- /src/command/command.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/command/command.ts -------------------------------------------------------------------------------- /src/command/convertNotesToChords.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/command/convertNotesToChords.ts -------------------------------------------------------------------------------- /src/command/file.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/command/file.ts -------------------------------------------------------------------------------- /src/command/history.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/command/history.ts -------------------------------------------------------------------------------- /src/command/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/command/index.ts -------------------------------------------------------------------------------- /src/command/playback.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/command/playback.ts -------------------------------------------------------------------------------- /src/dockable/Container.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/dockable/Container.tsx -------------------------------------------------------------------------------- /src/dockable/_global.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/dockable/_global.ts -------------------------------------------------------------------------------- /src/dockable/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/dockable/index.ts -------------------------------------------------------------------------------- /src/dockable/state.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/dockable/state.ts -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/main.js -------------------------------------------------------------------------------- /src/menubar/Item.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/menubar/Item.tsx -------------------------------------------------------------------------------- /src/menubar/Root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/menubar/Root.tsx -------------------------------------------------------------------------------- /src/menubar/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/menubar/index.ts -------------------------------------------------------------------------------- /src/playback/_global.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/playback/_global.ts -------------------------------------------------------------------------------- /src/playback/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/playback/index.ts -------------------------------------------------------------------------------- /src/playback/instrument.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/playback/instrument.ts -------------------------------------------------------------------------------- /src/playback/instrumentBasic.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/playback/instrumentBasic.ts -------------------------------------------------------------------------------- /src/playback/instrumentSflib.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/playback/instrumentSflib.ts -------------------------------------------------------------------------------- /src/playback/projectFeed.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/playback/projectFeed.ts -------------------------------------------------------------------------------- /src/playback/sflib.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/playback/sflib.ts -------------------------------------------------------------------------------- /src/playback/synthManager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/playback/synthManager.ts -------------------------------------------------------------------------------- /src/popup/Button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/popup/Button.tsx -------------------------------------------------------------------------------- /src/popup/Divider.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/popup/Divider.tsx -------------------------------------------------------------------------------- /src/popup/Root.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/popup/Root.tsx -------------------------------------------------------------------------------- /src/popup/_global.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/popup/_global.ts -------------------------------------------------------------------------------- /src/popup/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/popup/index.ts -------------------------------------------------------------------------------- /src/prefs/_global.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/prefs/_global.ts -------------------------------------------------------------------------------- /src/prefs/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/prefs/index.ts -------------------------------------------------------------------------------- /src/prefs/prefs.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/prefs/prefs.ts -------------------------------------------------------------------------------- /src/project/_global.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/project/_global.ts -------------------------------------------------------------------------------- /src/project/elem.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/project/elem.ts -------------------------------------------------------------------------------- /src/project/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/project/index.ts -------------------------------------------------------------------------------- /src/project/jsonExport.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/project/jsonExport.ts -------------------------------------------------------------------------------- /src/project/jsonImport.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/project/jsonImport.ts -------------------------------------------------------------------------------- /src/project/measures.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/project/measures.ts -------------------------------------------------------------------------------- /src/project/midiExport.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/project/midiExport.ts -------------------------------------------------------------------------------- /src/project/midiImport.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/project/midiImport.ts -------------------------------------------------------------------------------- /src/project/root.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/project/root.ts -------------------------------------------------------------------------------- /src/theory/chord.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/theory/chord.ts -------------------------------------------------------------------------------- /src/theory/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/theory/index.ts -------------------------------------------------------------------------------- /src/theory/key.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/theory/key.ts -------------------------------------------------------------------------------- /src/theory/meter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/theory/meter.ts -------------------------------------------------------------------------------- /src/theory/pitch.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/theory/pitch.ts -------------------------------------------------------------------------------- /src/theory/pitchName.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/theory/pitchName.ts -------------------------------------------------------------------------------- /src/theory/scale.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/theory/scale.ts -------------------------------------------------------------------------------- /src/theory/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/theory/test.ts -------------------------------------------------------------------------------- /src/theory/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/theory/utils.ts -------------------------------------------------------------------------------- /src/timeline/Element.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/Element.tsx -------------------------------------------------------------------------------- /src/timeline/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/index.ts -------------------------------------------------------------------------------- /src/timeline/state.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/state.ts -------------------------------------------------------------------------------- /src/timeline/state_keyDown.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/state_keyDown.ts -------------------------------------------------------------------------------- /src/timeline/state_keyUp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/state_keyUp.ts -------------------------------------------------------------------------------- /src/timeline/state_mouseDown.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/state_mouseDown.ts -------------------------------------------------------------------------------- /src/timeline/state_mouseDrag.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/state_mouseDrag.ts -------------------------------------------------------------------------------- /src/timeline/state_mouseMove.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/state_mouseMove.ts -------------------------------------------------------------------------------- /src/timeline/state_mouseUp.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/state_mouseUp.tsx -------------------------------------------------------------------------------- /src/timeline/state_mouseWheel.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/state_mouseWheel.ts -------------------------------------------------------------------------------- /src/timeline/state_render.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/state_render.ts -------------------------------------------------------------------------------- /src/timeline/track.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/track.tsx -------------------------------------------------------------------------------- /src/timeline/trackChords.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/trackChords.tsx -------------------------------------------------------------------------------- /src/timeline/trackKeyChanges.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/trackKeyChanges.tsx -------------------------------------------------------------------------------- /src/timeline/trackMeterChanges.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/trackMeterChanges.tsx -------------------------------------------------------------------------------- /src/timeline/trackNoteBlocks.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/trackNoteBlocks.tsx -------------------------------------------------------------------------------- /src/timeline/trackNoteVelocities.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/trackNoteVelocities.tsx -------------------------------------------------------------------------------- /src/timeline/trackNoteVolumes.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/trackNoteVolumes.tsx -------------------------------------------------------------------------------- /src/timeline/trackNotes.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/timeline/trackNotes.tsx -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/ui/Button.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/ui/Button.tsx -------------------------------------------------------------------------------- /src/ui/ButtonList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/ui/ButtonList.tsx -------------------------------------------------------------------------------- /src/ui/ChordButton.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/ui/ChordButton.tsx -------------------------------------------------------------------------------- /src/ui/Dial.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/ui/Dial.tsx -------------------------------------------------------------------------------- /src/ui/DropdownMenu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/ui/DropdownMenu.tsx -------------------------------------------------------------------------------- /src/ui/Input.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/ui/Input.tsx -------------------------------------------------------------------------------- /src/ui/ListBox.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/ui/ListBox.tsx -------------------------------------------------------------------------------- /src/ui/LoadingBar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/ui/LoadingBar.tsx -------------------------------------------------------------------------------- /src/ui/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/ui/index.ts -------------------------------------------------------------------------------- /src/util/async.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/util/async.ts -------------------------------------------------------------------------------- /src/util/binaryReader.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/util/binaryReader.ts -------------------------------------------------------------------------------- /src/util/binarySearch.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/util/binarySearch.ts -------------------------------------------------------------------------------- /src/util/binaryWriter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/util/binaryWriter.ts -------------------------------------------------------------------------------- /src/util/canvasUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/util/canvasUtils.ts -------------------------------------------------------------------------------- /src/util/globalObservable.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/util/globalObservable.ts -------------------------------------------------------------------------------- /src/util/listOfPoints.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/util/listOfPoints.ts -------------------------------------------------------------------------------- /src/util/listOfRanges.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/util/listOfRanges.ts -------------------------------------------------------------------------------- /src/util/mathUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/util/mathUtils.ts -------------------------------------------------------------------------------- /src/util/midi.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/util/midi.ts -------------------------------------------------------------------------------- /src/util/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/util/misc.ts -------------------------------------------------------------------------------- /src/util/range.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/util/range.ts -------------------------------------------------------------------------------- /src/util/rational.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/util/rational.ts -------------------------------------------------------------------------------- /src/util/rect.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/util/rect.ts -------------------------------------------------------------------------------- /src/util/refState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/util/refState.ts -------------------------------------------------------------------------------- /src/util/wavEncode.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/util/wavEncode.ts -------------------------------------------------------------------------------- /src/windows/Inspector.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/windows/Inspector.tsx -------------------------------------------------------------------------------- /src/windows/InspectorChord.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/windows/InspectorChord.tsx -------------------------------------------------------------------------------- /src/windows/InspectorKeyChange.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/windows/InspectorKeyChange.tsx -------------------------------------------------------------------------------- /src/windows/InspectorMeterChange.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/windows/InspectorMeterChange.tsx -------------------------------------------------------------------------------- /src/windows/InspectorMultitype.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/windows/InspectorMultitype.tsx -------------------------------------------------------------------------------- /src/windows/InspectorTrack.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/windows/InspectorTrack.tsx -------------------------------------------------------------------------------- /src/windows/InstrumentSelect.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/windows/InstrumentSelect.tsx -------------------------------------------------------------------------------- /src/windows/Render.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/windows/Render.tsx -------------------------------------------------------------------------------- /src/windows/Test.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/windows/Test.tsx -------------------------------------------------------------------------------- /src/windows/Timeline.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/windows/Timeline.tsx -------------------------------------------------------------------------------- /src/windows/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src/windows/index.ts -------------------------------------------------------------------------------- /src_old/App.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/App.tsx -------------------------------------------------------------------------------- /src_old/AppContext.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/AppContext.ts -------------------------------------------------------------------------------- /src_old/AppState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/AppState.ts -------------------------------------------------------------------------------- /src_old/editor/editor.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor/editor.js -------------------------------------------------------------------------------- /src_old/editor/track.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor/track.js -------------------------------------------------------------------------------- /src_old/editor/trackChords.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor/trackChords.js -------------------------------------------------------------------------------- /src_old/editor/trackMarkers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor/trackMarkers.js -------------------------------------------------------------------------------- /src_old/editor/trackNotes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor/trackNotes.js -------------------------------------------------------------------------------- /src_old/editor2/EditorContent.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor2/EditorContent.tsx -------------------------------------------------------------------------------- /src_old/editor2/InspectorContent.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor2/InspectorContent.tsx -------------------------------------------------------------------------------- /src_old/editor2/TrackInstrumentContent.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor2/TrackInstrumentContent.tsx -------------------------------------------------------------------------------- /src_old/editor2/TrackPopup.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor2/TrackPopup.tsx -------------------------------------------------------------------------------- /src_old/editor2/editor.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor2/editor.ts -------------------------------------------------------------------------------- /src_old/editor2/editorState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor2/editorState.ts -------------------------------------------------------------------------------- /src_old/editor2/track.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor2/track.ts -------------------------------------------------------------------------------- /src_old/editor2/trackKeyChanges.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor2/trackKeyChanges.ts -------------------------------------------------------------------------------- /src_old/editor2/trackKeyChangesState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor2/trackKeyChangesState.ts -------------------------------------------------------------------------------- /src_old/editor2/trackMeterChanges.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor2/trackMeterChanges.ts -------------------------------------------------------------------------------- /src_old/editor2/trackMeterChangesState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor2/trackMeterChangesState.ts -------------------------------------------------------------------------------- /src_old/editor2/trackNotes.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor2/trackNotes.ts -------------------------------------------------------------------------------- /src_old/editor2/trackNotesPreview.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor2/trackNotesPreview.ts -------------------------------------------------------------------------------- /src_old/editor2/trackNotesPreviewState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor2/trackNotesPreviewState.ts -------------------------------------------------------------------------------- /src_old/editor2/trackNotesState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor2/trackNotesState.ts -------------------------------------------------------------------------------- /src_old/editor2/trackState.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor2/trackState.ts -------------------------------------------------------------------------------- /src_old/editor2/trackStateManager.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/editor2/trackStateManager.ts -------------------------------------------------------------------------------- /src_old/playback/PlaybackController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/playback/PlaybackController.ts -------------------------------------------------------------------------------- /src_old/playback/instrumentSflib.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/playback/instrumentSflib.ts -------------------------------------------------------------------------------- /src_old/playback/library.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/playback/library.ts -------------------------------------------------------------------------------- /src_old/playback/libraryCache.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/playback/libraryCache.ts -------------------------------------------------------------------------------- /src_old/playback/sflibWorklet.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/playback/sflibWorklet.ts -------------------------------------------------------------------------------- /src_old/playback/synth.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/playback/synth.ts -------------------------------------------------------------------------------- /src_old/playback/synthFeed.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/playback/synthFeed.ts -------------------------------------------------------------------------------- /src_old/popup/MenuBar.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/popup/MenuBar.tsx -------------------------------------------------------------------------------- /src_old/popup/MenuFilePopup.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/popup/MenuFilePopup.tsx -------------------------------------------------------------------------------- /src_old/popup/PlaybackToolbox.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/popup/PlaybackToolbox.tsx -------------------------------------------------------------------------------- /src_old/project/ioCompressedStr.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/project/ioCompressedStr.js -------------------------------------------------------------------------------- /src_old/project/ioJson.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/project/ioJson.js -------------------------------------------------------------------------------- /src_old/project/ioMidi.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/project/ioMidi.js -------------------------------------------------------------------------------- /src_old/project/ioMidi.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/project/ioMidi.ts -------------------------------------------------------------------------------- /src_old/project/playbackSynth.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/project/playbackSynth.js -------------------------------------------------------------------------------- /src_old/project/project.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/project/project.js -------------------------------------------------------------------------------- /src_old/project/project2.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/project/project2.ts -------------------------------------------------------------------------------- /src_old/synth/instrument.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/synth/instrument.js -------------------------------------------------------------------------------- /src_old/synth/synth.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/synth/synth.js -------------------------------------------------------------------------------- /src_old/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/test.ts -------------------------------------------------------------------------------- /src_old/toolbox/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/toolbox/App.js -------------------------------------------------------------------------------- /src_old/toolbox/ButtonList.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/toolbox/ButtonList.tsx -------------------------------------------------------------------------------- /src_old/toolbox/DropdownMenu.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/toolbox/DropdownMenu.tsx -------------------------------------------------------------------------------- /src_old/toolbox/ListBox.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/toolbox/ListBox.tsx -------------------------------------------------------------------------------- /src_old/toolbox/PlaybackController.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/toolbox/PlaybackController.js -------------------------------------------------------------------------------- /src_old/toolbox/Ribbon.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/toolbox/Ribbon.js -------------------------------------------------------------------------------- /src_old/toolbox/ToolboxChord.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/toolbox/ToolboxChord.js -------------------------------------------------------------------------------- /src_old/toolbox/ToolboxEdit.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/toolbox/ToolboxEdit.js -------------------------------------------------------------------------------- /src_old/toolbox/ToolboxFile.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/toolbox/ToolboxFile.js -------------------------------------------------------------------------------- /src_old/toolbox/ToolboxInput.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/toolbox/ToolboxInput.js -------------------------------------------------------------------------------- /src_old/toolbox/ToolboxMarkers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/toolbox/ToolboxMarkers.js -------------------------------------------------------------------------------- /src_old/toolbox/ToolboxNote.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/toolbox/ToolboxNote.js -------------------------------------------------------------------------------- /src_old/toolbox/ToolboxPlayback.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/src_old/toolbox/ToolboxPlayback.js -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/tsconfig.json -------------------------------------------------------------------------------- /watch.bat: -------------------------------------------------------------------------------- 1 | npm run watch -------------------------------------------------------------------------------- /webpack.config.cjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hlorenzi/theorytracker/HEAD/webpack.config.cjs --------------------------------------------------------------------------------