text/html||{"project": {"path": "/srv/git/pagan", "authors": {"smith.quintin@protonmail.com": {"alias": "Quintin F Smith", "email": "smith.quintin@protonmail.com"}, "Korb@users.noreply.github.com": {"alias": "Korb", "email": "Korb@users.noreply.github.com"}, "1441301575@qq.com": {"alias": "gjh", "email": "1441301575@qq.com"}}}, "commits": {"47f476b6cadeaf6daff2314c5eedc5da92340101": {"id": "47f476b6cadeaf6daff2314c5eedc5da92340101", "date": 1783054813.0, "description": "midi2 clip parsing", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectToMIDIConverter.kt"], ["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "2cb3ccec5b21a0ea9114575214add39b74693e35": {"id": "2cb3ccec5b21a0ea9114575214add39b74693e35", "date": 1783005781.0, "description": "starting on Midi clip parsing", "files": [["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "a0942c8f14ec697719611bb9728710deafef8c29": {"id": "a0942c8f14ec697719611bb9728710deafef8c29", "date": 1782920840.0, "description": "fixed to_bytes in NoteOn79, FlexDataMessage", "files": [["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "f10f5e8167b624a3b9c7b11294875fcf15f19f27": {"id": "f10f5e8167b624a3b9c7b11294875fcf15f19f27", "date": 1782833601.0, "description": "working on valid midi2 export", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectToMIDIConverter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ChannelVoiceMessage.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "5907e41cfe1c7490b71cdf925992e8bf2ddacc00": {"id": "5907e41cfe1c7490b71cdf925992e8bf2ddacc00", "date": 1782779023.0, "description": "midi1 converter rebuilt", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectToMIDIConverter.kt"], ["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"]], "author": "smith.quintin@protonmail.com"}, "251bebb93aef2310e0f23758f2d0a4c5963b501e": {"id": "251bebb93aef2310e0f23758f2d0a4c5963b501e", "date": 1782748474.0, "description": "created intermediate Events for MIDI Conversion. Separated get_midi() from OpusLayerBase", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["A", "app/src/main/java/com/qfs/pagan/ProjectToMIDIConverter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Text.kt"], ["M", "app/src/main/java/com/qfs/apres/event/MIDIEvent.kt"]], "author": "smith.quintin@protonmail.com"}, "705382f67770fc5480c7da6c231cc839e14d8793": {"id": "705382f67770fc5480c7da6c231cc839e14d8793", "date": 1782671333.0, "description": "adjusted flex message to handle multiple packets", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Text.kt"], ["M", "app/src/main/java/com/qfs/apres/event/MIDIEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/event/CopyRightNotice.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ChannelVoiceMessage.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "323b396ec849cd5739a264cef4097644c248f80c": {"id": "323b396ec849cd5739a264cef4097644c248f80c", "date": 1782514029.0, "description": "fastlane update / version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/158.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "acf0fe75e9a5d95ba6582be88ea2bd382db8054a": {"id": "acf0fe75e9a5d95ba6582be88ea2bd382db8054a", "date": 1782507529.0, "description": "unused color to transparent (from magenta)", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/PaganColorScheme.kt"]], "author": "smith.quintin@protonmail.com"}, "8b45108338eebfb0ae7318d1e0192da9826242cf": {"id": "8b45108338eebfb0ae7318d1e0192da9826242cf", "date": 1782507209.0, "description": "fill insets with appbackground", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "d34c299f1d28332a29f825f3aaed3cd9db136636": {"id": "d34c299f1d28332a29f825f3aaed3cd9db136636", "date": 1782505238.0, "description": "remove debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"]], "author": "smith.quintin@protonmail.com"}, "07023d775f2cc64ad3dc7e610ef49af5b769d649": {"id": "07023d775f2cc64ad3dc7e610ef49af5b769d649", "date": 1782505199.0, "description": "persistent load menu sorting", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "26158c0ffb36b30a9e9a3f830884c24a6502b086": {"id": "26158c0ffb36b30a9e9a3f830884c24a6502b086", "date": 1782502470.0, "description": "clean up configuration  management", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "f1a259950deff5e31abbcd977d1b5aee4023c938": {"id": "f1a259950deff5e31abbcd977d1b5aee4023c938", "date": 1782487985.0, "description": "inprogress - cleaning up config between intents", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DialogMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "faaca82f6847915fa06b56b1283b029fd148033c": {"id": "faaca82f6847915fa06b56b1283b029fd148033c", "date": 1782483821.0, "description": "reset zoom level on project change", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "fad3b2844449c7d00c2e04898b9258d2c72735fc": {"id": "fad3b2844449c7d00c2e04898b9258d2c72735fc", "date": 1782431722.0, "description": "remove unused imports", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/table/LineLabelView.kt"]], "author": "smith.quintin@protonmail.com"}, "65ddc1c8bc034c49637583e73fd18b270ee09a9a": {"id": "65ddc1c8bc034c49637583e73fd18b270ee09a9a", "date": 1782430353.0, "description": "renamed IntegerInputDialog to IntegerInputDropDown. Moved LineLabel Repeat Dropdown so it can shift when keyboard appears", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/table/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/IntegerInputDialog.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/IntegerInputDropDown.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/AndroidManifest.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "db9d7b254dc54914bcb773be1ac62549d6f37e53": {"id": "db9d7b254dc54914bcb773be1ac62549d6f37e53", "date": 1782426625.0, "description": "rearranged RangeContextMenu", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "ac4bccc18f03aef6274150108b8ea680bf8e212c": {"id": "ac4bccc18f03aef6274150108b8ea680bf8e212c", "date": 1782401357.0, "description": "work on allowing soundfonts without soundfont directory set", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "eef6b7f1a60bac41d3d84e10538ab16cb50a090d": {"id": "eef6b7f1a60bac41d3d84e10538ab16cb50a090d", "date": 1782337420.0, "description": "reduce drawer title size", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"]], "author": "smith.quintin@protonmail.com"}, "a6fc531a665ba33ff0af16253eec54e2d5ba928c": {"id": "a6fc531a665ba33ff0af16253eec54e2d5ba928c", "date": 1782337019.0, "description": "increase drawer title size", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "5e98bd69b28936bbd5417da04aefdcd5dee62888": {"id": "5e98bd69b28936bbd5417da04aefdcd5dee62888", "date": 1782334281.0, "description": "increased dialog menu item size. added missed number picker color in dark theme", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/PaganColorScheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DialogCard.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "f70165aa3ee14d97fe2e4d6392f547e9df201188": {"id": "f70165aa3ee14d97fe2e4d6392f547e9df201188", "date": 1782333268.0, "description": "separated typography from material theme", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/PaganColorScheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/wrappers/DropdownMenuItem.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/wrappers/CircularProgressIndicator.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/TableLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/ShortcutView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/TuningDialog.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/TextInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SoundfontLoadingIndicator.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SoundFontWarning.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/RadioMenu.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/PaganTheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/NumberPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/NumberInput.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/NumberSelector.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/NotePicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DialogCard.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"]], "author": "smith.quintin@protonmail.com"}, "d7b5c63b2f0f2e13156bfec4a908d6aeeaec3bf0": {"id": "d7b5c63b2f0f2e13156bfec4a908d6aeeaec3bf0", "date": 1782322114.0, "description": "wide-beat-slider selection state includes is_secondary", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/PaganColorScheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "0f1d4332a0b54465903a7d465b07fb36863402a0": {"id": "0f1d4332a0b54465903a7d465b07fb36863402a0", "date": 1782314469.0, "description": "removing usage of MaterialTheme.typography", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DialogCard.kt"]], "author": "smith.quintin@protonmail.com"}, "3f0d0b8554f6fe7651affd6c6a6499e7b865862b": {"id": "3f0d0b8554f6fe7651affd6c6a6499e7b865862b", "date": 1782312032.0, "description": "added missed color to tiny tuning dialog", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/TuningDialog.kt"]], "author": "smith.quintin@protonmail.com"}, "5b1b9ca1df37882322dcea58c5207b11a6e1d346": {"id": "5b1b9ca1df37882322dcea58c5207b11a6e1d346", "date": 1782311554.0, "description": "fixed ns alt color", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/PaganColorScheme.kt"]], "author": "smith.quintin@protonmail.com"}, "75b264ccb20d76feefa097e7a2df8bcfe3f254f8": {"id": "75b264ccb20d76feefa097e7a2df8bcfe3f254f8", "date": 1782311040.0, "description": "added Declicker testTag", "files": [["M", "app/src/main/java/com/qfs/pagan/TestTag.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "335f9fe58287695402879aa3a805423577810cd9": {"id": "335f9fe58287695402879aa3a805423577810cd9", "date": 1782271361.0, "description": "update orientation when it's changed in settings", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "4f377501a1d30604f6f6a7599345586c7a7836b4": {"id": "4f377501a1d30604f6f6a7599345586c7a7836b4", "date": 1782271041.0, "description": "rough 4-shade color scheme started", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/PaganColorScheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "99e8f08d8212387f2738e556974088c0336f3d52": {"id": "99e8f08d8212387f2738e556974088c0336f3d52", "date": 1782267099.0, "description": "moved Colors.active_color_scheme into mutable state", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"]], "author": "smith.quintin@protonmail.com"}, "7b893bb630c5c27400b6fe21c615604983f73c0a": {"id": "7b893bb630c5c27400b6fe21c615604983f73c0a", "date": 1782261699.0, "description": "applied colors to hex display in ColorPicker", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/ColorPicker.kt"]], "author": "smith.quintin@protonmail.com"}, "fd1e67452abbf517131ccb9a3e3324b033f30d39": {"id": "fd1e67452abbf517131ccb9a3e3324b033f30d39", "date": 1782261292.0, "description": "tinted repeat selection button", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/table/LineLabelView.kt"]], "author": "smith.quintin@protonmail.com"}, "cc8880a49ffde4f45b17a5014b8f8bd4cbb5fd3e": {"id": "cc8880a49ffde4f45b17a5014b8f8bd4cbb5fd3e", "date": 1782260742.0, "description": "force foreground color in all layouts. fix table line color in label buttons. removed background on textfields", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/PaganColorScheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "7c584232cc76d8f61e84e7210f404494c18e9d56": {"id": "7c584232cc76d8f61e84e7210f404494c18e9d56", "date": 1782259918.0, "description": "removed material theme color palette", "files": [["D", "app/src/main/java/com/qfs/pagan/composable/ColorScheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["D", "app/src/main/java/com/qfs/pagan/Color.kt"]], "author": "smith.quintin@protonmail.com"}, "787c2963b83dcf6a91905dc5052f7d9c363accc5": {"id": "787c2963b83dcf6a91905dc5052f7d9c363accc5", "date": 1782259866.0, "description": "Dark Theme reimplemented", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/PaganColorScheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/PaganTheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "01c4ca60feea21bf62c3af9208dfc80c515d286c": {"id": "01c4ca60feea21bf62c3af9208dfc80c515d286c", "date": 1782254337.0, "description": "more color consolidation", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/PaganColorScheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/ShortcutView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/TuningDialog.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SoundFontWarning.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/PaganDialog.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/NumberPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DialogCard.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ColorPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "13ffb9caedba635b0b2a4d539050a8ac04053885": {"id": "13ffb9caedba635b0b2a4d539050a8ac04053885", "date": 1782253911.0, "description": "fix mismatched values in Velocity Widget", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"]], "author": "smith.quintin@protonmail.com"}, "8a6719d59bf6153399a846bf824ddf1f9e97aef1": {"id": "8a6719d59bf6153399a846bf824ddf1f9e97aef1", "date": 1782246754.0, "description": "more tweaks to pan controller UI", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetPan.kt"]], "author": "smith.quintin@protonmail.com"}, "79ac000983a808b91db06079df1daa7941493210": {"id": "79ac000983a808b91db06079df1daa7941493210", "date": 1782245748.0, "description": "tweak to pan controller UI", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetPan.kt"]], "author": "smith.quintin@protonmail.com"}, "9aebe56e74526a237da3278c58cee6409bbee126": {"id": "9aebe56e74526a237da3278c58cee6409bbee126", "date": 1782242686.0, "description": "moved background flair to AppBackground. finish initial consolidation of Coloring", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/PaganColorScheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"], ["A", "app/src/main/java/com/qfs/pagan/ui/theme/AppBackground.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/wrappers/DropdownMenuItem.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/wrappers/DropdownMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/TuningDialog.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/TextInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SoundfontLoadingIndicator.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/PaganTheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DrawerCard.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DialogCard.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "0d434df73e84a400484c9b265ad6a04f5e9a42c1": {"id": "0d434df73e84a400484c9b265ad6a04f5e9a42c1", "date": 1782228098.0, "description": "work on color palette consolidation", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/PaganColorScheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/wrappers/CircularProgressIndicator.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeatSlider.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SoundfontLoadingIndicator.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DialogMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "fb733855bb0790e4d687b5523ba69b4791a0eb78": {"id": "fb733855bb0790e4d687b5523ba69b4791a0eb78", "date": 1782188979.0, "description": "more consolidation of colors", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/PaganColorScheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/wrappers/Switch.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/wrappers/Slider.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/wrappers/DropdownMenuItem.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/TableLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/ShortcutView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/TuningDialog.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/RadioMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/NumberPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/NumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "ded39cc17734b3433d3492fffb3d2a3d7f3543b8": {"id": "ded39cc17734b3433d3492fffb3d2a3d7f3543b8", "date": 1782143623.0, "description": "creating PaganColorScheme data class", "files": [["A", "app/src/main/java/com/qfs/pagan/ui/theme/PaganColorScheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/PaganTheme.kt"]], "author": "smith.quintin@protonmail.com"}, "15744bbe36f6d21fdde15d6bc0af284b9a0cd2b4": {"id": "15744bbe36f6d21fdde15d6bc0af284b9a0cd2b4", "date": 1781997078.0, "description": "added color indication dot on palette button", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/ShortcutView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "1519d2ce9c556148c61b501478e5eeaea3305791": {"id": "1519d2ce9c556148c61b501478e5eeaea3305791", "date": 1781977593.0, "description": "tidying up Color logic", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "c4032ce87ab60b41ae7f0d33dd8d26ecaa9f6c21": {"id": "c4032ce87ab60b41ae7f0d33dd8d26ecaa9f6c21", "date": 1781816887.0, "description": "crashfix: kludge to catch IllegalStateException on AudioTrack.stop()", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "5ec0afbd0740b45db4f62e9539a9cf2bd0cf80c7": {"id": "5ec0afbd0740b45db4f62e9539a9cf2bd0cf80c7", "date": 1781810323.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "bfaebe9964957587b5e7a352e06ae40f3ee1c60e": {"id": "bfaebe9964957587b5e7a352e06ae40f3ee1c60e", "date": 1781667861.0, "description": "Version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/157.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "9f48deae9972f82e925163383404f8a0e95c995c": {"id": "9f48deae9972f82e925163383404f8a0e95c995c", "date": 1781666149.0, "description": "use Configuration to get screen dimensions instead of LocalWindowInfo. resolves #177", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "d5de6109da90c3c5633f7bafe7ebf87fa8ab4362": {"id": "d5de6109da90c3c5633f7bafe7ebf87fa8ab4362", "date": 1781661509.0, "description": "set primary context menu alpha to 0 when keyboard is visible and in Small Landscape Layout", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "d722c7289e8356ff2020eb8d7934ffc679d9b244": {"id": "d722c7289e8356ff2020eb8d7934ffc679d9b244", "date": 1781650792.0, "description": "completed incomplete unset_root_at_cursor(). resolves #180", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "27acb7f0fc1e3ff1ad3baf543fa5f13a7fbca291": {"id": "27acb7f0fc1e3ff1ad3baf543fa5f13a7fbca291", "date": 1781650596.0, "description": "fixed section labels in dropdown. resolves #179", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeatSlider.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ColorPickerDialog.kt"]], "author": "smith.quintin@protonmail.com"}, "c8bb28fc7145842b421f8fa851d92baa603e1e49": {"id": "c8bb28fc7145842b421f8fa851d92baa603e1e49", "date": 1781495908.0, "description": "fixed wonky logic on number inputs re: max/min and invalid characters", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/NumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/IntegerInputDialog.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/IntegerInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/HexInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/FloatInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/Values.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "f253f5b950c36518870aa3d75372ed8a997b79f9": {"id": "f253f5b950c36518870aa3d75372ed8a997b79f9", "date": 1781486641.0, "description": "beat index selector functional (#178)", "files": [["M", "app/src/main/res/values/strings.xml"], ["A", "app/src/main/res/drawable/icon_tag_jump.xml"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/ShortcutView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeatSlider.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "c01a8497e5134407c355a21d314db5f74e209fe4": {"id": "c01a8497e5134407c355a21d314db5f74e209fe4", "date": 1781457921.0, "description": "work on beat selector in context menu per #178", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/ShortcutView.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeatSlider.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "51616cf357899888609dffd315f15f7000981546": {"id": "51616cf357899888609dffd315f15f7000981546", "date": 1781372387.0, "description": "integer inputs using Dropdownmenu instead of Dialog per #178", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/IntegerInputDialog.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "5452449999b361d3664a87059f674fe0ff3df6c4": {"id": "5452449999b361d3664a87059f674fe0ff3df6c4", "date": 1781307681.0, "description": "clear cursor after adjusting range", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"]], "author": "smith.quintin@protonmail.com"}, "2c0e334d70a97e0459b6c5c9ee36330cb555c64f": {"id": "2c0e334d70a97e0459b6c5c9ee36330cb555c64f", "date": 1781243604.0, "description": "keyboard inputs - Beats now Adjustable", "files": [["M", "app/src/main/java/com/qfs/pagan/KeyboardMap.kt"]], "author": "smith.quintin@protonmail.com"}, "554135e72d88b76f54f2f0d8a7c2f0af58924b62": {"id": "554135e72d88b76f54f2f0d8a7c2f0af58924b62", "date": 1781243252.0, "description": "some keyboard inputs", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "66bd3b75a08bac2425eedee4e2df1c64a9acc35a": {"id": "66bd3b75a08bac2425eedee4e2df1c64a9acc35a", "date": 1781159269.0, "description": "keyboard input - set PresetKey controls", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "c7cc9b09e120a8be134086bbf0ee7d068dd4f322": {"id": "c7cc9b09e120a8be134086bbf0ee7d068dd4f322", "date": 1781067817.0, "description": "keyboard controls - append lines in channel mode, mut channel", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "3d41a765e7200327a3bb41fff3e1b32fda50a5a2": {"id": "3d41a765e7200327a3bb41fff3e1b32fda50a5a2", "date": 1780984240.0, "description": "keyboard inputs - channel controls", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "450849d47c519b14467696104a8dbdfa5a2b2e4b": {"id": "450849d47c519b14467696104a8dbdfa5a2b2e4b", "date": 1780767141.0, "description": "readjust column weights after remove rows. resolves #175", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "e2aa9dd4586a907beeefbc0e25343be05ab2f0b4": {"id": "e2aa9dd4586a907beeefbc0e25343be05ab2f0b4", "date": 1780765853.0, "description": "check for ctl_type in cursor_select_range_next()", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "a52f5abc4c94dc14d5c13f1deb954101b452fcd3": {"id": "a52f5abc4c94dc14d5c13f1deb954101b452fcd3", "date": 1780765379.0, "description": "hide AdjustButton when std lines aren't selected. resolves #176", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "32a4aac3edef7e5e3c50b7ce19c95fc43e3334f9": {"id": "32a4aac3edef7e5e3c50b7ce19c95fc43e3334f9", "date": 1780667852.0, "description": "moved check for null in set_duration_at_cursor", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "b11cbf419ad0d3b71d0c6d0eb3a9de1b00a3eb38": {"id": "b11cbf419ad0d3b71d0c6d0eb3a9de1b00a3eb38", "date": 1780636810.0, "description": "fastlane update", "files": [["M", "fastlane/metadata/android/en-US/changelogs/156.txt"]], "author": "smith.quintin@protonmail.com"}, "ad5ad6383338df2fe4cd0a85f2030e85406ed175": {"id": "ad5ad6383338df2fe4cd0a85f2030e85406ed175", "date": 1780636347.0, "description": "update applicationId", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "9cfc61b629ec4530a019d4b751936349a609179a": {"id": "9cfc61b629ec4530a019d4b751936349a609179a", "date": 1780636032.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/156.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "deb10638af40d088fa658d428eb2605136db1354": {"id": "deb10638af40d088fa658d428eb2605136db1354", "date": 1780635188.0, "description": "NumberInput using MutableState<T> instead Of T", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/TuningDialog.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/NumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/IntegerInputDialog.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/IntegerInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/FloatInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "d584c29c1ec65afe3925817888546a78be3f3c43": {"id": "d584c29c1ec65afe3925817888546a78be3f3c43", "date": 1780630056.0, "description": "fixed confirm save dialog not getting closed. resolves #174", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "92375a4f94a789db86e404836950552e62587d55": {"id": "92375a4f94a789db86e404836950552e62587d55", "date": 1780583053.0, "description": "bugfix: Sliders don't always submit the correct value. resolves #173", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "78e47f4e781a576316a52c3ba1c7f4151226eae5": {"id": "78e47f4e781a576316a52c3ba1c7f4151226eae5", "date": 1780549865.0, "description": "Keyboard control work", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "be99b847a515145d2074864cd3cfd439188d090c": {"id": "be99b847a515145d2074864cd3cfd439188d090c", "date": 1780289796.0, "description": "keyboard control - line volume control", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "5982960a55efa9fde94be61ccdd7bc2a30a15342": {"id": "5982960a55efa9fde94be61ccdd7bc2a30a15342", "date": 1780211717.0, "description": "fixed crash on save via confirm when no directory set. resolves #172", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "3ef3698978ad10eed5e827f9f62d80625b321e4c": {"id": "3ef3698978ad10eed5e827f9f62d80625b321e4c", "date": 1780163467.0, "description": "Keyboard Controls - Move Lines around", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/Exception.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "823aeb637d7393daae444efd0edcd82ac26b833a": {"id": "823aeb637d7393daae444efd0edcd82ac26b833a", "date": 1780147776.0, "description": "regression fix. wrap move_line() in try/catch. resloves #171", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "4c84eb6bffc5c1a98fd2efa0b359d73198ff7c28": {"id": "4c84eb6bffc5c1a98fd2efa0b359d73198ff7c28", "date": 1780071974.0, "description": "applicationId update", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "cd2ebc1a46316eed07d2f0b749b709e75f7b824b": {"id": "cd2ebc1a46316eed07d2f0b749b709e75f7b824b", "date": 1780070788.0, "description": "update fastlane changelog", "files": [["M", "fastlane/metadata/android/en-US/changelogs/155.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "001cb67699698cc1a2067fef06cff26c89cb99c0": {"id": "001cb67699698cc1a2067fef06cff26c89cb99c0", "date": 1780068898.0, "description": "Bugfix: Was incorrectly giving profile buffers a size. Resolves #170", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "51a098ec18c6d4c659b218a8d80684d853cb4cf5": {"id": "51a098ec18c6d4c659b218a8d80684d853cb4cf5", "date": 1780066074.0, "description": "bugfix: didn't finish dialog conversion on SoundFontMenu()", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "04637feb76ed53634c95e1043e95322be745e9ff": {"id": "04637feb76ed53634c95e1043e95322be745e9ff", "date": 1780002685.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/155.txt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "06d1f236a214328d3bfc65cfedcb6da0886ba6ce": {"id": "06d1f236a214328d3bfc65cfedcb6da0886ba6ce", "date": 1780002242.0, "description": "prevent feedback noise while soundfonts are switching", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "464680e2506785910b4245aeebc28ca671cdc600": {"id": "464680e2506785910b4245aeebc28ca671cdc600", "date": 1780001221.0, "description": "check for nullptrs in various objects", "files": [["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ProfileBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/JNIObject.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ControllerEventData.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/SampleData.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGenerator.cpp"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "b9afd829812b8306756dab1d2196693df2219acc": {"id": "b9afd829812b8306756dab1d2196693df2219acc", "date": 1779983987.0, "description": "keyboard input -> undo, redo, duplicate/insert/remove lines, adjust line offset/octave", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/Values.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "7b71945319b448302cc35295a32813517b8e5344": {"id": "7b71945319b448302cc35295a32813517b8e5344", "date": 1779980636.0, "description": "ZoomInFull, ZoomOutFull keyboard actions", "files": [["M", "app/src/main/java/com/qfs/pagan/KeyboardMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "64782dbc82370dffb451370c6fcc7010524422cc": {"id": "64782dbc82370dffb451370c6fcc7010524422cc", "date": 1779896212.0, "description": "changed cursormode.Column to  Beat. work on keyboard interface - select next/prev lines", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/CursorMode.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/ShortcutView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "7190661588339a87215cea14b47188116b7818dc": {"id": "7190661588339a87215cea14b47188116b7818dc", "date": 1779812302.0, "description": "work on keyboard input", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "9ff7674f3fa0c4350c6bb5c46a65fe261c8acbf1": {"id": "9ff7674f3fa0c4350c6bb5c46a65fe261c8acbf1", "date": 1779580504.0, "description": "update changelog", "files": [["M", "fastlane/metadata/android/en-US/changelogs/154.txt"]], "author": "smith.quintin@protonmail.com"}, "365e0d54ab0230556f1fb4aab73de77b11b4fcd5": {"id": "365e0d54ab0230556f1fb4aab73de77b11b4fcd5", "date": 1779579913.0, "description": "removed percussion toggle switch and moved the logic to the unset button in the PrimaryContext Menu", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "e5b393906ecf6680b0441c6d3066137e8395e58a": {"id": "e5b393906ecf6680b0441c6d3066137e8395e58a", "date": 1779575356.0, "description": "Remove debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "bccd8cc28c746dddd34746ac769eb077911f791d": {"id": "bccd8cc28c746dddd34746ac769eb077911f791d", "date": 1779575294.0, "description": "Version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/154.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "9277c79f0d90ad7f78e0495c3575c02bcad1a146": {"id": "9277c79f0d90ad7f78e0495c3575c02bcad1a146", "date": 1779467819.0, "description": "Modified DialogMenus' options lambda", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DialogMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "47a4e6df27ae1f17074c382c554f8f46ec3a257d": {"id": "47a4e6df27ae1f17074c382c554f8f46ec3a257d", "date": 1779378008.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "2c12dafda5211ede04783d992109d2527b005b8b": {"id": "2c12dafda5211ede04783d992109d2527b005b8b", "date": 1779377598.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "8626d3549db101e3c03ffd04b49f8464ef4eead7": {"id": "8626d3549db101e3c03ffd04b49f8464ef4eead7", "date": 1779377104.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "2abe387cc8d7567df259bce570c3871489a5bb39": {"id": "2abe387cc8d7567df259bce570c3871489a5bb39", "date": 1779376609.0, "description": "remove accidentally pasted line", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "987d96ab3dc39e05c77be5f3da884a4a3994b9e8": {"id": "987d96ab3dc39e05c77be5f3da884a4a3994b9e8", "date": 1779376546.0, "description": "lint. enabled unnamed local variables in gradle", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "ddc172496405030d1d992948fe6c41f941a2b22f": {"id": "ddc172496405030d1d992948fe6c41f941a2b22f", "date": 1779374656.0, "description": "prevent negative index zooming", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"]], "author": "smith.quintin@protonmail.com"}, "5ca2626ee73af62d42f23825cfa843c1301ac8e0": {"id": "5ca2626ee73af62d42f23825cfa843c1301ac8e0", "date": 1779374482.0, "description": "removed duplicate PlayButton code", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "40340f95ee24a4a0d367b5edd7897bdd2f194f90": {"id": "40340f95ee24a4a0d367b5edd7897bdd2f194f90", "date": 1779317667.0, "description": "key ChannelPresetDialog with visibility", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "6f343e5f5d710a1a362926237d38873a591b5de2": {"id": "6f343e5f5d710a1a362926237d38873a591b5de2", "date": 1779314320.0, "description": "fix confirm_action dialog state getting stuck", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "21b1b824deacaa7fdb761558c23a6b5a6c01d1ba": {"id": "21b1b824deacaa7fdb761558c23a6b5a6c01d1ba", "date": 1779296310.0, "description": "tweaks to percussion feedback sounds", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "532a5abc73de6725829c15b570cb2447ac6e9453": {"id": "532a5abc73de6725829c15b570cb2447ac6e9453", "date": 1779291489.0, "description": "created play_events() function for feedback device", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "5d66505ed9d7106eeea0e21230a210558a4b5ac1": {"id": "5d66505ed9d7106eeea0e21230a210558a4b5ac1", "date": 1779136090.0, "description": "created mutable states for project_list and project_notes", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DialogMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "31396c3a5a7332e3adbca5db2b3572f155a0aac1": {"id": "31396c3a5a7332e3adbca5db2b3572f155a0aac1", "date": 1779044235.0, "description": "fixed wonkiness with channel dragging in the Drawer", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Modifier.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DialogMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "406d489024f000185d95cb0390a09cc870d24fec": {"id": "406d489024f000185d95cb0390a09cc870d24fec", "date": 1778995109.0, "description": "specify different notes for percussion when setting channel preset", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "798c4fefdab55193660611ef5a57fe1662c31630": {"id": "798c4fefdab55193660611ef5a57fe1662c31630", "date": 1778992091.0, "description": "completely removed create_dialog()", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "2abfc2f60e188d143ccfc6eacbb590a953a93533": {"id": "2abfc2f60e188d143ccfc6eacbb590a953a93533", "date": 1778966293.0, "description": "removed some instances of create_dialog", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "9d7ee0188987e2192c6b55da10bf8d22d4f0fe60": {"id": "9d7ee0188987e2192c6b55da10bf8d22d4f0fe60", "date": 1778963863.0, "description": "added refresher MutableState<Boolean> to DialogSortableMenu", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/DialogMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "17b9cd2e3ecd8f14a6a0d58533abf8f868af86b9": {"id": "17b9cd2e3ecd8f14a6a0d58533abf8f868af86b9", "date": 1778947913.0, "description": "reimplemented missing feedback sounds", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/CellView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "6892b0e7995b1255f90bf596d50d04c8c86ddd4d": {"id": "6892b0e7995b1255f90bf596d50d04c8c86ddd4d", "date": 1778906197.0, "description": "fixed unset leaf button being enabled on empty leafs", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "637da97bfaf753499d661cb304e073d6fa73e687": {"id": "637da97bfaf753499d661cb304e073d6fa73e687", "date": 1778905341.0, "description": "persistent IntegerDialog values", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/PaganDialog.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/IntegerInputDialog.kt"], ["M", "app/src/main/java/com/qfs/pagan/Values.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "090e956ca414f75bc5cd416b0e0964166bde1070": {"id": "090e956ca414f75bc5cd416b0e0964166bde1070", "date": 1778859825.0, "description": "rebuilt  load menu", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/DialogMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "1f386f876086d827488564124fd54b0547568bc5": {"id": "1f386f876086d827488564124fd54b0547568bc5", "date": 1778810382.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/153.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "d0151ef66d27f637facd621e1e414937fc7474ee": {"id": "d0151ef66d27f637facd621e1e414937fc7474ee", "date": 1778770674.0, "description": "repeats now only consider line effects when those effects are visible", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "23f101ccddbcbb1f4f38af18f66be4ed557e0d2d": {"id": "23f101ccddbcbb1f4f38af18f66be4ed557e0d2d", "date": 1778737662.0, "description": "handle blocked repeat selection action", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/Exception.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "d4a17224d05608c15b48bb93b38ff97ecd6c4894": {"id": "d4a17224d05608c15b48bb93b38ff97ecd6c4894", "date": 1778724523.0, "description": "removed all dispatcher usage", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "9ebeed2ab45f942324742b4d4754978779dd013a": {"id": "9ebeed2ab45f942324742b4d4754978779dd013a", "date": 1778685733.0, "description": "cleaned up LineLabelView tap logic", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/table/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "5999f6532f31ed65378397774b74ef7a93d9489d": {"id": "5999f6532f31ed65378397774b74ef7a93d9489d", "date": 1778647686.0, "description": "moved effect transition dialog to Composable function", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetButtonTransition.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectMenuItem.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "aaf31cbe01a0ca4cbe45205f59391350912c7c64": {"id": "aaf31cbe01a0ca4cbe45205f59391350912c7c64", "date": 1778599805.0, "description": "moved shortcut dialog", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/ShortcutView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/CellView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "7b6fe3206dd0116cc3f840b0951267ba50ef3681": {"id": "7b6fe3206dd0116cc3f840b0951267ba50ef3681", "date": 1778565210.0, "description": "work on moving leaf view tap logic into LeafView", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/CellView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "afada34801c5e94922e247a5094dcca441800b96": {"id": "afada34801c5e94922e247a5094dcca441800b96", "date": 1778512774.0, "description": "channel preset dialog kludge. removed unused functions in ActionDispatcher. started work on show-effect Dialog", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/PaganDialog.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DialogMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "7c89a5857fee60a45c08885fdb5c8de717e5ae6c": {"id": "7c89a5857fee60a45c08885fdb5c8de717e5ae6c", "date": 1778357276.0, "description": "added padding to pan slider", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetPan.kt"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "8764dc0ac155de377bcb7371953d85524a5d998f": {"id": "8764dc0ac155de377bcb7371953d85524a5d998f", "date": 1778355737.0, "description": "handle missing files that are cached AND were before timestamps were added", "files": [["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"]], "author": "smith.quintin@protonmail.com"}, "546a4ae8cf57c3b0966ce36045578e84bf0313d1": {"id": "546a4ae8cf57c3b0966ce36045578e84bf0313d1", "date": 1778352078.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/152.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "f8ea2c4fb3f84485dce7e5cf02cb0defb169cd5e": {"id": "f8ea2c4fb3f84485dce7e5cf02cb0defb169cd5e", "date": 1778347818.0, "description": "cleaned up awkward logic", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.h"]], "author": "smith.quintin@protonmail.com"}, "cd833ec409bf0afba8f6ac57ba0eac2c6a15af38": {"id": "cd833ec409bf0afba8f6ac57ba0eac2c6a15af38", "date": 1778346113.0, "description": "Moved more dialogs. added some missing Cr notices", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuSpacer.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/IntegerInputDialog.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/json/JSONHashMap.kt"]], "author": "smith.quintin@protonmail.com"}, "eac586f2d5546e17e9c659fd427ff89654786428": {"id": "eac586f2d5546e17e9c659fd427ff89654786428", "date": 1778344535.0, "description": "fixed Immediate effect transitions being eaten if they immediately proceed a linear transition effect", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "5f83c648b63f4c2b559e3a70763d8a4971183846": {"id": "5f83c648b63f4c2b559e3a70763d8a4971183846", "date": 1778335348.0, "description": "set backup active effect events to duration = 1", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "5ae2a11071bd5bddbf499e46799af2f909e12055": {"id": "5ae2a11071bd5bddbf499e46799af2f909e12055", "date": 1778253920.0, "description": "moved set_channel_preset Dialog to Composable", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "57e95b5d3faa036ac550544ace6d11cbbc5aeec8": {"id": "57e95b5d3faa036ac550544ace6d11cbbc5aeec8", "date": 1778169418.0, "description": "moved save dialog into Editor Activity", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "89f0490aece29c9ec864bed27502f2df2216265e": {"id": "89f0490aece29c9ec864bed27502f2df2216265e", "date": 1777997711.0, "description": "changelog update", "files": [["M", "fastlane/metadata/android/en-US/changelogs/151.txt"]], "author": "smith.quintin@protonmail.com"}, "de49b4488754ab575fe0591441631223fe2f3b37": {"id": "de49b4488754ab575fe0591441631223fe2f3b37", "date": 1777991948.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/151.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "f5738bfd2c06d165280837e2ba68c16dbb035987": {"id": "f5738bfd2c06d165280837e2ba68c16dbb035987", "date": 1777991829.0, "description": "downgrade to sdk 36", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "8694f7f76b35001589f7fe42f689db5bd6cacd50": {"id": "8694f7f76b35001589f7fe42f689db5bd6cacd50", "date": 1777991556.0, "description": "fixed unhandled RangeOverflow causing crash", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "52a90340a5fd0ce31006fa2b8c7990c4483fe52d": {"id": "52a90340a5fd0ce31006fa2b8c7990c4483fe52d", "date": 1777791024.0, "description": "initial work removing dispatcher usage", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/PaganTheme.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/PaganDialog.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/IntegerInputDialog.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/DialogMenu.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/ColorScheme.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/ColorPickerDialog.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "ef096b1c7eea74be61dfe4674251f2aa7f0e9487": {"id": "ef096b1c7eea74be61dfe4674251f2aa7f0e9487", "date": 1777744135.0, "description": "moved tuning dialog", "files": [["A", "app/src/main/java/com/qfs/pagan/composable/TuningDialog.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "adaa73d549772b9ae4113df35eee6db3d33d9723": {"id": "adaa73d549772b9ae4113df35eee6db3d33d9723", "date": 1777702749.0, "description": "update versionCode", "files": [["D", "fastlane/metadata/android/en-US/changelogs/149.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/150.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "c4c16c5c7f7d9e0d51ec4a81415c578b550b5ac5": {"id": "c4c16c5c7f7d9e0d51ec4a81415c578b550b5ac5", "date": 1777682793.0, "description": "update changelog", "files": [["M", "fastlane/metadata/android/en-US/changelogs/149.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "f4ecdc2721d791c41e26da6c7099c53ef7084140": {"id": "f4ecdc2721d791c41e26da6c7099c53ef7084140", "date": 1777681991.0, "description": "import midi in coroutine", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "5c0a4c02dbcff5afbf4f6898b22ef74a7269bacc": {"id": "5c0a4c02dbcff5afbf4f6898b22ef74a7269bacc", "date": 1777656482.0, "description": "removed unused dependencies. Updated targetSdk to 37", "files": [["M", "settings.gradle"], ["M", "build.gradle"], ["M", "app/src/test/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerCursor.kt"], ["D", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "0b6ebe9f1c4b7b14f38187aaa8dc21f0d994bc75": {"id": "0b6ebe9f1c4b7b14f38187aaa8dc21f0d994bc75", "date": 1777648775.0, "description": "handle invalid soundfonts with  callback instead of try/catch", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "c46fa9ad6aeb6e59ec00e5e0d6011ef9bebc1791": {"id": "c46fa9ad6aeb6e59ec00e5e0d6011ef9bebc1791", "date": 1777597787.0, "description": "display progress indicators while play_opus() is doing initial processing", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/button/TopBarIcon.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "c174bf55bff1a9119e57ec387acf46269bcbb96f": {"id": "c174bf55bff1a9119e57ec387acf46269bcbb96f", "date": 1777585746.0, "description": "load soundfont menu in coroutine", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "2300cf76cb61ccf887cbb25d5d40898ab39ba6ae": {"id": "2300cf76cb61ccf887cbb25d5d40898ab39ba6ae", "date": 1777576085.0, "description": "load soundfont in background", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/SoundfontLoadingIndicator.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "bfc69cb0187931983d90dfee42647ecfe79b3a3c": {"id": "bfc69cb0187931983d90dfee42647ecfe79b3a3c", "date": 1777562967.0, "description": "added circuleProgressIndicator while projects list is refreshing", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "b8a3d559692196ae7d2c16c4d6355b68e117bfd9": {"id": "b8a3d559692196ae7d2c16c4d6355b68e117bfd9", "date": 1777479274.0, "description": "added space between reload/sort button on load menu", "files": [["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "3b2712a2700429ce7dc38c4af6c6f38da1986447": {"id": "3b2712a2700429ce7dc38c4af6c6f38da1986447", "date": 1777474444.0, "description": "fix typo in comment", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "40f9fd49048976367011c9970895c81077328727": {"id": "40f9fd49048976367011c9970895c81077328727", "date": 1777473352.0, "description": "added ts01 - date modified - to project json. default to rev. date modified sorting in load menu", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "29c32140ddbfaa4835fdd945d89c65e779fc8743": {"id": "29c32140ddbfaa4835fdd945d89c65e779fc8743", "date": 1777436500.0, "description": "automatic reverse sortable options in SortableMenu", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "0defc5735a0213b40c0ac8ffefa8434478da42bc": {"id": "0defc5735a0213b40c0ac8ffefa8434478da42bc", "date": 1777433058.0, "description": "project cache using hashmap instead of list, tracking date modified and created for quicker sorting", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "41e166b1189c2d57c9c57f57fbcd87be109ba2ed": {"id": "41e166b1189c2d57c9c57f57fbcd87be109ba2ed", "date": 1777391335.0, "description": "added timestamp to cached project list to speed up sort", "files": [["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/json/JSONHashMap.kt"]], "author": "smith.quintin@protonmail.com"}, "a743bf9d16716cbbf9f0bbdad9fd9a7fd2aaf634": {"id": "a743bf9d16716cbbf9f0bbdad9fd9a7fd2aaf634", "date": 1777387779.0, "description": "fixed: soundfont_index not being saved or loaded", "files": [["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "1f3edab2431d0ad656a47c11ea38147ca048a9de": {"id": "1f3edab2431d0ad656a47c11ea38147ca048a9de", "date": 1777307633.0, "description": "Repeat icon added", "files": [["M", "app/src/main/res/values/strings.xml"], ["A", "app/src/main/res/drawable/icon_repeat.xml"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "32b4d2d6b1e5841f7fb0e49a01a8d888029c149a": {"id": "32b4d2d6b1e5841f7fb0e49a01a8d888029c149a", "date": 1777303689.0, "description": "changed behaviour of tap-line-to-repeat", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "a7bfbe99dae1e7a5cbc65d407e28b8e19440d0fb": {"id": "a7bfbe99dae1e7a5cbc65d407e28b8e19440d0fb", "date": 1777264327.0, "description": "remove debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "bbee55ec0cc3f3416a1b777b751222f05300b5b0": {"id": "bbee55ec0cc3f3416a1b777b751222f05300b5b0", "date": 1777249726.0, "description": "realign 'load soundfont' button", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "554f0c59b15a095d8a30b41dfaa41dc0e8415ce9": {"id": "554f0c59b15a095d8a30b41dfaa41dc0e8415ce9", "date": 1777248995.0, "description": "align soundfont button text to center", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "787bf6a330d264c2b03f6f191a8471e1e51e3258": {"id": "787bf6a330d264c2b03f6f191a8471e1e51e3258", "date": 1777160746.0, "description": "implemented SearchTree for keyboard Input handling", "files": [["M", "app/src/main/java/com/qfs/pagan/KeyboardMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "f2e7a75d4a04bb94507aa4b76cbd5881932fa76f": {"id": "f2e7a75d4a04bb94507aa4b76cbd5881932fa76f", "date": 1777156461.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/149.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "6dd2b01717feda7aacf619edf0106017007951e1": {"id": "6dd2b01717feda7aacf619edf0106017007951e1", "date": 1777156194.0, "description": "flipped pan. resolves #167", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetPan.kt"]], "author": "smith.quintin@protonmail.com"}, "b08d373ed5c8eaf0f68080762dba3ef9f5f87e17": {"id": "b08d373ed5c8eaf0f68080762dba3ef9f5f87e17", "date": 1777140987.0, "description": "modifying input handling to a tree to allow for more flexible function aliasing", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["A", "app/src/main/java/com/qfs/pagan/KeyboardMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "869c8113e7e2eaae804228622e8ff3913204413a": {"id": "869c8113e7e2eaae804228622e8ff3913204413a", "date": 1777045616.0, "description": "work on Keyboard flow chart", "files": [["M", "KeyboardCharts/InputFlow.mmd"]], "author": "smith.quintin@protonmail.com"}, "506d267bf851c1ae758c3adac5af3873233287d9": {"id": "506d267bf851c1ae758c3adac5af3873233287d9", "date": 1777042463.0, "description": "unset active_wide_beat when that beat isn't wide anymore. resolves #166", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "2629a6ce5e58a28b37d586919674ba6c1c77b4f6": {"id": "2629a6ce5e58a28b37d586919674ba6c1c77b4f6", "date": 1777001005.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/148.txt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "f7fa63c3dbc8e68bd058c6ae2f6c5606d978d841": {"id": "f7fa63c3dbc8e68bd058c6ae2f6c5606d978d841", "date": 1776993025.0, "description": "fixed (spec specified) misapplication of pitch_correction", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/incidental_functions.kt"]], "author": "smith.quintin@protonmail.com"}, "ba5d99e064ab8631d0ff01f53eae1896f87e9d68": {"id": "ba5d99e064ab8631d0ff01f53eae1896f87e9d68", "date": 1776983670.0, "description": "show-all lines/channels function & layouts", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/MediumSpacer.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "75bcadd95b086ea6ca66a5b3a7ad8667faf66ed0": {"id": "75bcadd95b086ea6ca66a5b3a7ad8667faf66ed0", "date": 1776957910.0, "description": "Added EffectResourceMap object. rough implementation of 'Show-all-line-effects' function", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DialogCard.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["A", "app/src/main/java/com/qfs/pagan/EffectResourceMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/DialogChain.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "e38595c7bc0b8dbf3e55e1dff61f4ce360cd60ca": {"id": "e38595c7bc0b8dbf3e55e1dff61f4ce360cd60ca", "date": 1776917512.0, "description": "work on keyboard input. Setting up flow chart", "files": [["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["A", "KeyboardCharts/InputFlow.mmd"]], "author": "smith.quintin@protonmail.com"}, "33e682a0e5f17474d6d92a820cf862929d1767f7": {"id": "33e682a0e5f17474d6d92a820cf862929d1767f7", "date": 1776874589.0, "description": "starting work on reimplementation of keyboard interface", "files": [["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/TestActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "721b4f27f50c69e5ac104bb9c3f4606ebaeb25d2": {"id": "721b4f27f50c69e5ac104bb9c3f4606ebaeb25d2", "date": 1776836216.0, "description": "more tweaks to preview icon", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "970dd38fe77ec1ff7d194a6c0af64296e6ed129d": {"id": "970dd38fe77ec1ff7d194a6c0af64296e6ed129d", "date": 1776834961.0, "description": "adjust preview icon size", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "8072a0986aa720ec6363139b8455b6f1654520ed": {"id": "8072a0986aa720ec6363139b8455b6f1654520ed", "date": 1776802212.0, "description": "duplicate line/channel functionality and buttons functional", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuSpacer.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/TestTag.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "762bf8b266a6aab21787b1893c23525480c8dc22": {"id": "762bf8b266a6aab21787b1893c23525480c8dc22", "date": 1776786937.0, "description": "duplicate_channel and line roughed in", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLinePercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "0f9b3a3d0590268413bb239fb682fd28f9d348c4": {"id": "0f9b3a3d0590268413bb239fb682fd28f9d348c4", "date": 1776717858.0, "description": "removed unnecessary secondary generic in copy function", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"]], "author": "smith.quintin@protonmail.com"}, "5435e8813dc834afd9f8e78afd59d051b45e8948": {"id": "5435e8813dc834afd9f8e78afd59d051b45e8948", "date": 1776542043.0, "description": "preview icon set to icon_volume. enabled previews on percussion instruments as well as presets", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "d8b43f87faa724a82e79908d3c70458ffa0f75f3": {"id": "d8b43f87faa724a82e79908d3c70458ffa0f75f3", "date": 1776535367.0, "description": "preset previews", "files": [["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "11667f3148e4f1f317156b33456fe9680df29590": {"id": "11667f3148e4f1f317156b33456fe9680df29590", "date": 1776457230.0, "description": "refreshing project list no longer ignores existing files. ProjectCard using monospace font for dates", "files": [["A", "fastlane/metadata/android/en-US/changelogs/147.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"], ["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "ccef939453d1ceaaf0d0fe4ad5b12a0d254d9d3a": {"id": "ccef939453d1ceaaf0d0fe4ad5b12a0d254d9d3a", "date": 1776446199.0, "description": "default to 0 when timestamp not defined in project file", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "b7f194823dc77fe6eb06d9444fc69c4d0ce55553": {"id": "b7f194823dc77fe6eb06d9444fc69c4d0ce55553", "date": 1776441107.0, "description": "percussion selector falls back to defaults when an unavailable preset is selected. resolves #162", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "548c4c85d609795dfcb2536d21180d41bd380782": {"id": "548c4c85d609795dfcb2536d21180d41bd380782", "date": 1776440525.0, "description": "fixed: setting LowPass filter frames to Absolute frames rather than relative. resolves #161", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/cpp/soundfontplayer/LowPassBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "cddd599155287d2bf418c78b936314ea81bdb814": {"id": "cddd599155287d2bf418c78b936314ea81bdb814", "date": 1776272414.0, "description": "separated play_midi_events() from play_midi()", "files": [["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "014621311dbfefdfaeda84add4afae217d6eb2ed": {"id": "014621311dbfefdfaeda84add4afae217d6eb2ed", "date": 1776271288.0, "description": "switch from TRANSPORT_MIDI_BYTE_STREAM to TRANSPORT_UNIVERSAL_MIDI_PACKETS", "files": [["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "c37b3d29430f23cd24dc4e710961ba95b81ed832": {"id": "c37b3d29430f23cd24dc4e710961ba95b81ed832", "date": 1776180748.0, "description": "timestamp added to project", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "2249ca8f2f196f18d2bd10af7e65d34519288de3": {"id": "2249ca8f2f196f18d2bd10af7e65d34519288de3", "date": 1776095996.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/TestTag.kt"], ["M", "app/src/main/java/com/qfs/pagan/SingleExporterEventHandler.kt"], ["M", "app/src/main/java/com/qfs/pagan/PresetKey.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/Exportable.kt"], ["M", "app/src/main/java/com/qfs/pagan/DialogChain.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "cf6a1e26d525139f212fb25ce1eee2317b4654d1": {"id": "cf6a1e26d525139f212fb25ce1eee2317b4654d1", "date": 1776095168.0, "description": "lint", "files": [["D", "app/src/main/res/drawable/small_logo.xml"], ["D", "app/src/main/res/drawable/rowanleaf_no_padding.xml"], ["D", "app/src/main/res/drawable/logo_rowan_monochrome.xml"], ["D", "app/src/main/res/drawable/logo_rowan.xml"], ["D", "app/src/main/res/drawable/kebab.xml"], ["D", "app/src/main/res/drawable/icon_volume_plus.xml"], ["D", "app/src/main/res/drawable/icon_volume_minus.xml"], ["D", "app/src/main/res/drawable/icon_unset.xml"], ["D", "app/src/main/res/drawable/icon_show.xml"], ["D", "app/src/main/res/drawable/icon_set_percussion.xml"], ["D", "app/src/main/res/drawable/icon_drag.xml"], ["D", "app/src/main/res/drawable/icon_cross.xml"], ["D", "app/src/main/res/drawable/icon_add_channel_kit.xml"], ["D", "app/src/main/res/drawable/global_ctl_icon.xml"], ["D", "app/src/main/res/drawable/baseline_shortcut_24.xml"], ["D", "app/src/main/res/drawable/baseline_save_alt_24.xml"], ["D", "app/src/main/res/drawable/baseline_cancel_42.xml"], ["D", "app/src/main/res/drawable/background_pattern.xml"], ["D", "app/src/main/res/drawable/background.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/Rational.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/intermediate_structure_functions.kt"], ["D", "app/src/main/java/com/qfs/pagan/enumerate.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/IntegerInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/HexInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/FloatInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/UILock.kt"], ["M", "app/src/main/java/com/qfs/pagan/SingleExporterEventHandler.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackState.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/swap_sections.kt"], ["A", "app/src/main/java/com/qfs/pagan/ListManipulation.kt"]], "author": "smith.quintin@protonmail.com"}, "a2b56def2f97b3e74cded97069b224f0a296a458": {"id": "a2b56def2f97b3e74cded97069b224f0a296a458", "date": 1775942400.0, "description": "Show full soundfont file name in settings", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "0f249c19c567bfd24f56ac0efe9e5ccadaa2b9eb": {"id": "0f249c19c567bfd24f56ac0efe9e5ccadaa2b9eb", "date": 1775942224.0, "description": "Show full soundfont file name in settings", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "dd6f7be4877e74f56d4b685f9e149d201909a94e": {"id": "dd6f7be4877e74f56d4b685f9e149d201909a94e", "date": 1775937712.0, "description": "optional ignore when loading broken/missing soundfonts", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "110c43377dc956e7f0b05e6f83461134d4cc80fb": {"id": "110c43377dc956e7f0b05e6f83461134d4cc80fb", "date": 1775926808.0, "description": "update changelog", "files": [["M", "fastlane/metadata/android/en-US/changelogs/146.txt"]], "author": "smith.quintin@protonmail.com"}, "9265891022a1120ebbe24282ba59a9fa60b1184d": {"id": "9265891022a1120ebbe24282ba59a9fa60b1184d", "date": 1775926034.0, "description": "tweak effect selection color", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "36ee9676561655ad76f6a1e4e53cc8fddb93bdf7": {"id": "36ee9676561655ad76f6a1e4e53cc8fddb93bdf7", "date": 1775925684.0, "description": "fixed: wasn't muting effect lines on mute_line(). tweaks to muted line colors", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "e1c36af0968c49cbdb06416f5a62c22f86d65194": {"id": "e1c36af0968c49cbdb06416f5a62c22f86d65194", "date": 1775890208.0, "description": "Fixed 'undo' not updating effect context menus", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "09b03ee7ddc0b7fb09982f9d61d935c7635f7dec": {"id": "09b03ee7ddc0b7fb09982f9d61d935c7635f7dec", "date": 1775867949.0, "description": "modified NumberInput and its derivatives to use primative values rather than MutableStates", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/NumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/IntegerInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/HexInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/FloatInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "ed4840390dedc7cfa244df7cb9f1c9d29ca27db8": {"id": "ed4840390dedc7cfa244df7cb9f1c9d29ca27db8", "date": 1775843881.0, "description": "use icon_subtract_bang on percussion RemoveChannelButton", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "96b8c76895c959510e964e1a70e5b24e592ec3c9": {"id": "96b8c76895c959510e964e1a70e5b24e592ec3c9", "date": 1775834363.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/146.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "dbb2233b4abdedf578c4849e9f0f6fa0a8296647": {"id": "dbb2233b4abdedf578c4849e9f0f6fa0a8296647", "date": 1775795224.0, "description": "correctly updating midi instrument labels on device change", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "96b48d7dee34fd2755f59cc13ce84bc1e28bfaff": {"id": "96b48d7dee34fd2755f59cc13ce84bc1e28bfaff", "date": 1775773041.0, "description": "removed magic numbers. Shifted SortableMenu's sort button by the width of its shadow's x offset", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "d9c4cb3a36815d3c1cc7e2bf80bc9341200aa0f2": {"id": "d9c4cb3a36815d3c1cc7e2bf80bc9341200aa0f2", "date": 1775772220.0, "description": "removed redundant 'other' option in SortableMenu. Soundfont dialog no longer filling screen", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "df5bed3fc029f554cfc97a616f4c7ab8450af4d9": {"id": "df5bed3fc029f554cfc97a616f4c7ab8450af4d9", "date": 1775770670.0, "description": "when a soundfont doesn't have entries in either percussion or std presets, don't show it as an option in the preset picker", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "7b3dceb1b15ca8561199e6c72596a395dcd3e00a": {"id": "7b3dceb1b15ca8561199e6c72596a395dcd3e00a", "date": 1775766753.0, "description": "catch FileNoteFoundExceptions when loading soundfonts.", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "77aea76bbf492ae8e1903b0399f3d475ce418921": {"id": "77aea76bbf492ae8e1903b0399f3d475ce418921", "date": 1775760963.0, "description": "fixed dialog title for multiple soundfonts", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "c04d18cb0fc5d4ca59222f8a989dbd0731e8cd5e": {"id": "c04d18cb0fc5d4ca59222f8a989dbd0731e8cd5e", "date": 1775713611.0, "description": "slight tweaks to multisf preset menu", "files": [["A", "app/src/main/res/drawable/icon_arrow_prev.xml"], ["A", "app/src/main/res/drawable/icon_arrow_next.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "d0e820f312325d99fbeb912995ab30f669400bbf": {"id": "d0e820f312325d99fbeb912995ab30f669400bbf", "date": 1775685389.0, "description": "multi-sf support ostensibly up-and-running", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/enumerate.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "9fe8a1a6c58c1cd1162621e1f5560722dc9b29b5": {"id": "9fe8a1a6c58c1cd1162621e1f5560722dc9b29b5", "date": 1775664514.0, "description": "tweaks to multi soundfont interface in settings", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "30192869b9f712253f5cefc844ccb9729493b1ee": {"id": "30192869b9f712253f5cefc844ccb9729493b1ee", "date": 1775662217.0, "description": "disable falling back to available soundfonts when soundfont is unloaded", "files": [["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "83f49606571e14e8d36a1bdade852d0f10f5e47c": {"id": "83f49606571e14e8d36a1bdade852d0f10f5e47c", "date": 1775619657.0, "description": "presets using non-existant soundfont_index default to loaded ones", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "3a80ebd64952ec231fd89aa32b0baed3beb8b4ff": {"id": "3a80ebd64952ec231fd89aa32b0baed3beb8b4ff", "date": 1775605594.0, "description": "active soundfont selector using horizontal pager and dropdowns", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "02db5e2ea1e6b3694f9cda6cbecec5172f714d0f": {"id": "02db5e2ea1e6b3694f9cda6cbecec5172f714d0f", "date": 1775577861.0, "description": "switched from Triple<Int, Int, Int> to PresetKey. first pass at multi soundfont support in Channel Preset Menu", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["A", "app/src/main/java/com/qfs/pagan/PresetKey.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "2744651b22026340196e4a306114e725be7283d0": {"id": "2744651b22026340196e4a306114e725be7283d0", "date": 1775544165.0, "description": "created active_soundfonts property in ViewModelEditorState", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "34a34586343da84afce846bac066cf1d664fb839": {"id": "34a34586343da84afce846bac066cf1d664fb839", "date": 1775347459.0, "description": "multi soundfont - work on settings menu", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "c3c615cf5caf4ec2c5e1d27c386a6dd4ec7193bf": {"id": "c3c615cf5caf4ec2c5e1d27c386a6dd4ec7193bf", "date": 1775279655.0, "description": "call unset_soundfont() before setting them in ViewModelEditorController", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"]], "author": "smith.quintin@protonmail.com"}, "3a9876635459373c346cbf4006b9e77c42234673": {"id": "3a9876635459373c346cbf4006b9e77c42234673", "date": 1775145498.0, "description": "added drag icon. cleaned up multi sf menu a bit", "files": [["A", "app/src/main/res/drawable/icon_drag.xml"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "4cca56d21c90793672823fe4e8eed9f35c476da1": {"id": "4cca56d21c90793672823fe4e8eed9f35c476da1", "date": 1775058431.0, "description": "starting to rough-in a menu for multiple soundfonts", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "6719d0da0d6a8ecd9638ef619e6324f1c8945864": {"id": "6719d0da0d6a8ecd9638ef619e6324f1c8945864", "date": 1775057052.0, "description": "pagan backend using Array<String> for soundfont. still only considers 1 at a time", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "6be7901c1803154f32e8d38e0ce7f338ce3beeff": {"id": "6be7901c1803154f32e8d38e0ce7f338ce3beeff", "date": 1774976474.0, "description": "work on multisoundfont support in OpusLayerInterface", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "13873009bf129fc7a438edf15c60ac0c301774c2": {"id": "13873009bf129fc7a438edf15c60ac0c301774c2", "date": 1774974136.0, "description": "multi soundfont support in apres. compatible with single-soundfont support only of Pagan", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "6b49c6b156fcaeb63cea1e0cd9df8a9fd000603f": {"id": "6b49c6b156fcaeb63cea1e0cd9df8a9fd000603f", "date": 1774890076.0, "description": "work on multi soundfont support", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "db85f25542543e68aca421949e8bb4a1bae822cd": {"id": "db85f25542543e68aca421949e8bb4a1bae822cd", "date": 1774719655.0, "description": "modified AudioInterface to handle multiple SoundFonts", "files": [["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "f7c1066fb251d6a93cbb45604fd9ed6d620d6857": {"id": "f7c1066fb251d6a93cbb45604fd9ed6d620d6857", "date": 1774717657.0, "description": "modified SampleHandleManager to handle multiple soundfonts", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "1b5b93af4c5145cbea4eab88ac02376dd3f92de6": {"id": "1b5b93af4c5145cbea4eab88ac02376dd3f92de6", "date": 1774367006.0, "description": "delay/velocity textfields require pressing return. fixed 'undo' not updating effect context menus", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/NumberInput.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "53ee5bf0914b80fb240c26c1893dbeeda7b5a343": {"id": "53ee5bf0914b80fb240c26c1893dbeeda7b5a343", "date": 1773991230.0, "description": "moved changelog", "files": [["D", "fastlane/metadata/android/en-US/changelogs/144.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/145.txt"]], "author": "smith.quintin@protonmail.com"}, "2e5ba391134353cc565b9126e599359cdaaddaee": {"id": "2e5ba391134353cc565b9126e599359cdaaddaee", "date": 1773991060.0, "description": "versionCode++", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "417469bbdf18ab8c13afe162e9e60af6bac610a5": {"id": "417469bbdf18ab8c13afe162e9e60af6bac610a5", "date": 1773990471.0, "description": "deep destroy generated pitch controllers", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "817df5aaf1822993c0b84f0e8d286b7b8ec9a3c6": {"id": "817df5aaf1822993c0b84f0e8d286b7b8ec9a3c6", "date": 1773988235.0, "description": "changelog & applicationId update", "files": [["M", "fastlane/metadata/android/en-US/changelogs/144.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "a338113a2fd4f45b24166a57419940bd0988a0fe": {"id": "a338113a2fd4f45b24166a57419940bd0988a0fe", "date": 1773979151.0, "description": "default slide to Note/4", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"]], "author": "smith.quintin@protonmail.com"}, "09584dc68998bbdf1db9df2ebd3fd6a5cce9ee9e": {"id": "09584dc68998bbdf1db9df2ebd3fd6a5cce9ee9e", "date": 1773978979.0, "description": "fixed number picker showing up in landscape on effect lines", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "2bf0eaec44105d2eeb5b4d5fa9bcef9ea58a1d79": {"id": "2bf0eaec44105d2eeb5b4d5fa9bcef9ea58a1d79", "date": 1773962582.0, "description": "adjustment to vib_lfo_delay & vib_lfo_delay", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "a88ba806661763e258882a58ed4b3a1b8346d6d1": {"id": "a88ba806661763e258882a58ed4b3a1b8346d6d1", "date": 1773962303.0, "description": "fixed handling of mod_lfo_freq & vib_lfo_freq", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/Generated.kt"]], "author": "smith.quintin@protonmail.com"}, "20ecbe9e68572050f5013bd419be88d11b977167": {"id": "20ecbe9e68572050f5013bd419be88d11b977167", "date": 1773957693.0, "description": "fixed filter_cutoff", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/Generated.kt"], ["M", "app/src/main/cpp/soundfont2/Generated.h"]], "author": "smith.quintin@protonmail.com"}, "d867ab2daf1f4b32cfa3c96a00338c3101de484f": {"id": "d867ab2daf1f4b32cfa3c96a00338c3101de484f", "date": 1773956449.0, "description": "filter out negative profile buffer frames", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ControllerEventData.kt"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.h"]], "author": "smith.quintin@protonmail.com"}, "e1f4fedd3c3f5fe4bdb654ff504f9ba5f089ca65": {"id": "e1f4fedd3c3f5fe4bdb654ff504f9ba5f089ca65", "date": 1773936874.0, "description": "restore sizeless ControllerEventData.", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ProfileBuffer.kt"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "4d552a76fa7f8240e423fe6ca2a086c93be59ad2": {"id": "4d552a76fa7f8240e423fe6ca2a086c93be59ad2", "date": 1773866158.0, "description": "ignore blocking on generated pitch_controller", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "ead0b55807e44f4c1701b76e7492ff8168d9ccd4": {"id": "ead0b55807e44f4c1701b76e7492ff8168d9ccd4", "date": 1773858025.0, "description": "working on fixing cache_tree_overlaps being slow", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/structure.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "ed34488503ce6616fa0048f717169051bd7104a3": {"id": "ed34488503ce6616fa0048f717169051bd7104a3", "date": 1773856907.0, "description": "fixed coerce_event not treating temporary events correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "3a97b24de47bfbf5b62f57e963a0bda6e6e92e28": {"id": "3a97b24de47bfbf5b62f57e963a0bda6e6e92e28", "date": 1773855008.0, "description": "disable pitch sliding for percussion", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Values.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "a7133ef7de6024097864c4956bafb06e76785591": {"id": "a7133ef7de6024097864c4956bafb06e76785591", "date": 1773850449.0, "description": "created String.asEffectTransition to handle RInstant being changed to InstantB", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "46cee92be5359990c723920f128f3b9fb004170c": {"id": "46cee92be5359990c723920f128f3b9fb004170c", "date": 1773801320.0, "description": "version bump. buttons force clear focus", "files": [["A", "fastlane/metadata/android/en-US/changelogs/144.txt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/IntegerInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "bc8d44d7788b90ddf43146104e9c7456d6ebe84b": {"id": "bc8d44d7788b90ddf43146104e9c7456d6ebe84b", "date": 1773797697.0, "description": "fixes to pitch bending", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/EffectEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "7e40caf4786d308ad507361ae3685a934c7b04fb": {"id": "7e40caf4786d308ad507361ae3685a934c7b04fb", "date": 1773780123.0, "description": "slide/bend working", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "26d5adbcca45962a4c881917f88e4d3fe9eee036": {"id": "26d5adbcca45962a4c881917f88e4d3fe9eee036", "date": 1773761713.0, "description": "cleaned up convert_to_indexed_profile_buffer_frames() a bit", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"]], "author": "smith.quintin@protonmail.com"}, "e2413dbb621071c051153c0c458263090120e8df": {"id": "e2413dbb621071c051153c0c458263090120e8df", "date": 1773724149.0, "description": "velocity effect widget & some debug code", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/NumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/IntegerInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"]], "author": "smith.quintin@protonmail.com"}, "ac72b23855fc66b6c0a8e2f9a794308f5e234ba5": {"id": "ac72b23855fc66b6c0a8e2f9a794308f5e234ba5", "date": 1773676753.0, "description": "Sliding now considers beat or note duration and a denominator instead of always being relative to beat", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusVelocityEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Values.kt"], ["M", "app/src/main/java/com/qfs/pagan/TestTag.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "70e3c24cab0d8cebd3cf7eaadbfc5797aa12a4c0": {"id": "70e3c24cab0d8cebd3cf7eaadbfc5797aa12a4c0", "date": 1773615590.0, "description": "lock cursor when setting velocity event", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "d5a59e547959408e444a2f9fe3b33ca0f54965a0": {"id": "d5a59e547959408e444a2f9fe3b33ca0f54965a0", "date": 1773615198.0, "description": "set pitch controller's working frame when copying a SampleHandle", "files": [["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "9aef15529f03a08c5cde00e4152585b465888ee9": {"id": "9aef15529f03a08c5cde00e4152585b465888ee9", "date": 1773611802.0, "description": "work on pitch shifting ProfileBuffer", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "44abb6cbfdf318b9ac084de53f645ec79c3da34b": {"id": "44abb6cbfdf318b9ac084de53f645ec79c3da34b", "date": 1773553337.0, "description": "fixed sample rate not getting changed from settings. resolves #156", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/structure.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"], ["M", "app/src/main/cpp/soundfont2/SampleData.cpp"]], "author": "smith.quintin@protonmail.com"}, "88dc8a03e4bb94e1bc4ecb2dd12c5438c6b05a4c": {"id": "88dc8a03e4bb94e1bc4ecb2dd12c5438c6b05a4c", "date": 1773531961.0, "description": "consider transition_width when construction PicthController from Velocity", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "e33806be89237f90bb9c211fd93b44542a2468d3": {"id": "e33806be89237f90bb9c211fd93b44542a2468d3", "date": 1773528188.0, "description": "fixed misalignment of temporary PitchController created in PlaybackFrameMap", "files": [["M", "app/src/main/res/values/strings.xml"], ["A", "app/src/main/res/drawable/icon_transition_linearb.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "a8a502065ae91e5c280985bd513b24e833ac0523": {"id": "a8a502065ae91e5c280985bd513b24e833ac0523", "date": 1773508983.0, "description": "Create LinearB and renamed RInstant to InstantB transition types", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/SingleFloatEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/LowPassEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/EffectEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "d8091f4ef8b48f89cc6ac24e524ba0d7bacdc365": {"id": "d8091f4ef8b48f89cc6ac24e524ba0d7bacdc365", "date": 1773463156.0, "description": "repitching roughly working", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/structure.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/PitchEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "edcea47cce7239b572233d675cf43ecaa751999f": {"id": "edcea47cce7239b572233d675cf43ecaa751999f", "date": 1773415595.0, "description": "attach Pitch Controller to sample handles in PlaybackFrameMap", "files": [["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/PitchEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ProfileBuffer.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"]], "author": "smith.quintin@protonmail.com"}, "fdf086c62859ef910a53eabe9525f5734e79f486": {"id": "fdf086c62859ef910a53eabe9525f5734e79f486", "date": 1773330563.0, "description": "set up pitch_controller as property of SampleHandle", "files": [["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/BendTransitionEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/src/main/cpp/soundfontplayer/PitchEffectBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "ae4425fce51e62e4fe1aa7bf5c4e2028c7140aca": {"id": "ae4425fce51e62e4fe1aa7bf5c4e2028c7140aca", "date": 1773296192.0, "description": "work on repitching", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/BendTransitionEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/PitchController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["A", "app/src/main/cpp/soundfontplayer/PitchEffectBuffer.h"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "aa9bcb087f4cc95007912194f85e827bd8957abc": {"id": "aa9bcb087f4cc95007912194f85e827bd8957abc", "date": 1773243040.0, "description": "added generated pitch events", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/Rational.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "9626f55e81a1e3504e355978f1ace58a708e9f20": {"id": "9626f55e81a1e3504e355978f1ace58a708e9f20", "date": 1773207275.0, "description": "added slide_duration to Velocity Events", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusVelocityEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/BendTransitionEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectType.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Values.kt"], ["M", "app/src/main/java/com/qfs/pagan/TestTag.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "dd19706f25a2eb7dd8fe727a62ed9f8d046ae146": {"id": "dd19706f25a2eb7dd8fe727a62ed9f8d046ae146", "date": 1773161079.0, "description": "working on pitch-bending", "files": [["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/NoteTransitionEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/BendTransitionEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/PitchController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectType.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/EffectType.kt"]], "author": "smith.quintin@protonmail.com"}, "7d2bcbdd0b2a01242d273b3c731935cca4f0fd08": {"id": "7d2bcbdd0b2a01242d273b3c731935cca4f0fd08", "date": 1773072592.0, "description": "created NoteTransition effect event for pitch bending", "files": [["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/NoteTransitionEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectType.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "d98dd362eb49df9296e469e61d85f3ea913d70da": {"id": "d98dd362eb49df9296e469e61d85f3ea913d70da", "date": 1773017004.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/143.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "72cda9a8d8a18d5eb44de0c503971847a7dde9d8": {"id": "72cda9a8d8a18d5eb44de0c503971847a7dde9d8", "date": 1772950627.0, "description": "save_to_backup on pause instead of destroy", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "848bb08b21a5d48852e78da6fdd35980d4f76e44": {"id": "848bb08b21a5d48852e78da6fdd35980d4f76e44", "date": 1772949750.0, "description": "fix wide-beat indicator incorrectly showing up on first beat sometimes", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "65d1708325c93c8c8d7838d15a8558527b8affeb": {"id": "65d1708325c93c8c8d7838d15a8558527b8affeb", "date": 1772866606.0, "description": "gradle wrapper update", "files": [["M", "gradlew.bat"], ["M", "gradlew"], ["M", "gradle/wrapper/gradle-wrapper.properties"], ["M", "gradle/wrapper/gradle-wrapper.jar"]], "author": "smith.quintin@protonmail.com"}, "78f5903067b7851270ffc53b4bc86f3afc9426c7": {"id": "78f5903067b7851270ffc53b4bc86f3afc9426c7", "date": 1772211336.0, "description": "check if RIFF data is reading out of bounds before setting soundfont. resolves #17", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/Riff.kt"]], "author": "smith.quintin@protonmail.com"}, "da656e86c136aebcc533ebb63935ef8a259fd0f4": {"id": "da656e86c136aebcc533ebb63935ef8a259fd0f4", "date": 1772207273.0, "description": "long press RemoveLeafButton calls unset_root(). resolves #152", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "ca99a72c7c4ec35c01c58f777271020f466be64b": {"id": "ca99a72c7c4ec35c01c58f777271020f466be64b", "date": 1772133869.0, "description": "update fastlane changelog", "files": [["M", "fastlane/metadata/android/en-US/changelogs/142.txt"]], "author": "smith.quintin@protonmail.com"}, "02dfa60d8f1243c68a2129210fd3376b99a8404c": {"id": "02dfa60d8f1243c68a2129210fd3376b99a8404c", "date": 1772133148.0, "description": "restore applicationId", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "01218bc5f715cbaba6ccf87312c7ea22cc46c714": {"id": "01218bc5f715cbaba6ccf87312c7ea22cc46c714", "date": 1772129406.0, "description": "fixed scroll_to_leaf() logic", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"]], "author": "smith.quintin@protonmail.com"}, "5f821d9a4f579f28de7a792f16673129355c7671": {"id": "5f821d9a4f579f28de7a792f16673129355c7671", "date": 1772123659.0, "description": "update has_saved_project/has_backup_saved as needed. resolves #155", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "400a20b13499b1c734b543091231494d7267313c": {"id": "400a20b13499b1c734b543091231494d7267313c", "date": 1772123033.0, "description": "disable feedback during playback", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "f18368ed2a3f3c9f619e90154d23b028964c0f83": {"id": "f18368ed2a3f3c9f619e90154d23b028964c0f83", "date": 1772122419.0, "description": "include active_wide_beat in viewstate.clear()", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"]], "author": "smith.quintin@protonmail.com"}, "67592409fac64124a0ddae419686d55b4311022a": {"id": "67592409fac64124a0ddae419686d55b4311022a", "date": 1772122085.0, "description": "reduced beat tag indicator width", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "6e9dfc00dd856668959de0c4855a034b26c87417": {"id": "6e9dfc00dd856668959de0c4855a034b26c87417", "date": 1772121118.0, "description": "modified check for rendering leaf content", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/CellView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "60b39752355a1434b5baaf28b60512e6c89a7c75": {"id": "60b39752355a1434b5baaf28b60512e6c89a7c75", "date": 1772092737.0, "description": "increased Landing icon button size on small_landscape layout", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"]], "author": "smith.quintin@protonmail.com"}, "b6f4cb43637d54c884b2efc896a0ac6d1c4efddc": {"id": "b6f4cb43637d54c884b2efc896a0ac6d1c4efddc", "date": 1772092256.0, "description": "made landing buttons thicker on large screens", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"]], "author": "smith.quintin@protonmail.com"}, "f80c5d202b32f892e45fc25c264c7392490877d4": {"id": "f80c5d202b32f892e45fc25c264c7392490877d4", "date": 1772090963.0, "description": "made landing buttons thicker", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "4fde15e2c3267c22d022c9082f81da74302befa2": {"id": "4fde15e2c3267c22d022c9082f81da74302befa2", "date": 1772070592.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "f0d2cccf0f381536de015fd0bc3d3586769675d8": {"id": "f0d2cccf0f381536de015fd0bc3d3586769675d8", "date": 1772001742.0, "description": "fixed off-by-one in scroll_to_leaf. resolves #153", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"]], "author": "smith.quintin@protonmail.com"}, "59dba7bcdf9e9621e6094f7d540061463ff5f5ba": {"id": "59dba7bcdf9e9621e6094f7d540061463ff5f5ba", "date": 1772001422.0, "description": "fixed capitalization on beat stroke width", "files": [["M", "app/src/main/res/values/strings.xml"]], "author": "smith.quintin@protonmail.com"}, "831396d7f8f37a09858e96e201cfa5f375857ede": {"id": "831396d7f8f37a09858e96e201cfa5f375857ede", "date": 1772001328.0, "description": "fixed oversized-beat progress bar", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "fbf0543d33994f3350845131b76c3757d647472b": {"id": "fbf0543d33994f3350845131b76c3757d647472b", "date": 1772000869.0, "description": "zoom working. resolves #131. resolves #150", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/TestTag.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "2b13bc14240bd7cacffc0f8b4516018958267580": {"id": "2b13bc14240bd7cacffc0f8b4516018958267580", "date": 1771989732.0, "description": "zoom now based on dp rather than %", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "e5c51061bd75f95b9896d4a6737bd7fdfe140fcd": {"id": "e5c51061bd75f95b9896d4a6737bd7fdfe140fcd", "date": 1771952235.0, "description": "zoom tweaks", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "dcf3f30b4ff09220453f203577d6e1f5e367adce": {"id": "dcf3f30b4ff09220453f203577d6e1f5e367adce", "date": 1771950688.0, "description": "fixed zoom jitter", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "400e3e6174034fdc5abc92a1a250c67aac941bdc": {"id": "400e3e6174034fdc5abc92a1a250c67aac941bdc", "date": 1771914357.0, "description": "keep centered when zooming", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "b4f75ea45e806de97f926d385405552a02c30fe1": {"id": "b4f75ea45e806de97f926d385405552a02c30fe1", "date": 1771867315.0, "description": "working on keeping zoom centered", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "419eda67be22fc91bfc296dcf24e34c2751bcb7b": {"id": "419eda67be22fc91bfc296dcf24e34c2751bcb7b", "date": 1771863958.0, "description": "fix typo", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "bce92c6b7ee738b575a8e135d3367b7ed1f70fee": {"id": "bce92c6b7ee738b575a8e135d3367b7ed1f70fee", "date": 1771830395.0, "description": "work on zoom", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "e29349361e997ca5ddbdb86f1984374b44f97bcb": {"id": "e29349361e997ca5ddbdb86f1984374b44f97bcb", "date": 1771804312.0, "description": "Beat stroke config option", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/TableLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "1b9f9ed08866c8fdd0a28860e1b3b4479291e8b5": {"id": "1b9f9ed08866c8fdd0a28860e1b3b4479291e8b5", "date": 1771741321.0, "description": "Normalize beat widths option", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/CellView.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "6a2a4e439ba069d7022d4fe8acd223e6d7f9f8e0": {"id": "6a2a4e439ba069d7022d4fe8acd223e6d7f9f8e0", "date": 1771658988.0, "description": "work on zoom", "files": [["A", "app/src/main/res/drawable/icon_zoom.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "7cc176a5d7c81523fafa5bb78ca5c973447c282f": {"id": "7cc176a5d7c81523fafa5bb78ca5c973447c282f", "date": 1771605703.0, "description": "rough zoom indicator. single-notch-zooming", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/Values.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "fa3e35ab2b5b4eedbc3f73fb4e2533786aae184f": {"id": "fa3e35ab2b5b4eedbc3f73fb4e2533786aae184f", "date": 1771519254.0, "description": "Hide leaf content when zoomed out", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/CellView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "01196a751f7ee14b1809d84e39ec6418736d5b97": {"id": "01196a751f7ee14b1809d84e39ec6418736d5b97", "date": 1771518662.0, "description": "notched zoom logic functional", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "1a7f81d483df1a38090de8f477c0fe1d12e12a23": {"id": "1a7f81d483df1a38090de8f477c0fe1d12e12a23", "date": 1771486357.0, "description": "zoom based on cells in column", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "4f155af3c168bbd0cf855e9df5f85783ad0d4225": {"id": "4f155af3c168bbd0cf855e9df5f85783ad0d4225", "date": 1771431251.0, "description": "implemented indexed zooming", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "55f2735d9889e30d0cf1ac4b8825feffe27f27bd": {"id": "55f2735d9889e30d0cf1ac4b8825feffe27f27bd", "date": 1771398812.0, "description": "pinch-to-zoom basic functionality", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/CellView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "2835dfbb4242705264136baf5a11b8a91b196373": {"id": "2835dfbb4242705264136baf5a11b8a91b196373", "date": 1771394187.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/142.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "554233436a4bfdf7f75d371416923ad4b8afd8a2": {"id": "554233436a4bfdf7f75d371416923ad4b8afd8a2", "date": 1771393215.0, "description": "Fixed incorrectly populating column widths on lines with no events but with structure", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"]], "author": "smith.quintin@protonmail.com"}, "877d88ab9774eb81f68949d350f3471a97da2dad": {"id": "877d88ab9774eb81f68949d350f3471a97da2dad", "date": 1771352319.0, "description": "Tweak kebab & hamburger widths", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/button/TopBarIcon.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "82ad150842b43f756e3fd6ef93bf159c4f7db954": {"id": "82ad150842b43f756e3fd6ef93bf159c4f7db954", "date": 1771347052.0, "description": "version bump. changelog updated", "files": [["A", "fastlane/metadata/android/en-US/changelogs/141.txt"], ["M", "app/src/main/java/com/qfs/pagan/TestTag.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "6a36fc8613fc2c1d2c39286c893a7fae94a3a943": {"id": "6a36fc8613fc2c1d2c39286c893a7fae94a3a943", "date": 1771344973.0, "description": "fixed has_global_effect_hidden state variable", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "7d6475fad9713a97d775df2b00b161666b07bc89": {"id": "7d6475fad9713a97d775df2b00b161666b07bc89", "date": 1771343867.0, "description": "handled removed global effect controllers' visibility. resolves #149", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/androidTest/java/com/qfs/pagan/ComposeTest.kt"]], "author": "smith.quintin@protonmail.com"}, "3468a239acf942449a5ee56f1befc2e613e1efd5": {"id": "3468a239acf942449a5ee56f1befc2e613e1efd5", "date": 1771306568.0, "description": "testing. bugfix - Channel.remove_beat wasn't keeping correct count", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusChannel.kt"], ["M", "app/src/androidTest/java/com/qfs/pagan/ComposeTest.kt"]], "author": "smith.quintin@protonmail.com"}, "3ff957ee0e1df138e47d55d8bc74b195ec794064": {"id": "3ff957ee0e1df138e47d55d8bc74b195ec794064", "date": 1771265430.0, "description": "playing with instrumented testing", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/TestTag.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/androidTest/java/com/qfs/pagan/ComposeTest.kt"]], "author": "smith.quintin@protonmail.com"}, "d241ced033a8b18b443ed55912303d57ecea7456": {"id": "d241ced033a8b18b443ed55912303d57ecea7456", "date": 1771190046.0, "description": "removed no longer necessary lock_cursor call around toggle_controller_visibility()", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"], ["M", "app/src/androidTest/java/com/qfs/pagan/ComposeTest.kt"]], "author": "smith.quintin@protonmail.com"}, "7dab8a1680b7332a955a3fde744d0bde157953c3": {"id": "7dab8a1680b7332a955a3fde744d0bde157953c3", "date": 1771139746.0, "description": "work on instrumented testing", "files": [["M", "app/src/main/java/com/qfs/pagan/TestTag.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"], ["M", "app/src/androidTest/java/com/qfs/pagan/ComposeTest.kt"]], "author": "smith.quintin@protonmail.com"}, "daf5e328590914f7430743391dd0336938dd4fde": {"id": "daf5e328590914f7430743391dd0336938dd4fde", "date": 1771094220.0, "description": "work on instrumented testing", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/table/CellView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DialogCard.kt"], ["M", "app/src/main/java/com/qfs/pagan/TestTag.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/androidTest/java/com/qfs/pagan/ComposeTest.kt"]], "author": "smith.quintin@protonmail.com"}, "b8c2bf8721131361a9ef66e5cde042dae9aaf599": {"id": "b8c2bf8721131361a9ef66e5cde042dae9aaf599", "date": 1771056288.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "4752462f44e5e24c22013eed9ad39c637061eb2c": {"id": "4752462f44e5e24c22013eed9ad39c637061eb2c", "date": 1771054281.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/TestTag.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "da1b2fab516a7fb0101d85157725053d10f4693b": {"id": "da1b2fab516a7fb0101d85157725053d10f4693b", "date": 1771052868.0, "description": "move ActionTracker -> ActionDispatcher", "files": [["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/ShortcutView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/CellView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["D", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["A", "app/src/main/java/com/qfs/pagan/ActionDispatcher.kt"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"]], "author": "smith.quintin@protonmail.com"}, "24296ed75dbe3dba36597d484956e4a046516114": {"id": "24296ed75dbe3dba36597d484956e4a046516114", "date": 1771046353.0, "description": "beginning to dismantle ActionTracker", "files": [["M", "app/src/main/java/com/qfs/pagan/Values.kt"], ["D", "app/src/main/java/com/qfs/pagan/TableColorPalette.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "6d9b6269675435d050ed026f27c190b533bde021": {"id": "6d9b6269675435d050ed026f27c190b533bde021", "date": 1771018584.0, "description": "play button alpha reduced when no playback available", "files": [["M", "app/src/main/java/com/qfs/pagan/Values.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "777e3a1f075c10b2133cd6241b3b3b0430267360": {"id": "777e3a1f075c10b2133cd6241b3b3b0430267360", "date": 1771018396.0, "description": "fix malformed padding on tuning table", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "43770b94decbbb58fdd7c89a7004a05f415f626e": {"id": "43770b94decbbb58fdd7c89a7004a05f415f626e", "date": 1771017747.0, "description": "New Icons for redo/undo\n    reduce alpha on undo/redo when no action available", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/drawable/icon_undo.xml"], ["A", "app/src/main/res/drawable/icon_redo.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/HistoryCache.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/TopBarIcon.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "3ed953f65a90db0dee418fa1b98e46e74468a328": {"id": "3ed953f65a90db0dee418fa1b98e46e74468a328", "date": 1771006395.0, "description": "Redo functional. need new icon and icon appearance logic", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/HistoryCache.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "3340bb201e70ee8624c7033b4c41134026503d99": {"id": "3340bb201e70ee8624c7033b4c41134026503d99", "date": 1771004382.0, "description": "implemented initial framework for 'redo'", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/HistoryCache.kt"]], "author": "smith.quintin@protonmail.com"}, "11123a605dd6dfa1dfadd16c32d5f35bc362d7d7": {"id": "11123a605dd6dfa1dfadd16c32d5f35bc362d7d7", "date": 1770959077.0, "description": "Implemented TestTag as enum and Modifier.testTag()", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/table/ShortcutView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/CellView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/NumberSelector.kt"], ["A", "app/src/main/java/com/qfs/pagan/TestTag.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/androidTest/java/com/qfs/pagan/ComposeTest.kt"]], "author": "smith.quintin@protonmail.com"}, "b21ebacf5e8ca1b4a033b4534b1e295b401d5809": {"id": "b21ebacf5e8ca1b4a033b4534b1e295b401d5809", "date": 1770944571.0, "description": "working on basic instrumented test", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DialogCard.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/androidTest/java/com/qfs/pagan/ComposeTest.kt"]], "author": "smith.quintin@protonmail.com"}, "904426779970126e345259baf2e6dab5839d9548": {"id": "904426779970126e345259baf2e6dab5839d9548", "date": 1770926138.0, "description": "starting instrumented testing with compose", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/CellView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"], ["A", "app/src/androidTest/java/com/qfs/pagan/ComposeTest.kt"]], "author": "smith.quintin@protonmail.com"}, "3361514dc6b820cbddb3072ff749c2fee35edb16": {"id": "3361514dc6b820cbddb3072ff749c2fee35edb16", "date": 1770918899.0, "description": "restored some toast feedback", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "95e89407f1b0351878e3b65825f9225aa637d438": {"id": "95e89407f1b0351878e3b65825f9225aa637d438", "date": 1770918667.0, "description": "removed raw string", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "028105abe431c90400fb15e1907d692c07b69e0b": {"id": "028105abe431c90400fb15e1907d692c07b69e0b", "date": 1770918284.0, "description": "state view model storing pixel density rather than leaf size", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "8d2ea578478817c9b33b76ae290f28420f3f1299": {"id": "8d2ea578478817c9b33b76ae290f28420f3f1299", "date": 1770917540.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "1a1b2cdde1b7a579794138a5d6dfafa538d424b1": {"id": "1a1b2cdde1b7a579794138a5d6dfafa538d424b1", "date": 1770917497.0, "description": "update some tests", "files": [["M", "app/src/test/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLineJSONInterfaceUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerCursor.kt"], ["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/wrappers/DivisionSeparator.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/TableLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/ShortcutView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/HalfBorderBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/CellView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DivisorSeparator.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "0f13ad242308a360c9d18053fa0da0c46a86abb4": {"id": "0f13ad242308a360c9d18053fa0da0c46a86abb4", "date": 1770875036.0, "description": "removed unused night colors", "files": [["M", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/res/drawable/icon_shortcut.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/table/ShortcutView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetDelay.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/button/RelativeOptionButton.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/DivisorSeparator.kt"]], "author": "smith.quintin@protonmail.com"}, "56b80ee2f2cdf436d5e82ab17332c509909633f4": {"id": "56b80ee2f2cdf436d5e82ab17332c509909633f4", "date": 1770839080.0, "description": "Lint", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/table/TableLine.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/table/ShortcutView.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/table/LeafView.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/table/HalfBorderBox.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/table/CellView.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/RelativeOptionButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/MediumSpacer.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"]], "author": "smith.quintin@protonmail.com"}, "38e4cba4bfd6714ed9c6f5112314fa4089be2f2d": {"id": "38e4cba4bfd6714ed9c6f5112314fa4089be2f2d", "date": 1770745625.0, "description": "magic number management", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SoundFontWarning.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "e5e7f77f7dd5fafe12ee16b5ece61d207d767b28": {"id": "e5e7f77f7dd5fafe12ee16b5ece61d207d767b28", "date": 1770744099.0, "description": "magic number management", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/wrappers/DivisionSeparator.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "c3abca9975e854d0ec9475ecfee30c3b082ae771": {"id": "c3abca9975e854d0ec9475ecfee30c3b082ae771", "date": 1770665272.0, "description": "lint - magic numbers", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/RadioMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/NumberPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Modifier.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/IntegerInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/HexInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/FloatInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DialogCard.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ColorPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/toDp.kt"]], "author": "smith.quintin@protonmail.com"}, "766c81ae41b779bcc19248ddb01c7a13aea36d5f": {"id": "766c81ae41b779bcc19248ddb01c7a13aea36d5f", "date": 1770591607.0, "description": "Magic number management", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"]], "author": "smith.quintin@protonmail.com"}, "55193401d35b97db816ce6d21f27050e9ad986c4": {"id": "55193401d35b97db816ce6d21f27050e9ad986c4", "date": 1770589561.0, "description": "removed magic numbers from DialogCard", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/NumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DialogCard.kt"]], "author": "smith.quintin@protonmail.com"}, "0efa03f90fd4fef99cc4e4ec56af1ab0f49d141d": {"id": "0efa03f90fd4fef99cc4e4ec56af1ab0f49d141d", "date": 1770582990.0, "description": "add license snippet to beginning of newly added files", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/wrappers/Text.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/wrappers/Slider.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/wrappers/DropdownMenuItem.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/wrappers/DropdownMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/TextInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/NumberPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/NumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/IntegerInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/HexInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/FloatInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DrawerCard.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/DialogCard.kt"]], "author": "smith.quintin@protonmail.com"}, "5ce2f580976e3fb4b051918401d6103db170cb7e": {"id": "5ce2f580976e3fb4b051918401d6103db170cb7e", "date": 1770581705.0, "description": "Moved most of the  Composable functions out of SText", "files": [["M", "app/src/main/res/values/integers.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/wrappers/Text.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/wrappers/Slider.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/wrappers/DropdownMenuItem.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/wrappers/DropdownMenu.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVolume.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVolume.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVelocity.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetVelocity.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetTempo.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetTempo.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetReverb.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetReverb.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetPan.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetPan.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetDelay.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/effectwidget/EffectWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/TextInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SoundFontWarning.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/SortableMenu.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/NumberSelector.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/NumberPicker.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/NumberInput.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/IntegerInput.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/HexInput.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/FloatInput.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/DrawerCard.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/DialogCard.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ColorPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/Values.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "05c109f5d86a18043961f422bf9d8084d4cc424a": {"id": "05c109f5d86a18043961f422bf9d8084d4cc424a", "date": 1770577392.0, "description": "removed unused colors", "files": [["M", "app/src/main/res/values/colors.xml"]], "author": "smith.quintin@protonmail.com"}, "05646c5d162ac5d37f5e837f47b11352c3c7e5a3": {"id": "05646c5d162ac5d37f5e837f47b11352c3c7e5a3", "date": 1770575216.0, "description": "remove dimens.xml content", "files": [["M", "app/src/main/res/values/dimens.xml"], ["D", "app/src/main/res/drawable/icon_show_percussion.xml"], ["D", "app/src/main/res/drawable/icon_hide_percussion.xml"], ["D", "app/src/main/res/drawable/icon_delete_channel.xml"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "7733159c48d6e87ce921240e3337205bb66cc704": {"id": "7733159c48d6e87ce921240e3337205bb66cc704", "date": 1770574398.0, "description": "removed usage of dimensions.xml", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "f8ea997b26b75653297696b6ee19f50aa06ccd60": {"id": "f8ea997b26b75653297696b6ee19f50aa06ccd60", "date": 1770485070.0, "description": "restore applicationId, move changelog 139.txt to 140.txt", "files": [["D", "fastlane/metadata/android/en-US/changelogs/139.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/140.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "27d69435014d225098f243f63884684b92e0bc1e": {"id": "27d69435014d225098f243f63884684b92e0bc1e", "date": 1770481662.0, "description": "fixed undo of move_channel", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"]], "author": "smith.quintin@protonmail.com"}, "e34035b485423c7b4e69cd19c00ad5689a1a96e4": {"id": "e34035b485423c7b4e69cd19c00ad5689a1a96e4", "date": 1770447384.0, "description": "when restoring channel / line effects, only set visibility if visible", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "a190a97833808d211695bdf89a0fb87bdca9b929": {"id": "a190a97833808d211695bdf89a0fb87bdca9b929", "date": 1770440876.0, "description": "move change log 138 to 139", "files": [["D", "fastlane/metadata/android/en-US/changelogs/138.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/139.txt"]], "author": "smith.quintin@protonmail.com"}, "86ed2e90f6f93ff6f86e7f717bee9b0d6c5f7126": {"id": "86ed2e90f6f93ff6f86e7f717bee9b0d6c5f7126", "date": 1770440693.0, "description": "versionCode bump", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "8de5e0122c7e1f37759066f16c7174a05e192d4f": {"id": "8de5e0122c7e1f37759066f16c7174a05e192d4f", "date": 1770440595.0, "description": "removed debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "7a9da9109bd0652656e7d1be6b31c0c19b661866": {"id": "7a9da9109bd0652656e7d1be6b31c0c19b661866", "date": 1770440455.0, "description": "fastlane screenshots", "files": [["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/v1_8_0 - 203320_com.qfs.pagan.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/v1_8_0 - 185314_com.qfs.pagan.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/v1_8_0 - 185257_com.qfs.pagan.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/v1_8_0 - 185241_com.qfs.pagan.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/v1_8_0 - 185217_com.qfs.pagan.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/v1_8_0 - 185153_com.qfs.pagan.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/v1_8_0 - 185129_com.qfs.pagan.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/v1_8_0 - 185059_com.qfs.pagan.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/3.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/2.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/1.png"]], "author": "smith.quintin@protonmail.com"}, "99705e303afdfe714f58538ee7744754edd9e6fa": {"id": "99705e303afdfe714f58538ee7744754edd9e6fa", "date": 1770427143.0, "description": "Removed template from end of license", "files": [["M", "LICENSE"]], "author": "smith.quintin@protonmail.com"}, "44b630222860b84ba249ca69c83f3450e4f1bc7a": {"id": "44b630222860b84ba249ca69c83f3450e4f1bc7a", "date": 1770426970.0, "description": "fixed license and lack of license notices", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shadows.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Icons.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Fonts.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"], ["M", "app/src/main/java/com/qfs/pagan/swap_sections.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/structure.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/Exception.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/utils/utils.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/HistoryCache.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/Exception.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/CursorMode.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/SingleFloatEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusVolumeEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusVelocityEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusTempoEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusReverbEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusPanEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/LowPassEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/EffectEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/DelayEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/VolumeController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/VelocityController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/TempoController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/ReverbController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/PanController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/LowPassController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/DelayController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/ControllerProfile.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/Effectable.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectType.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLinePercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusColorPalette/toHexString.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusColorPalette/toColor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusColorPalette/OpusColorPalette.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusColorPalette/ColorPalettable.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/InstrumentEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/Exception.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/CtlLineLevel.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/Rational.kt"], ["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/projectmanager/Exception.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusTreeJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusManagerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusLineJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/InstrumentEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/Exception.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/intermediate_structure_functions.kt"], ["M", "app/src/main/java/com/qfs/pagan/enumerate.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/TopBarIcon.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/RelativeOptionButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SoundFontWarning.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/RadioMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/PaganTheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Modifier.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ColorPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/Values.kt"], ["M", "app/src/main/java/com/qfs/pagan/UILock.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableColorPalette.kt"], ["M", "app/src/main/java/com/qfs/pagan/SingleExporterEventHandler.kt"], ["M", "app/src/main/java/com/qfs/pagan/RelativeInputMode.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackState.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganBroadcastReceiver.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MultiExporterEventHandler.kt"], ["M", "app/src/main/java/com/qfs/pagan/MidiFeedbackDispatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/MaterialColorCalculator.kt"], ["M", "app/src/main/java/com/qfs/pagan/LayoutSize.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/HexEditText.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/Exportable.kt"], ["M", "app/src/main/java/com/qfs/pagan/DialogChain.kt"], ["M", "app/src/main/java/com/qfs/pagan/Coordinate.kt"], ["M", "app/src/main/java/com/qfs/pagan/Context.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/toDp.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/TestActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompatibleFileType.kt"], ["M", "app/src/main/java/com/qfs/pagan/Color.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WavConverter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ReverbDynamics.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ReverbBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ProfileBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/EffectType.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ControllerEventData.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/SampleType.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/SampleDirective.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/SampleData.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/Sample.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/Riff.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/PseudoArray.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/Preset.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/Modulator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/InstrumentDirective.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/Instrument.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/Generator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/Generated.kt"], ["M", "app/src/main/java/com/qfs/apres/incidental_functions.kt"], ["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Volume.kt"], ["M", "app/src/main/java/com/qfs/apres/event/VariableControlChange.kt"], ["M", "app/src/main/java/com/qfs/apres/event/TuneRequest.kt"], ["M", "app/src/main/java/com/qfs/apres/event/TremuloLevel.kt"], ["M", "app/src/main/java/com/qfs/apres/event/TrackName.kt"], ["M", "app/src/main/java/com/qfs/apres/event/TimeSignature.kt"], ["M", "app/src/main/java/com/qfs/apres/event/TimeCode.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Text.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SystemExclusive.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Sustenuto.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundVariation.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundTimbre.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundReleaseTime.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundControl5.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundControl4.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundControl3.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundControl2.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundControl1.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundBrightness.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundAttack.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SongSelect.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SongPositionPointer.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoftPedal.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SetTempo.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SequencerSpecific.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SequenceNumber.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SMPTEOffset.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Reset.kt"], ["M", "app/src/main/java/com/qfs/apres/event/RegisteredParameterNumber.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ProgramChange.kt"], ["M", "app/src/main/java/com/qfs/apres/event/PortamentoTime.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Portamento.kt"], ["M", "app/src/main/java/com/qfs/apres/event/PolyphonicOperation.kt"], ["M", "app/src/main/java/com/qfs/apres/event/PolyphonicKeyPressure.kt"], ["M", "app/src/main/java/com/qfs/apres/event/PitchWheelChange.kt"], ["M", "app/src/main/java/com/qfs/apres/event/PhaserLevel.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Pan.kt"], ["M", "app/src/main/java/com/qfs/apres/event/OmniOn.kt"], ["M", "app/src/main/java/com/qfs/apres/event/OmniOff.kt"], ["M", "app/src/main/java/com/qfs/apres/event/NoteOn.kt"], ["M", "app/src/main/java/com/qfs/apres/event/NoteOff.kt"], ["M", "app/src/main/java/com/qfs/apres/event/NonRegisteredParameterNumber.kt"], ["M", "app/src/main/java/com/qfs/apres/event/MonophonicOperation.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ModulationWheel.kt"], ["M", "app/src/main/java/com/qfs/apres/event/MetaEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Marker.kt"], ["M", "app/src/main/java/com/qfs/apres/event/MTCQuarterFrame.kt"], ["M", "app/src/main/java/com/qfs/apres/event/MIDIStop.kt"], ["M", "app/src/main/java/com/qfs/apres/event/MIDIStart.kt"], ["M", "app/src/main/java/com/qfs/apres/event/MIDIEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/event/MIDIContinue.kt"], ["M", "app/src/main/java/com/qfs/apres/event/MIDIClock.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Lyric.kt"], ["M", "app/src/main/java/com/qfs/apres/event/LocalControl.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Legato.kt"], ["M", "app/src/main/java/com/qfs/apres/event/KeySignature.kt"], ["M", "app/src/main/java/com/qfs/apres/event/InstrumentName.kt"], ["M", "app/src/main/java/com/qfs/apres/event/HoldPedal.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Hold2Pedal.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose8.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose7.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose6.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose5.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose4.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose3.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose2.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose1.kt"], ["M", "app/src/main/java/com/qfs/apres/event/FootPedal.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Expression.kt"], ["M", "app/src/main/java/com/qfs/apres/event/EndOfTrack.kt"], ["M", "app/src/main/java/com/qfs/apres/event/EffectsLevel.kt"], ["M", "app/src/main/java/com/qfs/apres/event/EffectControl2.kt"], ["M", "app/src/main/java/com/qfs/apres/event/EffectControl1.kt"], ["M", "app/src/main/java/com/qfs/apres/event/DataIncrement.kt"], ["M", "app/src/main/java/com/qfs/apres/event/DataEntry.kt"], ["M", "app/src/main/java/com/qfs/apres/event/DataDecrement.kt"], ["M", "app/src/main/java/com/qfs/apres/event/CuePoint.kt"], ["M", "app/src/main/java/com/qfs/apres/event/CopyRightNotice.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ControlChange.kt"], ["M", "app/src/main/java/com/qfs/apres/event/CompoundEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ChorusLevel.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ChannelVoiceMessage.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ChannelPressure.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ChannelPrefix.kt"], ["M", "app/src/main/java/com/qfs/apres/event/CelesteLevel.kt"], ["M", "app/src/main/java/com/qfs/apres/event/BreathController.kt"], ["M", "app/src/main/java/com/qfs/apres/event/BankSelect.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Balance.kt"], ["M", "app/src/main/java/com/qfs/apres/event/AllSoundOff.kt"], ["M", "app/src/main/java/com/qfs/apres/event/AllNotesOff.kt"], ["M", "app/src/main/java/com/qfs/apres/event/AllControllersOff.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ActiveSense.kt"], ["M", "app/src/main/java/com/qfs/apres/WavFile.kt"], ["M", "app/src/main/java/com/qfs/apres/VirtualMidiOutputDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/VirtualMidiInputDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"], ["M", "app/src/main/java/com/qfs/apres/Complex.kt"], ["M", "app/src/main/assets/LICENSE"]], "author": "smith.quintin@protonmail.com"}, "296c3f4f282678868863553fa1aff08e586397ed": {"id": "296c3f4f282678868863553fa1aff08e586397ed", "date": 1770410568.0, "description": "updated fastlane data", "files": [["M", "fastlane/metadata/android/en-US/changelogs/138.txt"]], "author": "smith.quintin@protonmail.com"}, "98a159370c6dd15b3fd9b2d4d9a092dc8394e7d8": {"id": "98a159370c6dd15b3fd9b2d4d9a092dc8394e7d8", "date": 1770408451.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/138.txt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "f9ec6062e5d3a5dfb97748cd337f72fb905b9462": {"id": "f9ec6062e5d3a5dfb97748cd337f72fb905b9462", "date": 1770402765.0, "description": "fixed crash on input w IntegerInputs. reduced BeatLabel font size", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "00922d2e137c0bddf77e29164ed43b3459e456f6": {"id": "00922d2e137c0bddf77e29164ed43b3459e456f6", "date": 1770396595.0, "description": "remove some redundant code", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "ddc4e3da48b6baf9629ef8a32a7915a9c2467ef4": {"id": "ddc4e3da48b6baf9629ef8a32a7915a9c2467ef4", "date": 1770311976.0, "description": "close load menu before trying to call callback()", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "cbb5eab8dce0988416688ef6a60fe9a127ff5378": {"id": "cbb5eab8dce0988416688ef6a60fe9a127ff5378", "date": 1770264360.0, "description": "more fixes for track_blocked_leafs()", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "45e8ec0500fa32a0cb9fa9393d4fbd9659d375c7": {"id": "45e8ec0500fa32a0cb9fa9393d4fbd9659d375c7", "date": 1770262685.0, "description": "tweak to leaf selection", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"]], "author": "smith.quintin@protonmail.com"}, "10a50712d0d34c219389cf779564c3c8a581fe72": {"id": "10a50712d0d34c219389cf779564c3c8a581fe72", "date": 1770261745.0, "description": "fixed: called track_blocked_leafs on incorrect beat when inserting beat", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "801ba691ee53adc69ff7e9fad97e6baac4ba1ddf": {"id": "801ba691ee53adc69ff7e9fad97e6baac4ba1ddf", "date": 1770258098.0, "description": "fixed: insert() wasn't tracking parent", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "d6f8376b4e6c14c9a15fdff1f043f57b74158a8c": {"id": "d6f8376b4e6c14c9a15fdff1f043f57b74158a8c", "date": 1770256678.0, "description": "added refresh button to load menu", "files": [["A", "app/src/main/res/drawable/icon_refresh.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "b2b5d58025389af8bc1e0a6423d10bdede04a3a9": {"id": "b2b5d58025389af8bc1e0a6423d10bdede04a3a9", "date": 1770253750.0, "description": "fixed overzealous leaf highlighting", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"]], "author": "smith.quintin@protonmail.com"}, "155fbd5b23598c9e1a5938e19256ee48f76a1946": {"id": "155fbd5b23598c9e1a5938e19256ee48f76a1946", "date": 1770251204.0, "description": "more tweaks to selection colors", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"]], "author": "smith.quintin@protonmail.com"}, "13366fb433b71e9fcacecb05745badc0ae9e15d9": {"id": "13366fb433b71e9fcacecb05745badc0ae9e15d9", "date": 1770249607.0, "description": "leaf/line/column selection highlighting improved", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shadows.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "10a7dbede90042da3d26346278d11d4c8d1880be": {"id": "10a7dbede90042da3d26346278d11d4c8d1880be", "date": 1770233410.0, "description": "leaf highlighted notes with duration > 1", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"]], "author": "smith.quintin@protonmail.com"}, "5a109c28f59a562a3efcc2c7e5c367b67aa37e2c": {"id": "5a109c28f59a562a3efcc2c7e5c367b67aa37e2c", "date": 1770228293.0, "description": "removed debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"]], "author": "smith.quintin@protonmail.com"}, "5e11e23d1f94b5f38d2fa796372618a1979a8e50": {"id": "5e11e23d1f94b5f38d2fa796372618a1979a8e50", "date": 1770227958.0, "description": "fix crash on move_line from single-line channel", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "2df768e451f7ca1084558773ecbdaf64e087e161": {"id": "2df768e451f7ca1084558773ecbdaf64e087e161", "date": 1770187942.0, "description": "created EffectLeaf Typogrpahy", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "f9c747a4f98f5d44528611a9d3428210c00c9c5d": {"id": "f9c747a4f98f5d44528611a9d3428210c00c9c5d", "date": 1770184590.0, "description": "remove placeholder tag description", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"]], "author": "smith.quintin@protonmail.com"}, "651af3101e209641558dc55dd486c3f0840402d0": {"id": "651af3101e209641558dc55dd486c3f0840402d0", "date": 1770176969.0, "description": "tag description work", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"]], "author": "smith.quintin@protonmail.com"}, "e255da6aab82ace2cb71950ba2ae2420dd48d636": {"id": "e255da6aab82ace2cb71950ba2ae2420dd48d636", "date": 1770145460.0, "description": "moved tag input description into context menu", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "c52e8d86afe5d716b8493d8637f9dad417ddf05e": {"id": "c52e8d86afe5d716b8493d8637f9dad417ddf05e", "date": 1770102254.0, "description": "attributionTag", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "d299c8f761571801ecc792d4e96c45d14e816c57": {"id": "d299c8f761571801ecc792d4e96c45d14e816c57", "date": 1770100557.0, "description": "button shaping", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"]], "author": "smith.quintin@protonmail.com"}, "003ddf016d427dd7456267c56f40f5bc830f36d8": {"id": "003ddf016d427dd7456267c56f40f5bc830f36d8", "date": 1770098864.0, "description": "button shaping", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"]], "author": "smith.quintin@protonmail.com"}, "2ac1b8dac19fb55062888718e2254ef3befec883": {"id": "2ac1b8dac19fb55062888718e2254ef3befec883", "date": 1770095576.0, "description": "check active_event_descriptor in percussion switch", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "7cc0b05255ccd04624e68fc5c89b51ec1019113f": {"id": "7cc0b05255ccd04624e68fc5c89b51ec1019113f", "date": 1770092027.0, "description": "background tweaks. created layout dependent shape for buttons in secondary context menu at end", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "869d94298a6858e8ee403a872ca3649fe1f9bb16": {"id": "869d94298a6858e8ee403a872ca3649fe1f9bb16", "date": 1770075029.0, "description": "background tweaks", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "88e3db31a5ade9d6bbdd482299e0d4851289eff7": {"id": "88e3db31a5ade9d6bbdd482299e0d4851289eff7", "date": 1770072792.0, "description": "tweaked shapes", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"]], "author": "smith.quintin@protonmail.com"}, "cf204c0f702ce7452780c78373e0ba5031136d56": {"id": "cf204c0f702ce7452780c78373e0ba5031136d56", "date": 1770071268.0, "description": "fixed long-clicking offset value using 0", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "bf6554d7bfd948f24c001608ff6d53371d59855b": {"id": "bf6554d7bfd948f24c001608ff6d53371d59855b", "date": 1770070180.0, "description": "slight adjustment to bacground pattern", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "1de80b4abca7d39f5fca9d676efe9f92089145ff": {"id": "1de80b4abca7d39f5fca9d676efe9f92089145ff", "date": 1770064408.0, "description": "fixed delete button in project card", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "5ad3f51fa50e5e91c1f1b04cee5c7800528da5f6": {"id": "5ad3f51fa50e5e91c1f1b04cee5c7800528da5f6", "date": 1770048605.0, "description": "handle unknown kit instruments", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"]], "author": "smith.quintin@protonmail.com"}, "bd30259251f75801aeece1d3b2b54525168d7a2e": {"id": "bd30259251f75801aeece1d3b2b54525168d7a2e", "date": 1770005182.0, "description": "reduce Feedback device buffer size to 1/40", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "c693f9cabf189953e272ef801bb0a55c42432238": {"id": "c693f9cabf189953e272ef801bb0a55c42432238", "date": 1770004880.0, "description": "reduce green weight in get_text()", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"]], "author": "smith.quintin@protonmail.com"}, "63ba63cd0c3611fe3c0414a1a5fa18ef33f2612b": {"id": "63ba63cd0c3611fe3c0414a1a5fa18ef33f2612b", "date": 1769995207.0, "description": "update channels on insert_channel()", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "f834b23b63f6a2cff140c0ae4f986c5031de1b87": {"id": "f834b23b63f6a2cff140c0ae4f986c5031de1b87", "date": 1769995081.0, "description": "update channel presets on channel_remove", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "7bb4ee8f139f9ec3db6075cf189e9a0184732b32": {"id": "7bb4ee8f139f9ec3db6075cf189e9a0184732b32", "date": 1769993988.0, "description": "refresh cursor after move_channel", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "915ea4f00dc28990a7a48b4a4c6e598db4ee9e5f": {"id": "915ea4f00dc28990a7a48b4a4c6e598db4ee9e5f", "date": 1769993346.0, "description": "update channels in drawer on move_channel", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "b13f4696a1543d7a1f697b574dee64d286440101": {"id": "b13f4696a1543d7a1f697b574dee64d286440101", "date": 1769980083.0, "description": "get_text() weights green more so return will be dark sooner if more green is in the mix", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"]], "author": "smith.quintin@protonmail.com"}, "3baf1117d631d72e746093c27389d7f8d6f5402d": {"id": "3baf1117d631d72e746093c27389d7f8d6f5402d", "date": 1769978811.0, "description": "update palette icon", "files": [["M", "app/src/main/res/drawable/icon_palette.xml"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "7a49b8c5b287683a5f8b801d7bd390209b594951": {"id": "7a49b8c5b287683a5f8b801d7bd390209b594951", "date": 1769977593.0, "description": "start playback from first visible beat if column/beat not selected", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "b718751c8986841dabb294dea821eb05c8e18f85": {"id": "b718751c8986841dabb294dea821eb05c8e18f85", "date": 1769977043.0, "description": "stop playback on load", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "97ee031da08d25af18104b4d66618dd04f351e9b": {"id": "97ee031da08d25af18104b4d66618dd04f351e9b", "date": 1769976352.0, "description": "typography for number picker", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"]], "author": "smith.quintin@protonmail.com"}, "e2001eca4c55f72e051428a88f69869519b681c9": {"id": "e2001eca4c55f72e051428a88f69869519b681c9", "date": 1769975023.0, "description": "Fixed incorrect value in NumberPickers", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"]], "author": "smith.quintin@protonmail.com"}, "f65d8541e693f3a1fd3ca1b61c44228eb6418605": {"id": "f65d8541e693f3a1fd3ca1b61c44228eb6418605", "date": 1769972707.0, "description": "update project_exists when loading from backup", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "c5df6238a7b88b0c3622bd3d6d571849efa7d436": {"id": "c5df6238a7b88b0c3622bd3d6d571849efa7d436", "date": 1769942783.0, "description": "Prevent Dialog from shifting on resize", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/DialogChain.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "b425671de978b9a83763140d1cf333ef3649b8ee": {"id": "b425671de978b9a83763140d1cf333ef3649b8ee", "date": 1769931141.0, "description": "change sortable line height", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"]], "author": "smith.quintin@protonmail.com"}, "0298ca21e6ecbb600539eca443c5c69104d9faa1": {"id": "0298ca21e6ecbb600539eca443c5c69104d9faa1", "date": 1769928453.0, "description": "Custom Channel/Line Colors", "files": [["M", "app/src/main/res/values/strings.xml"], ["A", "app/src/main/res/drawable/icon_palette.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusColorPalette/OpusColorPalette.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/ColorPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/DialogChain.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "e78dbfd0dcc13de5b1263969908944ad3d847716": {"id": "e78dbfd0dcc13de5b1263969908944ad3d847716", "date": 1769885446.0, "description": "feedback on project copy", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "4c5bde32c2ac5688bafa5f0fc899c76adb4f809f": {"id": "4c5bde32c2ac5688bafa5f0fc899c76adb4f809f", "date": 1769884950.0, "description": "don't show leafs as selected during playback (only column label)", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "03774915d73479e3c884db0321ca0889fb1f206f": {"id": "03774915d73479e3c884db0321ca0889fb1f206f", "date": 1769884322.0, "description": "SmallPortrait moves Project Title to Drawer. Placeholder playback button added when no sf or midi device is attached", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/TopBarIcon.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"]], "author": "smith.quintin@protonmail.com"}, "ba15f904e82b645b7fb79230abc7a8df3b383eaf": {"id": "ba15f904e82b645b7fb79230abc7a8df3b383eaf", "date": 1769842896.0, "description": "starting work on channel/line colors", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/HistoryCache.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusColorPalette/toHexString.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusColorPalette/toColor.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusColorPalette/OpusColorPalette.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusColorPalette/ColorPalettable.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusTreeJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusManagerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusLineJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/InstrumentEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "61e9c9e6ec02e216eb496f9c8c6979b23f7f2e39": {"id": "61e9c9e6ec02e216eb496f9c8c6979b23f7f2e39", "date": 1769821816.0, "description": "Pre-release tweaks\n     - reduced tempo input width\n     - minimum percussion instruments set up", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/TopBarIcon.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/RelativeOptionButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "e00dbe5419fc8b0b11f4a545821811c25f8f76f6": {"id": "e00dbe5419fc8b0b11f4a545821811c25f8f76f6", "date": 1769799200.0, "description": "removed debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "2672ba811dac7175878cbfb10130bfdf8154b9e5": {"id": "2672ba811dac7175878cbfb10130bfdf8154b9e5", "date": 1769797570.0, "description": "removed duplicate move_mode in vm_controller", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "a7c7eea9ddf1c6983dad0dd1199acba7ebd17a5a": {"id": "a7c7eea9ddf1c6983dad0dd1199acba7ebd17a5a", "date": 1769795037.0, "description": "Moved playback button to left side of topbar", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "66d23ecd54eb11de7c6948ef90c010a156f4d6fa": {"id": "66d23ecd54eb11de7c6948ef90c010a156f4d6fa", "date": 1769794350.0, "description": "pre-release tweaks:\n     - Toast on save\n     - Tweak NumberSelector FontSize\n     - Added dropshadow to topbar\n     - Delay Inputs submit on focus_exit", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shadows.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "3b4cec10a768c0bea409ac68a4106f2079752463": {"id": "3b4cec10a768c0bea409ac68a4106f2079752463", "date": 1769758446.0, "description": "removed relative input as a config option. relative input logic worked out", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/RadioMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "f7c8477c59518e91fafefc11fa801961e555c436": {"id": "f7c8477c59518e91fafefc11fa801961e555c436", "date": 1769750067.0, "description": "input indicator tweaks", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "0d716090aa172557fc8eaf5fdbb709f5033912b6": {"id": "0d716090aa172557fc8eaf5fdbb709f5033912b6", "date": 1769724606.0, "description": "added Values.kt", "files": [["A", "app/src/main/java/com/qfs/pagan/Values.kt"]], "author": "smith.quintin@protonmail.com"}, "e7692b1426eba56eb274f9e4a8a2e69e055bb3f0": {"id": "e7692b1426eba56eb274f9e4a8a2e69e055bb3f0", "date": 1769724582.0, "description": "handled some dangling TODOs", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "92910699249a926db93da3f52507d6d99674300a": {"id": "92910699249a926db93da3f52507d6d99674300a", "date": 1769719754.0, "description": "show warning when exporting midi with multiple percussion channels", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "8377ea59ca1c0c5e67db1b38f78d9d2710fe06b8": {"id": "8377ea59ca1c0c5e67db1b38f78d9d2710fe06b8", "date": 1769718522.0, "description": "converted sound_active from MutableState<Boolean> to MutableState<Long?>", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "495165a3f3ff69b4c13a86e31313fc612366bc03": {"id": "495165a3f3ff69b4c13a86e31313fc612366bc03", "date": 1769716633.0, "description": "fixed scroll-to-beat logic", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "880811422e2645b8811b478f683d7e34fcb88363": {"id": "880811422e2645b8811b478f683d7e34fcb88363", "date": 1769713398.0, "description": "removed stop indicator from oversized beat progress indicator", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "aca2b68679031f49d6d4bb5b857d271b645f2212": {"id": "aca2b68679031f49d6d4bb5b857d271b645f2212", "date": 1769708803.0, "description": "removed some debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "54a37e695911016404fd00e82f0e4fc7394eba15": {"id": "54a37e695911016404fd00e82f0e4fc7394eba15", "date": 1769708449.0, "description": "increased threshold to 1.5x the size of screen before showing the progress indicator in the beat label", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "af22276d0ecf7a242df05eec24506b47e88781f8": {"id": "af22276d0ecf7a242df05eec24506b47e88781f8", "date": 1769707952.0, "description": "put vertical TableLine back within LeafView", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "7936ac86f3ed99f415e6b52c1a8047a50b6a84e1": {"id": "7936ac86f3ed99f415e6b52c1a8047a50b6a84e1", "date": 1769707411.0, "description": "use_preferred_soundfont working again", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "32d5fb71426f8fe178a5da926a3063876269f482": {"id": "32d5fb71426f8fe178a5da926a3063876269f482", "date": 1769673538.0, "description": "update event when selecting leaf in event lines correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "9f45b74700a02d465bae722e5e83f4491e6a5e60": {"id": "9f45b74700a02d465bae722e5e83f4491e6a5e60", "date": 1769669980.0, "description": "fixed crash due to un-unregistered receiver", "files": [["A", "app/src/main/res/drawable/background.xml"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Modifier.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "59e60506d95fe4da9dfa190792feea731352e3be": {"id": "59e60506d95fe4da9dfa190792feea731352e3be", "date": 1769661296.0, "description": "stop playback onClose", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "66b50092cdbfa7c9bdbacbc78bd370574e281a66": {"id": "66b50092cdbfa7c9bdbacbc78bd370574e281a66", "date": 1769654848.0, "description": "fixed some spacing", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "01c3e516365ef79ea3c6816a04b679fdc0791a5a": {"id": "01c3e516365ef79ea3c6816a04b679fdc0791a5a", "date": 1769646480.0, "description": "more tweaks to tuning dialog", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "8f0c866d77f729f9569c14755953a3e8d5de89cc": {"id": "8f0c866d77f729f9569c14755953a3e8d5de89cc", "date": 1769641712.0, "description": "restore icon_x & icon_check", "files": [["A", "app/src/main/res/drawable/icon_x.xml"], ["A", "app/src/main/res/drawable/icon_check.xml"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "d513e42397ba0674cc72239cdf2d2dea9f4781e5": {"id": "d513e42397ba0674cc72239cdf2d2dea9f4781e5", "date": 1769639408.0, "description": "tweaks to tiny tuning table", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "0d598bebb627b97c254af02f6ac63a4b0be07eed": {"id": "0d598bebb627b97c254af02f6ac63a4b0be07eed", "date": 1769634113.0, "description": "NumberPicker Improvements", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "79a4a98cce192b6d7ef6b1f43c24aed757541d12": {"id": "79a4a98cce192b6d7ef6b1f43c24aed757541d12", "date": 1769625222.0, "description": "fixed spillover incorrectly getting checked in add_row()", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"]], "author": "smith.quintin@protonmail.com"}, "0396b2a58cdea1d812a229aff888d8e062b843f6": {"id": "0396b2a58cdea1d812a229aff888d8e062b843f6", "date": 1769587085.0, "description": "fixed contextmenu Range Move mode selector", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "e024a924e18f1ef0f1d179482adaf63e6da7491a": {"id": "e024a924e18f1ef0f1d179482adaf63e6da7491a", "date": 1769585648.0, "description": "Special Case for SmallLandscape Tuning Dialog", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "e1e40cd19044c04007022bd7b89751955ffeec72": {"id": "e1e40cd19044c04007022bd7b89751955ffeec72", "date": 1769560713.0, "description": "project notes field minimum 3 lines", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "8bf994248f48fe4fc2a18a8065d4258eb0ecadf6": {"id": "8bf994248f48fe4fc2a18a8065d4258eb0ecadf6", "date": 1769560488.0, "description": "Typography on Leafs/Labels", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Color.kt"]], "author": "smith.quintin@protonmail.com"}, "2f37e1a9488667ec4124bdfdc2c81eea581de409": {"id": "2f37e1a9488667ec4124bdfdc2c81eea581de409", "date": 1769540858.0, "description": "handled table bottom/end padding in a better way", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SoundFontWarning.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "0c38e115466e03ea0af59050278a2ac4d1ff789b": {"id": "0c38e115466e03ea0af59050278a2ac4d1ff789b", "date": 1769536755.0, "description": "about padding", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"]], "author": "smith.quintin@protonmail.com"}, "59ae8c411596c0ddd79573c1aec8fe842204a664": {"id": "59ae8c411596c0ddd79573c1aec8fe842204a664", "date": 1769533870.0, "description": "padding in settings layout", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "9b3cd76e949b87cc340baefe3046439d62585267": {"id": "9b3cd76e949b87cc340baefe3046439d62585267", "date": 1769500284.0, "description": "Moved TableColorPalette to Colors.kt. created Typographies. added fira_code.ttf", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["A", "app/src/main/res/font/fira_code.ttf"], ["A", "app/src/main/java/com/qfs/pagan/ui/theme/Typography.kt"], ["A", "app/src/main/java/com/qfs/pagan/ui/theme/Fonts.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableColorPalette.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"]], "author": "smith.quintin@protonmail.com"}, "3089d34303af38ff1cbfbfd036bf1238ffde00b3": {"id": "3089d34303af38ff1cbfbfd036bf1238ffde00b3", "date": 1769479498.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"]], "author": "smith.quintin@protonmail.com"}, "9af85fec39b99a5bff30036b0438ca4e59cb2bae": {"id": "9af85fec39b99a5bff30036b0438ca4e59cb2bae", "date": 1769472118.0, "description": "removed relative_mode as state variable in OpusManager", "files": [["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "89dce4acd03424651e3ddd5d9ddd57addf0c4349": {"id": "89dce4acd03424651e3ddd5d9ddd57addf0c4349", "date": 1769413454.0, "description": "work on long-click to change relative mode", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"]], "author": "smith.quintin@protonmail.com"}, "24d464407b9c5de692a960aabc6cbee39307eb60": {"id": "24d464407b9c5de692a960aabc6cbee39307eb60", "date": 1769412355.0, "description": "persistent default number input values", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "26085c5cf72ccee0da9923d8b50cdde400ee5039": {"id": "26085c5cf72ccee0da9923d8b50cdde400ee5039", "date": 1769411803.0, "description": "Soundfont warning legibility improved", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/SoundFontWarning.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"]], "author": "smith.quintin@protonmail.com"}, "c1e1fdb9ac56de8c8a2b33d5d170ac26e9e8fcf7": {"id": "c1e1fdb9ac56de8c8a2b33d5d170ac26e9e8fcf7", "date": 1769411220.0, "description": "darkened dark background/surface. increased threshold for mediumlandscape display", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Color.kt"]], "author": "smith.quintin@protonmail.com"}, "b0100160ad020f67b96ce54fbf91d2fdc5c97147": {"id": "b0100160ad020f67b96ce54fbf91d2fdc5c97147", "date": 1769327339.0, "description": "changed settings/about/import button sizes on landing", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "c9c4fcfae5553cf4bbecc7e5a42ea3be08be7682": {"id": "c9c4fcfae5553cf4bbecc7e5a42ea3be08be7682", "date": 1769291359.0, "description": "merge", "files": [["M", "app/src/main/res/drawable/icon_subtract_bang.xml"]], "author": "smith.quintin@protonmail.com"}, "2f34ade07b84cb9aaf96ea12beedeca56425a615": {"id": "2f34ade07b84cb9aaf96ea12beedeca56425a615", "date": 1769287637.0, "description": "set up layout-size-dependent dimensions in Dimensions.kt", "files": [["A", "app/src/main/res/drawable/icon_subtract_bang.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["A", "app/src/main/java/com/qfs/pagan/LayoutSize.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "9c0e1d67cd328c5dfa424a025746b268ecaae815": {"id": "9c0e1d67cd328c5dfa424a025746b268ecaae815", "date": 1769280429.0, "description": "changed width of buttons on small/medium landing landscape layout", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"]], "author": "smith.quintin@protonmail.com"}, "59ca7a00229de6965bd2012b9a24c56051752fea": {"id": "59ca7a00229de6965bd2012b9a24c56051752fea", "date": 1769242692.0, "description": "update unset icon. using switch for percussion interface", "files": [["A", "app/src/main/res/drawable/icon_erase.xml"], ["A", "app/src/main/res/drawable/icon_add_bang.xml"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "e26ea4b8d9d8c1238de9f70512cac6f1dca2540d": {"id": "e26ea4b8d9d8c1238de9f70512cac6f1dca2540d", "date": 1769233999.0, "description": "ContextMenu button shapes", "files": [["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "9f639a082aa2b69a474cb5c8a3b308ccb82866af": {"id": "9f639a082aa2b69a474cb5c8a3b308ccb82866af", "date": 1769210447.0, "description": "moved padding order in drawer channels", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/PaganTheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "068fb414b8a0e6e787340cfc499132d4da55fa8c": {"id": "068fb414b8a0e6e787340cfc499132d4da55fa8c", "date": 1769209528.0, "description": "don't highlight previously press notes in relative mode", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "bcef6e358c4660b087f8b09cad69b81dcddda1c2": {"id": "bcef6e358c4660b087f8b09cad69b81dcddda1c2", "date": 1769209032.0, "description": "PaganConfiguration using MutableStates for values", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/RadioMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "fd25b123240de266ff64242e365434bc13c0db15": {"id": "fd25b123240de266ff64242e365434bc13c0db15", "date": 1769203699.0, "description": "work on shadows drawer channel menu", "files": [["A", "app/src/main/res/drawable/background_pattern.xml"], ["M", "app/src/main/java/com/qfs/pagan/ui/theme/Shadows.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Modifier.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "ea6b6b58568d8dfaf986c7f0c8b1a0b50defb3e7": {"id": "ea6b6b58568d8dfaf986c7f0c8b1a0b50defb3e7", "date": 1769191601.0, "description": "style add channel/kit channel buttons in drawer", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "f0f772492c3c534225fd70223fadf79a558b0984": {"id": "f0f772492c3c534225fd70223fadf79a558b0984", "date": 1769152623.0, "description": "Removed unused xml.\n    Created Shapes, Dimensions, Shadows objects.\n    Simplifying Icons.\n    Added Drop Shadows to Buttons, ContextMenus and Drawer.", "files": [["D", "app/src/main/res/values/themes.xml"], ["D", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["D", "app/src/main/res/values/color/leaf.xml"], ["D", "app/src/main/res/values/attrs.xml"], ["D", "app/src/main/res/values-xlarge/dimens.xml"], ["D", "app/src/main/res/values-small-land/dimens.xml"], ["D", "app/src/main/res/values-normal/dimens.xml"], ["D", "app/src/main/res/values-large/dimens.xml"], ["D", "app/src/main/res/layout/warning_no_soundfont.xml"], ["D", "app/src/main/res/layout/text_name_change.xml"], ["D", "app/src/main/res/layout/text_input.xml"], ["D", "app/src/main/res/layout/table_row.xml"], ["D", "app/src/main/res/layout/table_column_label.xml"], ["D", "app/src/main/res/layout/spinner_list.xml"], ["D", "app/src/main/res/layout/soundfont_pre_menu.xml"], ["D", "app/src/main/res/layout/midi_device_management.xml"], ["D", "app/src/main/res/layout/midi_device.xml"], ["D", "app/src/main/res/layout/loading_reticle.xml"], ["D", "app/src/main/res/layout/fragment_song_config.xml"], ["D", "app/src/main/res/layout/fragment_main.xml"], ["D", "app/src/main/res/layout/fragment_landing.xml"], ["D", "app/src/main/res/layout/fragment_global_settings.xml"], ["D", "app/src/main/res/layout/fragment_about.xml"], ["D", "app/src/main/res/layout/dropdown_menu_item.xml"], ["D", "app/src/main/res/layout/dialog_tuning_map.xml"], ["D", "app/src/main/res/layout/dialog_split.xml"], ["D", "app/src/main/res/layout/dialog_shortcut.xml"], ["D", "app/src/main/res/layout/dialog_project_info.xml"], ["D", "app/src/main/res/layout/dialog_note_offset.xml"], ["D", "app/src/main/res/layout/dialog_menu.xml"], ["D", "app/src/main/res/layout/dialog_float.xml"], ["D", "app/src/main/res/layout/corner.xml"], ["D", "app/src/main/res/layout/control_widget_volume.xml"], ["D", "app/src/main/res/layout/control_widget_tempo.xml"], ["D", "app/src/main/res/layout/control_widget_reverb.xml"], ["D", "app/src/main/res/layout/control_widget_pan.xml"], ["D", "app/src/main/res/layout/control_widget_delay.xml"], ["D", "app/src/main/res/layout/contextmenu_row_secondary.xml"], ["D", "app/src/main/res/layout/contextmenu_row.xml"], ["D", "app/src/main/res/layout/contextmenu_range_secondary.xml"], ["D", "app/src/main/res/layout/contextmenu_range.xml"], ["D", "app/src/main/res/layout/contextmenu_line_ctl_leaf_secondary.xml"], ["D", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b_secondary.xml"], ["D", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b.xml"], ["D", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"], ["D", "app/src/main/res/layout/contextmenu_control_line_secondary.xml"], ["D", "app/src/main/res/layout/contextmenu_control_line.xml"], ["D", "app/src/main/res/layout/contextmenu_column.xml"], ["D", "app/src/main/res/layout/contextmenu_channel_secondary.xml"], ["D", "app/src/main/res/layout/contextmenu_channel.xml"], ["D", "app/src/main/res/layout/contextmenu_cell_percussion.xml"], ["D", "app/src/main/res/layout/contextmenu_cell.xml"], ["D", "app/src/main/res/layout/config_channel_item.xml"], ["D", "app/src/main/res/layout/color_picker.xml"], ["D", "app/src/main/res/layout/button_labelled_icon.xml"], ["D", "app/src/main/res/layout/background_etching.xml"], ["D", "app/src/main/res/layout/activity_settings.xml"], ["D", "app/src/main/res/layout/activity_landing.xml"], ["D", "app/src/main/res/layout/activity_editor.xml"], ["D", "app/src/main/res/layout/activity_about.xml"], ["D", "app/src/main/res/layout-xlarge-land/fragment_landing.xml"], ["D", "app/src/main/res/layout-xlarge-land/fragment_global_settings.xml"], ["D", "app/src/main/res/layout-large-land/fragment_landing.xml"], ["D", "app/src/main/res/layout-land/fragment_main.xml"], ["D", "app/src/main/res/layout-land/fragment_landing.xml"], ["D", "app/src/main/res/layout-land/contextmenu_row_secondary.xml"], ["D", "app/src/main/res/layout-land/contextmenu_row.xml"], ["D", "app/src/main/res/layout-land/contextmenu_range_secondary.xml"], ["D", "app/src/main/res/layout-land/contextmenu_range.xml"], ["D", "app/src/main/res/layout-land/contextmenu_line_ctl_leaf.xml"], ["D", "app/src/main/res/layout-land/contextmenu_control_line.xml"], ["D", "app/src/main/res/layout-land/contextmenu_column.xml"], ["D", "app/src/main/res/layout-land/contextmenu_channel_secondary.xml"], ["D", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["D", "app/src/main/res/layout-land/contextmenu_cell_percussion.xml"], ["D", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["D", "app/src/main/res/layout-land/color_picker.xml"], ["D", "app/src/main/res/drawable/toolbar_overflow_menu.xml"], ["D", "app/src/main/res/drawable/radio_flat_start.xml"], ["D", "app/src/main/res/drawable/radio_flat_end.xml"], ["D", "app/src/main/res/drawable/radio_flat.xml"], ["D", "app/src/main/res/drawable/radio_default_start.xml"], ["D", "app/src/main/res/drawable/radio_default_end.xml"], ["D", "app/src/main/res/drawable/radio_default.xml"], ["D", "app/src/main/res/drawable/radio_checked_start.xml"], ["D", "app/src/main/res/drawable/radio_checked_end.xml"], ["D", "app/src/main/res/drawable/radio_checked.xml"], ["D", "app/src/main/res/drawable/number_selector_button.xml"], ["D", "app/src/main/res/drawable/leaf_inactive.xml"], ["D", "app/src/main/res/drawable/leaf_facade.xml"], ["D", "app/src/main/res/drawable/leaf_border_outset.xml"], ["D", "app/src/main/res/drawable/leaf_border_inset.xml"], ["D", "app/src/main/res/drawable/leaf_border.xml"], ["D", "app/src/main/res/drawable/leaf_active.xml"], ["D", "app/src/main/res/drawable/leaf.xml"], ["A", "app/src/main/res/drawable/icon_subtract_circle.xml"], ["A", "app/src/main/res/drawable/icon_subtract.xml"], ["M", "app/src/main/res/drawable/icon_show_percussion.xml"], ["D", "app/src/main/res/drawable/icon_remove_line.xml"], ["D", "app/src/main/res/drawable/icon_remove_channel.xml"], ["D", "app/src/main/res/drawable/icon_remove_beat.xml"], ["D", "app/src/main/res/drawable/icon_remove.xml"], ["D", "app/src/main/res/drawable/icon_insert_line.xml"], ["D", "app/src/main/res/drawable/icon_insert_beat.xml"], ["D", "app/src/main/res/drawable/icon_insert.xml"], ["M", "app/src/main/res/drawable/icon_hide_percussion.xml"], ["M", "app/src/main/res/drawable/icon_delete_channel.xml"], ["A", "app/src/main/res/drawable/icon_cross_circle.xml"], ["A", "app/src/main/res/drawable/icon_cross.xml"], ["A", "app/src/main/res/drawable/icon_add_circle.xml"], ["D", "app/src/main/res/drawable/icon_add_channel.xml"], ["A", "app/src/main/res/drawable/icon_add.xml"], ["D", "app/src/main/res/drawable/editor_table_background.xml"], ["D", "app/src/main/res/drawable/editor_label_line.xml"], ["D", "app/src/main/res/drawable/editor_label_ctl_line.xml"], ["D", "app/src/main/res/drawable/editor_label_column.xml"], ["D", "app/src/main/res/drawable/dialog_background.xml"], ["D", "app/src/main/res/drawable/ctl_leaf.xml"], ["D", "app/src/main/res/drawable/corner_button.xml"], ["D", "app/src/main/res/drawable/contextmenu_secondary.xml"], ["D", "app/src/main/res/drawable/contextmenu_primary.xml"], ["D", "app/src/main/res/drawable/button_shadow.xml"], ["D", "app/src/main/res/drawable/button_pressed.xml"], ["D", "app/src/main/res/drawable/button_icon_pressed.xml"], ["D", "app/src/main/res/drawable/button_icon_default.xml"], ["D", "app/src/main/res/drawable/button_icon.xml"], ["D", "app/src/main/res/drawable/button_default.xml"], ["D", "app/src/main/res/drawable/button_alt_pressed.xml"], ["D", "app/src/main/res/drawable/button_alt_default.xml"], ["D", "app/src/main/res/drawable/button_alt.xml"], ["D", "app/src/main/res/drawable/button.xml"], ["D", "app/src/main/res/drawable/alt_style_gb_leaf.xml"], ["D", "app/src/main/res/drawable/alt_style_bg_leaf_inner_empty.xml"], ["D", "app/src/main/res/color/radio_text.xml"], ["D", "app/src/main/res/color/radio.xml"], ["D", "app/src/main/res/color/number_select_button_text_selector.xml"], ["D", "app/src/main/res/color/number_select_button_selector_stroke.xml"], ["D", "app/src/main/res/color/number_select_button_selector.xml"], ["D", "app/src/main/res/color/line_label_text.xml"], ["D", "app/src/main/res/color/line_label_std_selector.xml"], ["D", "app/src/main/res/color/line_label_ctl_text.xml"], ["D", "app/src/main/res/color/line_label_ctl_selector.xml"], ["D", "app/src/main/res/color/leaf_text_selector.xml"], ["D", "app/src/main/res/color/leaf_stroke.xml"], ["D", "app/src/main/res/color/leaf.xml"], ["D", "app/src/main/res/color/ctl_leaf_text_selector.xml"], ["D", "app/src/main/res/color/ctl_leaf_selector.xml"], ["D", "app/src/main/res/color/column_label_text.xml"], ["D", "app/src/main/res/color/column_label_std_selector.xml"], ["D", "app/src/main/res/color/button_text_selector.xml"], ["D", "app/src/main/res/color/button_selector.xml"], ["D", "app/src/main/res/animator/std_button.xml"], ["D", "app/src/main/res/animator/number_selector_button.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["A", "app/src/main/java/com/qfs/pagan/ui/theme/Shapes.kt"], ["A", "app/src/main/java/com/qfs/pagan/ui/theme/Shadows.kt"], ["A", "app/src/main/java/com/qfs/pagan/ui/theme/Icons.kt"], ["A", "app/src/main/java/com/qfs/pagan/ui/theme/Dimensions.kt"], ["A", "app/src/main/java/com/qfs/pagan/ui/theme/Colors.kt"], ["A", "app/src/main/java/com/qfs/pagan/swap_sections.kt"], ["D", "app/src/main/java/com/qfs/pagan/numberinput/RangedNumberInput.kt"], ["D", "app/src/main/java/com/qfs/pagan/numberinput/RangedIntegerInput.kt"], ["D", "app/src/main/java/com/qfs/pagan/numberinput/RangedFloatInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/enumerate.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/TopBarIcon.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Modifier.kt"], ["D", "app/src/main/java/com/qfs/pagan/TuningMapRecyclerAdapter.kt"], ["D", "app/src/main/java/com/qfs/pagan/TuningMapRecycler.kt"], ["D", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["D", "app/src/main/java/com/qfs/pagan/RangedTextWatcher.kt"], ["D", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerView.kt"], ["D", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["D", "app/src/main/java/com/qfs/pagan/PanSliderWidget.kt"], ["D", "app/src/main/java/com/qfs/pagan/PaganViewModel.kt"], ["D", "app/src/main/java/com/qfs/pagan/PaganTypography.kt"], ["D", "app/src/main/java/com/qfs/pagan/PaganProgressBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganBroadcastReceiver.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/NumeralFilter.kt"], ["D", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["D", "app/src/main/java/com/qfs/pagan/MenuDialogEventHandler.kt"], ["D", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["D", "app/src/main/java/com/qfs/pagan/DrawerChannelMenu/DraggableAdapter.kt"], ["D", "app/src/main/java/com/qfs/pagan/DrawerChannelMenu/ChannelOptionViewHolder.kt"], ["D", "app/src/main/java/com/qfs/pagan/DrawerChannelMenu/ChannelOptionRecycler.kt"], ["D", "app/src/main/java/com/qfs/pagan/DrawerChannelMenu/ChannelOptionAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/Coordinate.kt"], ["D", "app/src/main/java/com/qfs/pagan/ConfigImage.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"], ["D", "app/src/main/java/com/qfs/pagan/ButtonLabelledIcon.kt"], ["D", "app/src/main/java/com/qfs/pagan/Activity/PaganActivity.kt"], ["D", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["D", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["D", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["D", "app/src/main/java/com/qfs/pagan/Activity/ActivityAbout.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "ad6da6583e32f2b67bb856e68e38b4c33ad3ead2": {"id": "ad6da6583e32f2b67bb856e68e38b4c33ad3ead2", "date": 1769107315.0, "description": "Center Title in About/Settings. Show version in About", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/button/TopBarIcon.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"]], "author": "smith.quintin@protonmail.com"}, "9747314d892e037b4cfe32f7717187e6b31b1b6e": {"id": "9747314d892e037b4cfe32f7717187e6b31b1b6e", "date": 1769101786.0, "description": "Line Dragging precision fixed", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Modifier.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "323d932131ff28a2519f1b39344d5ce230236136": {"id": "323d932131ff28a2519f1b39344d5ce230236136", "date": 1769095441.0, "description": "check dragging_row_index is null on_drap_stop", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "e623d7a0f30da3625b0ffbc9b4435d05347690f2": {"id": "e623d7a0f30da3625b0ffbc9b4435d05347690f2", "date": 1769062575.0, "description": "updating lines/channel in state model after line swap", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "15443bfb4bc71953bee4f2bb4981e28b628ace11": {"id": "15443bfb4bc71953bee4f2bb4981e28b628ace11", "date": 1769021599.0, "description": "change background lines", "files": [["M", "app/src/test/java/com/qfs/pagan/StructureUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "947c0524f00e166ccd170a9dabfacd0036cada9a": {"id": "947c0524f00e166ccd170a9dabfacd0036cada9a", "date": 1769015710.0, "description": "Created MutableList.swap_sections for swap_lines()", "files": [["M", "app/src/test/java/com/qfs/pagan/StructureUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/enumerate.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "0b37e23c7c404b0809565b9dc81b9b76737e058f": {"id": "0b37e23c7c404b0809565b9dc81b9b76737e058f", "date": 1768977797.0, "description": "set ready state within import_midi() instead of before", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "fadfaeec0da1b843e79d177b1447721de9d118df": {"id": "fadfaeec0da1b843e79d177b1447721de9d118df", "date": 1768973195.0, "description": "check ctl_level when tapping line label", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "7c8c1c2c0dae46a82999e90b7b2953abe9667702": {"id": "7c8c1c2c0dae46a82999e90b7b2953abe9667702", "date": 1768966243.0, "description": "associated ActionTracker class with context", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "e19374b0cea8951f9d20e4ba727d5043e2a67cdd": {"id": "e19374b0cea8951f9d20e4ba727d5043e2a67cdd", "date": 1768961842.0, "description": "clear state_model on caught crash", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "233443820698be5af26a62988d783eab06d7c078": {"id": "233443820698be5af26a62988d783eab06d7c078", "date": 1768960105.0, "description": "sliders call changes when finished changing", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "6ff36faaab7e73201393b921410f707904974991": {"id": "6ff36faaab7e73201393b921410f707904974991", "date": 1768930469.0, "description": "tuning table improvements", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "97ac549ca4c0a9d9a3b9e871b26e054a8bc19117": {"id": "97ac549ca4c0a9d9a3b9e871b26e054a8bc19117", "date": 1768882709.0, "description": "Delay Inputs seem to finally work intuitively", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"]], "author": "smith.quintin@protonmail.com"}, "06ba26600fc9ff39a4c417146d927114cd952ddc": {"id": "06ba26600fc9ff39a4c417146d927114cd952ddc", "date": 1768874141.0, "description": "changed transition names. show icons in menu", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "8edbd9de5362b369358128e08afb741d3fcbde20": {"id": "8edbd9de5362b369358128e08afb741d3fcbde20", "date": 1768841589.0, "description": "bottom contextmenu correctly shifting up with keyboar", "files": [["A", "app/src/main/res/values-small-land/dimens.xml"], ["M", "app/src/main/res/values-normal/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "be8857fcaf33bec3392c9a78952c59a350b618e4": {"id": "be8857fcaf33bec3392c9a78952c59a350b618e4", "date": 1768807770.0, "description": "work on inputs", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "f7213f88fa3347dc774e4b0e5d3453d18e1b99b9": {"id": "f7213f88fa3347dc774e4b0e5d3453d18e1b99b9", "date": 1768786996.0, "description": "update effect leafs in ViewModelEditor appropriately", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "2105a7b8fb650577756da9e03533f75ac9e9588a": {"id": "2105a7b8fb650577756da9e03533f75ac9e9588a", "date": 1768771261.0, "description": "modified insert_beat(). no longer able to pass a list of trees.", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/HistoryCache.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "aa2157fdb0b5a0152163065bf9df4e339cafcf11": {"id": "aa2157fdb0b5a0152163065bf9df4e339cafcf11", "date": 1768722256.0, "description": "fixed over-engineered scroll_to_leaf logic", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"]], "author": "smith.quintin@protonmail.com"}, "b8950634713569c7577db0c415bd70639c8b35a7": {"id": "b8950634713569c7577db0c415bd70639c8b35a7", "date": 1768719556.0, "description": "added weight to ColumnData", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"]], "author": "smith.quintin@protonmail.com"}, "0312f1a0ea251b525a811c52e4c35d659ee65b87": {"id": "0312f1a0ea251b525a811c52e4c35d659ee65b87", "date": 1768711335.0, "description": "fixed wide beat progress bar", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "2b17466d1b5c5902bbf063d5cb11ea17bd300763": {"id": "2b17466d1b5c5902bbf063d5cb11ea17bd300763", "date": 1768597197.0, "description": "dashed order on beat tags. fixed drawer channel dragging rounding issue", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "e23f13012bf88460d7e42c53995441105c2c43bb": {"id": "e23f13012bf88460d7e42c53995441105c2c43bb", "date": 1768587972.0, "description": "dashed border on highlighted number selector buttons", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Modifier.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "3ce42b12ebdb690b5a5dd71fb4671c56b4134bd2": {"id": "3ce42b12ebdb690b5a5dd71fb4671c56b4134bd2", "date": 1768586250.0, "description": "moved toPx and toDp functions", "files": [["A", "app/src/main/java/com/qfs/pagan/ComponentActivity/toDp.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "46a72ec33ab944fd1af44f529f690e6980545a03": {"id": "46a72ec33ab944fd1af44f529f690e6980545a03", "date": 1768542266.0, "description": "bugfix and version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/137.txt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "3953f8548ef89c17c958117a7da46078f918b06b": {"id": "3953f8548ef89c17c958117a7da46078f918b06b", "date": 1768540166.0, "description": "fixed crash on add channel from Drawer", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Modifier.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "47177c11cd93261b161e6b6d2673e11056c5fe53": {"id": "47177c11cd93261b161e6b6d2673e11056c5fe53", "date": 1768535811.0, "description": "disabled project migration", "files": [["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Modifier.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/Modifier.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "eed091fd80fcfb9dff981fe5378e07a1fd69d116": {"id": "eed091fd80fcfb9dff981fe5378e07a1fd69d116", "date": 1768531795.0, "description": "suplimentary line (when dragging) logic", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Modifier.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "aeec7478f2f67ea7b45252bf639e3922f6a969bc": {"id": "aeec7478f2f67ea7b45252bf639e3922f6a969bc", "date": 1768457189.0, "description": "drawer channel dragging", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Modifier.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "aad1f1e2e2df8acc7bdc8cd5aa94f2848642e0b3": {"id": "aad1f1e2e2df8acc7bdc8cd5aa94f2848642e0b3", "date": 1768433338.0, "description": "conditional drag modifier", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Modifier.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "e1f426a50d4cf9cdb9460914997733dd01e81075": {"id": "e1f426a50d4cf9cdb9460914997733dd01e81075", "date": 1768432276.0, "description": "press-and-drag working", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Modifier.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "d0c3d44c43c43a3cf07be78dc6331f1357240da3": {"id": "d0c3d44c43c43a3cf07be78dc6331f1357240da3", "date": 1768427521.0, "description": "work on generalized drag/scroll solution", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Modifier.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "97c526002e470a2ee9f96fb1d2d382be6f62d88d": {"id": "97c526002e470a2ee9f96fb1d2d382be6f62d88d", "date": 1768371641.0, "description": "removed bottom line for HalfBorderBox", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "196c956114fc4ca7c365e82eeac0425df1e6868a": {"id": "196c956114fc4ca7c365e82eeac0425df1e6868a", "date": 1768345996.0, "description": "tiny code cleanup", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "39ec90390ca804f6b5547eb43ebfde7fd8a4728b": {"id": "39ec90390ca804f6b5547eb43ebfde7fd8a4728b", "date": 1768345764.0, "description": "dragging logic ostensibly functional", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "62ae08e357250c6341c79f0cd6f78b552a4891e8": {"id": "62ae08e357250c6341c79f0cd6f78b552a4891e8", "date": 1768339662.0, "description": "Dragging work", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "b877c07756da116500aa6d66935915b4d293a4da": {"id": "b877c07756da116500aa6d66935915b4d293a4da", "date": 1768288965.0, "description": "work on drag", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "a1698dca7b161f2698f70a6b098cb25492480ba7": {"id": "a1698dca7b161f2698f70a6b098cb25492480ba7", "date": 1768248316.0, "description": "switched back to 'adjustResize' softInputMode", "files": [["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "a482c64c4a60608b748493344a07e8fb782455fa": {"id": "a482c64c4a60608b748493344a07e8fb782455fa", "date": 1768245550.0, "description": "consider 'is_after' in get_dragged_offset()", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "c96c7244d84faa0ebbe96e6f4920a7b9ea7d169a": {"id": "c96c7244d84faa0ebbe96e6f4920a7b9ea7d169a", "date": 1768244809.0, "description": "drag/scrolling functional", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "ced99030a908bff6518b62b18af761c969a54279": {"id": "ced99030a908bff6518b62b18af761c969a54279", "date": 1768236318.0, "description": "feedback volume reduced", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "fc7e28fcdcd10354d30ab3f9f65cf3189cc4fb3e": {"id": "fc7e28fcdcd10354d30ab3f9f65cf3189cc4fb3e", "date": 1768207953.0, "description": "inputs detect enter keypress", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "00f8cbb8297a0935da0204fc3d05c22991f80660": {"id": "00f8cbb8297a0935da0204fc3d05c22991f80660", "date": 1768203178.0, "description": "Restored multiline numberselector", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"]], "author": "smith.quintin@protonmail.com"}, "0a2aa8fa42c975d6d48989b05e7efa51e7db194a": {"id": "0a2aa8fa42c975d6d48989b05e7efa51e7db194a", "date": 1768195674.0, "description": "tweak to LeafView updating", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "e328029da2b29a69488ced4933c948ca87062cf2": {"id": "e328029da2b29a69488ced4933c948ca87062cf2", "date": 1768182112.0, "description": "change percussion indicator", "files": [["M", "app/src/main/res/drawable/percussion_indicator.xml"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "a03cd8dbfe5dc95c4b272f2c2054cf9530f520ea": {"id": "a03cd8dbfe5dc95c4b272f2c2054cf9530f520ea", "date": 1768176222.0, "description": "editor layout fix", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "73736f846585eb5004043fe4a3f7bc18e1bcd71e": {"id": "73736f846585eb5004043fe4a3f7bc18e1bcd71e", "date": 1768173403.0, "description": "Landing Layout", "files": [["M", "app/src/main/res/values/dimens.xml"], ["A", "app/src/main/res/drawable/icon_settings.xml"], ["A", "app/src/main/res/drawable/icon_about.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SoundFontWarning.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/TestActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"]], "author": "smith.quintin@protonmail.com"}, "2ea5c999ce16fc5a97e6015d2a68424820083a0b": {"id": "2ea5c999ce16fc5a97e6015d2a68424820083a0b", "date": 1768093643.0, "description": "All layouts in Settings done", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SoundFontWarning.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/RadioMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"]], "author": "smith.quintin@protonmail.com"}, "528c8bf81ca78eae8dec729c16cd47b1d8ae2541": {"id": "528c8bf81ca78eae8dec729c16cd47b1d8ae2541", "date": 1767994870.0, "description": "work on dragging", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "f84dd5d358557abfdb3ce00fb34ce093e8804d28": {"id": "f84dd5d358557abfdb3ce00fb34ce093e8804d28", "date": 1767981067.0, "description": "work on dragging", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "d5995cc82fda2ae1131bd299b86b9130601fae7e": {"id": "d5995cc82fda2ae1131bd299b86b9130601fae7e", "date": 1767943929.0, "description": "work on dragging", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "1560e17f756b33c2e3cb14f43a0243814720767b": {"id": "1560e17f756b33c2e3cb14f43a0243814720767b", "date": 1767894653.0, "description": "work on line dragging", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "5764a6159a785cc3a592ade415e57a823d761b46": {"id": "5764a6159a785cc3a592ade415e57a823d761b46", "date": 1767857098.0, "description": "'MagicInputs' (need better name) using dialog to deal with inability to drop focus", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "72283cdf491c6bb467ff2d69e942687856713201": {"id": "72283cdf491c6bb467ff2d69e942687856713201", "date": 1767827469.0, "description": "Draggable lines. no logic yet", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "2fdb873a780f99172eed2d32602991ee76ef5902": {"id": "2fdb873a780f99172eed2d32602991ee76ef5902", "date": 1767819115.0, "description": "radio menu tweak", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/RadioMenu.kt"]], "author": "smith.quintin@protonmail.com"}, "61af7b7ee22a7d05ba4d7b43aa338edce42af6cf": {"id": "61af7b7ee22a7d05ba4d7b43aa338edce42af6cf", "date": 1767816830.0, "description": "Show progress bar in overly wide beats when scrolling", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "69e39106ef4104f4f4187f0b4a48b6914cf3a934": {"id": "69e39106ef4104f4f4187f0b4a48b6914cf3a934", "date": 1767781313.0, "description": "floating beat label", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "aea740c30491ade39dd8f076dd4df61a845a03ad": {"id": "aea740c30491ade39dd8f076dd4df61a845a03ad", "date": 1767766157.0, "description": "hide relative input button in percussion cxtmenu", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "8d95d316ab28ad443af454e5cb28183cbf534450": {"id": "8d95d316ab28ad443af454e5cb28183cbf534450", "date": 1767765950.0, "description": "custom radio menu", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/drawable/icon_night_mode_system.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/RadioMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "9fb7d5cc002a0bbd323fc53afeda49c92847f495": {"id": "9fb7d5cc002a0bbd323fc53afeda49c92847f495", "date": 1767738328.0, "description": "improved tree/leaf view state management", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "99d0c526be23a83d9114e91cec6898c20b3697fe": {"id": "99d0c526be23a83d9114e91cec6898c20b3697fe", "date": 1767691564.0, "description": "work on update_tree() rather than update_cell()", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "56346fc27cc0191e70e3ec6b9d919d869550c273": {"id": "56346fc27cc0191e70e3ec6b9d919d869550c273", "date": 1767686128.0, "description": "GM percussion names bugfix", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"]], "author": "smith.quintin@protonmail.com"}, "b53862b27dbbfef0c2021665c21fa079528f63ac": {"id": "b53862b27dbbfef0c2021665c21fa079528f63ac", "date": 1767679058.0, "description": "debug mode in when running as com.qfs.pagandev", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "bbab3ff210833f5c0d352fe1219beaf031377e98": {"id": "bbab3ff210833f5c0d352fe1219beaf031377e98", "date": 1767678507.0, "description": "returned to skyblue as selection color", "files": [["M", "app/src/main/res/drawable/icon_portrait.xml"], ["M", "app/src/main/res/drawable/icon_orientation_system.xml"], ["M", "app/src/main/res/drawable/icon_landscape.xml"], ["A", "app/src/main/res/drawable/icon_kebab.xml"], ["M", "app/src/main/res/drawable/icon_adjust.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Color.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "6377849f42be00421d110d139712269727e4ed1b": {"id": "6377849f42be00421d110d139712269727e4ed1b", "date": 1767675864.0, "description": "orientation icons", "files": [["A", "app/src/main/res/drawable/icon_portrait.xml"], ["A", "app/src/main/res/drawable/icon_orientation_system.xml"], ["A", "app/src/main/res/drawable/icon_night_mode_system.xml"], ["A", "app/src/main/res/drawable/icon_night_mode.xml"], ["A", "app/src/main/res/drawable/icon_landscape.xml"], ["A", "app/src/main/res/drawable/icon_day_mode.xml"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Color.kt"]], "author": "smith.quintin@protonmail.com"}, "4e48d9b47ec77938c949ba201cc4467cb669f332": {"id": "4e48d9b47ec77938c949ba201cc4467cb669f332", "date": 1767669293.0, "description": "beat selector dialog", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "c1be3a5d3ca520f59bc1dae1cc2bab396d43f8cf": {"id": "c1be3a5d3ca520f59bc1dae1cc2bab396d43f8cf", "date": 1767664601.0, "description": "feedback sounds", "files": [["M", "app/src/main/res/values/dimens.xml"], ["A", "app/src/main/res/drawable/percussion_indicator.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/PaganTheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableColorPalette.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "19285070901c0f461367b9eaad856b8415b9b6eb": {"id": "19285070901c0f461367b9eaad856b8415b9b6eb", "date": 1767598519.0, "description": "typography note", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/PaganTheme.kt"], ["A", "app/src/main/java/com/qfs/pagan/PaganTypography.kt"]], "author": "smith.quintin@protonmail.com"}, "133e42f3f9439af025cc4c6767c1b0e15e615673": {"id": "133e42f3f9439af025cc4c6767c1b0e15e615673", "date": 1767596915.0, "description": "styled project card", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "ab43b564dfc06ac1a70da6df68611afe19ccf839": {"id": "ab43b564dfc06ac1a70da6df68611afe19ccf839", "date": 1767591575.0, "description": "error catcher", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/PaganActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "8b845efc287855b465aa7d299986f235d8148920": {"id": "8b845efc287855b465aa7d299986f235d8148920", "date": 1767587770.0, "description": "Fixed: label text size, spillover not rendered, abc sorting *was* considering case", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "3d028c750bc98a45253683126d5fee5e015c741e": {"id": "3d028c750bc98a45253683126d5fee5e015c741e", "date": 1767501442.0, "description": "scroll_to_leaf logic", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "9bec250dcf24db52dd719ca35d1a47834a4f298b": {"id": "9bec250dcf24db52dd719ca35d1a47834a4f298b", "date": 1767427508.0, "description": "work on scroll handling", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "7a04c9c6effe99965e68c4623e3f7f961e155cec": {"id": "7a04c9c6effe99965e68c4623e3f7f961e155cec", "date": 1767376059.0, "description": "stop playback when setting soundfont", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "9d9c21d997e595931ccb756e9da5853a8e855794": {"id": "9d9c21d997e595931ccb756e9da5853a8e855794", "date": 1767338248.0, "description": "removed recent generic show/hide loading spinner funcationality", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "a9f3c66bbbb162425ea69b9e17e44c38bf315b6a": {"id": "a9f3c66bbbb162425ea69b9e17e44c38bf315b6a", "date": 1767336980.0, "description": "popup relative input mode switcher", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "a018f89be6bff57650e6482ef7ea47bcdad807be": {"id": "a018f89be6bff57650e6482ef7ea47bcdad807be", "date": 1767334528.0, "description": "fixed tuning table redrawing issue", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "32d785da4086d9e1f551540290d00a79c31d0047": {"id": "32d785da4086d9e1f551540290d00a79c31d0047", "date": 1767333151.0, "description": "don't draw table when loading", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "ef61770e1166ab82972eb13fb95c3c9bfabcec80": {"id": "ef61770e1166ab82972eb13fb95c3c9bfabcec80", "date": 1767317554.0, "description": "midi playback work", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/java/com/qfs/apres/VirtualMidiInputDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "bc7f77dd079509770971cbb7c637ce81e8fa0fe6": {"id": "bc7f77dd079509770971cbb7c637ce81e8fa0fe6", "date": 1767247794.0, "description": "TopBarIcon sizing", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/TopBarIcon.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"]], "author": "smith.quintin@protonmail.com"}, "33253efdf396f907c7f2589a4cde5bf657352ad2": {"id": "33253efdf396f907c7f2589a4cde5bf657352ad2", "date": 1767243672.0, "description": "added functions to ColorScheme", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/PaganTheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Color.kt"]], "author": "smith.quintin@protonmail.com"}, "640fc4d84479bc2925c4bd42fcbeec11b5f8a5ae": {"id": "640fc4d84479bc2925c4bd42fcbeec11b5f8a5ae", "date": 1767239556.0, "description": "scrim color fixed", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "a11a2f8889c23d84fd8b03cfbd2575860f1a38fc": {"id": "a11a2f8889c23d84fd8b03cfbd2575860f1a38fc", "date": 1767232108.0, "description": "rough loading spinner", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "4b7977a4781a988b620cbc1c07c36d85a3913e21": {"id": "4b7977a4781a988b620cbc1c07c36d85a3913e21", "date": 1767179063.0, "description": "Using original table colors. The Material Colors experiment just didn't work.", "files": [["M", "app/src/main/java/com/qfs/pagan/TableColorPalette.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "c50c91bf54ef73903e41f9a780233796b1cfb9d7": {"id": "c50c91bf54ef73903e41f9a780233796b1cfb9d7", "date": 1767166841.0, "description": "work on colors", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/PaganTheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableColorPalette.kt"], ["A", "app/src/main/java/com/qfs/pagan/MaterialColorCalculator.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Color.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "a627ddee09607c4a7741a8557815a1933baa38ec": {"id": "a627ddee09607c4a7741a8557815a1933baa38ec", "date": 1767119593.0, "description": "tweakin table colors", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableColorPalette.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "23b6f73ecb5428642fb50b364ab237976c756daf": {"id": "23b6f73ecb5428642fb50b364ab237976c756daf", "date": 1767116229.0, "description": "delay fade widget", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "ca546df7d4d3558e3b58fa5d50dbcc523571c6cb": {"id": "ca546df7d4d3558e3b58fa5d50dbcc523571c6cb", "date": 1767109738.0, "description": "work on popup slider for attenuation in DelayEventMenu", "files": [["M", "app/src/main/res/values/strings.xml"], ["A", "app/src/main/res/drawable/no_soundfont.xml"], ["A", "app/src/main/res/drawable/icon_sort.xml"], ["A", "app/src/main/res/drawable/icon_import.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "49e262c1e201086c860b1eea4457ca13918c3be8": {"id": "49e262c1e201086c860b1eea4457ca13918c3be8", "date": 1767084121.0, "description": "outline alternate numberselectorbutton", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"]], "author": "smith.quintin@protonmail.com"}, "29841b1c3cc98dbd610d2185bbfe03e2e43d6e1f": {"id": "29841b1c3cc98dbd610d2185bbfe03e2e43d6e1f", "date": 1767082647.0, "description": "first pass at Material ColorScheme", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/PaganTheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["A", "app/src/main/java/com/qfs/pagan/Color.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "3e42063bb73d6acf9718171e8a5dadae0517e829": {"id": "3e42063bb73d6acf9718171e8a5dadae0517e829", "date": 1767077308.0, "description": "update presets on midi device as necessary", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "7d44da268ea58d46762112456f4d7035503d28c3": {"id": "7d44da268ea58d46762112456f4d7035503d28c3", "date": 1767074444.0, "description": "update preset displays on unset soundfont. hide play button when no soundfont set", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "148a649f7fc70876ddc56fcd4350e93259df029b": {"id": "148a649f7fc70876ddc56fcd4350e93259df029b", "date": 1767032521.0, "description": "slider colors", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "fc5065bd559768ddd1233939d32e05e7078e82fa": {"id": "fc5065bd559768ddd1233939d32e05e7078e82fa", "date": 1767031554.0, "description": "instrument defaults when midi device connected or no soundfont active", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "d21139a9262ca1e11cf77a3541e460def8141fdc": {"id": "d21139a9262ca1e11cf77a3541e460def8141fdc", "date": 1767027898.0, "description": "update audio_interface on channel_set_preset and new_channel", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "1a4309713b15e02641dacfcce012c1634e147d7f": {"id": "1a4309713b15e02641dacfcce012c1634e147d7f", "date": 1766997554.0, "description": "reduced clickable width on topbar title", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "124f13941fbb1bbdffc94985f156f93adaf6d4ac": {"id": "124f13941fbb1bbdffc94985f156f93adaf6d4ac", "date": 1766996856.0, "description": "Delay menu & leaf", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/DelayController.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "d5e2e6dcecfc9b98f418e95e90047b1931648b2f": {"id": "d5e2e6dcecfc9b98f418e95e90047b1931648b2f", "date": 1766988597.0, "description": "spillover context menu functions", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "6747dfad7e2b77111717ef3df933bc391c725569": {"id": "6747dfad7e2b77111717ef3df933bc391c725569", "date": 1766975989.0, "description": "descriptor added to ViewModelEditorState to differentiate between selected active events and backup active Events", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "c6c06f34fd4da73c6529c84a76639ac3c1ddaf1a": {"id": "c6c06f34fd4da73c6529c84a76639ac3c1ddaf1a", "date": 1766971850.0, "description": "setting duration quirks", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusVolumeEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusTempoEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusPanEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/EffectEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/DelayEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "0ce5517e26267892a924c9e4574ae5ad3d16802a": {"id": "0ce5517e26267892a924c9e4574ae5ad3d16802a", "date": 1766909110.0, "description": "work on spillover rendering", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableColorPalette.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "e4dea3c6eb4bc7d52d4e59eb6eae36edc541fbc6": {"id": "e4dea3c6eb4bc7d52d4e59eb6eae36edc541fbc6", "date": 1766883094.0, "description": "work  on spillover tracking", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "51f3fef98e0cf79cbe94b2fd5e1f2628ed698c9e": {"id": "51f3fef98e0cf79cbe94b2fd5e1f2628ed698c9e", "date": 1766874114.0, "description": "bugfix: new lines' column widths not being visually updated", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "d3c67b2390bf91d8edc4ad6878469f45e25ae464": {"id": "d3c67b2390bf91d8edc4ad6878469f45e25ae464", "date": 1766871927.0, "description": "leaf styling", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "dc940f323317071e2b21af7f6691a87477a498d4": {"id": "dc940f323317071e2b21af7f6691a87477a498d4", "date": 1766864929.0, "description": "numberselector button colors and highlighting", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "be5d808c5fe5e87b6483775a76210f1b1fb36e32": {"id": "be5d808c5fe5e87b6483775a76210f1b1fb36e32", "date": 1766858670.0, "description": "project_name_and_notes popup styling. dropdownmenu in shortcut dialog positioning. line/beat label colors", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "4399d63bdf5bf5b72a6877ca303cf75fac01fefd": {"id": "4399d63bdf5bf5b72a6877ca303cf75fac01fefd", "date": 1766828481.0, "description": "hide 'adjust selection' button on percussion lines", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"]], "author": "smith.quintin@protonmail.com"}, "54ad79fd0df18459d32aeb9c8b523248cb04e9ad": {"id": "54ad79fd0df18459d32aeb9c8b523248cb04e9ad", "date": 1766828349.0, "description": "ellipsis on channel presets in drawer", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "3e938e4b8c616e13e043cdb6f4e8c9eb439e5694": {"id": "3e938e4b8c616e13e043cdb6f4e8c9eb439e5694", "date": 1766823148.0, "description": "expend SortableMenu items' height as needed", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "18e6019bd5290b6de6cbbfcd846a2a24023db59d": {"id": "18e6019bd5290b6de6cbbfcd846a2a24023db59d", "date": 1766822365.0, "description": "work on rearranged popup menu", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "96aac85fcafbdb97183b2a6dd3ab8938735110b6": {"id": "96aac85fcafbdb97183b2a6dd3ab8938735110b6", "date": 1766819418.0, "description": "default sf in sf menu", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "4795e68fe2bc9e5ed9cf1787a85e25ed4d1bb932": {"id": "4795e68fe2bc9e5ed9cf1787a85e25ed4d1bb932", "date": 1766816136.0, "description": "SortableMenus automatically scroll to default item", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "1a9d67e9d126340c1071be2a623df0dd9f711ad9": {"id": "1a9d67e9d126340c1071be2a623df0dd9f711ad9", "date": 1766814616.0, "description": "work on standardizing colors", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/warning_no_soundfont.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout-xlarge-land/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SoundFontWarning.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["A", "app/src/main/java/com/qfs/pagan/TableColorPalette.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "64a77215843118295cabf8520e0f3cf9e7454752": {"id": "64a77215843118295cabf8520e0f3cf9e7454752", "date": 1766734543.0, "description": "effect transition button", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "bcbe716f86a748d2f9eb83976e1669660a4f79e7": {"id": "bcbe716f86a748d2f9eb83976e1669660a4f79e7", "date": 1766708442.0, "description": "BackHandler", "files": [["M", "app/src/main/res/drawable/icon_tempo.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/TestActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "c1cbfd02c5e86fbfe7e0e2bf3ab3a3d889edf159": {"id": "c1cbfd02c5e86fbfe7e0e2bf3ab3a3d889edf159", "date": 1766690788.0, "description": "MagicInput backgrounds", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"]], "author": "smith.quintin@protonmail.com"}, "97afc158a2d686831fe06feb7af25dd83b6f68c3": {"id": "97afc158a2d686831fe06feb7af25dd83b6f68c3", "date": 1766648552.0, "description": "topbar styling, materialtheme colors, line colors, SortableMenu Styling", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/PaganTheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/TestActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "08962e2ca0ad60442ac0986ca8987e62db5260c5": {"id": "08962e2ca0ad60442ac0986ca8987e62db5260c5", "date": 1766603419.0, "description": "volume widget", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "4417f99aedf0f6073834f69686db6057743cdf0f": {"id": "4417f99aedf0f6073834f69686db6057743cdf0f", "date": 1766601081.0, "description": "separated ContextMenuLineCtl & Std Primary", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "437e66236d423e7ab957dc90e8cae9b97599d4f2": {"id": "437e66236d423e7ab957dc90e8cae9b97599d4f2", "date": 1766598458.0, "description": "set project dir and save logic", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "45796f6c37f7e3133598d88c19511ca962851d15": {"id": "45796f6c37f7e3133598d88c19511ca962851d15", "date": 1766566149.0, "description": "work on reconnecting midi devices", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/MidiFeedbackDispatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/java/com/qfs/apres/VirtualMidiInputDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "eac7d0eba2e55a5793999b91a54b71060c9c6c15": {"id": "eac7d0eba2e55a5793999b91a54b71060c9c6c15", "date": 1766515037.0, "description": "working on reconnecting midi playback", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "4e27dbd2a8b51f96018b435eab2130b578c14dd2": {"id": "4e27dbd2a8b51f96018b435eab2130b578c14dd2", "date": 1766481981.0, "description": "Tempo ContextMenu", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "c6da021f056421c1673988fe981d299c6d2cdc1a": {"id": "c6da021f056421c1673988fe981d299c6d2cdc1a", "date": 1766444308.0, "description": "line repeat functions ostensibly functional", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "8f1792aa35b2caf4dd4932015758ebdca4bb7d74": {"id": "8f1792aa35b2caf4dd4932015758ebdca4bb7d74", "date": 1766428038.0, "description": "repeat selection logic and ActionTracker cleanup", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "6411d320079efd656092a4cc64b565370f4be2ab": {"id": "6411d320079efd656092a4cc64b565370f4be2ab", "date": 1766392391.0, "description": "work on implementing line repeat actions", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "c9f6c094adf913a36b2518844ee61d97bcd0aff6": {"id": "c9f6c094adf913a36b2518844ee61d97bcd0aff6", "date": 1766384288.0, "description": "Fixed UIState line repositioning", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "72614579905829a41240c8555cfcebabf638f0df": {"id": "72614579905829a41240c8555cfcebabf638f0df", "date": 1766278075.0, "description": "refresh cursor on toggle controller visibility", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "4c7d762f133d9a227fff021f61c44773352899c7": {"id": "4c7d762f133d9a227fff021f61c44773352899c7", "date": 1766272933.0, "description": "work on context menu layouts", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "b6a120cd4a8209ba4b7acd29a302563618053160": {"id": "b6a120cd4a8209ba4b7acd29a302563618053160", "date": 1766259737.0, "description": "reorganized ContextMenu layout logic", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "e8a4ec6008089b282e36b6392fc04cbaf92b5f82": {"id": "e8a4ec6008089b282e36b6392fc04cbaf92b5f82", "date": 1766217871.0, "description": "created MagicInput (temporary name). work on finer control of contextmenu layouts in progress", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "45d075461857406b1cc6029d4efdc9080fcbf0b8": {"id": "45d075461857406b1cc6029d4efdc9080fcbf0b8", "date": 1766189963.0, "description": "work on delay inputs", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "18e20846a1fac8459771263086414c3602453ddc": {"id": "18e20846a1fac8459771263086414c3602453ddc", "date": 1766182026.0, "description": "Futzing with TextField Quirks", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "6d7d8cbda08348729c51807255d0be9161047917": {"id": "6d7d8cbda08348729c51807255d0be9161047917", "date": 1766133289.0, "description": "more padding & dialog tweaks", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "504d5d9bcc66518bb3e905555d03fefca7fc71e0": {"id": "504d5d9bcc66518bb3e905555d03fefca7fc71e0", "date": 1766082648.0, "description": "separate DrawerCard from DialogCard", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "b1ac340b51c0ccb75a640dea22ae316524e9f958": {"id": "b1ac340b51c0ccb75a640dea22ae316524e9f958", "date": 1766081723.0, "description": "implement sized dialogs", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/DialogChain.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "acd43f0ef1343c6c87b4243721a8f50a11b23b30": {"id": "acd43f0ef1343c6c87b4243721a8f50a11b23b30", "date": 1766048606.0, "description": "working on dialog sizing", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "31e739e081295753df53e23bbd1a33684119fe06": {"id": "31e739e081295753df53e23bbd1a33684119fe06", "date": 1766014236.0, "description": "work on integer input sizing", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "49e194841949f4ad33bcaa981b8dba7484ee0738": {"id": "49e194841949f4ad33bcaa981b8dba7484ee0738", "date": 1766006730.0, "description": "various paddings", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "edb70c662f1eca5f8402defa65aad99466309df4": {"id": "edb70c662f1eca5f8402defa65aad99466309df4", "date": 1765964038.0, "description": "returning to crisp lined aesthetic", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "c4c35984d214cbeb82991aee182f4d83b4bd532c": {"id": "c4c35984d214cbeb82991aee182f4d83b4bd532c", "date": 1765960284.0, "description": "contextmenu padding & landing padding", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "48ef64b007f1a9a246e612e37ccbd88aa958f3ac": {"id": "48ef64b007f1a9a246e612e37ccbd88aa958f3ac", "date": 1765948930.0, "description": "NumberPicker done. Adjust Dialog functional", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "99a1111708e44cd10ad7335dafe89ffa8d9f6bd3": {"id": "99a1111708e44cd10ad7335dafe89ffa8d9f6bd3", "date": 1765925979.0, "description": "start work on set_soundfont_and import functionality", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "1bf23e491ad7e5a90617975e646d53c935b361bd": {"id": "1bf23e491ad7e5a90617975e646d53c935b361bd", "date": 1765925202.0, "description": "contextmenu padding", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"]], "author": "smith.quintin@protonmail.com"}, "d6d149b977249fdb3ed820ff0b7345c9e11b9731": {"id": "d6d149b977249fdb3ed820ff0b7345c9e11b9731", "date": 1765923373.0, "description": "Roughed-in NumberPicker. sortable menus initial offset", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "e92b2b3f9b088c5164f448e5843f923f62a012a0": {"id": "e92b2b3f9b088c5164f448e5843f923f62a012a0", "date": 1765920688.0, "description": "contextmenu padding", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "8d8d646d8ab16a1eaf5c76c18222fd0c6efcb40f": {"id": "8d8d646d8ab16a1eaf5c76c18222fd0c6efcb40f", "date": 1765874357.0, "description": "fixed unsortable menu layout", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values-xlarge/dimens.xml"], ["D", "app/src/main/res/values-xlarge-land/dimens.xml"], ["D", "app/src/main/res/values-small-land/dimens.xml"], ["A", "app/src/main/res/values-normal/dimens.xml"], ["D", "app/src/main/res/values-normal-land/dimens.xml"], ["M", "app/src/main/res/values-large/dimens.xml"], ["D", "app/src/main/res/values-large-land/dimens.xml"], ["D", "app/src/main/res/values-land/dimens.xml"], ["D", "app/src/main/res/values-h361dp/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmen/shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SoundFontWarning.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/PaganTheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/TestActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "c579e312917029dc3dd65d0cb0c316b4ed3587c6": {"id": "c579e312917029dc3dd65d0cb0c316b4ed3587c6", "date": 1765827559.0, "description": "defined sized layouts. created sortable/unsortable builders", "files": [["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmen/shapes.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "c8a71b2a6f5837c166d06988471d40fca9bafa33": {"id": "c8a71b2a6f5837c166d06988471d40fca9bafa33", "date": 1765698873.0, "description": "Editor landscape layout work", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "3ac3f0689b03c5dcc1b961175bf3946f0a7d4734": {"id": "3ac3f0689b03c5dcc1b961175bf3946f0a7d4734", "date": 1765673242.0, "description": "setting up landscape view logic in editor", "files": [["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "0a7f62175bf33d9306fd16874d6a82cbcb02b956": {"id": "0a7f62175bf33d9306fd16874d6a82cbcb02b956", "date": 1765611885.0, "description": "restored save sf in project logic", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "1bcd50b14b805a08e858a79370e6f44768300d8c": {"id": "1bcd50b14b805a08e858a79370e6f44768300d8c", "date": 1765583057.0, "description": "fixed delete functionality. unset active project on new project", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "fd173da7e6f7d9537d3fbb9091c70a9d913e17a6": {"id": "fd173da7e6f7d9537d3fbb9091c70a9d913e17a6", "date": 1765562064.0, "description": "work on loading from bkp", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "72a8b714d9a328dd038a12ff4a817df6617fe192": {"id": "72a8b714d9a328dd038a12ff4a817df6617fe192", "date": 1765561332.0, "description": "slight improvement to tagged indicator. untag/tag working", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "1e2225198ae3abc823f3db523b936b08d7c42d94": {"id": "1e2225198ae3abc823f3db523b936b08d7c42d94", "date": 1765560606.0, "description": "shortcut slider", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "28ef8fdf86de4a36989ce3f11bad8253b0845c7f": {"id": "28ef8fdf86de4a36989ce3f11bad8253b0845c7f", "date": 1765517694.0, "description": "export functions", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/SingleExporterEventHandler.kt"], ["M", "app/src/main/java/com/qfs/pagan/MultiExporterEventHandler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "4e55c9e346814b0fd7a8f4e6e50441378711b4eb": {"id": "4e55c9e346814b0fd7a8f4e6e50441378711b4eb", "date": 1765491198.0, "description": "Removed Leaf Validity check\n    Added Channel numbers to drawer channel labels\n    Switched from android.R.string.no to R.string.no", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "b8d94e60ea272d089c05d1503e84b4956e05e2fa": {"id": "b8d94e60ea272d089c05d1503e84b4956e05e2fa", "date": 1765488054.0, "description": "fixed broken loading", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusTreeJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusLineJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"]], "author": "smith.quintin@protonmail.com"}, "34759c973abbd9844c6776d96f5f9e8aff2efb98": {"id": "34759c973abbd9844c6776d96f5f9e8aff2efb98", "date": 1765486293.0, "description": "isvalid work", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "78bb29e091a3a8495fcd6a4f7df4b6ab48bede71": {"id": "78bb29e091a3a8495fcd6a4f7df4b6ab48bede71", "date": 1765431318.0, "description": "leaf layouts", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/color/number_select_button_selector_stroke.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBox.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/TopBarIcon.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/button/RelativeOptionButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SoundFontWarning.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/PaganTheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/SingleExporterEventHandler.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MultiExporterEventHandler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "a495ba228c4af0959d617c429ad0a1eee1b6ac4e": {"id": "a495ba228c4af0959d617c429ad0a1eee1b6ac4e", "date": 1765387103.0, "description": "work on export", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["A", "app/src/main/java/com/qfs/pagan/SingleExporterEventHandler.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["A", "app/src/main/java/com/qfs/pagan/MultiExporterEventHandler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "4c666dbc10aa93aecb5fe9f5110b92f15fbe6399": {"id": "4c666dbc10aa93aecb5fe9f5110b92f15fbe6399", "date": 1765382549.0, "description": "change channel 'instrument' to 'preset'", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerCursor.kt"], ["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "543d26fa3740dde390e33cda8c2385568fa3a655": {"id": "543d26fa3740dde390e33cda8c2385568fa3a655", "date": 1765343378.0, "description": "fit sortablemenus on popup dialogs", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "477b9232628c8659e9e4ad809b305e4d8d1f2634": {"id": "477b9232628c8659e9e4ad809b305e4d8d1f2634", "date": 1765266271.0, "description": "more work on lazy rows", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "e8a7a75a27bddc9aba6252291f0c64aee4091117": {"id": "e8a7a75a27bddc9aba6252291f0c64aee4091117", "date": 1765235442.0, "description": "got lazyrow working", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "64ca40153c7526c3c9edf2ec4f5a9cadaca7f237": {"id": "64ca40153c7526c3c9edf2ec4f5a9cadaca7f237", "date": 1765218340.0, "description": "tuningmap, project name & notes and export dialogs", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["A", "app/src/main/java/com/qfs/pagan/Exportable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "76eb9982b1f1f4f573ad72d3a2a86550e41415a8": {"id": "76eb9982b1f1f4f573ad72d3a2a86550e41415a8", "date": 1765214754.0, "description": "LazyRow", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "b0f02d0e44879cad63ca663de1937b0aee80af57": {"id": "b0f02d0e44879cad63ca663de1937b0aee80af57", "date": 1765180803.0, "description": "pan slider", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "8b76147a406fe4e18fa3db3157ce6b82b02c33d5": {"id": "8b76147a406fe4e18fa3db3157ce6b82b02c33d5", "date": 1765177513.0, "description": "redraw slider in pan correctly. fixed bug in get_preceding_event in ReducibleTreeArray", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusPanEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "b49d48ba1c6a03a15f7f91612e207a2af1ef29e1": {"id": "b49d48ba1c6a03a15f7f91612e207a2af1ef29e1", "date": 1765149595.0, "description": "fmt volume and velocity buttons", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVelocity.kt"]], "author": "smith.quintin@protonmail.com"}, "cfa6463c7d93374821eec3de9d890b39e33764d6": {"id": "cfa6463c7d93374821eec3de9d890b39e33764d6", "date": 1765149032.0, "description": "shortcut functionality", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "93f81827d361417b6b900b274f6b4a6acb9d9487": {"id": "93f81827d361417b6b900b274f6b4a6acb9d9487", "date": 1765147345.0, "description": "center alignment range contextmenu", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "5927afeba560fa44759219ebf6d5264987fe4a93": {"id": "5927afeba560fa44759219ebf6d5264987fe4a93", "date": 1765147068.0, "description": "reverted ns buttons to Boxes", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "a8dac42b6cfca8be7df3cb1e059082800069772b": {"id": "a8dac42b6cfca8be7df3cb1e059082800069772b", "date": 1765082857.0, "description": "dynamic menu items", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "800628e77a6daf36a8b6e7cf0164939deceab9c4": {"id": "800628e77a6daf36a8b6e7cf0164939deceab9c4", "date": 1765007350.0, "description": "Effect Leaf Menu", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "f40bcb5b7eee4fc8e1bba83b1f3c74e66e782456": {"id": "f40bcb5b7eee4fc8e1bba83b1f3c74e66e782456", "date": 1765004320.0, "description": "opus playback", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["A", "app/src/main/java/com/qfs/pagan/PlaybackState.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "975c6842eb4adb78867acd2dca9986d72e911ff2": {"id": "975c6842eb4adb78867acd2dca9986d72e911ff2", "date": 1764977192.0, "description": "straggler from merge", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/SoundFontWarning.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/BetterCard.kt"]], "author": "smith.quintin@protonmail.com"}, "8ff32a333334506ea980188bb8d7a7de1337736b": {"id": "8ff32a333334506ea980188bb8d7a7de1337736b", "date": 1764975787.0, "description": "DialogBar", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/BetterCard.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "76a9e720d98588a19c6520f8eb436d468d21427f": {"id": "76a9e720d98588a19c6520f8eb436d468d21427f", "date": 1764974206.0, "description": "work on scroll to cursor functionality", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "abe48091b9de8056aa82ad32a577b32e7c2629ff": {"id": "abe48091b9de8056aa82ad32a577b32e7c2629ff", "date": 1764971750.0, "description": "renamed BetterButton, removed superfluous Columns in create_dialog calls", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/button/BetterButton.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/button/Button.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/DialogChain.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "82b955ba88c711c0d98e66cbd127fb179488f403": {"id": "82b955ba88c711c0d98e66cbd127fb179488f403", "date": 1764913913.0, "description": "work on channel colors.", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/ComponentActivity/NoverScrollEffect.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "0bfc58893673b8a393b84c51cca35090cea1a35a": {"id": "0bfc58893673b8a393b84c51cca35090cea1a35a", "date": 1764888778.0, "description": "more setting up coloured channels", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "30eac8062365b5df42ace21dd31d3f0c18769462": {"id": "30eac8062365b5df42ace21dd31d3f0c18769462", "date": 1764887809.0, "description": "setting up coloured channels", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/BetterButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "1810ee090704bb0db71b325cd3715d8863c00727": {"id": "1810ee090704bb0db71b325cd3715d8863c00727", "date": 1764847116.0, "description": "disable/enable buttons contextually. global controls/new beat buttons.", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/BetterButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/PaganTheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "c49aa4a0900763e60d4437a920a1709bd1c1df26": {"id": "c49aa4a0900763e60d4437a920a1709bd1c1df26", "date": 1764805906.0, "description": "remove unused TrackedActions", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "a8facc6add608c9f5ef0134cfe0c1569df2ca71c": {"id": "a8facc6add608c9f5ef0134cfe0c1569df2ca71c", "date": 1764805698.0, "description": "DialogTitle Composable. changed cancel buttons to outlined buttons", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "0a81e989f7e84abf508c58d2293507c896950e5a": {"id": "0a81e989f7e84abf508c58d2293507c896950e5a", "date": 1764802026.0, "description": "custom button work", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/BetterButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "18759a6a945a11b63d023e96e232a4c86e7a7853": {"id": "18759a6a945a11b63d023e96e232a4c86e7a7853", "date": 1764741891.0, "description": "work on settings activity", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/enumerate.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/BetterButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "9d6fc83845a8d418b2df781a1f0445eaf2aaecd2": {"id": "9d6fc83845a8d418b2df781a1f0445eaf2aaecd2", "date": 1764714756.0, "description": "checks for if soundfont is needed and projects are saved", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "5f3930689eb422208afc103f208241d06113c6f1": {"id": "5f3930689eb422208afc103f208241d06113c6f1", "date": 1764695327.0, "description": "project info dialog", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "199911501633b54fa04e3a5128a0e324b50cc665": {"id": "199911501633b54fa04e3a5128a0e324b50cc665", "date": 1764664507.0, "description": "build BetterButton, a Button with OnLongClick", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/button/BetterButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "1d9b3a159a2b584876e516a52a7cf2e54ba3726c": {"id": "1d9b3a159a2b584876e516a52a7cf2e54ba3726c", "date": 1764633913.0, "description": "percussion instrument menu", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "58e27b158c99564201786e8e2234b08a369fd22d": {"id": "58e27b158c99564201786e8e2234b08a369fd22d", "date": 1764617681.0, "description": "start name/notes dialog", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "9210e8851907202da0501f7c2b2e3bfc6286b2bd": {"id": "9210e8851907202da0501f7c2b2e3bfc6286b2bd", "date": 1764617507.0, "description": "blocking dup dialogs, instrument picker", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/DialogChain.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "170a852b82e7fae68c0864c02e238a0bd098b264": {"id": "170a852b82e7fae68c0864c02e238a0bd098b264", "date": 1764575342.0, "description": "work on channel preset menu", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "78eca8e9fe3e28b699da654dff253949624cf0a8": {"id": "78eca8e9fe3e28b699da654dff253949624cf0a8", "date": 1764569854.0, "description": "working on sortablemenu sorting. using Comparable function for entries rather than option icons and strings", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "144cf8b65020629b2fd660d2d3f60c6845efd62e": {"id": "144cf8b65020629b2fd660d2d3f60c6845efd62e", "date": 1764489850.0, "description": "was checking in mutable state was null rather than value", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "7a99b47927e203e73526c08b139981012bbf9187": {"id": "7a99b47927e203e73526c08b139981012bbf9187", "date": 1764489727.0, "description": "pan track and leaf text colors", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetPan.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/button/TopBarIcon.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "4fa35622a522537e0ee17017dd17de45c22670cb": {"id": "4fa35622a522537e0ee17017dd17de45c22670cb", "date": 1764487833.0, "description": "topbar buttons", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["A", "app/src/main/res/drawable/kebab.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "ee323c74c6eed2ebd55e6e0ec8879e297bc47f73": {"id": "ee323c74c6eed2ebd55e6e0ec8879e297bc47f73", "date": 1764485522.0, "description": "refresh_cursor in queue_cell_update()", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "93037a8ab4d63017d5910d6e8fe8b926e2834c10": {"id": "93037a8ab4d63017d5910d6e8fe8b926e2834c10", "date": 1764481825.0, "description": "removed unused context menus", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["D", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetVolume.kt"], ["D", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetVelocity.kt"], ["D", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetTempo.kt"], ["D", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetPan.kt"], ["D", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetDelay.kt"], ["D", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidget.kt"], ["D", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuView.kt"], ["D", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuRange.kt"], ["D", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLine.kt"], ["D", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLeafPercussion.kt"], ["D", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLeaf.kt"], ["D", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLine.kt"], ["D", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLeafRange.kt"], ["D", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLeaf.kt"], ["D", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuColumn.kt"], ["D", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenuWithController.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/NoverScrollEffect.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "c2c1694b7931d0d7d9bb943c542a12cf1ee8ce81": {"id": "c2c1694b7931d0d7d9bb943c542a12cf1ee8ce81", "date": 1764455844.0, "description": "removed unused TrackedActions. Added Dropdown menu", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/DrawerChannelMenu/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "b4d975fa5f4a6b9ef0fe17cf0cdcdde8b8b80613": {"id": "b4d975fa5f4a6b9ef0fe17cf0cdcdde8b8b80613", "date": 1764452306.0, "description": "pass LeafData tree as argument of CellView", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "a0121ef350c42407864934e2a103d5e5cdb6cb40": {"id": "a0121ef350c42407864934e2a103d5e5cdb6cb40", "date": 1764397155.0, "description": "leaf/line/column/channel data all properties mutable states", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "cfd38fdd0787075868dd0cc41dcaf24a7091edb0": {"id": "cfd38fdd0787075868dd0cc41dcaf24a7091edb0", "date": 1764369909.0, "description": "lock cursor when adjusting selection", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "0d7130e9ad70717308cc02dc8474abfb88bd5130": {"id": "0d7130e9ad70717308cc02dc8474abfb88bd5130", "date": 1764369864.0, "description": "unsortable menu", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "b6b2199d4ff32c82b93e7f09912a0f098203c6f6": {"id": "b6b2199d4ff32c82b93e7f09912a0f098203c6f6", "date": 1764314158.0, "description": "is_selected optimizations", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "0c648c1e1883376379d88bfb51664bd88d2c7f97": {"id": "0c648c1e1883376379d88bfb51664bd88d2c7f97", "date": 1764286846.0, "description": "work on settings  page", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "75ac244576d429260123ea05506ed22a9adfa10d": {"id": "75ac244576d429260123ea05506ed22a9adfa10d", "date": 1764285565.0, "description": "SortableMenu", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "1402aa95cc56650d0ba93f3d7dbc592f8fba5c4e": {"id": "1402aa95cc56650d0ba93f3d7dbc592f8fba5c4e", "date": 1764224888.0, "description": "playback event", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "a3f1ce2addf98ada6fdf29ed749779d46b1faa35": {"id": "a3f1ce2addf98ada6fdf29ed749779d46b1faa35", "date": 1764197471.0, "description": "separating Context From ActionTracker", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "2dccaeee41cfd5b6ba7a3c36c7a00050da493e03": {"id": "2dccaeee41cfd5b6ba7a3c36c7a00050da493e03", "date": 1764174829.0, "description": "typo fix", "files": [["M", "app/src/main/res/values/strings.xml"]], "author": "smith.quintin@protonmail.com"}, "b88033529a2a815cfeae30990c463b593283b8cc": {"id": "b88033529a2a815cfeae30990c463b593283b8cc", "date": 1764134688.0, "description": "switched out Activity-based logic with ViewModels in PlaybackDevice", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "fbf22d738a1625b77b63fc86cc29f3c7a50880bd": {"id": "fbf22d738a1625b77b63fc86cc29f3c7a50880bd", "date": 1764105620.0, "description": "readd UILock file", "files": [["A", "app/src/main/java/com/qfs/pagan/UILock.kt"]], "author": "smith.quintin@protonmail.com"}, "86b4b71b60df9998a80f15c81eb126f0060423bb": {"id": "86b4b71b60df9998a80f15c81eb126f0060423bb", "date": 1764103864.0, "description": "remove ui_lock checks in ViewModelEditorState", "files": [["D", "app/src/main/java/com/qfs/pagan/ViewModelPagan.kt"], ["A", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "0f56843a09dd27df779200f771d0beced11e99bb": {"id": "0f56843a09dd27df779200f771d0beced11e99bb", "date": 1764099073.0, "description": "config drawer button", "files": [["A", "app/src/main/java/com/qfs/pagan/composable/button/ConfigDrawerButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "c92a662705f8641824d29ea81a220b50c8c16419": {"id": "c92a662705f8641824d29ea81a220b50c8c16419", "date": 1764097978.0, "description": "moving ui_lock logic into OpusLayerInterface", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "511739093eff173128a88c8168c5c1b4689af3df": {"id": "511739093eff173128a88c8168c5c1b4689af3df", "date": 1764097824.0, "description": "moving ui_lock logic into OpusLayerInterface", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "7bc48c364855b3a0722454ee09b69ea71c009196": {"id": "7bc48c364855b3a0722454ee09b69ea71c009196", "date": 1764096849.0, "description": "converted UIFacade into a ViewModel", "files": [["D", "app/src/main/java/com/qfs/pagan/uibill/UIFacade.kt"], ["A", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorState.kt"], ["D", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditor.kt"], ["A", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditorController.kt"], ["D", "app/src/main/java/com/qfs/pagan/uibill/UILock.kt"], ["D", "app/src/main/java/com/qfs/pagan/uibill/BillableItem.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "d530d63c282ef7d16d2fc49e2e1efc8c4a0ffb76": {"id": "d530d63c282ef7d16d2fc49e2e1efc8c4a0ffb76", "date": 1764011012.0, "description": "rough-in drawer", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "0ffa1a2f4d1c50abe81852c227ce4a28f3444083": {"id": "0ffa1a2f4d1c50abe81852c227ce4a28f3444083", "date": 1764010209.0, "description": "wayward comma removal", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"]], "author": "smith.quintin@protonmail.com"}, "40d61e7b9cc41badcba751f4e9bf54314ed16d52": {"id": "40d61e7b9cc41badcba751f4e9bf54314ed16d52", "date": 1764010172.0, "description": "delay widget", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"]], "author": "smith.quintin@protonmail.com"}, "0be379cb37dc480a7dc94c3774f2f7f3ce0a2ac3": {"id": "0be379cb37dc480a7dc94c3774f2f7f3ce0a2ac3", "date": 1764009290.0, "description": "tempo & pan widgets", "files": [["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/TempoEventMenu.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/PanEventMenu.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/VolumeEventMenu.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVolume.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/VelocityEventMenu.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetVelocity.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetTempo.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ReverbEventMenu.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetReverb.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetPan.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/DelayEventMenu.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectWidgetDelay.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectTransitionButton.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffecWidgetButtonTransition.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Range.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuRange.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Line.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLine.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Leaf.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuLeaf.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Channel.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuChannel.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Beat.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ContextMenuBeat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"]], "author": "smith.quintin@protonmail.com"}, "78b6d8b0cae09feb19fa173757ad3d5f917a39cc": {"id": "78b6d8b0cae09feb19fa173757ad3d5f917a39cc", "date": 1763957443.0, "description": "line_count added to UIFacade", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIFacade.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "e07e0d1b7819ccc2db8e2681031772a84a72ed20": {"id": "e07e0d1b7819ccc2db8e2681031772a84a72ed20", "date": 1763957059.0, "description": "drawer", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/TestActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"]], "author": "smith.quintin@protonmail.com"}, "4645ba0be8a5426194041fb32f4fd6d2bf0888d7": {"id": "4645ba0be8a5426194041fb32f4fd6d2bf0888d7", "date": 1763948978.0, "description": "fixed broken 'replace_with' function in Reducible Tree", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/VolumeEventMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/VelocityEventMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Line.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/EffectTransitionButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/DelayEventMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Channel.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "03ef5748e6bfdc8bac43c6167f1cfa722c0e8da6": {"id": "03ef5748e6bfdc8bac43c6167f1cfa722c0e8da6", "date": 1763879003.0, "description": "work on Effect Menus", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/VolumeEventMenu.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/VelocityEventMenu.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/TempoEventMenu.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/ReverbEventMenu.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/PanEventMenu.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/DelayEventMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "c82fec552503576ea603feec33740a6047892358": {"id": "c82fec552503576ea603feec33740a6047892358", "date": 1763873758.0, "description": "setting up Effect Context Menus", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/uibill/UIFacade.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/VolumeEventMenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Range.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Line.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Leaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Channel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Beat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "c4b00ea3f1ef7d5219676da1742bd2230d333b0c": {"id": "c4b00ea3f1ef7d5219676da1742bd2230d333b0c", "date": 1763854407.0, "description": "composable buttons", "files": [["A", "app/src/main/java/com/qfs/pagan/composable/button/NumberSelectorButton.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/button/ContextMenuButton.kt"]], "author": "smith.quintin@protonmail.com"}, "5d28e62c9aa0cc9c2da80f3bc1ffe71760c1d833": {"id": "5d28e62c9aa0cc9c2da80f3bc1ffe71760c1d833", "date": 1763849986.0, "description": "Standardized Context Menu Button", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Line.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Leaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Channel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Beat.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "f19102c392129ce0afd62cbf8f68059933bac286": {"id": "f19102c392129ce0afd62cbf8f68059933bac286", "date": 1763839032.0, "description": "number select colors", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Leaf.kt"]], "author": "smith.quintin@protonmail.com"}, "7403c0fc3656e22cf27917f0ea17b5b17a64b128": {"id": "7403c0fc3656e22cf27917f0ea17b5b17a64b128", "date": 1763798645.0, "description": "button spacing", "files": [["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Line.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Cell.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Leaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Channel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "294b06cea845cc2f84936acf2630712681d1095d": {"id": "294b06cea845cc2f84936acf2630712681d1095d", "date": 1763765227.0, "description": "work on Channel Context Menu. added is_mute to ChannelData", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/uibill/UIFacade.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Channel.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Cell.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "fa06295f796c3994f79a19a782370701d37cab9b": {"id": "fa06295f796c3994f79a19a782370701d37cab9b", "date": 1763760251.0, "description": "per-activity TopBar", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/uibill/UIFacade.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/cxtmenu.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Range.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Line.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Channel.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Cell.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/Beat.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/TestActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"]], "author": "smith.quintin@protonmail.com"}, "8a808ee093717298e263b8773910f2a5024fa4e2": {"id": "8a808ee093717298e263b8773910f2a5024fa4e2", "date": 1763710595.0, "description": "line/column label view work", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIFacade.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/cxtmenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/PaganTheme.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["A", "app/src/main/java/com/qfs/pagan/ComponentActivity/NoverScrollEffect.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "718dfb9ea76b11ea3dce3b017d27d3ddb96a1d2b": {"id": "718dfb9ea76b11ea3dce3b017d27d3ddb96a1d2b", "date": 1763668315.0, "description": "work on context menus Line and Column", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIFacade.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/cxtmenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "2a5fdbe814dc75ad55ee0f5c46a0cc03c6834b7b": {"id": "2a5fdbe814dc75ad55ee0f5c46a0cc03c6834b7b", "date": 1763593310.0, "description": "LineLabelView, BeatLabelView attached dispatcher. Work on ContextMenuLine", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/cxtmenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "075823dc602f2f5e0f37b78815594a88fcf12190": {"id": "075823dc602f2f5e0f37b78815594a88fcf12190", "date": 1763527146.0, "description": "removed leaf shadow", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/cxtmenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "2e852444fe699e8eb24f5593d4d8b4f57d3985e1": {"id": "2e852444fe699e8eb24f5593d4d8b4f57d3985e1", "date": 1763508279.0, "description": "Roughed in line/column labels and Number Selector active values", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/cxtmenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "3059a9ba3bc335bb72886df3e8cf9eb65ec77ab8": {"id": "3059a9ba3bc335bb72886df3e8cf9eb65ec77ab8", "date": 1763451584.0, "description": "center align leaf text. remove X on percussion", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "5ca7c858ea7d870a15c94fed78464735d524fb60": {"id": "5ca7c858ea7d870a15c94fed78464735d524fb60", "date": 1763450847.0, "description": "Fixed bug in reduce()", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["D", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/input.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "0a9d526f1fa9be7c632f834ea9f0decb5932066a": {"id": "0a9d526f1fa9be7c632f834ea9f0decb5932066a", "date": 1763415613.0, "description": "FloatInput & DialogQueue->DialogChain", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/input.kt"], ["M", "app/src/main/java/com/qfs/pagan/ViewModelPagan.kt"], ["D", "app/src/main/java/com/qfs/pagan/DialogQueue.kt"], ["A", "app/src/main/java/com/qfs/pagan/DialogChain.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "e5f7f14ec6a27136b2a488f1c843416dbd4152ea": {"id": "e5f7f14ec6a27136b2a488f1c843416dbd4152ea", "date": 1763402588.0, "description": "moved ProjectManager to Global ViewModel", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "5dba86434845b9014a64ea1a4522606c9fb37391": {"id": "5dba86434845b9014a64ea1a4522606c9fb37391", "date": 1763401735.0, "description": "DialogQueue system in place", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ViewModelPagan.kt"], ["A", "app/src/main/java/com/qfs/pagan/DialogQueue.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "b438068c573f73cf88863157dbb50e9f179b5ea3": {"id": "b438068c573f73cf88863157dbb50e9f179b5ea3", "date": 1763365820.0, "description": "work on dialogs", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/input.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/cxtmenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "02e878114a89c7c7719092bc49e8d21c80778c28": {"id": "02e878114a89c7c7719092bc49e8d21c80778c28", "date": 1763340354.0, "description": "dialog work", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/input.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/Stext.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "bf90861470dff002a53f1fc28be3a59db2950094": {"id": "bf90861470dff002a53f1fc28be3a59db2950094", "date": 1763336401.0, "description": "work on composable dialogs", "files": [["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/input.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "be73e96785e27723bf2f1192f9127c54dd058ed8": {"id": "be73e96785e27723bf2f1192f9127c54dd058ed8", "date": 1763266269.0, "description": "work on moving logic to ViewModelEditor", "files": [["M", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/uibill/UIFacade.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "f15e238ffa33b427c81d90545d461047e55679fd": {"id": "f15e238ffa33b427c81d90545d461047e55679fd", "date": 1763233767.0, "description": "work on composable leaf views", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIFacade.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/cxtmenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "9d24c3a60d7d34b1923dff49ab387032a2a316ba": {"id": "9d24c3a60d7d34b1923dff49ab387032a2a316ba", "date": 1763229449.0, "description": "contextmenus use ActionTracker instead of OpusManager", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/cxtmenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "b8d43d3dff0459dded1bd059a34cc6b8ebee9820": {"id": "b8d43d3dff0459dded1bd059a34cc6b8ebee9820", "date": 1763196254.0, "description": "starting rough table ui", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UILock.kt"], ["D", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["A", "app/src/main/java/com/qfs/pagan/uibill/UIFacade.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/cxtmenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/Riff.kt"], ["M", "app/src/main/AndroidManifest.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "4b2f8db553d331f38ca92e54b4cfe367f27bc17c": {"id": "4b2f8db553d331f38ca92e54b4cfe367f27bc17c", "date": 1763157932.0, "description": "Working on setting up framework for composable editor", "files": [["A", "app/src/main/java/com/qfs/pagan/composable/cxtmenu/cxtmenu.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "04124c9e131b0866525fa560615892dd097b20ee": {"id": "04124c9e131b0866525fa560615892dd097b20ee", "date": 1763148084.0, "description": "separated ViewModelEditor", "files": [["A", "app/src/main/java/com/qfs/pagan/viewmodel/ViewModelEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "e0dfae08fa219d4d0c698c1ccf433532f44efcf1": {"id": "e0dfae08fa219d4d0c698c1ccf433532f44efcf1", "date": 1763057930.0, "description": "work on separating playback devices/audio from activity", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "9b6fb362826bad7559a4c9042a7d0a12426fc135": {"id": "9b6fb362826bad7559a4c9042a7d0a12426fc135", "date": 1763025631.0, "description": "Create ru-RU/full_description.txt", "files": [["A", "fastlane/metadata/android/ru-RU/full_description.txt"]], "author": "Korb@users.noreply.github.com"}, "bbae43a550bfbace8fe0449f3dd1c6ca19959c0b": {"id": "bbae43a550bfbace8fe0449f3dd1c6ca19959c0b", "date": 1763025441.0, "description": "Create ru-RU/short_description.txt", "files": [["A", "fastlane/metadata/android/ru-RU/short_description.txt"]], "author": "Korb@users.noreply.github.com"}, "1ed6b836fe88aaa14e79869422c699dc03d9c0a0": {"id": "1ed6b836fe88aaa14e79869422c699dc03d9c0a0", "date": 1762969028.0, "description": "work on moving reorganizing soundfont-related classes", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/DrawerChannelMenu/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "e957da1ae1b5ab600719be20034eb71b3eae2f14": {"id": "e957da1ae1b5ab600719be20034eb71b3eae2f14", "date": 1762937328.0, "description": "moving SampleHandleManagers and PlaybackDevices into AudioInterface", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["D", "app/src/main/java/com/qfs/pagan/uibill/Node.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["A", "app/src/main/java/com/qfs/pagan/AudioInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "b12a77ab8a928ea54390ae260b99af77398c079c": {"id": "b12a77ab8a928ea54390ae260b99af77398c079c", "date": 1762831299.0, "description": "removed lock_ui_partial()", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "3cd15444d47d7b130fe69a838a6b9b73b205faf0": {"id": "3cd15444d47d7b130fe69a838a6b9b73b205faf0", "date": 1762818454.0, "description": "swap cells function in UIChangebill", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "16e6b75761ce01fe4e6b85465b11861599a774da": {"id": "16e6b75761ce01fe4e6b85465b11861599a774da", "date": 1762814430.0, "description": "Finally removed the ACCESS_NETWORK_STATE permission removal in manifesto", "files": [["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "066c1486dea5c46e90808a77d19dc3cf2c0e9421": {"id": "066c1486dea5c46e90808a77d19dc3cf2c0e9421", "date": 1762814342.0, "description": "removed usage of context_menu in UIbill", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "c532eeabda814dc515ba8115034092998a9062c2": {"id": "c532eeabda814dc515ba8115034092998a9062c2", "date": 1762672339.0, "description": "added is_*_selected()", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "626ca3ea1840d48cd72dafe7bf3ea51946a5474b": {"id": "626ca3ea1840d48cd72dafe7bf3ea51946a5474b", "date": 1762554310.0, "description": "added columns in ui_full_refresh()", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "6890549837af5c27a2b2a2ec57501598ac8807fa": {"id": "6890549837af5c27a2b2a2ec57501598ac8807fa", "date": 1762553777.0, "description": "ui_facade full refresh function", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "d9b279791325376d880da62a772e04dee4084700": {"id": "d9b279791325376d880da62a772e04dee4084700", "date": 1762470967.0, "description": "ui_facade accounting for blocking. add/remove channel updating", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "b77c6663eb7d05ee39ab2a7f41134dc8c65fc490": {"id": "b77c6663eb7d05ee39ab2a7f41134dc8c65fc490", "date": 1762467495.0, "description": "more merging", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"]], "author": "smith.quintin@protonmail.com"}, "ff14be2243890cf1e9c3a4287348ce4d1b350832": {"id": "ff14be2243890cf1e9c3a4287348ce4d1b350832", "date": 1762458060.0, "description": "version bump. change notes", "files": [["A", "fastlane/metadata/android/en-US/changelogs/136.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "e6726f1f7203b96ab1865583cf99d6fb75c191fe": {"id": "e6726f1f7203b96ab1865583cf99d6fb75c191fe", "date": 1762406865.0, "description": "added ScaleGestureDetector", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "b33477e055a0a31cb551deb344bb6bee9bf617ae": {"id": "b33477e055a0a31cb551deb344bb6bee9bf617ae", "date": 1762364901.0, "description": "preview using non-random 3 notes so user can get a better idea of tuning", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "1dd04a4454d94107560c2f20221d646a174bd10b": {"id": "1dd04a4454d94107560c2f20221d646a174bd10b", "date": 1762360528.0, "description": "instrument preview functional. plays 3 random notes in the 3rd octave", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "7c16af5247834b4874d02555aa1cce698faa1542": {"id": "7c16af5247834b4874d02555aa1cce698faa1542", "date": 1762317171.0, "description": "applicationId", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "d38d98b7126d68be7a35aaadb2e4866d38293233": {"id": "d38d98b7126d68be7a35aaadb2e4866d38293233", "date": 1762314634.0, "description": "note memory switch in settings", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout-xlarge-land/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "0accf799bb2e9d7007f697e0b6d1abc852c5fd39": {"id": "0accf799bb2e9d7007f697e0b6d1abc852c5fd39", "date": 1762309839.0, "description": "only show input memory highlighting on empty events", "files": [["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "c7c6f28c3dee63b0c1edac0a45407c0e301d2eb1": {"id": "c7c6f28c3dee63b0c1edac0a45407c0e301d2eb1", "date": 1762309630.0, "description": "dashed-line note memory", "files": [["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/drawable/number_selector_button.xml"]], "author": "smith.quintin@protonmail.com"}, "d4c65c50e2cb58b6b068962938af63d14152d417": {"id": "d4c65c50e2cb58b6b068962938af63d14152d417", "date": 1762276323.0, "description": "adjust new highlight color", "files": [["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/drawable/number_selector_button.xml"], ["M", "app/src/main/res/color/number_select_button_selector_stroke.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "5c88a3ed448b26bc316ee0f696f40a08065975ac": {"id": "5c88a3ed448b26bc316ee0f696f40a08065975ac", "date": 1762239345.0, "description": "outlining most recently selected buttons on NumberSelectors", "files": [["M", "app/src/main/res/values/attrs.xml"], ["M", "app/src/main/res/drawable/number_selector_button.xml"], ["A", "app/src/main/res/color/number_select_button_selector_stroke.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "8d432cc75cff821397b59b3596a821418f494992": {"id": "8d432cc75cff821397b59b3596a821418f494992", "date": 1762233924.0, "description": "note memory logic added. no ui yet", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "962db2a447892abdc3b9a640849e76c3f8b92ac3": {"id": "962db2a447892abdc3b9a640849e76c3f8b92ac3", "date": 1762206123.0, "description": "don't export song position pointers in midi files", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "38d44e4800931c31e0100d445e449885bdd710e0": {"id": "38d44e4800931c31e0100d445e449885bdd710e0", "date": 1762186979.0, "description": "was adding EndOfClip() to midi 1 files instead of EndOfTrack()", "files": [["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "1214288f6621b9c97933a0bdafb6473e5e4559a3": {"id": "1214288f6621b9c97933a0bdafb6473e5e4559a3", "date": 1762059388.0, "description": "separating ui_facade (renamed from ui_change_bill)", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "315540fd25f7bfcfa0a06d510c27cca633d13cfe": {"id": "315540fd25f7bfcfa0a06d510c27cca633d13cfe", "date": 1761955105.0, "description": "finished set_cursor() in UIBill", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "dbcbf06487c5673a9f2d5fae582e6464457247d4": {"id": "dbcbf06487c5673a9f2d5fae582e6464457247d4", "date": 1761931939.0, "description": "Replaced usage of '9' with PERCUSSION_CHANNEL", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "2d84b4e5933ea4e5e85aef2f4b91a4132356f853": {"id": "2d84b4e5933ea4e5e85aef2f4b91a4132356f853", "date": 1761808349.0, "description": "converting queue_cursor_update()", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "d588a0b9ae9c3bfd7ef1611c813f3ba9b043a7f4": {"id": "d588a0b9ae9c3bfd7ef1611c813f3ba9b043a7f4", "date": 1761759114.0, "description": "update channel instruments on remove/new channel", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "b1f9f44810a1cf14d38d322d28c8adfe6100271c": {"id": "b1f9f44810a1cf14d38d322d28c8adfe6100271c", "date": 1761719589.0, "description": "removed obsolete calls to queue_column_change()", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "deea5fb0294750b5acc8dbdd6fa434c3597cf2ee": {"id": "deea5fb0294750b5acc8dbdd6fa434c3597cf2ee", "date": 1761710265.0, "description": "typo fix", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"]], "author": "smith.quintin@protonmail.com"}, "f8969025f3644f7de85770243a4c90a70552b3f0": {"id": "f8969025f3644f7de85770243a4c90a70552b3f0", "date": 1761686861.0, "description": "converted queue_add_channel()", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "46469b4319daf5cd234a0f85c049c1c77ff8a55f": {"id": "46469b4319daf5cd234a0f85c049c1c77ff8a55f", "date": 1761683828.0, "description": "removed unused swap_channels()", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "b7e4ff1f450790516089322e654e982580ab2c0d": {"id": "b7e4ff1f450790516089322e654e982580ab2c0d", "date": 1761637822.0, "description": "created 'enumerate()'", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["A", "app/src/main/java/com/qfs/pagan/enumerate.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "0add49497ead4dd1035e1bc3e7e287e88cf110e0": {"id": "0add49497ead4dd1035e1bc3e7e287e88cf110e0", "date": 1761529731.0, "description": "midi channel now tied to position rather than the Channel object", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "7032b99785a3e916ba9fb4abb6070754d1d25303": {"id": "7032b99785a3e916ba9fb4abb6070754d1d25303", "date": 1761463569.0, "description": "converting uibill to Editor Ui State object", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "ac2e1cfcf20baff46f0d0e45ef518e82474faff7": {"id": "ac2e1cfcf20baff46f0d0e45ef518e82474faff7", "date": 1761375227.0, "description": "work on row changes", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/uibill/BillableItem.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "0b6d6928872fb26a0173bb9ab856ab38ab2678fe": {"id": "0b6d6928872fb26a0173bb9ab856ab38ab2678fe", "date": 1761351901.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "31e8b2ce6b6b5daef59743fa23edafa6e8d93fc7": {"id": "31e8b2ce6b6b5daef59743fa23edafa6e8d93fc7", "date": 1761349809.0, "description": "CellChange on being added to UiBill individually first", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "ced68a5ff7c16a53a1be4074f7b8a7d3653c2779": {"id": "ced68a5ff7c16a53a1be4074f7b8a7d3653c2779", "date": 1761277232.0, "description": "small lint", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "c73cf43cb91c90c7fd44fd401d222e02f0d75280": {"id": "c73cf43cb91c90c7fd44fd401d222e02f0d75280", "date": 1761192849.0, "description": "work on tracking cell trees", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "91a110d364670758b66677abfdd644312dd2c995": {"id": "91a110d364670758b66677abfdd644312dd2c995", "date": 1761165607.0, "description": "update considate() to handle ReducibleTree tracking", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "4220eab171a543052f2e147fb66cfcfee057f149": {"id": "4220eab171a543052f2e147fb66cfcfee057f149", "date": 1761153964.0, "description": "merge TableUI class into EditorTable. There used to be a reason that they were separate, but not anymore.", "files": [["M", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/uibill/Node.kt"], ["D", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "e537518c9872d2cb0bf25fb10a6a20ba5ea14b5e": {"id": "e537518c9872d2cb0bf25fb10a6a20ba5ea14b5e", "date": 1761076483.0, "description": "commented out referrences to activity in OpusLayerInterface", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["A", "app/src/main/java/com/qfs/pagan/ComponentActivity/TestActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "244e11520971f22b515fd59c8c9b347a8e882a1e": {"id": "244e11520971f22b515fd59c8c9b347a8e882a1e", "date": 1761029223.0, "description": "started separated OpusLayerInterface from Activity", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "d91f061f3ed80204348802ccbd62f003958bc73e": {"id": "d91f061f3ed80204348802ccbd62f003958bc73e", "date": 1760807521.0, "description": "Fixed midi loop playback bug introduced in recent commit", "files": [["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "a3c2b39853fbf16b72e8b4adc37df7e38f67304b": {"id": "a3c2b39853fbf16b72e8b4adc37df7e38f67304b", "date": 1760757967.0, "description": "shift events that occur the start frame when looping playback", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "6bafb644b9bd14028804965885052e09b4d66e88": {"id": "6bafb644b9bd14028804965885052e09b4d66e88", "date": 1760752193.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/135.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "a4a30fd02e7b35c1c323567d6771121139e2358d": {"id": "a4a30fd02e7b35c1c323567d6771121139e2358d", "date": 1760731835.0, "description": "update applicationId", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "b6e76343b2e5328a8273b93b4ad047b01a552305": {"id": "b6e76343b2e5328a8273b93b4ad047b01a552305", "date": 1760731803.0, "description": "loopable playback", "files": [["A", "app/src/main/res/drawable/icon_pause_loop.xml"], ["M", "app/src/main/res/drawable/icon_pause.xml"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ControllerEventData.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.h"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.cpp"]], "author": "smith.quintin@protonmail.com"}, "6c0d5bc4b5fba84e560850e1452a9ce31c71848a": {"id": "6c0d5bc4b5fba84e560850e1452a9ce31c71848a", "date": 1760648845.0, "description": "looping playback *should* be functional", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "43ab3ba8a0330758cc2db3495501691aecbf423a": {"id": "43ab3ba8a0330758cc2db3495501691aecbf423a", "date": 1760645391.0, "description": "work on looped playback", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "92ae3142ecb2fbdf86f65d8d4197e0c75e802dbe": {"id": "92ae3142ecb2fbdf86f65d8d4197e0c75e802dbe", "date": 1760590710.0, "description": "starting compose editor layout", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["A", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "eed54a985a3d09abf35b97071c05deaad631b2d5": {"id": "eed54a985a3d09abf35b97071c05deaad631b2d5", "date": 1760578067.0, "description": "merge", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "584c150817a5e6d97c71d242ab000788646dfbc5": {"id": "584c150817a5e6d97c71d242ab000788646dfbc5", "date": 1760552150.0, "description": "fixed changes in tempo during events skewing the end-frames of those events", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "c0073be30f6f841763cfb0d8aa8e83be1a8125ab": {"id": "c0073be30f6f841763cfb0d8aa8e83be1a8125ab", "date": 1760496496.0, "description": "get_midi considers temporary tempo events. resolves #128", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "64087d139749d2d512b00bedf08d8ee819ff416f": {"id": "64087d139749d2d512b00bedf08d8ee819ff416f", "date": 1760415842.0, "description": "work on About Activity in Compose", "files": [["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"]], "author": "smith.quintin@protonmail.com"}, "5f105fc205333867d9365768fc130b7862bbce1b": {"id": "5f105fc205333867d9365768fc130b7862bbce1b", "date": 1760304564.0, "description": "Work on About section in Compose", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/SoundFontWarning.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["D", "app/src/main/java/com/qfs/pagan/ComponentActivity/ActivityComposerSettings.kt"], ["A", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivitySettings.kt"], ["D", "app/src/main/java/com/qfs/pagan/ComponentActivity/ActivityComposeLanding.kt"], ["A", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityLanding.kt"], ["A", "app/src/main/java/com/qfs/pagan/ComponentActivity/ComponentActivityAbout.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "0d63ca5a501bf75f91aeeae84d794a996c68339d": {"id": "0d63ca5a501bf75f91aeeae84d794a996c68339d", "date": 1760201643.0, "description": "version bump", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "017796e8245edafe6723acdb4b7fa425286f71d1": {"id": "017796e8245edafe6723acdb4b7fa425286f71d1", "date": 1760201415.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/134.txt"]], "author": "smith.quintin@protonmail.com"}, "f1f87d25ca9d8c6fe5bc79723ea6a4b906aac302": {"id": "f1f87d25ca9d8c6fe5bc79723ea6a4b906aac302", "date": 1760161113.0, "description": "Work on Compose refactor", "files": [["M", "app/src/main/res/values/strings.xml"], ["A", "app/src/main/java/com/qfs/pagan/composable/SoundFontWarning.kt"], ["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ActivityComposerSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ActivityComposeLanding.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "57f53d2348db7d977fca9040380d3a0a2604496e": {"id": "57f53d2348db7d977fca9040380d3a0a2604496e", "date": 1760075998.0, "description": "get_current_*_controller_events consider durations larger than 1. resolves #126", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "9b44802c49329b5e985ff0540b69a2300d74776a": {"id": "9b44802c49329b5e985ff0540b69a2300d74776a", "date": 1760073324.0, "description": "allow radix=1 in tuning table. resolves #127", "files": [["M", "app/src/main/res/values/integers.xml"]], "author": "smith.quintin@protonmail.com"}, "753c1dfc6cfe65f6c712feb453735d020dd253ee": {"id": "753c1dfc6cfe65f6c712feb453735d020dd253ee", "date": 1760032441.0, "description": "removed redundancy from previous commit", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "107ff4efeefb47349c5ab2cc8655b6bd9fb39b0f": {"id": "107ff4efeefb47349c5ab2cc8655b6bd9fb39b0f", "date": 1760032252.0, "description": "fixed move_line cursor reselection. resolves #124", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "070091c4f4f9f783b72fee6aa28a7b5be6b30f89": {"id": "070091c4f4f9f783b72fee6aa28a7b5be6b30f89", "date": 1759989720.0, "description": "work on Compose conversion. made configuration property observable.", "files": [["M", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["D", "app/src/main/java/com/qfs/pagan/ViewModelSettings.kt"], ["A", "app/src/main/java/com/qfs/pagan/ViewModelPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ComponentActivity/ActivityComposerSettings.kt"]], "author": "smith.quintin@protonmail.com"}, "3af3a9f9bf9311522fb6ebe6175a27099da3bc49": {"id": "3af3a9f9bf9311522fb6ebe6175a27099da3bc49", "date": 1759958679.0, "description": "composable organization", "files": [["A", "app/src/main/java/com/qfs/pagan/composable/ScaffoldWithTopBar.kt"], ["A", "app/src/main/java/com/qfs/pagan/composable/PaganTheme.kt"], ["A", "app/src/main/java/com/qfs/pagan/ComponentActivity/PaganComponentActivity.kt"], ["A", "app/src/main/java/com/qfs/pagan/ComponentActivity/ActivityComposerSettings.kt"], ["D", "app/src/main/java/com/qfs/pagan/Activity/ActivityComposeLanding.kt"], ["A", "app/src/main/java/com/qfs/pagan/ComponentActivity/ActivityComposeLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["D", "app/src/main/java/com/qfs/pagan/Activity/ActivityComposerSettings.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "717ab1966a07420b2a90004dea0778e55839c2b3": {"id": "717ab1966a07420b2a90004dea0778e55839c2b3", "date": 1759952823.0, "description": "created landing component Activiity", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityComposerSettings.kt"], ["A", "app/src/main/java/com/qfs/pagan/Activity/ActivityComposeLanding.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "48139d075906795b87881383a7b55616254228f5": {"id": "48139d075906795b87881383a7b55616254228f5", "date": 1759942427.0, "description": "limit key/velocity range max in Soundfont2 instruments to 127", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont2/Instrument.kt"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.h"]], "author": "smith.quintin@protonmail.com"}, "22fca1a37924beba85f595158345815bf75a0ba9": {"id": "22fca1a37924beba85f595158345815bf75a0ba9", "date": 1759898707.0, "description": "rounded thumb on playback sample rate slider", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityComposerSettings.kt"]], "author": "smith.quintin@protonmail.com"}, "5b3702023125296517c7df98c6ba5f69593000b9": {"id": "5b3702023125296517c7df98c6ba5f69593000b9", "date": 1759895257.0, "description": "work on compose settings activity POC", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/integers.xml"], ["A", "app/src/main/java/com/qfs/pagan/ViewModelSettings.kt"], ["A", "app/src/main/java/com/qfs/pagan/PaganViewModel.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["A", "app/src/main/java/com/qfs/pagan/Context.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityComposerSettings.kt"]], "author": "smith.quintin@protonmail.com"}, "49aedc1c395cecbdfbdae24c2e43382c6fb1ca0b": {"id": "49aedc1c395cecbdfbdae24c2e43382c6fb1ca0b", "date": 1759817042.0, "description": "automatic tracking of weighted/flat size in Reducible tree", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusTreeJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettingsComposer.kt"]], "author": "smith.quintin@protonmail.com"}, "e0f0c95baa4d4fde27a3e481256bd62bfbf192b9": {"id": "e0f0c95baa4d4fde27a3e481256bd62bfbf192b9", "date": 1759789144.0, "description": "made ReducibleTree Observable", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "580d2da3e30aca0e20bdd16412c954fd99267a4f": {"id": "580d2da3e30aca0e20bdd16412c954fd99267a4f", "date": 1759788633.0, "description": "more compose play", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityComposerSettings.kt"]], "author": "smith.quintin@protonmail.com"}, "83b629c59242c4692e8770a3193aa45c5f5f5329": {"id": "83b629c59242c4692e8770a3193aa45c5f5f5329", "date": 1759729418.0, "description": "Compose Play", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityComposerSettings.kt"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.h"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "2510b8445201ec6478907786e5cde3a9f9cd2505": {"id": "2510b8445201ec6478907786e5cde3a9f9cd2505", "date": 1759704456.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/133.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "5d853648a7119711d73c9b92908c146e5e820cd3": {"id": "5d853648a7119711d73c9b92908c146e5e820cd3", "date": 1759686939.0, "description": "LowPassFilter, limit cutoff to sample rate / 2", "files": [["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/cpp/soundfontplayer/LowPassBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "281fe5868a822372244d2185ce33ae2871284428": {"id": "281fe5868a822372244d2185ce33ae2871284428", "date": 1759639934.0, "description": "midi out applies delays", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "a2f72770187ef7d1eb038bf6e2de218823a0b656": {"id": "a2f72770187ef7d1eb038bf6e2de218823a0b656", "date": 1759627826.0, "description": "removed unnecessary 'data' class usage", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "4d95a045e8264de2197351fe8a58a4ecebdb40a8": {"id": "4d95a045e8264de2197351fe8a58a4ecebdb40a8", "date": 1759611646.0, "description": "Separated Pagan EffectType from Apres Effect Type", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectType.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ProfileBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/EffectType.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ControllerEventData.kt"]], "author": "smith.quintin@protonmail.com"}, "139b94ef226b56cc5c7baee05a1a919fe8fb81a8": {"id": "139b94ef226b56cc5c7baee05a1a919fe8fb81a8", "date": 1759608277.0, "description": "moved temporary sample-level effect buffer management to WaveGenerator", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "0fbd0a2e31beca8ce6ba1684c6eaa4d75d3431b0": {"id": "0fbd0a2e31beca8ce6ba1684c6eaa4d75d3431b0", "date": 1759562435.0, "description": "low pass seems to be working", "files": [["M", "app/src/main/cpp/soundfontplayer/LowPassBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "cda23e1f95a332eb78914774cc874c763373bba0": {"id": "cda23e1f95a332eb78914774cc874c763373bba0", "date": 1759560522.0, "description": "work on improving lowpass filter (non functional). moved effect buffers to their own headers", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/LowPassEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGenerator.cpp"], ["A", "app/src/main/cpp/soundfontplayer/VolumeBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["A", "app/src/main/cpp/soundfontplayer/PanBuffer.h"], ["A", "app/src/main/cpp/soundfontplayer/LowPassBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"], ["A", "app/src/main/cpp/soundfontplayer/DelayBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "d8e7d3a4934a1e6e4c146293b87e22b31b2aab7e": {"id": "d8e7d3a4934a1e6e4c146293b87e22b31b2aab7e", "date": 1759440242.0, "description": "LowPassFilter is back to Amplitude-based. Added Temporary ProfileBuffers. for sample-specific effects", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/LowPassEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectType.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGenerator.cpp"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "12fa15a7b719c77dc44172c2b17ba3f9f089ebbf": {"id": "12fa15a7b719c77dc44172c2b17ba3f9f089ebbf", "date": 1759388176.0, "description": "LowPass FFT. Too slow to keep.", "files": [["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/LowPassEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/LowPassController.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "43e8dc707ccbb2291c942ebad6c950cfee8fdfb3": {"id": "43e8dc707ccbb2291c942ebad6c950cfee8fdfb3", "date": 1759360216.0, "description": "LowPass Filter c++", "files": [["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/BandPassEvent.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/BandPassController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectType.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGenerator.cpp"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "90118cd26c61ddfbe7a548a29c785772a00025ca": {"id": "90118cd26c61ddfbe7a548a29c785772a00025ca", "date": 1759355400.0, "description": "rough play with compose", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["A", "app/src/main/java/com/qfs/pagan/Activity/ActivityComposerSettings.kt"], ["M", "app/src/main/AndroidManifest.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "7986c95a5a4925f78dc0288f02d54585988bca95": {"id": "7986c95a5a4925f78dc0288f02d54585988bca95", "date": 1759354431.0, "description": "working on frequency domain effect buffer", "files": [["M", "app/src/main/cpp/soundfontplayer/WaveGenerator.cpp"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "0911d48a0bc7a7c708be9004744d542aceea7fbe": {"id": "0911d48a0bc7a7c708be9004744d542aceea7fbe", "date": 1759288614.0, "description": "removed unused code", "files": [["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"]], "author": "smith.quintin@protonmail.com"}, "7fa1bcc1ee101b2d627c493ce5eeac982e8f3be9": {"id": "7fa1bcc1ee101b2d627c493ce5eeac982e8f3be9", "date": 1759195884.0, "description": "from_json, check duration and transition so I don't forget it when I eventually implement them for delay", "files": [["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "b934e34bad1610eb7f8f70d28b5be040eff711c5": {"id": "b934e34bad1610eb7f8f70d28b5be040eff711c5", "date": 1759192935.0, "description": "from_json considers tempo transition", "files": [["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "2212ffe6eb35a6fab54d30a535ee069cc8200074": {"id": "2212ffe6eb35a6fab54d30a535ee069cc8200074", "date": 1759187753.0, "description": "fixed velocity controls causing crash on play", "files": [["A", "fastlane/metadata/android/en-US/changelogs/132.txt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.h"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "bcc404aeb89e3da437e5a9f1d79892fde47a28bc": {"id": "bcc404aeb89e3da437e5a9f1d79892fde47a28bc", "date": 1759166261.0, "description": "starting BandPass implementation", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/BandPassEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "aca3efaacecbfac41b98e7f7bc8da87e79ba9c86": {"id": "aca3efaacecbfac41b98e7f7bc8da87e79ba9c86", "date": 1759161669.0, "description": "save all transitions in EffectEvent Json", "files": [["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/BandPassEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/BandPassController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectType.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "77e7cd3925dbc0bd301ff8a114128ccecc34e4e7": {"id": "77e7cd3925dbc0bd301ff8a114128ccecc34e4e7", "date": 1759115197.0, "description": "comment for previous commit", "files": [["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "80c9556717145396ce4367055306ad86620fc3cc": {"id": "80c9556717145396ce4367055306ad86620fc3cc", "date": 1759115111.0, "description": "check for nullptr before destroying DelayBuffer", "files": [["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "d4f673a4776d62491ecc8c79e528168ef8e4a28f": {"id": "d4f673a4776d62491ecc8c79e528168ef8e4a28f", "date": 1759113841.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/131.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "245c3d5be614e6b3ab224e096ee4c41c7abca500": {"id": "245c3d5be614e6b3ab224e096ee4c41c7abca500", "date": 1759113496.0, "description": "found and fixed memory leak", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGenerator.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBufferFrame.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.h"]], "author": "smith.quintin@protonmail.com"}, "68732508b2d3568ae0ac8495ba0b53e58c86dc3b": {"id": "68732508b2d3568ae0ac8495ba0b53e58c86dc3b", "date": 1759000003.0, "description": "removed wayward comma", "files": [["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.cpp"]], "author": "smith.quintin@protonmail.com"}, "2b2f7862df443a18c146162af6ec94d1296b4953": {"id": "2b2f7862df443a18c146162af6ec94d1296b4953", "date": 1758988742.0, "description": "C++ Cleanup", "files": [["M", "app/src/main/cpp/soundfontplayer/VolumeEnvelope.h"], ["M", "app/src/main/cpp/soundfontplayer/VolumeEnvelope.cpp"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBufferFrame.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/src/main/cpp/soundfontplayer/PitchedBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/PitchedBuffer.cpp"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.h"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.cpp"], ["M", "app/src/main/cpp/CMakeLists.txt"]], "author": "smith.quintin@protonmail.com"}, "5cf369def59940bf5ea9f77435799a2e3e97b94e": {"id": "5cf369def59940bf5ea9f77435799a2e3e97b94e", "date": 1758917852.0, "description": "playing with composer", "files": [["M", "gradle/wrapper/gradle-wrapper.properties"], ["M", "build.gradle"], ["A", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettingsComposer.kt"], ["M", "app/src/main/AndroidManifest.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "50866efba3f3171f733c334fb8291d3a7b2b8848": {"id": "50866efba3f3171f733c334fb8291d3a7b2b8848", "date": 1758903020.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/130.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "ff40d35ec5d8a7de9b8a200279e134cac89a292b": {"id": "ff40d35ec5d8a7de9b8a200279e134cac89a292b", "date": 1758902501.0, "description": "fixed: was setting all line profiles to -1 key so they wouldn't get merged", "files": [["M", "app/src/test/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "8ee6887fa9e48cbded28f52f9d1031a9faede2de": {"id": "8ee6887fa9e48cbded28f52f9d1031a9faede2de", "date": 1758869221.0, "description": "restructure PlayBackFrameMap for ease of testing", "files": [["A", "app/src/test/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "51554fef42c6264f2c571631b75f616bdd485424": {"id": "51554fef42c6264f2c571631b75f616bdd485424", "date": 1758821399.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/129.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "9cce3af30f0449c5177c4a4f4398c28b3db44e5d": {"id": "9cce3af30f0449c5177c4a4f4398c28b3db44e5d", "date": 1758821192.0, "description": "fixed multiple tempo changes breaking completely", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "928aa50b377b464c4e400d5cfa54bceb2d0b173b": {"id": "928aa50b377b464c4e400d5cfa54bceb2d0b173b", "date": 1758769824.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/128.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "441ce4ab131ab8b2a72d6b2c7a57b7358b9aa5fb": {"id": "441ce4ab131ab8b2a72d6b2c7a57b7358b9aa5fb", "date": 1758769559.0, "description": "show duration button for tempo event (because rInstant is available)", "files": [["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "92bf1cadfd41a75a3263a59a0d1c61a9b50a4939": {"id": "92bf1cadfd41a75a3263a59a0d1c61a9b50a4939", "date": 1758767199.0, "description": "application Id", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "26ad19652e16a7059f50de7e194c5afb48016e4c": {"id": "26ad19652e16a7059f50de7e194c5afb48016e4c", "date": 1758767175.0, "description": "restore effect controller initial events on undo remove. resolves #123", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"]], "author": "smith.quintin@protonmail.com"}, "b10006673a192816e8c6d326d6be0d82b638b90f": {"id": "b10006673a192816e8c6d326d6be0d82b638b90f", "date": 1758766648.0, "description": "fixed broken effect controller precision", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/Activity/SettingsComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/AndroidManifest.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "1d23b32c9f2520605479460faebb144801df6d0c": {"id": "1d23b32c9f2520605479460faebb144801df6d0c", "date": 1758688801.0, "description": "grade upgrade. playing around with Composer", "files": [["M", "gradle/wrapper/gradle-wrapper.properties"], ["M", "build.gradle"], ["A", "app/src/main/java/com/qfs/pagan/Activity/SettingsComponentActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/AndroidManifest.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "a82f8f3577f7b1a95ccf4207c4422b2acda6907f": {"id": "a82f8f3577f7b1a95ccf4207c4422b2acda6907f", "date": 1758647876.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"]], "author": "smith.quintin@protonmail.com"}, "aec412f81614bf265ce135d109a3a7eb21816694": {"id": "aec412f81614bf265ce135d109a3a7eb21816694", "date": 1758593776.0, "description": "part of previous commit", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "34fd5fa325ebe25d8f4b8e0d716e3a772412e306": {"id": "34fd5fa325ebe25d8f4b8e0d716e3a772412e306", "date": 1758591718.0, "description": "lint, unittests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "ad5e517a59e9960ed915f5429963879b8f46384c": {"id": "ad5e517a59e9960ed915f5429963879b8f46384c", "date": 1758571663.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuColumn.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "afacaa5199d555ac6f60ad724f8527bd5a4bf0bb": {"id": "afacaa5199d555ac6f60ad724f8527bd5a4bf0bb", "date": 1758571401.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "de2fc0b571a1cf16bbc209841478243f16d240d5": {"id": "de2fc0b571a1cf16bbc209841478243f16d240d5", "date": 1758570915.0, "description": "Show duration button on tempo ctl", "files": [["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "5247b1f4529c4113b3a0e3ff0359d2d6e67aaab6": {"id": "5247b1f4529c4113b3a0e3ff0359d2d6e67aaab6", "date": 1758570508.0, "description": "don't cache beat frames if tempo_ratio_map is uninitialized. resolves #122", "files": [["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"]], "author": "smith.quintin@protonmail.com"}, "8cd66df0eae2aa3bd7a9663b94724714f4aa1c8a": {"id": "8cd66df0eae2aa3bd7a9663b94724714f4aa1c8a", "date": 1758468144.0, "description": "full description update", "files": [["M", "fastlane/metadata/android/en-US/full_description.txt"]], "author": "smith.quintin@protonmail.com"}, "d2f74ca94f71bafa4d405141141a8d9b32574b8e": {"id": "d2f74ca94f71bafa4d405141141a8d9b32574b8e", "date": 1758424758.0, "description": "update full_description", "files": [["M", "fastlane/metadata/android/en-US/full_description.txt"]], "author": "smith.quintin@protonmail.com"}, "c1c972d2b18a60eb844a187f2471f6f890f6bfb8": {"id": "c1c972d2b18a60eb844a187f2471f6f890f6bfb8", "date": 1758422669.0, "description": "applicationId", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "3525e188f379f838964dc79094f1b782f25a6651": {"id": "3525e188f379f838964dc79094f1b782f25a6651", "date": 1758415799.0, "description": "Switched to using Rational when calculating frame positions", "files": [["M", "fastlane/metadata/android/en-US/changelogs/127.txt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/ControllerProfile.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/Rational.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "1b34332af0531cffbec9fb5cc8ed42750636c5b3": {"id": "1b34332af0531cffbec9fb5cc8ed42750636c5b3", "date": 1758340313.0, "description": "keep existing echos when delay event occurs, but adjust them", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGenerator.cpp"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "2bc304e5a1a7a9eb491aeaf78ada7f785f69f155": {"id": "2bc304e5a1a7a9eb491aeaf78ada7f785f69f155", "date": 1758317065.0, "description": "added unset/set all channel/line effect visibility functions", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "0675f3e28b31ca119c22d725e79e36b8f34fac41": {"id": "0675f3e28b31ca119c22d725e79e36b8f34fac41", "date": 1758314372.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/127.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "b8211f0417a7e26e73903bc763738100499bf303": {"id": "b8211f0417a7e26e73903bc763738100499bf303", "date": 1758313599.0, "description": "merge_arrays, allow key indices > key_size for global effects", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGenerator.cpp"]], "author": "smith.quintin@protonmail.com"}, "d4590a1fd220cdb46c5f157b898ebd4034298503": {"id": "d4590a1fd220cdb46c5f157b898ebd4034298503", "date": 1758304944.0, "description": "updated unit tests", "files": [["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "68cead7f6ea9a172d5da6af17a30e02c5590f59e": {"id": "68cead7f6ea9a172d5da6af17a30e02c5590f59e", "date": 1758303171.0, "description": "removed useage of slow DocumentFile functions", "files": [["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "aa07654e22abadb1752559f094a2f87b8374c4a5": {"id": "aa07654e22abadb1752559f094a2f87b8374c4a5", "date": 1758240056.0, "description": "realigned landing landscape layout", "files": [["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/java/com/qfs/pagan/Activity/PaganActivity.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "ea2658ead0853043376874eb7fd6a1736d96fcba": {"id": "ea2658ead0853043376874eb7fd6a1736d96fcba", "date": 1758226616.0, "description": "bugfix: remove_channel() wasn't remembering channel effect ctls", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"]], "author": "smith.quintin@protonmail.com"}, "ebb1686ccfab7dcf944e0a4d56c2e0f30afc3f89": {"id": "ebb1686ccfab7dcf944e0a4d56c2e0f30afc3f89", "date": 1758223524.0, "description": "cleaned up (somewhat) line drawing in tableui", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "10c20038a9be8279352c482fcfab40aa9723f592": {"id": "10c20038a9be8279352c482fcfab40aa9723f592", "date": 1758217093.0, "description": "action bar size tweak", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values-small-land/dimens.xml"], ["M", "app/src/main/res/values-normal-land/dimens.xml"]], "author": "smith.quintin@protonmail.com"}, "6807f2536ad55de0752a2858b6732db2f7a76fa1": {"id": "6807f2536ad55de0752a2858b6732db2f7a76fa1", "date": 1758176656.0, "description": "delay effect stable", "files": [["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGenerator.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "0a1032de02023ad8228f5646def8be8127dcb8ef": {"id": "0a1032de02023ad8228f5646def8be8127dcb8ef", "date": 1758120726.0, "description": "work on delay", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"]], "author": "smith.quintin@protonmail.com"}, "3433f90b9e6bad2a01bb55e5f58f903d377ffb54": {"id": "3433f90b9e6bad2a01bb55e5f58f903d377ffb54", "date": 1758077689.0, "description": "improved check to include empty lines for effect buffers with no handle but data that needs applying (delay)", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"]], "author": "smith.quintin@protonmail.com"}, "ad89ea5227a53fb915c30a87ea484bff93d32067": {"id": "ad89ea5227a53fb915c30a87ea484bff93d32067", "date": 1758045467.0, "description": "fixed pan clobbering delay", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectType.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ProfileBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ControllerEventData.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"]], "author": "smith.quintin@protonmail.com"}, "bc111d0ed57a207ce62ac10f2dfc1583f28e0d80": {"id": "bc111d0ed57a207ce62ac10f2dfc1583f28e0d80", "date": 1758043678.0, "description": "speed up first save", "files": [["M", "app/src/main/res/layout/control_widget_delay.xml"], ["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "237c454934efa5a2a15791c62fe0d4d331b26bff": {"id": "237c454934efa5a2a15791c62fe0d4d331b26bff", "date": 1758040135.0, "description": "tempo transition no longer being clobbered", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "c3865b47192375e0048a2839ef419cd24353e901": {"id": "c3865b47192375e0048a2839ef419cd24353e901", "date": 1758039180.0, "description": "work on speeding up documentfile usages", "files": [["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"]], "author": "smith.quintin@protonmail.com"}, "b73ed7845a8b5ea39e894cbfc12e3114b4a236db": {"id": "b73ed7845a8b5ea39e894cbfc12e3114b4a236db", "date": 1757997801.0, "description": "fixed RangedNumberInput logic", "files": [["M", "app/src/main/res/layout/control_widget_delay.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/DelayController.kt"], ["M", "app/src/main/java/com/qfs/pagan/numberinput/RangedIntegerInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/numberinput/RangedFloatInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedTextWatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "af70fbd8dd784cacb68da360628023893e2d6e12": {"id": "af70fbd8dd784cacb68da360628023893e2d6e12", "date": 1757993748.0, "description": "update_line_label() adjusted to changes to TableUI", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "0868c9914b9d6b3b18c13929229cedc0715e1838": {"id": "0868c9914b9d6b3b18c13929229cedc0715e1838", "date": 1757991287.0, "description": "fixed range selection on channel or global effect ctl scrolling to top", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "5d53744d696569fd6ba98b13fa7c2551e1d142c2": {"id": "5d53744d696569fd6ba98b13fa7c2551e1d142c2", "date": 1757985330.0, "description": "tweaks to delay", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetDelay.kt"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "d909c57a6b7409e499d7d2ffe77436c00bed814d": {"id": "d909c57a6b7409e499d7d2ffe77436c00bed814d", "date": 1757960700.0, "description": "some lint", "files": [["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "f38e215b9bf3d8011e964e3bccbce4ffaba622cd": {"id": "f38e215b9bf3d8011e964e3bccbce4ffaba622cd", "date": 1757954009.0, "description": "longclick to use dialog to set delay attenuation", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/control_widget_delay.xml"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetDelay.kt"]], "author": "smith.quintin@protonmail.com"}, "2455532d6c90059e8de23d4cd9b1bb49151915df": {"id": "2455532d6c90059e8de23d4cd9b1bb49151915df", "date": 1757910581.0, "description": "RInstant Transition for Tempo", "files": [["M", "app/src/main/res/layout/control_widget_tempo.xml"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "8feb46bcf365d823dea6c59ba94814a8c6d016b4": {"id": "8feb46bcf365d823dea6c59ba94814a8c6d016b4", "date": 1757899534.0, "description": "create implicit delay effect events on tempo change", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "2d5145eac7d271d1062384a92e41213baed896a4": {"id": "2d5145eac7d271d1062384a92e41213baed896a4", "date": 1757872264.0, "description": "update global_ctl button visiblility in finalize_update", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "9ad7119f56e11203c0c9f4aec52229b86ced27eb": {"id": "9ad7119f56e11203c0c9f4aec52229b86ced27eb", "date": 1757870263.0, "description": "fixed keyboard not hiding when closing contextmenu", "files": [["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuView.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "64be40b26c21285051cf9e2aea05d8031960d286": {"id": "64be40b26c21285051cf9e2aea05d8031960d286", "date": 1757864258.0, "description": "undid scroll kludge", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "63772b0b2fb023008d3ee4353a572f90eb37441e": {"id": "63772b0b2fb023008d3ee4353a572f90eb37441e", "date": 1757815826.0, "description": "draw top lines when dragging channel", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "89adf5b838d1c069bfaa1bc5892e842c091ff976": {"id": "89adf5b838d1c069bfaa1bc5892e842c091ff976", "date": 1757798036.0, "description": "created get_current_effects() to help with adding delay effect to get_midi()", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "2102d7214c87003d1c02c8f751539d00c8a8053e": {"id": "2102d7214c87003d1c02c8f751539d00c8a8053e", "date": 1757794027.0, "description": "fixed accidentally draining ALL effect_buffers instead of the ones that didn't get applied", "files": [["M", "app/src/main/cpp/soundfontplayer/WaveGenerator.cpp"]], "author": "smith.quintin@protonmail.com"}, "2924a0870c8c9e016df66048a2ba6bcac3ff5037": {"id": "2924a0870c8c9e016df66048a2ba6bcac3ff5037", "date": 1757738382.0, "description": "removed debug code", "files": [["M", "app/src/main/cpp/soundfontplayer/WaveGenerator.cpp"]], "author": "smith.quintin@protonmail.com"}, "4844360163b0f43ae3263a49aad888932f1235f5": {"id": "4844360163b0f43ae3263a49aad888932f1235f5", "date": 1757738284.0, "description": "typo fix", "files": [["M", "app/src/main/cpp/soundfontplayer/WaveGenerator.cpp"]], "author": "smith.quintin@protonmail.com"}, "95e632dcd499e185652621a70051d444b6881b9b": {"id": "95e632dcd499e185652621a70051d444b6881b9b", "date": 1757726023.0, "description": "rewrote marge_array()", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGenerator.cpp"]], "author": "smith.quintin@protonmail.com"}, "0d0f156c568269116878dec1f0bc435089824182": {"id": "0d0f156c568269116878dec1f0bc435089824182", "date": 1757720415.0, "description": "work on merging", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGenerator.cpp"]], "author": "smith.quintin@protonmail.com"}, "df2e8b88b4141c15b7e65b39d7520314178c14df": {"id": "df2e8b88b4141c15b7e65b39d7520314178c14df", "date": 1757711009.0, "description": "work on fixing merging", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ProfileBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGenerator.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"]], "author": "smith.quintin@protonmail.com"}, "87b2048b3f0333c7e6ec496ad89e3c6dd5253e3d": {"id": "87b2048b3f0333c7e6ec496ad89e3c6dd5253e3d", "date": 1757658437.0, "description": "destroy profilebuffers after play loop", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "2dfdb1bd4ccd2db7c2674472aeb46f44ab51a3fd": {"id": "2dfdb1bd4ccd2db7c2674472aeb46f44ab51a3fd", "date": 1757627595.0, "description": "fixed merge_array() only merging the first 2 layers", "files": [["M", "app/src/main/cpp/soundfontplayer/WaveGenerator.cpp"]], "author": "smith.quintin@protonmail.com"}, "f43d663fd4bf69f9b98875d4da9621e21d6bf532": {"id": "f43d663fd4bf69f9b98875d4da9621e21d6bf532", "date": 1757620916.0, "description": "part of previous commit", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "f9f7ea8d5c7a4c173cda669ed16acdf889352b83": {"id": "f9f7ea8d5c7a4c173cda669ed16acdf889352b83", "date": 1757620800.0, "description": "swap_lines, also swap percussion instruments", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "da69a4eb55547d759498742cd9c3f73e7cc3d151": {"id": "da69a4eb55547d759498742cd9c3f73e7cc3d151", "date": 1757551779.0, "description": "adjust ctl line icon widths", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "29c7ef7caba7701f8eea89e9b3f2e4d538408a38": {"id": "29c7ef7caba7701f8eea89e9b3f2e4d538408a38", "date": 1757548042.0, "description": "cleanup new tempo widget layout", "files": [["M", "app/src/main/res/layout/control_widget_tempo.xml"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidget.kt"]], "author": "smith.quintin@protonmail.com"}, "c430688ac7f6ae5c237159344853756ceb706be0": {"id": "c430688ac7f6ae5c237159344853756ceb706be0", "date": 1757541306.0, "description": "fixed tempo input precision issue", "files": [["M", "app/src/main/res/layout/dialog_tuning_map.xml"], ["M", "app/src/main/res/layout/dialog_split.xml"], ["M", "app/src/main/res/layout/dialog_float.xml"], ["M", "app/src/main/res/layout/control_widget_tempo.xml"], ["M", "app/src/main/res/layout/control_widget_delay.xml"], ["M", "app/src/main/res/layout/color_picker.xml"], ["M", "app/src/main/res/layout-land/color_picker.xml"], ["M", "app/src/main/java/com/qfs/pagan/numberinput/RangedFloatInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetTempo.kt"]], "author": "smith.quintin@protonmail.com"}, "3013556f3a4dda1d3980d3f298c4576ecf389d9e": {"id": "3013556f3a4dda1d3980d3f298c4576ecf389d9e", "date": 1757539579.0, "description": "moved RangedNumberInputs", "files": [["D", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"], ["A", "app/src/main/java/com/qfs/pagan/numberinput/RangedNumberInput.kt"], ["A", "app/src/main/java/com/qfs/pagan/numberinput/RangedIntegerInput.kt"], ["A", "app/src/main/java/com/qfs/pagan/numberinput/RangedFloatInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/TuningMapRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedTextWatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "500b638133c6f8d5776ad9b796c5a22fae40df46": {"id": "500b638133c6f8d5776ad9b796c5a22fae40df46", "date": 1757539407.0, "description": "fixed RangedNumberInput max/min issue", "files": [["M", "app/src/main/res/values/integers.xml"], ["M", "app/src/main/res/values/attrs.xml"], ["M", "app/src/main/res/layout/dialog_float.xml"], ["M", "app/src/main/res/layout/control_widget_tempo.xml"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "9b764d9d829217585c748b4cfaec834d169cb870": {"id": "9b764d9d829217585c748b4cfaec834d169cb870", "date": 1757534800.0, "description": "change tempo popup button to ranged input", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/control_widget_tempo.xml"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "144144fbb7be41db43245274c627861dedc1f89f": {"id": "144144fbb7be41db43245274c627861dedc1f89f", "date": 1757524537.0, "description": "fixed shortcut/add channel button colors. allow removal of tempo line", "files": [["M", "app/src/main/res/values/dimens.xml"], ["A", "app/src/main/res/drawable/icon_shortcut.xml"], ["M", "app/src/main/res/drawable/editor_table_background.xml"], ["M", "app/src/main/res/drawable/corner_button.xml"], ["M", "app/src/main/res/color/column_label_std_selector.xml"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "6bb4a9893456619e505aa5d78a9f1464ae4449dd": {"id": "6bb4a9893456619e505aa5d78a9f1464ae4449dd", "date": 1757485043.0, "description": "fixed layout issue introduced in previous commit", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "318382c2b8246d9fc5f7b61426fa97eb22f66a73": {"id": "318382c2b8246d9fc5f7b61426fa97eb22f66a73", "date": 1757483274.0, "description": "ignore tapping beats on table after end of table", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "7e53932c0264ec1338905c9c544947e0a4b284bc": {"id": "7e53932c0264ec1338905c9c544947e0a4b284bc", "date": 1757479038.0, "description": "added 'insert beat' button after table. fixed underscrolling on new beats", "files": [["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["A", "app/src/main/res/drawable/global_ctl_icon.xml"], ["M", "app/src/main/res/drawable/editor_table_background.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "127bcf86b2defb5aea9cd3b394a95b56a901e1ea": {"id": "127bcf86b2defb5aea9cd3b394a95b56a901e1ea", "date": 1757439756.0, "description": "editor table background", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["A", "app/src/main/res/drawable/editor_table_background.xml"]], "author": "smith.quintin@protonmail.com"}, "c2b94de3ea978c254bb999aa94120aed716d7809": {"id": "c2b94de3ea978c254bb999aa94120aed716d7809", "date": 1757436853.0, "description": "show/hide global control toggle if there are any available", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/Exception.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "b80116be1d1a4a093583257596c3306a59d838fa": {"id": "b80116be1d1a4a093583257596c3306a59d838fa", "date": 1757400198.0, "description": "increase global ctl button height", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "2606b04dc03b2534ac2df4ec9d3254d6288901ad": {"id": "2606b04dc03b2534ac2df4ec9d3254d6288901ad", "date": 1757399863.0, "description": "removed unused line_label_std.xml", "files": [["D", "app/src/main/res/layout/line_label_std.xml"]], "author": "smith.quintin@protonmail.com"}, "ae0fed44960b5f75fa70876a870aad1d6da6eb01": {"id": "ae0fed44960b5f75fa70876a870aad1d6da6eb01", "date": 1757348572.0, "description": "fixed equals() checks. resolves #121", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLinePercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "3dff49137b0f26753e16e6ea51d7dcd5d3229e18": {"id": "3dff49137b0f26753e16e6ea51d7dcd5d3229e18", "date": 1757343562.0, "description": "showing global controller toggle", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelView.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelStd.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtlLine.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtlGlobal.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtlChannel.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "635aeb1c4402e1059ef5f8bfc409620de3bba8e7": {"id": "635aeb1c4402e1059ef5f8bfc409620de3bba8e7", "date": 1757300626.0, "description": "LongClick to start line/channel drag", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "9b0d3891a209424ed7bf66fc736a496be9de414c": {"id": "9b0d3891a209424ed7bf66fc736a496be9de414c", "date": 1757290400.0, "description": "line/channel dragging visually improved", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "8348f38b7fb1145572e387d71a0b4f1d41eff758": {"id": "8348f38b7fb1145572e387d71a0b4f1d41eff758", "date": 1757232162.0, "description": "attempt to clean up the monster that is the Tableui::draw", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "2532c4e3fb592667120d4b0fcb4611ea3c380ec3": {"id": "2532c4e3fb592667120d4b0fcb4611ea3c380ec3", "date": 1757112692.0, "description": "minor cleanup of TableUi Drawing", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "1568e54709ca128f0c2b6419d2a50a8906b3729d": {"id": "1568e54709ca128f0c2b6419d2a50a8906b3729d", "date": 1757047176.0, "description": "draw line/channel being dragged as it's being dragged (rough)", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "51539edbebd0a391fe6bce5bdc93c68db6f32ecb": {"id": "51539edbebd0a391fe6bce5bdc93c68db6f32ecb", "date": 1757022328.0, "description": "debugging", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "cf6ecaca348a9a01659648b33c79dd5891adf2e7": {"id": "cf6ecaca348a9a01659648b33c79dd5891adf2e7", "date": 1757015415.0, "description": "getting dragging logic reliably functional", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "352035ce10fbc25930aa21e3a52c4e139fbb6a41": {"id": "352035ce10fbc25930aa21e3a52c4e139fbb6a41", "date": 1756962523.0, "description": "working on line dragging", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "33e76fb3075c4e4dd6cb3a805daec156ff317ee5": {"id": "33e76fb3075c4e4dd6cb3a805daec156ff317ee5", "date": 1756917779.0, "description": "line dragging: top/bottom detection", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "165ed889eec3b15c5bc401ab2b52dc348c6d9795": {"id": "165ed889eec3b15c5bc401ab2b52dc348c6d9795", "date": 1756879109.0, "description": "removed previous line label column. partial implementation of dragging", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "46bd5293739d6f5fc03869e8d57e067829c350cc": {"id": "46bd5293739d6f5fc03869e8d57e067829c350cc", "date": 1756846027.0, "description": "tablueUI now drawing line label column and shortcut button. needs touch/click/longclick functionality still", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values/attrs.xml"], ["M", "app/src/main/res/drawable/corner_button.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelStd.kt"]], "author": "smith.quintin@protonmail.com"}, "6aadfc2eba464c7c7d8ec2482aa7db7fc864376a": {"id": "6aadfc2eba464c7c7d8ec2482aa7db7fc864376a", "date": 1756830213.0, "description": "Moving line label column into TableUI", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values/attrs.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "6fbfe584665e1e12c544f9cdc4d4b7b6125c0815": {"id": "6fbfe584665e1e12c544f9cdc4d4b7b6125c0815", "date": 1756797062.0, "description": "changing delay clears existing one", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/drawable/icon_hz.xml"], ["M", "app/src/main/res/drawable/icon_echo.xml"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtl.kt"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "84e81aede6d09820956ddff9c7f2c3ac81401bd9": {"id": "84e81aede6d09820956ddff9c7f2c3ac81401bd9", "date": 1756777950.0, "description": "doubled max tempo", "files": [["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetTempo.kt"]], "author": "smith.quintin@protonmail.com"}, "f68c85bd85d60c223a79497d1f70e3163bc88e97": {"id": "f68c85bd85d60c223a79497d1f70e3163bc88e97", "date": 1756777508.0, "description": "reset the selection on RangedNumberInputs after callback", "files": [["M", "app/src/main/res/layout/control_widget_delay.xml"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"]], "author": "smith.quintin@protonmail.com"}, "14cde840bddd2fe4fd6999d97755906d4d6b29f2": {"id": "14cde840bddd2fe4fd6999d97755906d4d6b29f2", "date": 1756773008.0, "description": "track echos in delay effect controllers so they can be checked when passing empty chunks", "files": [["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "da0bc92170d8193915aa47bf5f71867a008f502d": {"id": "da0bc92170d8193915aa47bf5f71867a008f502d", "date": 1756757530.0, "description": "passing empty frames when effect controllers will still modify the audio (for delay)", "files": [["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ProfileBuffer.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGenerator.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "2defdfea04dba1d60e529916da50010c0029d9b6": {"id": "2defdfea04dba1d60e529916da50010c0029d9b6", "date": 1756698423.0, "description": "using matches_cursor() to check refreshes in control line context menus", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "4e6634765bd9896d7a2ebe7d3c74983ccab48b1b": {"id": "4e6634765bd9896d7a2ebe7d3c74983ccab48b1b", "date": 1756696479.0, "description": "added matches_cursor() to ContextMenu to help avoid redundant refreshes", "files": [["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuView.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLine.kt"], ["A", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLeafRange.kt"], ["D", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLeafB.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuColumn.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "82a89946223bc6574935f1ce16e88140420823de": {"id": "82a89946223bc6574935f1ce16e88140420823de", "date": 1756677533.0, "description": "fixed DeayEvent::to_float_array()", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/DelayEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"]], "author": "smith.quintin@protonmail.com"}, "e7a02f07a71d5a570189ad1a72467e1810cc283f": {"id": "e7a02f07a71d5a570189ad1a72467e1810cc283f", "date": 1756620118.0, "description": "improved Delay Control Widget design", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/layout/control_widget_delay.xml"], ["A", "app/src/main/res/drawable/icon_hz.xml"], ["A", "app/src/main/res/drawable/icon_echo.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/DelayEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/DelayController.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedTextWatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "2352192fb50e57589b6448993f52f9b11dd5b29b": {"id": "2352192fb50e57589b6448993f52f9b11dd5b29b", "date": 1756523982.0, "description": "fixed landing page overflow on smaller large screens in landscape", "files": [["M", "app/src/main/res/layout/warning_no_soundfont.xml"], ["A", "app/src/main/res/layout-xlarge-land/fragment_landing.xml"], ["M", "app/src/main/res/layout-large-land/fragment_landing.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"]], "author": "smith.quintin@protonmail.com"}, "f27ba06128153f5fa5023e9ea721e7bd8de32165": {"id": "f27ba06128153f5fa5023e9ea721e7bd8de32165", "date": 1756519822.0, "description": "DelayBuffer destructor", "files": [["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "c87fe08eb5e8d5cdbedcffed8021dfe388ca8bb9": {"id": "c87fe08eb5e8d5cdbedcffed8021dfe388ca8bb9", "date": 1756496487.0, "description": "readjust active delay when delay changes", "files": [["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "0af01e0bb1f08e6aef6cb720bad1674dcf9f5b7b": {"id": "0af01e0bb1f08e6aef6cb720bad1674dcf9f5b7b", "date": 1756493061.0, "description": "fixed unitialized DelayedFrame->value_chain", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/DelayEvent.kt"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "3bc65d1a60f113ed7c00af476bd3173fce07c197": {"id": "3bc65d1a60f113ed7c00af476bd3173fce07c197", "date": 1756490438.0, "description": "work on delay", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/DelayEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "27ba117ef03e1b3893b5983a693bb05abef0298d": {"id": "27ba117ef03e1b3893b5983a693bb05abef0298d", "date": 1756440455.0, "description": "delay effect implementation (still very fragile)", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ControllerEventData.kt"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "11dc02a9eef71df145351c14a13f5788934699fc": {"id": "11dc02a9eef71df145351c14a13f5788934699fc", "date": 1756421310.0, "description": "work on delay buffer", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "011ed41000b1a7d725f386d6ed712fa06a53d104": {"id": "011ed41000b1a7d725f386d6ed712fa06a53d104", "date": 1756416335.0, "description": "EqualizerBuffer.apply()", "files": [["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/Complex.h"]], "author": "smith.quintin@protonmail.com"}, "04b7ee56f5a9b3ee123c7425f65f20ce8f518b49": {"id": "04b7ee56f5a9b3ee123c7425f65f20ce8f518b49", "date": 1756338605.0, "description": "refactored EffectProfileBuffers", "files": [["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "ac89bb6f4877c956059ac3d61e62c4d867a53560": {"id": "ac89bb6f4877c956059ac3d61e62c4d867a53560", "date": 1756330850.0, "description": "cleaning up native EffectProfileBuffers", "files": [["D", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.h"], ["D", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.cpp"], ["A", "app/src/main/cpp/soundfontplayer/WaveGenerator.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "976668d585817c5f31cbd7a9f57869a48383dfb5": {"id": "976668d585817c5f31cbd7a9f57869a48383dfb5", "date": 1756274574.0, "description": "moved incorrect loading_reticle_show() call in MostRecent button", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"]], "author": "smith.quintin@protonmail.com"}, "580b208c0cf3dfbaea326a04d17e4433ec026f35": {"id": "580b208c0cf3dfbaea326a04d17e4433ec026f35", "date": 1756233021.0, "description": "moved WaveGeneratorCache logic into relevant EffectBuffer classes", "files": [["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.h"], ["M", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.cpp"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["D", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"], ["A", "app/src/main/cpp/soundfontplayer/EffectProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "417a05b7da959582ddf6a9ab9d84e3c3fbc50638": {"id": "417a05b7da959582ddf6a9ab9d84e3c3fbc50638", "date": 1756187947.0, "description": "renaming icons", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/attrs.xml"], ["M", "app/src/main/res/menu/main_options_menu.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/control_widget_tempo.xml"], ["M", "app/src/main/res/layout/contextmenu_row_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_range.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout/contextmenu_control_line.xml"], ["M", "app/src/main/res/layout/contextmenu_column.xml"], ["M", "app/src/main/res/layout/contextmenu_channel_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_channel.xml"], ["M", "app/src/main/res/layout/contextmenu_cell_percussion.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout/config_channel_item.xml"], ["M", "app/src/main/res/layout/activity_editor.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range.xml"], ["M", "app/src/main/res/layout-land/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout-land/contextmenu_control_line.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell_percussion.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["D", "app/src/main/res/drawable/volume_widget.xml"], ["D", "app/src/main/res/drawable/unlinkall.xml"], ["D", "app/src/main/res/drawable/unlink.xml"], ["D", "app/src/main/res/drawable/tempo_widget_icon.xml"], ["D", "app/src/main/res/drawable/volume_plus.xml"], ["A", "app/src/main/res/drawable/icon_volume_plus.xml"], ["D", "app/src/main/res/drawable/volume_minus.xml"], ["A", "app/src/main/res/drawable/icon_volume_minus.xml"], ["D", "app/src/main/res/drawable/volume.xml"], ["A", "app/src/main/res/drawable/icon_volume.xml"], ["D", "app/src/main/res/drawable/velocity.xml"], ["A", "app/src/main/res/drawable/icon_velocity.xml"], ["D", "app/src/main/res/drawable/untag.xml"], ["A", "app/src/main/res/drawable/icon_untag.xml"], ["D", "app/src/main/res/drawable/unset.xml"], ["A", "app/src/main/res/drawable/icon_unset.xml"], ["D", "app/src/main/res/drawable/unmute.xml"], ["A", "app/src/main/res/drawable/icon_unmute.xml"], ["D", "app/src/main/res/drawable/ic_baseline_undo_24.xml"], ["A", "app/src/main/res/drawable/icon_undo.xml"], ["D", "app/src/main/res/drawable/ic_baseline_delete_24.xml"], ["A", "app/src/main/res/drawable/icon_trash.xml"], ["D", "app/src/main/res/drawable/rlinear.xml"], ["A", "app/src/main/res/drawable/icon_transition_rlinear.xml"], ["D", "app/src/main/res/drawable/rimmediate.xml"], ["A", "app/src/main/res/drawable/icon_transition_rimmediate.xml"], ["D", "app/src/main/res/drawable/linear.xml"], ["A", "app/src/main/res/drawable/icon_transition_linear.xml"], ["D", "app/src/main/res/drawable/immediate.xml"], ["A", "app/src/main/res/drawable/icon_transition_immediate.xml"], ["D", "app/src/main/res/drawable/tempo.xml"], ["A", "app/src/main/res/drawable/icon_tempo.xml"], ["D", "app/src/main/res/drawable/tag.xml"], ["A", "app/src/main/res/drawable/icon_tag.xml"], ["D", "app/src/main/res/drawable/split.xml"], ["A", "app/src/main/res/drawable/icon_split.xml"], ["D", "app/src/main/res/drawable/show_percussion.xml"], ["A", "app/src/main/res/drawable/icon_show_percussion.xml"], ["D", "app/src/main/res/drawable/show.xml"], ["A", "app/src/main/res/drawable/icon_show.xml"], ["D", "app/src/main/res/drawable/set_percussion.xml"], ["A", "app/src/main/res/drawable/icon_set_percussion.xml"], ["D", "app/src/main/res/drawable/ic_baseline_save_24.xml"], ["A", "app/src/main/res/drawable/icon_save.xml"], ["D", "app/src/main/res/drawable/remove_line.xml"], ["A", "app/src/main/res/drawable/icon_remove_line.xml"], ["D", "app/src/main/res/drawable/remove_channel.xml"], ["A", "app/src/main/res/drawable/icon_remove_channel.xml"], ["D", "app/src/main/res/drawable/remove_beat.xml"], ["A", "app/src/main/res/drawable/icon_remove_beat.xml"], ["D", "app/src/main/res/drawable/remove.xml"], ["A", "app/src/main/res/drawable/icon_remove.xml"], ["D", "app/src/main/res/drawable/ic_baseline_play_arrow_24.xml"], ["A", "app/src/main/res/drawable/icon_play.xml"], ["D", "app/src/main/res/drawable/ic_baseline_pause_24.xml"], ["A", "app/src/main/res/drawable/icon_pause.xml"], ["D", "app/src/main/res/drawable/pan_icon.xml"], ["A", "app/src/main/res/drawable/icon_pan.xml"], ["D", "app/src/main/res/drawable/mute.xml"], ["A", "app/src/main/res/drawable/icon_mute.xml"], ["D", "app/src/main/res/drawable/insert_line.xml"], ["A", "app/src/main/res/drawable/icon_insert_line.xml"], ["D", "app/src/main/res/drawable/insert_beat.xml"], ["A", "app/src/main/res/drawable/icon_insert_beat.xml"], ["D", "app/src/main/res/drawable/insert.xml"], ["A", "app/src/main/res/drawable/icon_insert.xml"], ["D", "app/src/main/res/drawable/ic_baseline_content_copy_24.xml"], ["A", "app/src/main/res/drawable/icon_ic_baseline_content_copy_24.xml"], ["D", "app/src/main/res/drawable/hide_percussion.xml"], ["A", "app/src/main/res/drawable/icon_hide_percussion.xml"], ["D", "app/src/main/res/drawable/hide.xml"], ["A", "app/src/main/res/drawable/icon_hide.xml"], ["D", "app/src/main/res/drawable/hamburger_32.xml"], ["A", "app/src/main/res/drawable/icon_hamburger_32.xml"], ["D", "app/src/main/res/drawable/export.xml"], ["A", "app/src/main/res/drawable/icon_export.xml"], ["D", "app/src/main/res/drawable/delete_channel.xml"], ["A", "app/src/main/res/drawable/icon_delete_channel.xml"], ["D", "app/src/main/res/drawable/ctl.xml"], ["A", "app/src/main/res/drawable/icon_ctl.xml"], ["D", "app/src/main/res/drawable/adjust.xml"], ["A", "app/src/main/res/drawable/icon_adjust.xml"], ["D", "app/src/main/res/drawable/add_channel_kit.xml"], ["A", "app/src/main/res/drawable/icon_add_channel_kit.xml"], ["D", "app/src/main/res/drawable/add_channel.xml"], ["A", "app/src/main/res/drawable/icon_add_channel.xml"], ["M", "app/src/main/res/drawable/alt_style_gb_leaf.xml"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "20cc03f99969cfaad348ee118fabed05dc894c92": {"id": "20cc03f99969cfaad348ee118fabed05dc894c92", "date": 1756160731.0, "description": "made leaf drawable an attribute for future customization", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values/attrs.xml"], ["A", "app/src/main/res/drawable/alt_style_gb_leaf.xml"], ["A", "app/src/main/res/drawable/alt_style_bg_leaf_inner_empty.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.h"]], "author": "smith.quintin@protonmail.com"}, "933feb39f748cbc7c008a161d41e29eeee846ac2": {"id": "933feb39f748cbc7c008a161d41e29eeee846ac2", "date": 1756158613.0, "description": "undid changes to dialog_background", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/res/drawable/dialog_background.xml"]], "author": "smith.quintin@protonmail.com"}, "0827ff9674551a5e387b148841fa4b33a185b979": {"id": "0827ff9674551a5e387b148841fa4b33a185b979", "date": 1756158442.0, "description": "color name cleanup", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/res/layout/text_name_change.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/fragment_about.xml"], ["M", "app/src/main/res/layout/corner.xml"], ["M", "app/src/main/res/layout/color_picker.xml"], ["M", "app/src/main/res/layout-xlarge-land/fragment_global_settings.xml"], ["M", "app/src/main/res/layout-land/color_picker.xml"], ["M", "app/src/main/res/drawable/radio_default_start.xml"], ["M", "app/src/main/res/drawable/radio_default_end.xml"], ["M", "app/src/main/res/drawable/radio_default.xml"], ["M", "app/src/main/res/drawable/editor_label_line.xml"], ["M", "app/src/main/res/drawable/dialog_background.xml"], ["M", "app/src/main/res/drawable/corner_button.xml"], ["M", "app/src/main/res/color/line_label_text.xml"], ["M", "app/src/main/res/color/leaf_text_selector.xml"], ["M", "app/src/main/res/color/leaf.xml"], ["M", "app/src/main/res/color/ctl_leaf_text_selector.xml"], ["M", "app/src/main/res/color/ctl_leaf_selector.xml"], ["M", "app/src/main/res/color/column_label_text.xml"], ["M", "app/src/main/res/color/column_label_std_selector.xml"], ["M", "app/src/main/java/com/qfs/pagan/PanSliderWidget.kt"]], "author": "smith.quintin@protonmail.com"}, "8e67ad6db25c7b8e372dc002b59fcda49c39ed0d": {"id": "8e67ad6db25c7b8e372dc002b59fcda49c39ed0d", "date": 1756087917.0, "description": "removed unused code for release", "files": [["M", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.h"]], "author": "smith.quintin@protonmail.com"}, "4c8c03e1048847ae054c4b2e350e9f5b8d32bf23": {"id": "4c8c03e1048847ae054c4b2e350e9f5b8d32bf23", "date": 1756087399.0, "description": "fixed: channel leaf ctl range selection highlighting all in of the the same ctls on the same beats in different channels", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "027b933e3506b607e78dd6a9cc331197f43876c0": {"id": "027b933e3506b607e78dd6a9cc331197f43876c0", "date": 1756087001.0, "description": "disable inset/outset on leafs", "files": [["M", "app/src/main/res/drawable/leaf_border.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "89fd024add18378e53b09303e86791abbe0bfdf6": {"id": "89fd024add18378e53b09303e86791abbe0bfdf6", "date": 1756085945.0, "description": "disregarding volume weighting", "files": [["M", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.h"]], "author": "smith.quintin@protonmail.com"}, "81f9beec476e019b7a06fdce88f3ccebb1ee6967": {"id": "81f9beec476e019b7a06fdce88f3ccebb1ee6967", "date": 1756019702.0, "description": "resolves #119", "files": [["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "32e74d600997ae0a6d68eb3ac3f63d67f7a83c62": {"id": "32e74d600997ae0a6d68eb3ac3f63d67f7a83c62", "date": 1756018273.0, "description": "tweaked leaf text alignments", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "48901d5bd275d0f1d0d505d52b53dec2dc3ec714": {"id": "48901d5bd275d0f1d0d505d52b53dec2dc3ec714", "date": 1756013787.0, "description": "inset/outset leafs when pressed/focused", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values/colors.xml"], ["A", "app/src/main/res/drawable/leaf_border_outset.xml"], ["A", "app/src/main/res/drawable/leaf_border_inset.xml"], ["M", "app/src/main/res/drawable/leaf_border.xml"]], "author": "smith.quintin@protonmail.com"}, "a9d33b5cf9b1a8a643281aa9076ceace7b61cfb5": {"id": "a9d33b5cf9b1a8a643281aa9076ceace7b61cfb5", "date": 1755993321.0, "description": "consolidate leaf border into single file", "files": [["A", "app/src/main/res/drawable/leaf_border.xml"], ["M", "app/src/main/res/drawable/leaf.xml"], ["M", "app/src/main/res/drawable/editor_label_line.xml"], ["M", "app/src/main/res/drawable/editor_label_ctl_line.xml"], ["M", "app/src/main/res/drawable/editor_label_column.xml"], ["M", "app/src/main/res/drawable/ctl_leaf.xml"], ["M", "app/src/main/res/drawable/corner_button.xml"]], "author": "smith.quintin@protonmail.com"}, "59b5fed47bdd48093c36e25321cd356c7625c548": {"id": "59b5fed47bdd48093c36e25321cd356c7625c548", "date": 1755992460.0, "description": "started marking latest version used for future changes where the default configuration may need to differ if the user has already used a previous version", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/Activity/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityAbout.kt"]], "author": "smith.quintin@protonmail.com"}, "750f9c389920ff7f31b55aad18999b2ddb1e040d": {"id": "750f9c389920ff7f31b55aad18999b2ddb1e040d", "date": 1755990780.0, "description": "delay controls commented out for merge to master", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "696f379387561d2d71a1a54f6a0cd24653655b5e": {"id": "696f379387561d2d71a1a54f6a0cd24653655b5e", "date": 1755986126.0, "description": "moved volume weight logic into WaveGeneratorCache", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.h"], ["M", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.cpp"]], "author": "smith.quintin@protonmail.com"}, "12a6895cbb3d227efc447dc8ab757391adfb21fd": {"id": "12a6895cbb3d227efc447dc8ab757391adfb21fd", "date": 1755932953.0, "description": "rough weighted volume scaling", "files": [["M", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.h"], ["M", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.cpp"]], "author": "smith.quintin@protonmail.com"}, "333b7ad7a6ba7a54aefbedabe59cfc4943237446": {"id": "333b7ad7a6ba7a54aefbedabe59cfc4943237446", "date": 1755908526.0, "description": "debug code", "files": [["M", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.h"]], "author": "smith.quintin@protonmail.com"}, "486e5fa787d606143fb5446711b5a68b334a552f": {"id": "486e5fa787d606143fb5446711b5a68b334a552f", "date": 1755886777.0, "description": "more delay debugging", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.h"], ["M", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.cpp"]], "author": "smith.quintin@protonmail.com"}, "5921a5ba303b83e66ca2b15f5426ed2eb1fa10df": {"id": "5921a5ba303b83e66ca2b15f5426ed2eb1fa10df", "date": 1755879929.0, "description": "working on delay", "files": [["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.h"]], "author": "smith.quintin@protonmail.com"}, "7ae709d9e1c9e59efb5b6d445704df9cb6966e08": {"id": "7ae709d9e1c9e59efb5b6d445704df9cb6966e08", "date": 1755701895.0, "description": "versionCode bump", "files": [["D", "fastlane/metadata/android/en-US/changelogs/125.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "faffa821c811b5a52c238ab0be90ba6cf99f4eb3": {"id": "faffa821c811b5a52c238ab0be90ba6cf99f4eb3", "date": 1755701809.0, "description": "Fix crash on get_midi()", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "991d8a6feb3ebf80b9c05ff1df11b86a90e5aea3": {"id": "991d8a6feb3ebf80b9c05ff1df11b86a90e5aea3", "date": 1755647207.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/125.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "c87d9340d7b78d52199372ecfd9bd6e9ae737760": {"id": "c87d9340d7b78d52199372ecfd9bd6e9ae737760", "date": 1755645514.0, "description": "bugfix: playback potentially hanging", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"]], "author": "smith.quintin@protonmail.com"}, "7a64dadf93188732cff069d85aed60855018fe5b": {"id": "7a64dadf93188732cff069d85aed60855018fe5b", "date": 1755642429.0, "description": "moved tanh_array. testing tanh smoothing", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "c1b6246dc1237e37662d4729afd7f7bab7e12825": {"id": "c1b6246dc1237e37662d4729afd7f7bab7e12825", "date": 1755583093.0, "description": "Delay event widget work", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusPanEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/EffectEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/DelayEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "3aba75b3f31f18e9934b49d86c2ae9b466ab6f3e": {"id": "3aba75b3f31f18e9934b49d86c2ae9b466ab6f3e", "date": 1755550497.0, "description": "DelayAtCursor in ActionTracker", "files": [["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "a8af60166229af9f197e97d6b999def2c7fd0a2c": {"id": "a8af60166229af9f197e97d6b999def2c7fd0a2c", "date": 1755498353.0, "description": "ContextMenuDelay", "files": [["A", "app/src/main/res/layout/control_widget_delay.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectControlSet.kt"], ["A", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetDelay.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "30f8e6b98c1da877ccb45b519bacd21c395174db": {"id": "30f8e6b98c1da877ccb45b519bacd21c395174db", "date": 1755397115.0, "description": "convert delay float in kotlin to frames before passing to C++", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/DelayEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.h"]], "author": "smith.quintin@protonmail.com"}, "5fafcde8b57412ea600a83072d636a1411514b00": {"id": "5fafcde8b57412ea600a83072d636a1411514b00", "date": 1755380613.0, "description": "apply_delay() logic implemented", "files": [["M", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.h"], ["M", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"]], "author": "smith.quintin@protonmail.com"}, "fab5103baebc165cc9844a6519b0685ceb721313": {"id": "fab5103baebc165cc9844a6519b0685ceb721313", "date": 1755282581.0, "description": "feedback volume reduced", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "8d96f636376a9cffb3f14778f43f7126b995501d": {"id": "8d96f636376a9cffb3f14778f43f7126b995501d", "date": 1755282496.0, "description": "lint", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/integers.xml"], ["M", "app/src/main/res/layout/dialog_note_offset.xml"], ["M", "app/src/main/java/com/qfs/pagan/RangedTextWatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/MidiFeedbackDispatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "b4d680da02b3d6d0debec1f1069ecaebf8aaa8d6": {"id": "b4d680da02b3d6d0debec1f1069ecaebf8aaa8d6", "date": 1755195988.0, "description": "cleaned up strange iteration in multi wav export functions", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "6ad3f75ff3f8eb36f0943d60c6f29eac4dcca9fc": {"id": "6ad3f75ff3f8eb36f0943d60c6f29eac4dcca9fc", "date": 1755195314.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "0a9f0cdbc3c05c7a763e3a3a4fa31ba1f2921ca2": {"id": "0a9f0cdbc3c05c7a763e3a3a4fa31ba1f2921ca2", "date": 1755195164.0, "description": "remove unused code", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "42744ad5965ae32f116cf2e7135a6b249636e944": {"id": "42744ad5965ae32f116cf2e7135a6b249636e944", "date": 1755147223.0, "description": "work on DelayEvent", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "6027d841b7d09a5fd6c84ddf3fceba04103ef95e": {"id": "6027d841b7d09a5fd6c84ddf3fceba04103ef95e", "date": 1755038284.0, "description": "DelayEvent and DelayController", "files": [["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/DelayEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/DelayController.kt"]], "author": "smith.quintin@protonmail.com"}, "97c99cf3dd69085f8366ab1b20a328b2ce057c81": {"id": "97c99cf3dd69085f8366ab1b20a328b2ce057c81", "date": 1755027886.0, "description": "create WaveGeneratorCache class to store required data for effects like delay", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectType.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WavConverter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/Sample.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/Modulator.kt"], ["A", "app/src/main/java/com/qfs/apres/WavFile.kt"], ["A", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.h"], ["A", "app/src/main/cpp/soundfontplayer/WaveGeneratorCache.cpp"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "9c56622cc89131b7db0f2d0573d1b271ecb0d6d5": {"id": "9c56622cc89131b7db0f2d0573d1b271ecb0d6d5", "date": 1754990600.0, "description": "removed redundant call to recheck_active_midi_device()", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "33aae72f03d9dd0db7b64ed0c1ba6c09a9271594": {"id": "33aae72f03d9dd0db7b64ed0c1ba6c09a9271594", "date": 1754987922.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/124.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "6a4237bd9261c8826227f4594f7d76ad711331e6": {"id": "6a4237bd9261c8826227f4594f7d76ad711331e6", "date": 1754966422.0, "description": "show reticle on navigation away from editor", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "ec6fdae4f6c369f8fda638b6e2d4201c0486039f": {"id": "ec6fdae4f6c369f8fda638b6e2d4201c0486039f", "date": 1754954202.0, "description": "place interactions with connected_input_ports behind mutex", "files": [["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "f93aa3bc05fad45b524383b3bb783fb52c12c0e5": {"id": "f93aa3bc05fad45b524383b3bb783fb52c12c0e5", "date": 1754952350.0, "description": "send midi events to midi devices within mutex", "files": [["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "a500154a42c798d12af69bf5bbe774556ea68721": {"id": "a500154a42c798d12af69bf5bbe774556ea68721", "date": 1754947940.0, "description": "recheck midi device on project change", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/menu/main_options_menu.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "b82c7a23899309d3a2ba0e09b0e8283667b198dd": {"id": "b82c7a23899309d3a2ba0e09b0e8283667b198dd", "date": 1754936584.0, "description": "midi device picker functional", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "a59221d73172b13dde811db02e01cc2cf6c8d870": {"id": "a59221d73172b13dde811db02e01cc2cf6c8d870", "date": 1754894215.0, "description": "Removed block/enable midi playback option (redundant).\n    Default to Pagan as playback device, but have menu to select when other options are available.", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/menu/main_options_menu.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout-xlarge-land/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/MidiDeviceManagerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/DrawerChannelMenu/ChannelOptionRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "806f1e505f4e6ab89fbb899b47a4de90059d641b": {"id": "806f1e505f4e6ab89fbb899b47a4de90059d641b", "date": 1754874768.0, "description": "block last channel removal from drawer. resolves #116", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "cc37e8802f099270f645265f974b1e9caf4f2048": {"id": "cc37e8802f099270f645265f974b1e9caf4f2048", "date": 1754870914.0, "description": "catch exception when attempting to close midi ports", "files": [["M", "app/src/main/java/com/qfs/apres/MidiController.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "04237af423529cb99f5083244560059e8d9574d1": {"id": "04237af423529cb99f5083244560059e8d9574d1", "date": 1754854383.0, "description": "version bump", "files": [["D", "fastlane/metadata/android/en-US/changelogs/122.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "9cef3c97e5e7563bc87617cc4c298a9ff95f0407": {"id": "9cef3c97e5e7563bc87617cc4c298a9ff95f0407", "date": 1754853961.0, "description": "adjusted PlaybackFrameMap.calculate_event_frame_range to fit recent changes to tempo", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "a6e5ecbc685c0f837c1fc26a268dd7f867839740": {"id": "a6e5ecbc685c0f837c1fc26a268dd7f867839740", "date": 1754849801.0, "description": "translucent empty lines when selected", "files": [["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/color/line_label_std_selector.xml"], ["M", "app/src/main/res/color/column_label_std_selector.xml"]], "author": "smith.quintin@protonmail.com"}, "42f3f8e84396b648b6fb3da6be1af7fd7d771e8b": {"id": "42f3f8e84396b648b6fb3da6be1af7fd7d771e8b", "date": 1754848913.0, "description": "translucent lines", "files": [["M", "app/src/main/res/values-night/colors.xml"]], "author": "smith.quintin@protonmail.com"}, "241e67b3f04a8e63c377bd2a3fdeb755535ec5e1": {"id": "241e67b3f04a8e63c377bd2a3fdeb755535ec5e1", "date": 1754848901.0, "description": "translucent lines", "files": [["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/res/drawable/leaf.xml"], ["M", "app/src/main/res/drawable/editor_label_line.xml"], ["M", "app/src/main/res/drawable/editor_label_ctl_line.xml"], ["M", "app/src/main/res/drawable/editor_label_column.xml"], ["M", "app/src/main/res/drawable/ctl_leaf.xml"], ["M", "app/src/main/res/drawable/corner_button.xml"]], "author": "smith.quintin@protonmail.com"}, "2a2b28f8550f8af66ff96ab92dc4bd21d6990ef9": {"id": "2a2b28f8550f8af66ff96ab92dc4bd21d6990ef9", "date": 1754847921.0, "description": "fixed tempo not being applied", "files": [["M", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "eea4166c41a34a51e5ec6e04db63be0a98268921": {"id": "eea4166c41a34a51e5ec6e04db63be0a98268921", "date": 1754843732.0, "description": "revert empty leaf style", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/drawable/leaf.xml"], ["M", "app/src/main/res/drawable/editor_label_column.xml"], ["M", "app/src/main/res/drawable/ctl_leaf.xml"], ["M", "app/src/main/res/drawable/corner_button.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompatibleFileType.kt"]], "author": "smith.quintin@protonmail.com"}, "65eff898992d8015457bcd76c96f44f54a8574df": {"id": "65eff898992d8015457bcd76c96f44f54a8574df", "date": 1754802875.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/122.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "2fc360cbce2d7a4359723fc0cb472966820f7f2e": {"id": "2fc360cbce2d7a4359723fc0cb472966820f7f2e", "date": 1754802274.0, "description": "style update", "files": [["D", "app/src/main/res/values/logo_rowan_background.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values/attrs.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/res/layout/corner.xml"], ["A", "app/src/main/res/drawable/leaf_inactive.xml"], ["A", "app/src/main/res/drawable/leaf_active.xml"], ["M", "app/src/main/res/drawable/leaf.xml"], ["M", "app/src/main/res/drawable/editor_label_ctl_line.xml"], ["M", "app/src/main/res/drawable/editor_label_column.xml"], ["M", "app/src/main/res/drawable/ctl_leaf.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "bed1e85ee2b14fbd11ca73d52f6eef16dd796675": {"id": "bed1e85ee2b14fbd11ca73d52f6eef16dd796675", "date": 1754783557.0, "description": "switched table lines with leaf stroke", "files": [["M", "app/src/main/res/drawable/leaf.xml"], ["A", "app/src/main/res/color/leaf_stroke.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "57858c54d610c431c6d4931ae803998dde4378f9": {"id": "57858c54d610c431c6d4931ae803998dde4378f9", "date": 1754777757.0, "description": "separate line label color and empty line color", "files": [["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/res/drawable/leaf.xml"], ["M", "app/src/main/res/drawable/editor_label_line.xml"], ["M", "app/src/main/res/color/line_label_std_selector.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelView.kt"]], "author": "smith.quintin@protonmail.com"}, "2217906456d5cdb3beaaca90dd585db0754315e9": {"id": "2217906456d5cdb3beaaca90dd585db0754315e9", "date": 1754774114.0, "description": "visual tweaks (in progress)", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/res/values-large/dimens.xml"], ["M", "app/src/main/res/values-land/dimens.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["A", "app/src/main/res/layout/background_etching.xml"], ["M", "app/src/main/res/layout/activity_settings.xml"], ["M", "app/src/main/res/layout/activity_landing.xml"], ["M", "app/src/main/res/layout/activity_editor.xml"], ["M", "app/src/main/res/layout/activity_about.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["A", "app/src/main/res/drawable/rowanleaf_no_padding.xml"], ["M", "app/src/main/res/drawable/radio_default_start.xml"], ["M", "app/src/main/res/drawable/radio_default_end.xml"], ["M", "app/src/main/res/drawable/radio_default.xml"], ["A", "app/src/main/res/drawable/logo_rowan_monochrome.xml"], ["M", "app/src/main/res/drawable/leaf.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"]], "author": "smith.quintin@protonmail.com"}, "d2a25a2f326a98c9e342cbc8e3340901faa35335": {"id": "d2a25a2f326a98c9e342cbc8e3340901faa35335", "date": 1754763077.0, "description": "fix for #115 (probably)", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "419ac6234462270b4b3bd4d05ffc4306495d6adb": {"id": "419ac6234462270b4b3bd4d05ffc4306495d6adb", "date": 1754760986.0, "description": "debugging issue #115", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "14803ac328e9a364fefd03e4446cfe3727d57d53": {"id": "14803ac328e9a364fefd03e4446cfe3727d57d53", "date": 1754751892.0, "description": "added some button animations", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/integers.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values-normal-land/dimens.xml"], ["M", "app/src/main/res/values-land/dimens.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["A", "app/src/main/res/layout-xlarge-land/fragment_global_settings.xml"], ["M", "app/src/main/res/layout-large-land/fragment_landing.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/res/drawable/number_selector_button.xml"], ["M", "app/src/main/res/drawable/button_pressed.xml"], ["M", "app/src/main/res/drawable/button_default.xml"], ["A", "app/src/main/res/animator/std_button.xml"], ["A", "app/src/main/res/animator/number_selector_button.xml"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "8a6cec311669baa6d854759e76c8c8f57829978f": {"id": "8a6cec311669baa6d854759e76c8c8f57829978f", "date": 1754706593.0, "description": "some code clean up", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/EffectEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/ControllerProfile.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ControllerEventData.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "f293c9733cd875474c0db872a1b83cae18371862": {"id": "f293c9733cd875474c0db872a1b83cae18371862", "date": 1754689593.0, "description": "fix bug introduced in previous commit", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/ControllerProfile.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "9b0b30c472332b19dce745450242bfffde48de72": {"id": "9b0b30c472332b19dce745450242bfffde48de72", "date": 1754678612.0, "description": "improved effect transition handling", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "bac3f035f2ceb85551f9bc6b8d913f15b5cb7b42": {"id": "bac3f035f2ceb85551f9bc6b8d913f15b5cb7b42", "date": 1754631574.0, "description": "context menu refreshing and pan widget working with resetting transitions", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/SingleFloatEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusPanEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/EffectEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "2c2f60267693ed7ce3dfb1ef4750ec6dcc5dc261": {"id": "2c2f60267693ed7ce3dfb1ef4750ec6dcc5dc261", "date": 1754585391.0, "description": "work on reset transition in controlwigets", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "df9311db71288afb18a4f3f31b345bfcb34be853": {"id": "df9311db71288afb18a4f3f31b345bfcb34be853", "date": 1754582336.0, "description": "revert transitions functional", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/EffectEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "9b20bfd73a0f6072b90a90993777b119e28c2c96": {"id": "9b20bfd73a0f6072b90a90993777b119e28c2c96", "date": 1754581145.0, "description": "use case insensitive sorting in soundfont/project menu", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "9d9f33cd4122d7efee5a35f798f4a5da57072617": {"id": "9d9f33cd4122d7efee5a35f798f4a5da57072617", "date": 1754580644.0, "description": "prevent tableui from redrawing whiling project is changing", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "d112bad83c988ea3c89dd97bde91607ef2625329": {"id": "d112bad83c988ea3c89dd97bde91607ef2625329", "date": 1754549467.0, "description": "prevent SampleHandleGenerator for using Samples that use ROM samples", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont2/SoundFont.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "926d0a5575db8a60357ed63c4282f6f63c0ee96c": {"id": "926d0a5575db8a60357ed63c4282f6f63c0ee96c", "date": 1754544306.0, "description": "fixed precision issue causing effects to sometimes not trigger correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "19a4573f5895a43a7454044e731f55267e07035c": {"id": "19a4573f5895a43a7454044e731f55267e07035c", "date": 1754542712.0, "description": "apply indent if json_indent is set in configuration", "files": [["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "565f3e9c1e159f3ef9ee59b8cd120655b40a807e": {"id": "565f3e9c1e159f3ef9ee59b8cd120655b40a807e", "date": 1754505261.0, "description": "added indent_json option to PaganConfiguration. unimplemented", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"]], "author": "smith.quintin@protonmail.com"}, "00aacdbf4fc078eda5bbbef84cc2e1b020be20d8": {"id": "00aacdbf4fc078eda5bbbef84cc2e1b020be20d8", "date": 1754433800.0, "description": "deliberately not [un]escaping \\u sequences", "files": [["M", "app/src/test/java/com/qfs/json/SerializationUnitTest.kt"], ["M", "app/src/main/java/com/qfs/json/JSONString.kt"]], "author": "smith.quintin@protonmail.com"}, "143b862b6017886b1e4350dc88394ebf746094b6": {"id": "143b862b6017886b1e4350dc88394ebf746094b6", "date": 1754431803.0, "description": "working json escaping unicode chars", "files": [["M", "app/src/test/java/com/qfs/json/SerializationUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectTransition.kt"], ["M", "app/src/main/java/com/qfs/json/JSONString.kt"], ["M", "app/src/main/java/com/qfs/json/JSONParser.kt"]], "author": "smith.quintin@protonmail.com"}, "98d818304fe2b46d3bf39e4d5904e7e876c49e46": {"id": "98d818304fe2b46d3bf39e4d5904e7e876c49e46", "date": 1754424155.0, "description": "added indent option to json lib", "files": [["M", "app/src/test/java/com/qfs/json/SerializationUnitTest.kt"], ["M", "app/src/main/java/com/qfs/json/JSONString.kt"], ["M", "app/src/main/java/com/qfs/json/JSONObject.kt"], ["M", "app/src/main/java/com/qfs/json/JSONList.kt"], ["M", "app/src/main/java/com/qfs/json/JSONInteger.kt"], ["M", "app/src/main/java/com/qfs/json/JSONHashMap.kt"], ["M", "app/src/main/java/com/qfs/json/JSONFloat.kt"], ["M", "app/src/main/java/com/qfs/json/JSONBoolean.kt"]], "author": "smith.quintin@protonmail.com"}, "19523298fe4a767f3a3eb96bd3685b78f33d73b3": {"id": "19523298fe4a767f3a3eb96bd3685b78f33d73b3", "date": 1754374368.0, "description": "tweak to how marked frames are handled. generate instead of iterate", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "a37ca99615af00d33136468557943a59b414034f": {"id": "a37ca99615af00d33136468557943a59b414034f", "date": 1754088347.0, "description": "reintroduced rlinear and rinstant transitions", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "3845da27a571c76aabf6026903f32d38c281e0ab": {"id": "3845da27a571c76aabf6026903f32d38c281e0ab", "date": 1754038220.0, "description": "removed redundant max check", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "49e15fe7434e9d024bc303606e69ff79ad1ab6d8": {"id": "49e15fe7434e9d024bc303606e69ff79ad1ab6d8", "date": 1754037854.0, "description": "realigned version and name again", "files": [["D", "fastlane/metadata/android/en-US/changelogs/120.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/121.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "434437cc097669cab865157cb50e952a02bc43ee": {"id": "434437cc097669cab865157cb50e952a02bc43ee", "date": 1754037510.0, "description": "update changelog", "files": [["D", "fastlane/metadata/android/en-US/changelogs/118.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/120.txt"]], "author": "smith.quintin@protonmail.com"}, "5d4c1f63b77bb2f65a9e7fc279504ea01739484a": {"id": "5d4c1f63b77bb2f65a9e7fc279504ea01739484a", "date": 1754037394.0, "description": "realigned versioncode/name", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "92d73892d8fe6c649a230f4916554d8a576efff3": {"id": "92d73892d8fe6c649a230f4916554d8a576efff3", "date": 1754037212.0, "description": "bump version code", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "97a17786794c1c5f5fbe69e98250e3b45ac910b1": {"id": "97a17786794c1c5f5fbe69e98250e3b45ac910b1", "date": 1754036779.0, "description": "convert the value to abs() instead of throwing NoteOutOfRange when converting relative to absolute", "files": [["M", "fastlane/metadata/android/en-US/changelogs/118.txt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "786ab6105a877bbecdc82ca5641cd855aee5a0c1": {"id": "786ab6105a877bbecdc82ca5641cd855aee5a0c1", "date": 1754035698.0, "description": "version bump", "files": [["D", "fastlane/metadata/android/en-US/changelogs/117.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/118.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "96cac80f0002ce492beb726c32b629e1512b886b": {"id": "96cac80f0002ce492beb726c32b629e1512b886b", "date": 1754035415.0, "description": "removed debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"]], "author": "smith.quintin@protonmail.com"}, "63667ccac3f4876a44ded130b6d2102215847bc5": {"id": "63667ccac3f4876a44ded130b6d2102215847bc5", "date": 1754035323.0, "description": "removed debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"]], "author": "smith.quintin@protonmail.com"}, "1a59ebe624d132b4beac6f46218ce1e589dc13be": {"id": "1a59ebe624d132b4beac6f46218ce1e589dc13be", "date": 1754034454.0, "description": "update changelog", "files": [["M", "fastlane/metadata/android/en-US/changelogs/117.txt"]], "author": "smith.quintin@protonmail.com"}, "ae783d3d5e6853f0b92fa81599b51bc98c210983": {"id": "ae783d3d5e6853f0b92fa81599b51bc98c210983", "date": 1754033522.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/117.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "59fdbb43bab7f5876bdfb3fd886d41f570b2c08b": {"id": "59fdbb43bab7f5876bdfb3fd886d41f570b2c08b", "date": 1754033419.0, "description": "fixed bug in ReducibleTree.get()", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "7357b895a08363da33a9b3f9b4273c7974cc6932": {"id": "7357b895a08363da33a9b3f9b4273c7974cc6932", "date": 1754022698.0, "description": "bugfix: was accidentally using current time to generate untitled project names instead of last modified", "files": [["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"]], "author": "smith.quintin@protonmail.com"}, "270be47b9b6ee63e72b67e0f1a0a594100e51d8d": {"id": "270be47b9b6ee63e72b67e0f1a0a594100e51d8d", "date": 1753897841.0, "description": "refresh context menu (if necessary) on set_soundfont", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "284615af13cfdbe5046ed1fb12e73dd54c1fee49": {"id": "284615af13cfdbe5046ed1fb12e73dd54c1fee49", "date": 1753896766.0, "description": "disabled access to reset transitions", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout/dropdown_menu_item.xml"], ["M", "app/src/main/res/drawable/rimmediate.xml"], ["M", "app/src/main/res/drawable/linear.xml"], ["M", "app/src/main/res/drawable/immediate.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "6c83237bbc75857de959c59f55110013058a572a": {"id": "6c83237bbc75857de959c59f55110013058a572a", "date": 1753831367.0, "description": "created rlinear and rimmediate vector assets", "files": [["A", "app/src/main/res/drawable/rlinear.xml"], ["A", "app/src/main/res/drawable/rimmediate.xml"]], "author": "smith.quintin@protonmail.com"}, "323da897811a16c84f85de4a24ec2d400c8b2a63": {"id": "323da897811a16c84f85de4a24ec2d400c8b2a63", "date": 1753829916.0, "description": "created get_effect_transition_icon() to reduce code duplication", "files": [["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "4e0c3d5bf907603b5a4d37be8844db66e2204d78": {"id": "4e0c3d5bf907603b5a4d37be8844db66e2204d78", "date": 1753829358.0, "description": "Effect Transition english labels", "files": [["M", "app/src/main/res/values/strings.xml"]], "author": "smith.quintin@protonmail.com"}, "4ac84c89530c8de27f8d2f9da2fb2237e605d7ff": {"id": "4ac84c89530c8de27f8d2f9da2fb2237e605d7ff", "date": 1753829152.0, "description": "added RLinear and RInstant EffectTransitions. icons and strings still needed", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/SingleFloatEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusVelocityEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusPanEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectTransition.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "988fff4e8c34feaeca364ed75099ad43fdf95ff4": {"id": "988fff4e8c34feaeca364ed75099ad43fdf95ff4", "date": 1753826530.0, "description": "use 'when' to populate list in set_ctl_transition", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "3b411fb2c0aaa90319fdafcfcf0a0b347481f748": {"id": "3b411fb2c0aaa90319fdafcfcf0a0b347481f748", "date": 1753822774.0, "description": "display icons in dialog_popup_menu", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/layout/dropdown_menu_item.xml"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "9fa08086d04cf9dc63cc032d79a37328be87433e": {"id": "9fa08086d04cf9dc63cc032d79a37328be87433e", "date": 1753739858.0, "description": "using correct velocity in get_midi()", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "3d5c5a8fc1d710aaf431fb4423fab5e01df904f9": {"id": "3d5c5a8fc1d710aaf431fb4423fab5e01df904f9", "date": 1753734101.0, "description": "fixed bug in get_profile", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"]], "author": "smith.quintin@protonmail.com"}, "1c44ea55a8ad61348a343eabc1853385e05b8900": {"id": "1c44ea55a8ad61348a343eabc1853385e05b8900", "date": 1753728896.0, "description": "monochrome icon", "files": [["A", "app/src/main/res/mipmap-xxxhdpi/logo_rowan_monochrome.webp"], ["A", "app/src/main/res/mipmap-xxhdpi/logo_rowan_monochrome.webp"], ["A", "app/src/main/res/mipmap-xhdpi/logo_rowan_monochrome.webp"], ["A", "app/src/main/res/mipmap-mdpi/logo_rowan_monochrome.webp"], ["A", "app/src/main/res/mipmap-hdpi/logo_rowan_monochrome.webp"], ["M", "app/src/main/res/mipmap-anydpi-v26/logo_rowan.xml"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "1d480fb4789aca9a995f82233a65a9efae10fe04": {"id": "1d480fb4789aca9a995f82233a65a9efae10fe04", "date": 1753722705.0, "description": "change naming convention of 'Control' to 'Effect'", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerCursorUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerCursorUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontroller/VolumeController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontroller/VelocityController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontroller/TempoController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontroller/ReverbController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontroller/PanController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/SingleFloatEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusVolumeEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusVelocityEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusTempoEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusReverbEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/OpusPanEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/event/EffectEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/VolumeController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/VelocityController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/TempoController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/ReverbController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/PanController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontroller/EffectController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/EffectController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontroller/ControllerProfile.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/effectcontroller/ControllerProfile.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/Effectable.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectType.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectTransition.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/EffectControlSet.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontrol/EffectControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusChannel.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/Effectable.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusManagerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/Exception.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuWithController.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "4a87952be1b348fe88403d99466cde027f92a565": {"id": "4a87952be1b348fe88403d99466cde027f92a565", "date": 1753721187.0, "description": "changed 'activecontroller' to 'effectcontroller'", "files": [["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/VolumeController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontroller/VolumeController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/VelocityController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontroller/VelocityController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/TempoController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontroller/TempoController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/ReverbController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontroller/ReverbController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/PanController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontroller/PanController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/EffectController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontroller/EffectController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/ControllerProfile.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/effectcontroller/ControllerProfile.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/Effectable.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/EffectControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/Exception.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "35cb3ad902c91baa1c783f8eab1279ba81f9c2f1": {"id": "35cb3ad902c91baa1c783f8eab1279ba81f9c2f1", "date": 1753721066.0, "description": "created Effectable interface. cleaned 'controllers.get_controller' usage", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/VolumeController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/VelocityController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/TempoController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/ReverbController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/PanController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/ActiveController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/EffectController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusChannel.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/Effectable.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ActiveControlSet.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/EffectControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/Exception.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "3d5b9c7373b3a656f139144637d209ca9d263d20": {"id": "3d5b9c7373b3a656f139144637d209ca9d263d20", "date": 1753719250.0, "description": "attempting to use volume curve again, this time with a gentler curve", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusControlEvent.kt"]], "author": "smith.quintin@protonmail.com"}, "083318100441dd0612cb2943a8cf71284816eb05": {"id": "083318100441dd0612cb2943a8cf71284816eb05", "date": 1753684757.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusManagerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["D", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"], ["A", "app/src/main/java/com/qfs/json/JSONString.kt"], ["A", "app/src/main/java/com/qfs/json/JSONParser.kt"], ["A", "app/src/main/java/com/qfs/json/JSONObject.kt"], ["A", "app/src/main/java/com/qfs/json/JSONList.kt"], ["A", "app/src/main/java/com/qfs/json/JSONInteger.kt"], ["A", "app/src/main/java/com/qfs/json/JSONHashMap.kt"], ["A", "app/src/main/java/com/qfs/json/JSONFloat.kt"], ["A", "app/src/main/java/com/qfs/json/JSONEncodeable.kt"], ["A", "app/src/main/java/com/qfs/json/JSONBoolean.kt"], ["A", "app/src/main/java/com/qfs/json/Exception.kt"]], "author": "smith.quintin@protonmail.com"}, "0a36a9afc0bf52adc7fe499914249bbce1856b91": {"id": "0a36a9afc0bf52adc7fe499914249bbce1856b91", "date": 1753643413.0, "description": "velocity of sample now (correctly) calculate per-note rather than by initial volume", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "4aea98042cb8b7707991af2e569796c52713e782": {"id": "4aea98042cb8b7707991af2e569796c52713e782", "date": 1753560976.0, "description": "unit tests for get_closest_event", "files": [["A", "app/src/test/java/com/qfs/pagan/ReducibleTreeUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "777b0662cb2ed88478697394cf51d07ef38157b7": {"id": "777b0662cb2ed88478697394cf51d07ef38157b7", "date": 1753506850.0, "description": "created coerce_event. created OpusVelocityEvent and controllers", "files": [["M", "app/src/main/res/values/strings.xml"], ["A", "app/src/main/res/drawable/velocity.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "4e0cfb18ad78b303770d32a123432aabb29bb281": {"id": "4e0cfb18ad78b303770d32a123432aabb29bb281", "date": 1753471845.0, "description": "created Velocity Effect Controller. Use ControlEventType.i for CPP effect processing for consistency", "files": [["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/VelocityController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["A", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetVelocity.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ControllerEventData.kt"], ["M", "app/src/main/cpp/soundfontplayer/PitchedBuffer.h"], ["D", "app/src/main/cpp/soundfont/SoundFont.h"], ["A", "app/src/main/cpp/soundfont2/SoundFont.h"], ["D", "app/src/main/cpp/soundfont/SoundFont.cpp"], ["A", "app/src/main/cpp/soundfont2/SoundFont.cpp"], ["D", "app/src/main/cpp/soundfont/SampleDirective.h"], ["A", "app/src/main/cpp/soundfont2/SampleDirective.h"], ["D", "app/src/main/cpp/soundfont/SampleDirective.cpp"], ["A", "app/src/main/cpp/soundfont2/SampleDirective.cpp"], ["D", "app/src/main/cpp/soundfont/SampleData.h"], ["A", "app/src/main/cpp/soundfont2/SampleData.h"], ["D", "app/src/main/cpp/soundfont/SampleData.cpp"], ["A", "app/src/main/cpp/soundfont2/SampleData.cpp"], ["D", "app/src/main/cpp/soundfont/Sample.h"], ["A", "app/src/main/cpp/soundfont2/Sample.h"], ["D", "app/src/main/cpp/soundfont/Sample.cpp"], ["A", "app/src/main/cpp/soundfont2/Sample.cpp"], ["D", "app/src/main/cpp/soundfont/Riff/SubChunkHeader.h"], ["A", "app/src/main/cpp/soundfont2/Riff/SubChunkHeader.h"], ["D", "app/src/main/cpp/soundfont/Riff/Riff.h"], ["A", "app/src/main/cpp/soundfont2/Riff/Riff.h"], ["D", "app/src/main/cpp/soundfont/Riff/ListChunkHeader.h"], ["A", "app/src/main/cpp/soundfont2/Riff/ListChunkHeader.h"], ["D", "app/src/main/cpp/soundfont/Riff/InvalidRiffException.h"], ["A", "app/src/main/cpp/soundfont2/Riff/InvalidRiffException.h"], ["D", "app/src/main/cpp/soundfont/Preset.h"], ["A", "app/src/main/cpp/soundfont2/Preset.h"], ["D", "app/src/main/cpp/soundfont/Preset.cpp"], ["A", "app/src/main/cpp/soundfont2/Preset.cpp"], ["D", "app/src/main/cpp/soundfont/InstrumentDirective.h"], ["A", "app/src/main/cpp/soundfont2/InstrumentDirective.h"], ["D", "app/src/main/cpp/soundfont/InstrumentDirective.cpp"], ["A", "app/src/main/cpp/soundfont2/InstrumentDirective.cpp"], ["D", "app/src/main/cpp/soundfont/Instrument.h"], ["A", "app/src/main/cpp/soundfont2/Instrument.h"], ["D", "app/src/main/cpp/soundfont/Instrument.cpp"], ["A", "app/src/main/cpp/soundfont2/Instrument.cpp"], ["D", "app/src/main/cpp/soundfont/GeneratorOperation.h"], ["A", "app/src/main/cpp/soundfont2/GeneratorOperation.h"], ["D", "app/src/main/cpp/soundfont/GeneratorOperation.cpp"], ["A", "app/src/main/cpp/soundfont2/GeneratorOperation.cpp"], ["D", "app/src/main/cpp/soundfont/Generator.h"], ["A", "app/src/main/cpp/soundfont2/Generator.h"], ["D", "app/src/main/cpp/soundfont/Generator.cpp"], ["A", "app/src/main/cpp/soundfont2/Generator.cpp"], ["D", "app/src/main/cpp/soundfont/Generated.h"], ["A", "app/src/main/cpp/soundfont2/Generated.h"], ["D", "app/src/main/cpp/soundfont/Generated.cpp"], ["A", "app/src/main/cpp/soundfont2/Generated.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "4ae8c9bad9478722b482e880152ee6481bfb4bd2": {"id": "4ae8c9bad9478722b482e880152ee6481bfb4bd2", "date": 1753464007.0, "description": "moved soundfont to soundfont2 package", "files": [["M", "app/src/test/java/com/qfs/apres/SoundFontUnitTest.kt"], ["M", "app/src/test/java/com/qfs/apres/SoundFontPlayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont2/SoundFont.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfont/SampleType.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont2/SampleType.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfont/SampleDirective.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont2/SampleDirective.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfont/SampleData.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont2/SampleData.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfont/Sample.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont2/Sample.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfont/Riff.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont2/Riff.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfont/PseudoArray.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont2/PseudoArray.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfont/Preset.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont2/Preset.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfont/Modulator.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont2/Modulator.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfont/InstrumentDirective.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont2/InstrumentDirective.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfont/Instrument.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont2/Instrument.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfont/Generator.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont2/Generator.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfont/Generated.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont2/Generated.kt"]], "author": "smith.quintin@protonmail.com"}, "e3f052fb838dcda34f7208b83f105ea8e249c7c5": {"id": "e3f052fb838dcda34f7208b83f105ea8e249c7c5", "date": 1753461583.0, "description": "Use square root for volume adjustment. linear doesn't feel right", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusControlEvent.kt"]], "author": "smith.quintin@protonmail.com"}, "d21fdcac35348204cd79dbed28d8320d68adc0d7": {"id": "d21fdcac35348204cd79dbed28d8320d68adc0d7", "date": 1753421690.0, "description": "lint", "files": [["D", "app/src/main/java/com/qfs/pagan/UIChangeBill/UILock.kt"], ["A", "app/src/main/java/com/qfs/pagan/uibill/UILock.kt"], ["D", "app/src/main/java/com/qfs/pagan/UIChangeBill/UIChangeBill.kt"], ["A", "app/src/main/java/com/qfs/pagan/uibill/UIChangeBill.kt"], ["D", "app/src/main/java/com/qfs/pagan/UIChangeBill/Node.kt"], ["A", "app/src/main/java/com/qfs/pagan/uibill/Node.kt"], ["D", "app/src/main/java/com/qfs/pagan/UIChangeBill/BillableItem.kt"], ["A", "app/src/main/java/com/qfs/pagan/uibill/BillableItem.kt"], ["D", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidgetVolume.kt"], ["A", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetVolume.kt"], ["D", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidgetTempo.kt"], ["A", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetTempo.kt"], ["D", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidgetPan.kt"], ["A", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidgetPan.kt"], ["D", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidget.kt"], ["A", "app/src/main/java/com/qfs/pagan/controlwidgets/ControlWidget.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuView.kt"], ["A", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuView.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuRange.kt"], ["A", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuRange.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLine.kt"], ["A", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLine.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLeafPercussion.kt"], ["A", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLeafPercussion.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLeaf.kt"], ["A", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuLeaf.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLine.kt"], ["A", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLine.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLeafB.kt"], ["A", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLeafB.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLeaf.kt"], ["A", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuControlLeaf.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuColumn.kt"], ["A", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuColumn.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuChannel.kt"], ["A", "app/src/main/java/com/qfs/pagan/contextmenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuWithController.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "f5edfbee035d476724a2000d87ae05a3a16e1c87": {"id": "f5edfbee035d476724a2000d87ae05a3a16e1c87", "date": 1753417689.0, "description": "adjusted UnitTests to StructuralChanges", "files": [["M", "scripts/build_other_layer_tests.py"], ["M", "app/src/test/java/com/qfs/pagan/StructureUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLineJSONInterfaceUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerCursorUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerCursorUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/utils/utils.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/ActiveController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusTreeArray.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ReducibleTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ActiveControlSet.kt"]], "author": "smith.quintin@protonmail.com"}, "9d0dfd3df73087a3292627ac0b73752e9f13dd2d": {"id": "9d0dfd3df73087a3292627ac0b73752e9f13dd2d", "date": 1753341057.0, "description": "finished converting ControllerEvent values from single float to FloatArrays", "files": [["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBufferFrame.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.h"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "60543099ba39aec5cc38295612bb62f6060466d6": {"id": "60543099ba39aec5cc38295612bb62f6060466d6", "date": 1753338510.0, "description": "started converting ControllerEvent values from single floats to FloatArrays", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/ControllerProfile.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ControllerEventData.kt"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBufferFrame.h"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.cpp"]], "author": "smith.quintin@protonmail.com"}, "861160a537a49e96212758baada9bd8923f81782": {"id": "861160a537a49e96212758baada9bd8923f81782", "date": 1753334634.0, "description": "separate base layer Exceptions", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/HistoryCache.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/Exception.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/CursorMode.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/Exception.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/UnreachableException.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "41df2337f7f0ecd3712210444b5e5152d2cdd8c8": {"id": "41df2337f7f0ecd3712210444b5e5152d2cdd8c8", "date": 1753215796.0, "description": "ReducibleTree copy function now only called when event is not null. Simplified some usages of <out InstrumentEvent> where possibel", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "cb225b44a360638c2b20be04e9c5b586a413a96f": {"id": "cb225b44a360638c2b20be04e9c5b586a413a96f", "date": 1753202888.0, "description": "changing 'relative_mode' from Int to RelativeInputMode enum", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["A", "app/src/main/java/com/qfs/pagan/RelativeInputMode.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/DrawerChannelMenu/DraggableAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/DrawerChannelMenu/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "643df40ff6c9cf6516459b8a556e7915dd0fab73": {"id": "643df40ff6c9cf6516459b8a556e7915dd0fab73", "date": 1753201069.0, "description": "moved OpusManager Layers into individual packages", "files": [["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusLayerHistory.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/OpusLayerHistory.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/HistoryToken.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/HistoryToken.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/HistoryCache.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/history/HistoryCache.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusManagerCursor.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusManagerCursor.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusLayerCursor.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/cursor/OpusLayerCursor.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/VolumeController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/TempoController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/ReverbController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/PanController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/activecontroller/ControllerProfile.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/ControllerProfile.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/activecontroller/ActiveController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/activecontroller/ActiveController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusTreeArray.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusTreeArray.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusLinePercussion.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLinePercussion.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusLineAbstract.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLineAbstract.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusLine.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLine.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusLayerBase.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusLayerBase.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusEvent.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusControlEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusControlEvent.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusChannel.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/OpusChannel.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/InstrumentEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/InstrumentEvent.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/CtlLineLevel.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/CtlLineLevel.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/ActiveControlSet.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/base/ActiveControlSet.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/activecontroller/VolumeController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/activecontroller/TempoController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/activecontroller/ReverbController.kt"], ["D", "app/src/main/java/com/qfs/pagan/structure/opusmanager/activecontroller/PanController.kt"], ["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusManagerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusLineJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/InstrumentEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/Exception.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuWithController.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "b3b0ac94a39f707158d1f65b182e081c94d6cfda": {"id": "b3b0ac94a39f707158d1f65b182e081c94d6cfda", "date": 1753199173.0, "description": "specified Exceptions in JSON interfaces", "files": [["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/InstrumentEventJSONInterface.kt"], ["A", "app/src/main/java/com/qfs/pagan/jsoninterfaces/Exception.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "bf6d9cd1dfddf52a7f8e6a0a7b753a466aedc7af": {"id": "bf6d9cd1dfddf52a7f8e6a0a7b753a466aedc7af", "date": 1753119298.0, "description": "specified some generic exceptions. added hashCode to JSONObjects", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/projectmanager/Exception.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "2f10c2eec4de52c1bf5fe883bee893272a27729f": {"id": "2f10c2eec4de52c1bf5fe883bee893272a27729f", "date": 1753118540.0, "description": "Added remove_at and sort_by to JSONList\n    Converted ProjectManager's JSON usage to my Json library\n    Documentation", "files": [["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "2c57c28adbb7c05e8a485bbe7070051f1f41226f": {"id": "2c57c28adbb7c05e8a485bbe7070051f1f41226f", "date": 1753116384.0, "description": "documentation on ProjectManager", "files": [["M", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "92ff87401401adc2e03382c75c209a3e4aa30eee": {"id": "92ff87401401adc2e03382c75c209a3e4aa30eee", "date": 1752958383.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "0641f94b5d1f1564587a689cfff6b7906156ac14": {"id": "0641f94b5d1f1564587a689cfff6b7906156ac14", "date": 1752958202.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "6598bbe58dd1f68f23cfb36390c2b3c8716de55e": {"id": "6598bbe58dd1f68f23cfb36390c2b3c8716de55e", "date": 1752958134.0, "description": "Added Obtanium link to README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "9dbed1660ccafdea7a222592d7213ab55450d0b7": {"id": "9dbed1660ccafdea7a222592d7213ab55450d0b7", "date": 1752875347.0, "description": "Lint and restructure", "files": [["M", "app/src/test/java/com/qfs/pagan/StructureUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLineJSONInterfaceUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerCursor.kt"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["D", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/rationaltree/ReducibleTree.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/rationaltree/Exception.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/activecontroller/VolumeController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/activecontroller/TempoController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/activecontroller/ReverbController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/activecontroller/PanController.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/activecontroller/ControllerProfile.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/activecontroller/ControllerProfile.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/activecontroller/ActiveController.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/activecontroller/ActiveController.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/UnreachableException.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/UnreachableException.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/OpusTreeArray.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusTreeArray.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusManagerCursor.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusLinePercussion.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusLineAbstract.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusLine.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusLayerHistory.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusLayerCursor.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusLayerBase.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusEvent.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusControlEvent.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/OpusChannel.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/InstrumentEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/InstrumentEvent.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/HistoryToken.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryCache.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/HistoryCache.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/CtlLineLevel.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/CtlLineLevel.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/opusmanager/ActiveControlSet.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/Rational.kt"], ["D", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["A", "app/src/main/java/com/qfs/pagan/projectmanager/ProjectManager.kt"], ["A", "app/src/main/java/com/qfs/pagan/projectmanager/Exception.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/activecontroller/VolumeController.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/activecontroller/TempoController.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/activecontroller/ReverbController.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/activecontroller/PanController.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLinePercussion.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusTreeJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusManagerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusLineJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/InstrumentEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["D", "app/src/main/java/com/qfs/pagan/Rational.kt"], ["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["D", "app/src/main/java/com/qfs/pagan/DraggableAdapter/DraggableAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/DrawerChannelMenu/DraggableAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/DrawerChannelMenu/ChannelOptionViewHolder.kt"], ["D", "app/src/main/java/com/qfs/pagan/ChannelOptionRecycler.kt"], ["A", "app/src/main/java/com/qfs/pagan/DrawerChannelMenu/ChannelOptionRecycler.kt"], ["D", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/DrawerChannelMenu/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidgetTempo.kt"], ["D", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuWithController.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuChannel.kt"], ["D", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["A", "app/src/main/java/com/qfs/pagan/Activity/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityAbout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "1606e66b635580cc957dbff9d9885326508de745": {"id": "1606e66b635580cc957dbff9d9885326508de745", "date": 1752817011.0, "description": "more lint", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ReverbBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ProfileBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ControllerEventData.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SampleDirective.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Riff.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/PseudoArray.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Preset.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Modulator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Generator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Generated.kt"], ["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/VirtualMidiInputDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "da461085a605ed1fd91247efabe4325e3ccc053c": {"id": "da461085a605ed1fd91247efabe4325e3ccc053c", "date": 1752815841.0, "description": "lint. Enforcing required explicit 'this' usage", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/structure.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/activecontroller/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusManagerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusLineJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill/UILock.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/Rational.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PanSliderWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MidiDeviceManagerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/DraggableAdapter/DraggableAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityAbout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "48a9299a8d41c4c4a37f8245260ce7522d105aff": {"id": "48a9299a8d41c4c4a37f8245260ce7522d105aff", "date": 1752812206.0, "description": "fixed: accidentally broke export_wav", "files": [["A", "fastlane/metadata/android/en-US/changelogs/116.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "30442e1c1c195031a8940b09084dc942205f25f4": {"id": "30442e1c1c195031a8940b09084dc942205f25f4", "date": 1752728968.0, "description": "ucheck to move project files moved to AFTER uri is set", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"]], "author": "smith.quintin@protonmail.com"}, "aaeb58f93f9f745b9e94012cbc65c3200f4cc152": {"id": "aaeb58f93f9f745b9e94012cbc65c3200f4cc152", "date": 1752728230.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/115.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "db97c865a613248b6787f69443385441c8709c3a": {"id": "db97c865a613248b6787f69443385441c8709c3a", "date": 1752726817.0, "description": "populate channel_recycler on ChannelChange (if necessary)", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "348371713aadfb07488375a4bc3febf64bd6f3c2": {"id": "348371713aadfb07488375a4bc3febf64bd6f3c2", "date": 1752726512.0, "description": "auto adjust channel adapter on ChannelAdd ChannelRemove UiBill items", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "6f511b0ae1f50d08d8f51b5a194eb66b42af2ffa": {"id": "6f511b0ae1f50d08d8f51b5a194eb66b42af2ffa", "date": 1752699356.0, "description": "Night Mode as a setting", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "b763756c91bb0eb90481ac37879824d30659bff9": {"id": "b763756c91bb0eb90481ac37879824d30659bff9", "date": 1752697776.0, "description": "moved crash handler to PaganActivity", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "887be1683a31e5d99b535b2d702249694871b7b1": {"id": "887be1683a31e5d99b535b2d702249694871b7b1", "date": 1752690901.0, "description": "check if project directory exists before attempting to save", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "c2aa76640e9fa147db545e599050bbdba5e1f155": {"id": "c2aa76640e9fa147db545e599050bbdba5e1f155", "date": 1752686386.0, "description": "set title text when loading", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "934f7c52397c712284042940d9b4e568f15fd4c5": {"id": "934f7c52397c712284042940d9b4e568f15fd4c5", "date": 1752683476.0, "description": "close drawer on save\n    some lint", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "d4e8013b3fc5c251a12f7ad0e03cdcea5e7c6264": {"id": "d4e8013b3fc5c251a12f7ad0e03cdcea5e7c6264", "date": 1752678871.0, "description": "Update drawer on swap_channel", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "5fa2ad9a611506f142d05b6be97259161d51294f": {"id": "5fa2ad9a611506f142d05b6be97259161d51294f", "date": 1752616820.0, "description": "check channel count and size in draw()", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelStd.kt"]], "author": "smith.quintin@protonmail.com"}, "5bc12a1db8130febc8181a2affeceb4aaca11945": {"id": "5bc12a1db8130febc8181a2affeceb4aaca11945", "date": 1752610717.0, "description": "moved crash log to dataDir", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "90aa63c9f22c1dfded30f5a51fad50505d763f39": {"id": "90aa63c9f22c1dfded30f5a51fad50505d763f39", "date": 1752607720.0, "description": "Update backup file when moving project directories", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "89bb520a470b82673b1c6a2e17dc5ea64c4db137": {"id": "89bb520a470b82673b1c6a2e17dc5ea64c4db137", "date": 1752606055.0, "description": "update project manager's uri on return from settings", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "294e041efb502d137c38c8f550eb829a06a68bf8": {"id": "294e041efb502d137c38c8f550eb829a06a68bf8", "date": 1752602358.0, "description": "- renamed misname 'intent_launcher's\n    - moved 'backup' logic in to ProjectManager\n    - removed a redundant call to EditorTable.clear", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "7ceafc92f8496d43cc4ebc70bdb730012cad0dcf": {"id": "7ceafc92f8496d43cc4ebc70bdb730012cad0dcf", "date": 1752567514.0, "description": "moved active_project back to ActivityEditor. using activity.intent.data in ActivitySettings to handle projects_directory changes (i\\'ll probably move that to an extra value but i'm tired atm). moved bkp_path to ProjectManager", "files": [["M", "app/src/test/java/com/qfs/apres/SoundFontUnitTest.kt"], ["M", "app/src/test/java/com/qfs/apres/SoundFontPlayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "80cf475deaa293549cce5d46e088b049afde6069": {"id": "80cf475deaa293549cce5d46e088b049afde6069", "date": 1752548735.0, "description": "using wt mode in outputstreams", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "35a46d52f315bfdb472ab86d3dc2a842621d03f2": {"id": "35a46d52f315bfdb472ab86d3dc2a842621d03f2", "date": 1752533443.0, "description": "changed 'path' to uri in ProjectManager. recache on project directory change", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"]], "author": "smith.quintin@protonmail.com"}, "4794d72c83451715cf49934f8d7fdb4faa661fea": {"id": "4794d72c83451715cf49934f8d7fdb4faa661fea", "date": 1752533168.0, "description": "show warning when the user doesn't set the project directory when prompted AND they have existing projects in externalstorage. Don't dup files when setting the project directory to the existing project directory", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "f17d119f03997d5b462be30f648738809f43d8a8": {"id": "f17d119f03997d5b462be30f648738809f43d8a8", "date": 1752530971.0, "description": "cleaned get_all() in ActiveControlSet", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"]], "author": "smith.quintin@protonmail.com"}, "a63aef50f9e81c3d5ccfd443f93b713ad3c506ce": {"id": "a63aef50f9e81c3d5ccfd443f93b713ad3c506ce", "date": 1752515783.0, "description": "change active_project uri when moving projects directories", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "dd536457d35923c048a85a27d6ce0606974ff5f1": {"id": "dd536457d35923c048a85a27d6ce0606974ff5f1", "date": 1752479313.0, "description": "throw exception in set_soundfont when file is note found", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "8745082e0b8b139369e2d417e79e56dc6f8a4007": {"id": "8745082e0b8b139369e2d417e79e56dc6f8a4007", "date": 1752476842.0, "description": "typo fix", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "8b75fb55373cc73757c3a8cbadbfe50f89f1bd07": {"id": "8b75fb55373cc73757c3a8cbadbfe50f89f1bd07", "date": 1752475994.0, "description": "bring up dialog on landing screen if user has projects saved in old location", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "5b8d29b8b766fc91c13ab3ac1b0e4f4b50dd90c9": {"id": "5b8d29b8b766fc91c13ab3ac1b0e4f4b50dd90c9", "date": 1752462016.0, "description": "fixed ucheck_move_soundfonts logic", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "9ecbfa016858a0d0f2ab7e2da14f65c61098981b": {"id": "9ecbfa016858a0d0f2ab7e2da14f65c61098981b", "date": 1752456009.0, "description": "on new projects, update percussion channel instruments in order to find lowest line instrument. resolves #108", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "5339c35b3adb6be3d3a77641cd3e260bf4f8ca11": {"id": "5339c35b3adb6be3d3a77641cd3e260bf4f8ca11", "date": 1752438483.0, "description": "export progress bar in drawer. resolves #105", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "a30aa9b1c647ca82da1f5d89130883278b1a7c12": {"id": "a30aa9b1c647ca82da1f5d89130883278b1a7c12", "date": 1752434708.0, "description": "moved active_project to ViewModel. fixed ProjectManager.contains() logic", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "e818c952b863592f95256f522d25f8aee76301b7": {"id": "e818c952b863592f95256f522d25f8aee76301b7", "date": 1752391470.0, "description": "properly set active project when loading from backup", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "8dcc02834fb7a2a772a75363e651994e97d63b3c": {"id": "8dcc02834fb7a2a772a75363e651994e97d63b3c", "date": 1752389908.0, "description": "prevent duplication when attempting to import a soundfont from within the soundfont directory", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "a7f15a5364b6638874f2b7feee11d96d77f36cde": {"id": "a7f15a5364b6638874f2b7feee11d96d77f36cde", "date": 1752385526.0, "description": "started 'ucheck' nomenclature on functions that exist to fix files from previous versions", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "302560e6af505599180f09a00227721e72470556": {"id": "302560e6af505599180f09a00227721e72470556", "date": 1752370947.0, "description": "soundfont existence check onResume", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "49a963f4fc401adb57b1709f06d327405c4513c6": {"id": "49a963f4fc401adb57b1709f06d327405c4513c6", "date": 1752298608.0, "description": "custom soundfont folder functional", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "f7f830044f4d230a59dd9a0b96677c15c3663b6a": {"id": "f7f830044f4d230a59dd9a0b96677c15c3663b6a", "date": 1752276312.0, "description": "work on converting soundfont File/String usage to DocumentFile/Uri", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Riff.kt"]], "author": "smith.quintin@protonmail.com"}, "2bd70725e1a1e0f72d4df88301d733213d6a6a52": {"id": "2bd70725e1a1e0f72d4df88301d733213d6a6a52", "date": 1752268545.0, "description": "working out kinks caused by change to save/load process", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"]], "author": "smith.quintin@protonmail.com"}, "3b9ece3af418c960e1c5a75c56a14cf677c5946b": {"id": "3b9ece3af418c960e1c5a75c56a14cf677c5946b", "date": 1752235074.0, "description": "converting functions that use string paths to uris", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "ae7dd97bdb541e6943d175ff8879636303baa2bd": {"id": "ae7dd97bdb541e6943d175ff8879636303baa2bd", "date": 1752215870.0, "description": "refactoring the way projects are saved. removing path from OpusManagager class", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "15d70d40fd61f62b7926959485110f99715225bf": {"id": "15d70d40fd61f62b7926959485110f99715225bf", "date": 1752182262.0, "description": "created intent specifically for ActivityEditor set project needs. included check for existing projects in ExternalStorage", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "c6e9e1523b74d1989bc65645ab257f8532946554": {"id": "c6e9e1523b74d1989bc65645ab257f8532946554", "date": 1752172830.0, "description": "start work on custom project dir (#76)", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "b2b6c1f1ddd60df1b2baf5f6f0e81722b5a45cae": {"id": "b2b6c1f1ddd60df1b2baf5f6f0e81722b5a45cae", "date": 1752116057.0, "description": "application id", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "8a3c6a0d36a034e833fdcf66616c37c468df9d89": {"id": "8a3c6a0d36a034e833fdcf66616c37c468df9d89", "date": 1752008937.0, "description": "first pass at fixing small-screen relative-option and contextmenu button sizing", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values-normal-land/dimens.xml"], ["M", "app/src/main/res/values-large-land/dimens.xml"], ["M", "app/src/main/res/values-land/dimens.xml"], ["M", "app/src/main/res/values-h361dp/dimens.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "b107e0497eb7646966eae2ba70c385bd6273e8f4": {"id": "b107e0497eb7646966eae2ba70c385bd6273e8f4", "date": 1752007272.0, "description": "removed colons in settings optionss", "files": [["M", "app/src/main/res/values/strings.xml"]], "author": "smith.quintin@protonmail.com"}, "5e371439467733e44d8a58c5b198f2eef813b958": {"id": "5e371439467733e44d8a58c5b198f2eef813b958", "date": 1751693842.0, "description": "consistent status bar", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["A", "app/src/main/res/values-small-land/dimens.xml"], ["M", "app/src/main/res/values-normal-land/dimens.xml"], ["D", "app/src/main/res/values-h361dp/themes.xml"], ["M", "app/src/main/res/values-h361dp/dimens.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/activity_settings.xml"], ["M", "app/src/main/res/layout/activity_landing.xml"], ["D", "app/src/main/res/layout/activity_main.xml"], ["A", "app/src/main/res/layout/activity_editor.xml"], ["M", "app/src/main/res/layout/activity_about.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityAbout.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "661bf1cff7dd6d6deb7a7186e31961a0ce015197": {"id": "661bf1cff7dd6d6deb7a7186e31961a0ce015197", "date": 1751688475.0, "description": "application id", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "d81ffa84b64dd23f563a8b9b1de02e791cf76e73": {"id": "d81ffa84b64dd23f563a8b9b1de02e791cf76e73", "date": 1751688308.0, "description": "Fixed y jump on first selection", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "9d38aa3dd6ea41496226bc6c9c4e54f4c57ea063": {"id": "9d38aa3dd6ea41496226bc6c9c4e54f4c57ea063", "date": 1751685986.0, "description": "Moved MAX_VOLUME adjustment within the get_next_frame() function", "files": [["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"]], "author": "smith.quintin@protonmail.com"}, "198a21604b9be13b4b8522a8b7f7df6fbf4885da": {"id": "198a21604b9be13b4b8522a8b7f7df6fbf4885da", "date": 1751684506.0, "description": "update libraries", "files": [["M", "fastlane/metadata/android/en-US/changelogs/114.txt"], ["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "02d01dde1bed5056727268608cf677bc17b05655": {"id": "02d01dde1bed5056727268608cf677bc17b05655", "date": 1751680328.0, "description": "Using fira sans on NumberSelector buttons", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "2d86ab11e6c51d1f8b3875aa77798d35023ef907": {"id": "2d86ab11e6c51d1f8b3875aa77798d35023ef907", "date": 1751679740.0, "description": "reintroduce volume limiter to reduce distortion (about .78 or 1/1.27)", "files": [["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"]], "author": "smith.quintin@protonmail.com"}, "f2a1defa0293d21197f660344475e0aec8dea09c": {"id": "f2a1defa0293d21197f660344475e0aec8dea09c", "date": 1751678607.0, "description": "changed light mode table lines to pure black", "files": [["M", "app/src/main/res/values/colors.xml"]], "author": "smith.quintin@protonmail.com"}, "72a3b5f8b660d7b3fe9f5947487703f5955e7032": {"id": "72a3b5f8b660d7b3fe9f5947487703f5955e7032", "date": 1751678196.0, "description": "applicationId", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "35b3bba94ea79901762cf5953daec887774c07f0": {"id": "35b3bba94ea79901762cf5953daec887774c07f0", "date": 1751677676.0, "description": "lightened up table_lines a little in light mode", "files": [["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/layout/corner.xml"]], "author": "smith.quintin@protonmail.com"}, "05c8d920a170df05a2ed97ae6d7cff84be97b9d6": {"id": "05c8d920a170df05a2ed97ae6d7cff84be97b9d6", "date": 1751676807.0, "description": "fixed undersized numberselector buttons", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values-normal-land/dimens.xml"], ["M", "app/src/main/res/values-large/dimens.xml"], ["M", "app/src/main/res/values-large-land/dimens.xml"], ["M", "app/src/main/res/values-land/dimens.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/res/drawable/contextmenu_primary.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "3ecb33edef50d7b8c011ec0cc4f29be6ff0c6eb0": {"id": "3ecb33edef50d7b8c011ec0cc4f29be6ff0c6eb0", "date": 1751664320.0, "description": "rounded corners & tweaked padding on context menus", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values-xlarge/dimens.xml"], ["A", "app/src/main/res/values-xlarge-land/dimens.xml"], ["A", "app/src/main/res/values-normal-land/dimens.xml"], ["M", "app/src/main/res/values-large/dimens.xml"], ["A", "app/src/main/res/values-large-land/dimens.xml"], ["A", "app/src/main/res/values-land/dimens.xml"], ["M", "app/src/main/res/values-h361dp/dimens.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout/control_widget_volume.xml"], ["M", "app/src/main/res/layout/control_widget_pan.xml"], ["M", "app/src/main/res/layout/contextmenu_row_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_range_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_range.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout/contextmenu_control_line_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_control_line.xml"], ["M", "app/src/main/res/layout/contextmenu_column.xml"], ["M", "app/src/main/res/layout/contextmenu_channel_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_channel.xml"], ["M", "app/src/main/res/layout/contextmenu_cell_percussion.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range.xml"], ["M", "app/src/main/res/layout-land/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout-land/contextmenu_control_line.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell_percussion.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/res/drawable/volume_widget.xml"], ["M", "app/src/main/res/drawable/tempo_widget_icon.xml"], ["M", "app/src/main/res/drawable/immediate.xml"], ["A", "app/src/main/res/drawable/contextmenu_secondary.xml"], ["M", "app/src/main/res/drawable/contextmenu_primary.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "1534e8ab8d64784353bc536c2c469461dbd19609": {"id": "1534e8ab8d64784353bc536c2c469461dbd19609", "date": 1751644809.0, "description": "Force fira sans only within the editor table", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelStd.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompatibleFileType.kt"]], "author": "smith.quintin@protonmail.com"}, "1175e04b1737452e3dd8034285221f0c1ba8d5d4": {"id": "1175e04b1737452e3dd8034285221f0c1ba8d5d4", "date": 1751643932.0, "description": "round corners of primary context menu in large screens", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values-large/dimens.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["A", "app/src/main/res/drawable/contextmenu_primary.xml"]], "author": "smith.quintin@protonmail.com"}, "34bf15157fab71733eb1b17ff8213588c72b63b0": {"id": "34bf15157fab71733eb1b17ff8213588c72b63b0", "date": 1751610839.0, "description": "Added fira sans license blurb", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_about.xml"]], "author": "smith.quintin@protonmail.com"}, "7abae01c5dc86428bcfdc058604cb28d71e7e162": {"id": "7abae01c5dc86428bcfdc058604cb28d71e7e162", "date": 1751609521.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/114.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "a97e1c90b3614ddd08d80285df3fb0be915e28cb": {"id": "a97e1c90b3614ddd08d80285df3fb0be915e28cb", "date": 1751608996.0, "description": "added more checks for midi device stability", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/midi_device_management.xml"], ["M", "app/src/main/res/layout/midi_device.xml"], ["M", "app/src/main/java/com/qfs/pagan/MidiDeviceManagerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "f6149a95f74d2f6c028b266010090ef64cf5e7f4": {"id": "f6149a95f74d2f6c028b266010090ef64cf5e7f4", "date": 1751594358.0, "description": "readded git diff that were removed by bad linting preventing building (android studio, not me)", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "f36fe53e91557e89839dcc1e648146f6b3ce8885": {"id": "f36fe53e91557e89839dcc1e648146f6b3ce8885", "date": 1751592868.0, "description": "improved check on device info", "files": [["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "d3ae12e90ef9fcd5e105cac06e2dede5ff9e9df6": {"id": "d3ae12e90ef9fcd5e105cac06e2dede5ff9e9df6", "date": 1751589950.0, "description": "check if device info has any open ports before attempting to open input/output devices", "files": [["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "ccf51e5a7b220fbc2a8890b7313ef2ec9f3c7fe4": {"id": "ccf51e5a7b220fbc2a8890b7313ef2ec9f3c7fe4", "date": 1751522186.0, "description": "lint", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerCursorUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerCursorUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerCursor.kt"], ["M", "app/src/main/res/layout/line_label_std.xml"], ["D", "app/src/main/res/layout/color_picker_inline.xml"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/activecontroller/VolumeController.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/activecontroller/TempoController.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/activecontroller/ReverbController.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/activecontroller/PanController.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/activecontroller/ControllerProfile.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveController.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/activecontroller/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["A", "app/src/main/java/com/qfs/pagan/UIChangeBill/UILock.kt"], ["D", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["A", "app/src/main/java/com/qfs/pagan/UIChangeBill/UIChangeBill.kt"], ["A", "app/src/main/java/com/qfs/pagan/UIChangeBill/Node.kt"], ["A", "app/src/main/java/com/qfs/pagan/UIChangeBill/BillableItem.kt"], ["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganProgressBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MenuDialogEventHandler.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelView.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelStd.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabelCtlLine.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtlLine.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtlGlobal.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabelCtlChannel.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtlChannel.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabelCtl.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelCtl.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabel/LineLabelColumnLayout.kt"], ["D", "app/src/main/java/com/qfs/pagan/IntentFragmentToken.kt"], ["D", "app/src/main/java/com/qfs/pagan/InlineColorPicker.kt"], ["D", "app/src/main/java/com/qfs/pagan/EditorViewModel.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["D", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["A", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidgetVolume.kt"], ["D", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["A", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidgetTempo.kt"], ["D", "app/src/main/java/com/qfs/pagan/ControlWidgetReverb.kt"], ["A", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidgetReverb.kt"], ["D", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"], ["A", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidgetPan.kt"], ["D", "app/src/main/java/com/qfs/pagan/ControlWidget.kt"], ["A", "app/src/main/java/com/qfs/pagan/ControlWidget/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuWithController.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLeaf.kt"], ["D", "app/src/main/java/com/qfs/pagan/ButtonStd.kt"], ["D", "app/src/main/java/com/qfs/pagan/ButtonColor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "80c69cfd2e4c7eef27b0b13b8174dc046c6fa259": {"id": "80c69cfd2e4c7eef27b0b13b8174dc046c6fa259", "date": 1751514859.0, "description": "changed 'link' wording in feedback_mixed_link", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "bc5c072f8133934288649e9edbae8b04d9a7064c": {"id": "bc5c072f8133934288649e9edbae8b04d9a7064c", "date": 1751506825.0, "description": "fixed cast to LineLabelColumnLayout. fixed y position check int _scroll_to_y in landscape", "files": [["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "ba8efa1d4abf2555538f5318906b3f3f7cd6778e": {"id": "ba8efa1d4abf2555538f5318906b3f3f7cd6778e", "date": 1751502329.0, "description": "improved bottom padding", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "e36b7ee8ca01dea14faaea9969ba09c96023955a": {"id": "e36b7ee8ca01dea14faaea9969ba09c96023955a", "date": 1751473415.0, "description": "context menu translucent. can scroll past bottom of table", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "aa0c8a23b1c10adca83c482f8f2b1b2acd1fb446": {"id": "aa0c8a23b1c10adca83c482f8f2b1b2acd1fb446", "date": 1751469856.0, "description": "midi device dialog work", "files": [["M", "app/src/main/res/menu/main_options_menu.xml"], ["M", "app/src/main/java/com/qfs/pagan/MidiDeviceManagerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "cf62cddd7dab6fb412376cd97985ae86c0bcfb6b": {"id": "cf62cddd7dab6fb412376cd97985ae86c0bcfb6b", "date": 1751435244.0, "description": "populate midi device recycler view", "files": [["M", "app/src/main/java/com/qfs/pagan/MidiDeviceManagerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "e8f3980b3c98f708fd67ed877179fcc03614af37": {"id": "e8f3980b3c98f708fd67ed877179fcc03614af37", "date": 1751386881.0, "description": "start work on #81", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/menu/main_options_menu.xml"], ["A", "app/src/main/res/layout/midi_device_management.xml"], ["A", "app/src/main/res/layout/midi_device.xml"], ["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/MidiDeviceManagerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "811f75a2e9b8b7908437f57a787272e315c1b752": {"id": "811f75a2e9b8b7908437f57a787272e315c1b752", "date": 1751338721.0, "description": "check beats size in == function for OpusTreeArray", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusTreeArray.kt"]], "author": "smith.quintin@protonmail.com"}, "2edc079baf6a3726c26240bbffaec829aae88768": {"id": "2edc079baf6a3726c26240bbffaec829aae88768", "date": 1751259209.0, "description": "using fira sans as main font", "files": [["M", "app/src/main/res/values/themes.xml"], ["A", "app/src/main/res/font/fira_sans.ttf"], ["D", "app/src/main/res/font/fira_code.ttf"]], "author": "smith.quintin@protonmail.com"}, "b5b8f4b8848e743120139f447fc100277fde3c97": {"id": "b5b8f4b8848e743120139f447fc100277fde3c97", "date": 1751253367.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"]], "author": "smith.quintin@protonmail.com"}, "1ce00e33585dde600353abd0632447c33b0f3dd1": {"id": "1ce00e33585dde600353abd0632447c33b0f3dd1", "date": 1751253352.0, "description": "fix line labels not updating correctly when channels are rearranged via the drawer", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "e415cd7f80397334c7754ef1c7be8db365c57140": {"id": "e415cd7f80397334c7754ef1c7be8db365c57140", "date": 1751127475.0, "description": "cleaned up version conversion", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "7225c912efaf9a4427e9f7eb06d6b75cb9e7ad8e": {"id": "7225c912efaf9a4427e9f7eb06d6b75cb9e7ad8e", "date": 1751089833.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/113.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "a2ebfad14e9083db92ab390e259b2be047b0fa5f": {"id": "a2ebfad14e9083db92ab390e259b2be047b0fa5f", "date": 1751088465.0, "description": "new_channel. percussion defaults to the correct value again", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "cd7e259e9d8940b7a84cc7945ac5316c5aa5365c": {"id": "cd7e259e9d8940b7a84cc7945ac5316c5aa5365c", "date": 1751087251.0, "description": "draggable channels in drawer", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/DraggableAdapter/DraggableAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "ce832cae5f6c2a7e618b1bb284e6421e13dd2e5b": {"id": "ce832cae5f6c2a7e618b1bb284e6421e13dd2e5b", "date": 1751048237.0, "description": "work on draggable channels in drawer", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["A", "app/src/main/java/com/qfs/pagan/DraggableAdapter/DraggableAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "e26e87f4dd616d4cb22b5d10d5402c0e449ea74d": {"id": "e26e87f4dd616d4cb22b5d10d5402c0e449ea74d", "date": 1751043520.0, "description": "increase min drawer width", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values-xlarge/dimens.xml"], ["M", "app/src/main/res/values-large/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "feeffe2fed0f770ab1cb3ad502b3237764e26cc1": {"id": "feeffe2fed0f770ab1cb3ad502b3237764e26cc1", "date": 1751035442.0, "description": "save configuration when soundfont is changed on load", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "f5a41d6f7548b744661bd59b0639267ba2e17667": {"id": "f5a41d6f7548b744661bd59b0639267ba2e17667", "date": 1751009777.0, "description": "update unit tests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "aefaae0c129ceaee1c797983b4da5a3675f6bce1": {"id": "aefaae0c129ceaee1c797983b4da5a3675f6bce1", "date": 1751007685.0, "description": "crashfix: *correctly* adjusting event values between 0-127", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "cd570f0bbc1ff1677bf8e00081c799433d29ccb6": {"id": "cd570f0bbc1ff1677bf8e00081c799433d29ccb6", "date": 1751000506.0, "description": "only export first detected kit to midi file", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "0a32ba3fd512ef00d1abe17983afd02da617d47b": {"id": "0a32ba3fd512ef00d1abe17983afd02da617d47b", "date": 1751000372.0, "description": "midi export warning when multiple kits are detected", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "c5387cbdf04f8f98cfe1d1b7a0e8612eb586a116": {"id": "c5387cbdf04f8f98cfe1d1b7a0e8612eb586a116", "date": 1750993548.0, "description": "handle percussion instrument name caching", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "e21d2a69f4ead71ca19d5ee4ac3f076a9bcd7b1c": {"id": "e21d2a69f4ead71ca19d5ee4ac3f076a9bcd7b1c", "date": 1750976205.0, "description": "merge", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/line_label_std.xml"], ["M", "app/src/main/res/drawable/add_channel_kit.xml"], ["M", "app/src/main/res/drawable/add_channel.xml"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"]], "author": "smith.quintin@protonmail.com"}, "e1d9bd90acac7a3ea44051181301410b3d898bf0": {"id": "e1d9bd90acac7a3ea44051181301410b3d898bf0", "date": 1750974254.0, "description": "fixed slight padding issue with new channel buttons", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"]], "author": "smith.quintin@protonmail.com"}, "a4e68112abce8dad7847d8514ab95a598c93acdd": {"id": "a4e68112abce8dad7847d8514ab95a598c93acdd", "date": 1750973922.0, "description": "undid kit channel underlining and reverted to the ! prefix", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "c34148c216488fc9e354cb0beee4a792dd936158": {"id": "c34148c216488fc9e354cb0beee4a792dd936158", "date": 1750972603.0, "description": "created new icons for adding/removing channels and kits", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/contextmenu_channel.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["A", "app/src/main/res/drawable/remove_channel.xml"], ["A", "app/src/main/res/drawable/add_channel_kit.xml"], ["A", "app/src/main/res/drawable/add_channel.xml"]], "author": "smith.quintin@protonmail.com"}, "0900d597963c45c4c3988e65bef43cc0846c583a": {"id": "0900d597963c45c4c3988e65bef43cc0846c583a", "date": 1750912084.0, "description": "forego unused percussion channels when importing midi", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "4007ce98fdbcc77b9299c8c921cb590d7222be22": {"id": "4007ce98fdbcc77b9299c8c921cb590d7222be22", "date": 1750892308.0, "description": "adjusted import logic to handle multiple kits", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "7e8b577eba1af1b1118d44b534d87447855c933f": {"id": "7e8b577eba1af1b1118d44b534d87447855c933f", "date": 1750876421.0, "description": "added insert kit channel button to ContextMenuChannel. Needs Icon", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/contextmenu_channel.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "9f2b660db01c016d1f3e121e11d5101ef3cb85a8": {"id": "9f2b660db01c016d1f3e121e11d5101ef3cb85a8", "date": 1750875598.0, "description": "tweaked line label to display channel number on percussion lines", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/strings.xml"], ["A", "app/src/main/res/layout/line_label_std.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"]], "author": "smith.quintin@protonmail.com"}, "c1f3d7960d205376a6cd5214781e042bb6a584a0": {"id": "c1f3d7960d205376a6cd5214781e042bb6a584a0", "date": 1750837243.0, "description": "insert percussion channel button in drawer", "files": [["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "23760dc65fdce59728c59d99838e4693a20891e1": {"id": "23760dc65fdce59728c59d99838e4693a20891e1", "date": 1750779519.0, "description": "removed error when attempting to move percussion channel", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "4e8e1ccc96890085191c9b7ed052a6a18a8576c8": {"id": "4e8e1ccc96890085191c9b7ed052a6a18a8576c8", "date": 1750779158.0, "description": "merged all percussion_channel logic in with the standard channels' logic", "files": [["M", "app/src/main/res/layout/config_channel_item.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "28d84649d361a04df86c6cf16690c13cbf86e96f": {"id": "28d84649d361a04df86c6cf16690c13cbf86e96f", "date": 1750717389.0, "description": "work on multiple percussion channels, HistoryLayer - remove_channel(), percussion_set_instrument()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"]], "author": "smith.quintin@protonmail.com"}, "39bfd53eff835e25fe1c279e24f0a4d07cb0e586": {"id": "39bfd53eff835e25fe1c279e24f0a4d07cb0e586", "date": 1750698958.0, "description": "show  loading reticle on import soundfont", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "30cbbcf072725a8765e9e94f6fd8d054c4822c4b": {"id": "30cbbcf072725a8765e9e94f6fd8d054c4822c4b", "date": 1750698425.0, "description": "show loading reticle on import file", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "6e48b7ffa3f65630d2aa3ba4ef5fea13cb86c7b2": {"id": "6e48b7ffa3f65630d2aa3ba4ef5fea13cb86c7b2", "date": 1750695906.0, "description": "handle bad project import", "files": [["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "98bf5615d529394a19f09d82660e0339c610e45b": {"id": "98bf5615d529394a19f09d82660e0339c610e45b", "date": 1750618506.0, "description": "renamed fastlane images", "files": [["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/003 - Pagan.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/3.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/002 - Pagan.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/2.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/001 - Pagan.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/1.png"]], "author": "smith.quintin@protonmail.com"}, "71db63a2057dadeb2ec67c6674768df35f52fee3": {"id": "71db63a2057dadeb2ec67c6674768df35f52fee3", "date": 1750617567.0, "description": "applicationId", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "bf0e3ca0a33093044c996691deb1b26920c0a9a7": {"id": "bf0e3ca0a33093044c996691deb1b26920c0a9a7", "date": 1750612941.0, "description": "update changelog", "files": [["M", "fastlane/metadata/android/en-US/changelogs/112.txt"]], "author": "smith.quintin@protonmail.com"}, "202f1cf6f18adc454ad17334c1973e53169a87b4": {"id": "202f1cf6f18adc454ad17334c1973e53169a87b4", "date": 1750569564.0, "description": "changed default volume to 100% (.78F) and volume widget to use 0 .. 127 range", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"]], "author": "smith.quintin@protonmail.com"}, "2830de981acd02232b5312ef8a9aa455dbfe9c46": {"id": "2830de981acd02232b5312ef8a9aa455dbfe9c46", "date": 1750563004.0, "description": "version update", "files": [["A", "fastlane/metadata/android/en-US/changelogs/112.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveController.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "7864002933e7155b095117aa6323c93eaa25dbec": {"id": "7864002933e7155b095117aa6323c93eaa25dbec", "date": 1750552235.0, "description": "work on multiple percussion channels", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "7d4c4f4b3dc86379057871aef2905debd4c68292": {"id": "7d4c4f4b3dc86379057871aef2905debd4c68292", "date": 1750518969.0, "description": "Fixed shortcut button not jumping to zero when already on zero", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "dad5ef9abbfbb3802b29f6588a37c4496add3584": {"id": "dad5ef9abbfbb3802b29f6588a37c4496add3584", "date": 1750518529.0, "description": "moved loading reticle logic to PaganActivity", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/cpp/soundfontplayer/PitchedBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "fd5ec9dfeaa9fc31362c17b07860c04630a24728": {"id": "fd5ec9dfeaa9fc31362c17b07860c04630a24728", "date": 1750482430.0, "description": "rebuilt *most* of OpusLayerBase's percussion logic to handle multiple kits (#66)", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "10cc5c17da9921fb60637eafc4f39d5f1923a07d": {"id": "10cc5c17da9921fb60637eafc4f39d5f1923a07d", "date": 1750463201.0, "description": "modified JSON interface for next version (4). puts percussion channel in the channels array. allows for multiple percussion channels", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusManagerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "9eb1612d83e1363ba8e9e6e7604dd910c9c9dd8c": {"id": "9eb1612d83e1363ba8e9e6e7604dd910c9c9dd8c", "date": 1750386193.0, "description": "edge-to-edge", "files": [["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "419345950ccf088dc40a1ad9c75a5d71d31c58b7": {"id": "419345950ccf088dc40a1ad9c75a5d71d31c58b7", "date": 1750384391.0, "description": "delete project from load menu", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/dialog_project_info.xml"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "f49356971262fc1da37375158a71d028a17d6a7d": {"id": "f49356971262fc1da37375158a71d028a17d6a7d", "date": 1750349583.0, "description": "show version in about title bar", "files": [["D", "app/src/main/res/layout/fragment_license.xml"], ["A", "app/src/main/res/layout/fragment_about.xml"], ["M", "app/src/main/res/layout/activity_about.xml"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityAbout.kt"]], "author": "smith.quintin@protonmail.com"}, "0732767acfbcf688a8d50cfc89c478e297b08801": {"id": "0732767acfbcf688a8d50cfc89c478e297b08801", "date": 1750347453.0, "description": "handle forgotten activity", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "559b16e6b79ca13c68effe8d4d92b43a69b06cfc": {"id": "559b16e6b79ca13c68effe8d4d92b43a69b06cfc", "date": 1750342705.0, "description": "modified landing page layouts", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values-xlarge/dimens.xml"], ["M", "app/src/main/res/values-large/dimens.xml"], ["A", "app/src/main/res/layout/warning_no_soundfont.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["A", "app/src/main/res/layout-large-land/fragment_landing.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"]], "author": "smith.quintin@protonmail.com"}, "e927d1cd06641fdc8fc18474bf128e02cc9329bd": {"id": "e927d1cd06641fdc8fc18474bf128e02cc9329bd", "date": 1750314810.0, "description": "work on improving layout at all sizing. fixed NumberSelector layouts", "files": [["M", "app/src/main/res/values/dimens.xml"], ["A", "app/src/main/res/values-xlarge/dimens.xml"], ["A", "app/src/main/res/values-large/dimens.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "233e0458d677eac3e45b5141e7a315c1267dd0fd": {"id": "233e0458d677eac3e45b5141e7a315c1267dd0fd", "date": 1750307261.0, "description": "fixed fragment_main", "files": [["M", "app/src/main/res/layout-land/fragment_main.xml"]], "author": "smith.quintin@protonmail.com"}, "e7ff2ad94f91ddcd0d1cda8f7519ed020a5520db": {"id": "e7ff2ad94f91ddcd0d1cda8f7519ed020a5520db", "date": 1750306985.0, "description": "removed unused code", "files": [["D", "app/src/main/res/values-sw360dp-land/themes.xml"], ["D", "app/src/main/res/values-sw320dp/dimens.xml"], ["D", "app/src/main/res/values-sw320dp-land/dimens.xml"], ["D", "app/src/main/res/values-land/themes.xml"], ["D", "app/src/main/res/values-land/dimens.xml"], ["A", "app/src/main/res/values-h361dp/themes.xml"], ["D", "app/src/main/res/values-h360dp/integers.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"]], "author": "smith.quintin@protonmail.com"}, "ea43f231022d6de764208c93cf734f4153cfeaad": {"id": "ea43f231022d6de764208c93cf734f4153cfeaad", "date": 1750305893.0, "description": "dimens tweaks", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/integers.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["A", "app/src/main/res/values-h361dp/dimens.xml"]], "author": "smith.quintin@protonmail.com"}, "8467ce70bb5b7facf4171163a8fdef8e4f244e63": {"id": "8467ce70bb5b7facf4171163a8fdef8e4f244e63", "date": 1750269767.0, "description": "hide status bar on small screens in landscape", "files": [["M", "app/src/main/res/values/themes.xml"], ["A", "app/src/main/res/values-sw360dp-land/themes.xml"], ["A", "app/src/main/res/values-land/themes.xml"], ["M", "app/src/main/res/layout/activity_main.xml"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "57d054a9478579766cd35102c20012017f090077": {"id": "57d054a9478579766cd35102c20012017f090077", "date": 1750227955.0, "description": "long press projects in load menu to bring up info", "files": [["M", "app/src/main/res/values/strings.xml"], ["A", "app/src/main/res/layout/dialog_project_info.xml"], ["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["A", "app/src/main/java/com/qfs/pagan/MenuDialogEventHandler.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"]], "author": "smith.quintin@protonmail.com"}, "2e576291dcc9c3dec6471a1bf8315007eff8c98d": {"id": "2e576291dcc9c3dec6471a1bf8315007eff8c98d", "date": 1750217861.0, "description": "spinner text alignment to end", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "ac70a33472c2345a39b7baf28d2b866a8fc3ba19": {"id": "ac70a33472c2345a39b7baf28d2b866a8fc3ba19", "date": 1750205388.0, "description": "include  project notes in midi", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "ea7643ec361526f6166dd9e411b4af880d8606b9": {"id": "ea7643ec361526f6166dd9e411b4af880d8606b9", "date": 1750203186.0, "description": "get_midi() considering Channel Volume", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "0d96abbf63e7777ba19457067893c04d6d1e1c06": {"id": "0d96abbf63e7777ba19457067893c04d6d1e1c06", "date": 1750198918.0, "description": "removed unused ButtonIcon", "files": [["D", "app/src/main/java/com/qfs/pagan/ButtonIcon.kt"]], "author": "smith.quintin@protonmail.com"}, "206da5cb9d63b7378e7f4d11e3505f4c981c79b5": {"id": "206da5cb9d63b7378e7f4d11e3505f4c981c79b5", "date": 1750197158.0, "description": "moved MainActivity to ActivityEditor", "files": [["M", "app/src/main/res/layout/activity_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganProgressBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganBroadcastReceiver.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/InlineColorPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ConfigImage.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/ButtonIcon.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["D", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["A", "app/src/main/java/com/qfs/pagan/Activity/ActivityEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"], ["M", "app/src/main/AndroidManifest.xml"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"]], "author": "smith.quintin@protonmail.com"}, "6ffc5fd694422fe7fa67454e8a3b5da90cfb4b53": {"id": "6ffc5fd694422fe7fa67454e8a3b5da90cfb4b53", "date": 1750177959.0, "description": "back navigation in MainActivity closes drawer, clears cursor *then* navigates normally", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "414e89dd79becd3129ca153c82363e1361574cdf": {"id": "414e89dd79becd3129ca153c82363e1361574cdf", "date": 1750119405.0, "description": "removed debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "cec2597293b30d3e1857bf6f626bd74ecbd73e98": {"id": "cec2597293b30d3e1857bf6f626bd74ecbd73e98", "date": 1750119006.0, "description": "save_to_backup onSaveInstanceState", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "187511df40f02a5d9266921773f1f6e6c740fe72": {"id": "187511df40f02a5d9266921773f1f6e6c740fe72", "date": 1750118676.0, "description": "reimplemented blocker view when playing", "files": [["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "784bf07be0eb8529073498eee01a08c46d020e1a": {"id": "784bf07be0eb8529073498eee01a08c46d020e1a", "date": 1750089658.0, "description": "catch invalid/notfound associated soundfonts when importing project", "files": [["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "4055033d81e18ef1e4ef28d6ca997269a4b22327": {"id": "4055033d81e18ef1e4ef28d6ca997269a4b22327", "date": 1750087251.0, "description": "removed unused first_load_done. moved path set on midi import into OpusLayerInterface", "files": [["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "57a54675a9fecfd1d61e02ed69585834c990d205": {"id": "57a54675a9fecfd1d61e02ed69585834c990d205", "date": 1750002600.0, "description": "modified the fix to the overzealous save checking", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"]], "author": "smith.quintin@protonmail.com"}, "8ea50af260cbd779e1b31d647b17f4ef5af94d40": {"id": "8ea50af260cbd779e1b31d647b17f4ef5af94d40", "date": 1750002258.0, "description": "removed unnecessary meta-data in manifest", "files": [["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "83395beb206bbb75f86d07fbcb5e1579458792f9": {"id": "83395beb206bbb75f86d07fbcb5e1579458792f9", "date": 1749963734.0, "description": "skip dialog_save_project if loaded from landing", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"]], "author": "smith.quintin@protonmail.com"}, "727f16a6040052da662e009ee4ba9e5c2e0b829d": {"id": "727f16a6040052da662e009ee4ba9e5c2e0b829d", "date": 1749957866.0, "description": "handle rotation redrawing table. moved save check for project change", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "d49393b946118a214ffe68b00423282beb9bd6af": {"id": "d49393b946118a214ffe68b00423282beb9bd6af", "date": 1749939751.0, "description": "fixed screen oriented rendering then changing when user specified", "files": [["D", "app/src/main/res/navigation/nav_graph.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/FragmentPagan.kt"], ["D", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "9e2b7454e950159c0e2efc1a00ddcdf45631f5e9": {"id": "9e2b7454e950159c0e2efc1a00ddcdf45631f5e9", "date": 1749924617.0, "description": "removed unused Tracked Actions from unit tests", "files": [["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/assets/tests/opus_1739987654989.json"], ["M", "app/src/main/assets/tests/generated_1739987654989.json"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "199ce0f05836c24e03bb79b8702fa196e72edaec": {"id": "199ce0f05836c24e03bb79b8702fa196e72edaec", "date": 1749919367.0, "description": "removed unused TrackedActions", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "459addd0c93087be2ecefee4f5854bf638b7a8fe": {"id": "459addd0c93087be2ecefee4f5854bf638b7a8fe", "date": 1749885696.0, "description": "save dialog on back", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "3b4ac81942351358f0a3762c7f291f2ba611f6e3": {"id": "3b4ac81942351358f0a3762c7f291f2ba611f6e3", "date": 1749884576.0, "description": "added issues & feature requests to about page", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_license.xml"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusLineJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityAbout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "66d374f59e804f86fbb1294b0b6c2efe9665a3db": {"id": "66d374f59e804f86fbb1294b0b6c2efe9665a3db", "date": 1749876506.0, "description": "cleanup logic around configuration changes", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "c2569f0314639fb786f3ca106f04f0e9f41c2106": {"id": "c2569f0314639fb786f3ca106f04f0e9f41c2106", "date": 1749857469.0, "description": "reimplemented back functionality. separated import for landing & main activities", "files": [["M", "app/src/main/res/layout/fragment_license.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/activity_settings.xml"], ["M", "app/src/main/res/layout/activity_about.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityAbout.kt"]], "author": "smith.quintin@protonmail.com"}, "7980bba6086c45b064ed77f06e4a6825c2287ac9": {"id": "7980bba6086c45b064ed77f06e4a6825c2287ac9", "date": 1749842303.0, "description": "moved forced path from load() to project_change_json()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "3f47c336024886c30c45b13c0b5761fe9f50a219": {"id": "3f47c336024886c30c45b13c0b5761fe9f50a219", "date": 1749834863.0, "description": "shorten label for 'open with...' functionality", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "cd8d18c2258d63887cda9e3b783982abf9ffc381": {"id": "cd8d18c2258d63887cda9e3b783982abf9ffc381", "date": 1749833726.0, "description": "fixed 'contains()' check again", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"]], "author": "smith.quintin@protonmail.com"}, "745d283c51e34cdd5f11a05ecbb9ccdc482a98e4": {"id": "745d283c51e34cdd5f11a05ecbb9ccdc482a98e4", "date": 1749832508.0, "description": "uncomment soundfont warning handling in landing activity", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"]], "author": "smith.quintin@protonmail.com"}, "34e1643c09691390ba8296801eb97cbf9ae88dc4": {"id": "34e1643c09691390ba8296801eb97cbf9ae88dc4", "date": 1749792613.0, "description": "more clean up from splitting activities. fixed ProjectManager.contains()", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "13628556dfe08d28a80b9afac5489e954219b588": {"id": "13628556dfe08d28a80b9afac5489e954219b588", "date": 1749705997.0, "description": "load project logic", "files": [["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "da5a5424405aa3acee307746fa657e6ef658a084": {"id": "da5a5424405aa3acee307746fa657e6ef658a084", "date": 1749689581.0, "description": "cleaned up load/import/new logic", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/AndroidManifest.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "8d270f7e111f0f62c63723899eff3de985fd4229": {"id": "8d270f7e111f0f62c63723899eff3de985fd4229", "date": 1749677519.0, "description": "restore tuning_table dialog", "files": [["M", "app/src/main/res/layout/activity_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "76250131c9a555c0f8a41fa396c0a3d02ee2f3b9": {"id": "76250131c9a555c0f8a41fa396c0a3d02ee2f3b9", "date": 1749676549.0, "description": "activities laying out correctly", "files": [["M", "app/src/main/res/layout/fragment_main.xml"], ["D", "app/src/main/res/layout/content_main.xml"], ["D", "app/src/main/res/layout/app_bar.xml"], ["M", "app/src/main/res/layout/activity_settings.xml"], ["M", "app/src/main/res/layout/activity_main.xml"], ["M", "app/src/main/res/layout/activity_landing.xml"], ["M", "app/src/main/res/layout/activity_about.xml"], ["D", "app/src/main/res/layout-land/content_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "3bc34024b64e003c7892a2ab1a8d9e82c804aad8": {"id": "3bc34024b64e003c7892a2ab1a8d9e82c804aad8", "date": 1749669715.0, "description": "moved more functionality from FragmentEditor to MainActivity", "files": [["M", "app/src/main/res/layout/fragment_main.xml"], ["D", "app/src/main/res/layout/app_bar_main.xml"], ["M", "app/src/main/res/layout/activity_main.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"]], "author": "smith.quintin@protonmail.com"}, "dbfda36504f4a1e53b495cf3a1c62308781f6d43": {"id": "dbfda36504f4a1e53b495cf3a1c62308781f6d43", "date": 1749620375.0, "description": "started moving FragmentEditor logic into MainActivity", "files": [["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/activity_settings.xml"], ["M", "app/src/main/res/layout/activity_main.xml"], ["M", "app/src/main/res/layout/activity_landing.xml"], ["M", "app/src/main/res/layout/activity_about.xml"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["D", "app/src/main/java/com/qfs/pagan/FragmentLicense.kt"], ["D", "app/src/main/java/com/qfs/pagan/FragmentLandingPage.kt"], ["D", "app/src/main/java/com/qfs/pagan/ActivityLanding.kt"], ["D", "app/src/main/java/com/qfs/pagan/ActivitySettings.kt"], ["A", "app/src/main/java/com/qfs/pagan/Activity/ActivitySettings.kt"], ["A", "app/src/main/java/com/qfs/pagan/Activity/ActivityLanding.kt"], ["D", "app/src/main/java/com/qfs/pagan/ActivityAbout.kt"], ["A", "app/src/main/java/com/qfs/pagan/Activity/ActivityAbout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/AndroidManifest.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "c3355fb1fd83bd8c93f098f5e7bc92d82a50dd84": {"id": "c3355fb1fd83bd8c93f098f5e7bc92d82a50dd84", "date": 1749504143.0, "description": "separated landing from MainActivity. non-functional", "files": [["A", "app/src/main/res/layout/activity_landing.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["A", "app/src/main/java/com/qfs/pagan/ActivityLanding.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "9c69d37a221e207c6b4d3dd30368d00f40cfda42": {"id": "9c69d37a221e207c6b4d3dd30368d00f40cfda42", "date": 1749503205.0, "description": "separated AboutActivity", "files": [["A", "app/src/main/res/layout/activity_about.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentLandingPage.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActivitySettings.kt"], ["A", "app/src/main/java/com/qfs/pagan/ActivityAbout.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "c9fb8587dc6d0ab4611416d1f6d3e2f34297645b": {"id": "c9fb8587dc6d0ab4611416d1f6d3e2f34297645b", "date": 1749363267.0, "description": "sized some layout sizing in sw320dp/landscape. reduced actionbar height in that mode to free up space", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values-sw320dp/dimens.xml"], ["A", "app/src/main/res/values-sw320dp-land/dimens.xml"], ["M", "app/src/main/res/layout/app_bar_main.xml"]], "author": "smith.quintin@protonmail.com"}, "cfcc9f476c830e1ee90e76196214c1207b2e2edf": {"id": "cfcc9f476c830e1ee90e76196214c1207b2e2edf", "date": 1749356317.0, "description": "lint. new_line sometimes crashing. activity variable somehow being destroyed between null check and usage", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "7dbfe29184ad9e7310e4cb791ca141f74f177f8f": {"id": "7dbfe29184ad9e7310e4cb791ca141f74f177f8f", "date": 1749261951.0, "description": "ActivitySettings returns configuration", "files": [["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/activity_settings.xml"], ["M", "app/src/main/res/layout/activity_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentLandingPage.kt"], ["D", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "9b19cda0e975dccf7028c7490874c82b072ea803": {"id": "9b19cda0e975dccf7028c7490874c82b072ea803", "date": 1749191400.0, "description": "starting to split up MainActivity", "files": [["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/app_bar_main.xml"], ["A", "app/src/main/res/layout/app_bar.xml"], ["A", "app/src/main/res/layout/activity_settings.xml"], ["A", "app/src/main/java/com/qfs/pagan/PaganActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["A", "app/src/main/java/com/qfs/pagan/ActivitySettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "62173ae69f68127d5745f4eb2d58ba0788e8053e": {"id": "62173ae69f68127d5745f4eb2d58ba0788e8053e", "date": 1749098456.0, "description": "fixed color picker text inputs having range of 0-1", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "2ec3364d5a0573138c25ed5ff8a57d148c2c96d5": {"id": "2ec3364d5a0573138c25ed5ff8a57d148c2c96d5", "date": 1749097746.0, "description": "line colors", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["D", "app/src/main/res/values-small/dimens.xml"], ["A", "app/src/main/res/values-sw320dp/dimens.xml"], ["M", "app/src/main/res/values-land/dimens.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/res/layout/color_picker.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/res/layout-land/color_picker.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/InlineColorPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/HexEditText.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentLandingPage.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLine.kt"]], "author": "smith.quintin@protonmail.com"}, "9360e6fbeb042b4b836b6b76b21bedba61710582": {"id": "9360e6fbeb042b4b836b6b76b21bedba61710582", "date": 1749067808.0, "description": "colored stripes working. need to improve the color picker", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusLineJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLine.kt"]], "author": "smith.quintin@protonmail.com"}, "57c95950db8e273cd3747bdce3c993b75f15d291": {"id": "57c95950db8e273cd3747bdce3c993b75f15d291", "date": 1749062079.0, "description": "working on line label not drawing color stripe", "files": [["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "a7f549b7e7ede9c0b7e1e8fd4c8a5f1f3ca10627": {"id": "a7f549b7e7ede9c0b7e1e8fd4c8a5f1f3ca10627", "date": 1749056007.0, "description": "restore original leaf colors", "files": [["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"]], "author": "smith.quintin@protonmail.com"}, "0bd3ef410edd59298164871db4c5c83aa2fcda2f": {"id": "0bd3ef410edd59298164871db4c5c83aa2fcda2f", "date": 1749037975.0, "description": "using color stripe instead of full line color", "files": [["D", "app/src/main/res/color/leafbkp.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "1c4909fe6a88e2d3c5a0bd2f2d2fd93a25920a31": {"id": "1c4909fe6a88e2d3c5a0bd2f2d2fd93a25920a31", "date": 1749015066.0, "description": "colored lines poc in place", "files": [["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/layout/color_picker_inline.xml"], ["M", "app/src/main/res/layout/color_picker.xml"], ["M", "app/src/main/res/layout-land/color_picker.xml"], ["A", "app/src/main/res/color/leafbkp.xml"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusLineJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InlineColorPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLine.kt"]], "author": "smith.quintin@protonmail.com"}, "912ddba097b2b8e35d6d60a3783749d2f0f1675f": {"id": "912ddba097b2b8e35d6d60a3783749d2f0f1675f", "date": 1748927029.0, "description": "readded color picker layouts", "files": [["M", "app/src/main/res/values/dimens.xml"], ["A", "app/src/main/res/layout/color_picker_inline.xml"], ["A", "app/src/main/res/layout/color_picker.xml"], ["A", "app/src/main/res/layout-land/color_picker.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "550c37ec8915feaef81210cb4772f648f8874625": {"id": "550c37ec8915feaef81210cb4772f648f8874625", "date": 1748892641.0, "description": "brought back old color picker interface. (needs to separated from old logic)", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["A", "app/src/main/java/com/qfs/pagan/InlineColorPicker.kt"]], "author": "smith.quintin@protonmail.com"}, "30be27703af8f5fa202d5670f68eedb3013fd887": {"id": "30be27703af8f5fa202d5670f68eedb3013fd887", "date": 1748892333.0, "description": "added color property to OpusLine", "files": [["A", "app/src/test/java/com/qfs/pagan/OpusLineJSONInterfaceUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusLineJSONInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "6475e24211a54cf0f39ef767d7a8acb390000c76": {"id": "6475e24211a54cf0f39ef767d7a8acb390000c76", "date": 1748840469.0, "description": "note", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "f105b04396ffd47e870f7d98e5e59ffbf43cb2fd": {"id": "f105b04396ffd47e870f7d98e5e59ffbf43cb2fd", "date": 1748839949.0, "description": "vibrato using triangle wave", "files": [["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/soundfontplayer/Oscillator.h"]], "author": "smith.quintin@protonmail.com"}, "1720345869fd19e20e3c7974e2f97e7015ec9bc2": {"id": "1720345869fd19e20e3c7974e2f97e7015ec9bc2", "date": 1748834362.0, "description": "Vibrato being accounted for in instruments. Need to convert to triangle single", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Generated.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/PitchedBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/PitchedBuffer.cpp"], ["M", "app/src/main/cpp/soundfontplayer/Oscillator.h"]], "author": "smith.quintin@protonmail.com"}, "e0f05ff147b7194121894e75e2b6b821246a4ed6": {"id": "e0f05ff147b7194121894e75e2b6b821246a4ed6", "date": 1748759385.0, "description": "changed VibratoEnvelope to Generic 'Oscillator'. implemented triangular period. commented out usage", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["D", "app/src/main/cpp/soundfontplayer/VibratoEnvelope.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["A", "app/src/main/cpp/soundfontplayer/Oscillator.h"], ["D", "app/src/main/cpp/soundfontplayer/VibratoEnvelope.cpp"], ["A", "app/src/main/cpp/soundfontplayer/Oscillator.cpp"]], "author": "smith.quintin@protonmail.com"}, "20022833e8fead976b620c2f22892ad7a04e29a1": {"id": "20022833e8fead976b620c2f22892ad7a04e29a1", "date": 1748726931.0, "description": "fix an #include", "files": [["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"]], "author": "smith.quintin@protonmail.com"}, "92c881f6cfe751b10c11200b0cf24cb3d69fbc54": {"id": "92c881f6cfe751b10c11200b0cf24cb3d69fbc54", "date": 1748726811.0, "description": "work on repitching PitchedBuffer for Vibrato and the like", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["A", "app/src/main/cpp/soundfontplayer/VibratoEnvelope.h"], ["A", "app/src/main/cpp/soundfontplayer/VibratoEnvelope.cpp"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/soundfontplayer/PitchedBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/PitchedBuffer.cpp"]], "author": "smith.quintin@protonmail.com"}, "002774f60989fa6d251214881a7e66c5d065904b": {"id": "002774f60989fa6d251214881a7e66c5d065904b", "date": 1748636382.0, "description": "directly call import_soundfont() when 'choose soundfont' button is selected and no soundfonts are in library", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "95350f78fa3de129e66546682cef372d48f9e467": {"id": "95350f78fa3de129e66546682cef372d48f9e467", "date": 1748571623.0, "description": "added sortable menu to soundfont menu", "files": [["A", "app/src/main/res/layout/soundfont_pre_menu.xml"], ["M", "app/src/main/res/layout/dialog_menu.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"]], "author": "smith.quintin@protonmail.com"}, "aa107d993d544be0817fdd0292e30915296c29fd": {"id": "aa107d993d544be0817fdd0292e30915296c29fd", "date": 1748568456.0, "description": "sortable popup menu working", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "6017f49b4f673c55648ae9d044022116a4a3c5c6": {"id": "6017f49b4f673c55648ae9d044022116a4a3c5c6", "date": 1748554894.0, "description": "started (and almost finished) sortable popup dialog", "files": [["M", "app/src/main/res/layout/dialog_menu.xml"], ["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "ec4af38f33b9a1d0c9898a487c67e2e425622ab7": {"id": "ec4af38f33b9a1d0c9898a487c67e2e425622ab7", "date": 1748500165.0, "description": "revert application id", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "5a6a13eb2dfa08767c397ec5d4438b887d650b19": {"id": "5a6a13eb2dfa08767c397ec5d4438b887d650b19", "date": 1748500124.0, "description": "Removed fft testing code", "files": [["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "e2f3ee68156799d426e0f251283739ee1b618fef": {"id": "e2f3ee68156799d426e0f251283739ee1b618fef", "date": 1748496426.0, "description": "sped up convolution", "files": [["M", "app/src/main/cpp/soundfontplayer/Complex.h"], ["M", "app/src/main/cpp/native-lib.cpp"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "9c713ab7127a73d83f153a9d343fb7465be75b41": {"id": "9c713ab7127a73d83f153a9d343fb7465be75b41", "date": 1748473203.0, "description": "debugging fft", "files": [["M", "app/src/main/cpp/soundfontplayer/Complex.h"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "af80734cbe1b4afd16a3ed75fd9bff106e5e6965": {"id": "af80734cbe1b4afd16a3ed75fd9bff106e5e6965", "date": 1748365221.0, "description": "c++ fft() built", "files": [["M", "app/src/main/cpp/soundfontplayer/Complex.h"]], "author": "smith.quintin@protonmail.com"}, "d39ab7fe88455df1b72b2f0b1002961671718e79": {"id": "d39ab7fe88455df1b72b2f0b1002961671718e79", "date": 1748298041.0, "description": "Set up Complex Number class in C++. reorganized signal data (before merge_arrays() call) to be end to end. was initially to make the eventual fft() slightly smoother but that's not necessary, though it'll result in fewer operation so i'll stick with it", "files": [["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["A", "app/src/main/cpp/soundfontplayer/Complex.h"], ["A", "app/src/main/cpp/soundfontplayer/Complex.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "10f57e930ae66cde35bf059c88a77273612ec7e9": {"id": "10f57e930ae66cde35bf059c88a77273612ec7e9", "date": 1748258183.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "f6bb963e1362eda80b44d5890f8c2839fe3e84d9": {"id": "f6bb963e1362eda80b44d5890f8c2839fe3e84d9", "date": 1748238503.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/111.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "3c0440d40d7946c11cdde44a3bc5a5e304918ab8": {"id": "3c0440d40d7946c11cdde44a3bc5a5e304918ab8", "date": 1748238341.0, "description": "bugfix: notes always playing from beginning, even if started from part of the way through", "files": [["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "f75f828135f387568c23a7c043d7fc7ec530ead3": {"id": "f75f828135f387568c23a7c043d7fc7ec530ead3", "date": 1748219091.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "3cdb8b7b9689e02db551392c60d15b44a7d8525f": {"id": "3cdb8b7b9689e02db551392c60d15b44a7d8525f", "date": 1748218770.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "953b6b25b70ca21a301d0b868cc4642d049c02b2": {"id": "953b6b25b70ca21a301d0b868cc4642d049c02b2", "date": 1748210770.0, "description": "Update README.md Screenshots", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "6f4083f3fe728b329c4d45b638f238b100ecb511": {"id": "6f4083f3fe728b329c4d45b638f238b100ecb511", "date": 1748202177.0, "description": "fixed: remove_channel_controller() not remembering structure and events", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"]], "author": "smith.quintin@protonmail.com"}, "ce0bcdea3c6baf539f0c492212768fa787e956bd": {"id": "ce0bcdea3c6baf539f0c492212768fa787e956bd", "date": 1748190807.0, "description": "ignore oob tagged sections on load", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "dba7e8bb5678616a4ebdaf6bb0dda8e93d626aa9": {"id": "dba7e8bb5678616a4ebdaf6bb0dda8e93d626aa9", "date": 1748151129.0, "description": "new fastlane phone pics", "files": [["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/04 - Pagan Music Sequencer.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/03 - Pagan Music Sequencer.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/02 - Pagan Music Sequencer.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/01 - Pagan Music Sequencer.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/003 - Pagan.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/002 - Pagan.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/001 - Pagan.png"]], "author": "smith.quintin@protonmail.com"}, "4e460e820be89014c5682339f2d04f7a8cdf4046": {"id": "4e460e820be89014c5682339f2d04f7a8cdf4046", "date": 1748149149.0, "description": "revert applicationId", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "cb580b7e4029d989f9c250c28029718910fe3aaf": {"id": "cb580b7e4029d989f9c250c28029718910fe3aaf", "date": 1748148395.0, "description": "scroll to cursor on dialog_shortcut even if its already selected", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "469199fc873ec48907cb99e8c56b7a474cf026e7": {"id": "469199fc873ec48907cb99e8c56b7a474cf026e7", "date": 1748147238.0, "description": "Version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/110.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "e8cec5a0a51208fe208c5a0cec6c11d7b14d02cd": {"id": "e8cec5a0a51208fe208c5a0cec6c11d7b14d02cd", "date": 1748121839.0, "description": "enable 16kb page support", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/cpp/CMakeLists.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "03746f8512df656f333e2910e7705d42bf1239f9": {"id": "03746f8512df656f333e2910e7705d42bf1239f9", "date": 1748101275.0, "description": "UnitTests for tagged sections", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerCursor.kt"], ["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/cpp/CMakeLists.txt"]], "author": "smith.quintin@protonmail.com"}, "559c65a5059a9b66770f30ea546e8217c3cc56eb": {"id": "559c65a5059a9b66770f30ea546e8217c3cc56eb", "date": 1748039004.0, "description": "Added Channel Volume Controller", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "f0bf1f7f7ebe9f6634c8ff72521ee59efff00d79": {"id": "f0bf1f7f7ebe9f6634c8ff72521ee59efff00d79", "date": 1748031152.0, "description": "Removed debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ControllerEventData.kt"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "da7b5499790fb97550fd4b0fa97afbb1bc94887f": {"id": "da7b5499790fb97550fd4b0fa97afbb1bc94887f", "date": 1748030832.0, "description": "another profile buffer fix", "files": [["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "778e5146088a82b778ce28b6b4255e7575086dab": {"id": "778e5146088a82b778ce28b6b4255e7575086dab", "date": 1748022007.0, "description": "per-line exports ignore channel & global effects, per-channel ignore global", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "0b7d085b1976a3eb2b56d36655f426e4c6437b4f": {"id": "0b7d085b1976a3eb2b56d36655f426e4c6437b4f", "date": 1748019980.0, "description": "fixed profiles using last value only", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "9b5a89fe7712bf413a129031e06c468d2ff6f523": {"id": "9b5a89fe7712bf413a129031e06c468d2ff6f523", "date": 1747981696.0, "description": "started work on ignoring controllers in multi wav exports", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "eb8538ef7a6dab7e8b22bcdfd9520881c7736a0a": {"id": "eb8538ef7a6dab7e8b22bcdfd9520881c7736a0a", "date": 1747981134.0, "description": "made context menu buttons slightly larger. skip muted channel/line effect controllers", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values-land/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "9bba786c75d42326d845130fb4d9621ef3e86481": {"id": "9bba786c75d42326d845130fb4d9621ef3e86481", "date": 1747980257.0, "description": "set minWidth on channel menu in drawer", "files": [["M", "app/src/main/res/layout/fragment_song_config.xml"]], "author": "smith.quintin@protonmail.com"}, "ea1a4544b8a79621e3aa519dcec9e1a77e510062": {"id": "ea1a4544b8a79621e3aa519dcec9e1a77e510062", "date": 1747980129.0, "description": "fixed uneven positioning of drawer buttons", "files": [["M", "app/src/main/res/layout/fragment_song_config.xml"]], "author": "smith.quintin@protonmail.com"}, "9d6950506d5552237968aedeb7a17a8454f59de7": {"id": "9d6950506d5552237968aedeb7a17a8454f59de7", "date": 1747979543.0, "description": "changed song_config_menu to ConstraintLayout", "files": [["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "7072915719ff22268c0e7acad97e68cd2dee1e25": {"id": "7072915719ff22268c0e7acad97e68cd2dee1e25", "date": 1747962589.0, "description": "removed unused imports", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["D", "app/src/main/java/com/qfs/pagan/PaganTextView.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/HexEditText.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLeafB.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "2cfd402a895f9a17760360eb87ae89ab34e8a5be": {"id": "2cfd402a895f9a17760360eb87ae89ab34e8a5be", "date": 1747895878.0, "description": "show beat in section selector", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "6550167dcca04b1f9881852345e154e638493c93": {"id": "6550167dcca04b1f9881852345e154e638493c93", "date": 1747895366.0, "description": "fixed panning & some instruments not looping", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ControllerEventData.kt"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBufferFrame.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.h"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "877047983238af56336e9fc7f0c1615e9b721a8d": {"id": "877047983238af56336e9fc7f0c1615e9b721a8d", "date": 1747855052.0, "description": "created destroy function for feedback device ControllerEventData", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ControllerEventData.kt"]], "author": "smith.quintin@protonmail.com"}, "f8abf05fb20d8952feebacd8c8611cbd5b078eef": {"id": "f8abf05fb20d8952feebacd8c8611cbd5b078eef", "date": 1747853890.0, "description": "debugging why effect buffers are drifting", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ProfileBuffer.kt"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"]], "author": "smith.quintin@protonmail.com"}, "ff802dd2ede629e33b1b59370e363b590710c96f": {"id": "ff802dd2ede629e33b1b59370e363b590710c96f", "date": 1747831544.0, "description": "converted more instances of ImageView to MaterialButton", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "edb26f8eddcbf75c571702ccdd6d2f6d6e037894": {"id": "edb26f8eddcbf75c571702ccdd6d2f6d6e037894", "date": 1747828203.0, "description": "updated contextmenu for line ctl range selection", "files": [["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"]], "author": "smith.quintin@protonmail.com"}, "260c8bac67520c982bc4618678524e6dcc4c3fd4": {"id": "260c8bac67520c982bc4618678524e6dcc4c3fd4", "date": 1747810357.0, "description": "changed loading reticle size, made radio buttons in settings fit on small screens. Changed default playback sample rate to 32000", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values-small/dimens.xml"], ["A", "app/src/main/res/layout/loading_reticle.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/contextmenu_range_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "07d00119f82e9da42dd538b0190ee8426953a644": {"id": "07d00119f82e9da42dd538b0190ee8426953a644", "date": 1747802786.0, "description": "removed unnecessary spaces", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["D", "app/src/main/res/values-h360dp/dimens.xml"], ["A", "app/src/main/res/values-small/dimens.xml"], ["M", "app/src/main/res/layout/text_name_change.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range.xml"], ["M", "app/src/main/res/layout-land/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout-land/contextmenu_control_line.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell_percussion.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentLandingPage.kt"]], "author": "smith.quintin@protonmail.com"}, "bfd9ac1eb102f3ee9d47b54107b1cf448f22d77b": {"id": "bfd9ac1eb102f3ee9d47b54107b1cf448f22d77b", "date": 1747792909.0, "description": "set FeedbackDevice Volume", "files": [["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "7822e58c424e82a26c11bea44bbcbe45942490ff": {"id": "7822e58c424e82a26c11bea44bbcbe45942490ff", "date": 1747787906.0, "description": "bugfix: wasn't checking type in line ctl label tap logic", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "b46bca7eacc976ad6e40ae3cf0d92560e703d26f": {"id": "b46bca7eacc976ad6e40ae3cf0d92560e703d26f", "date": 1747787026.0, "description": "fixed: untitled section names were displaying as null", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "ead6961dcc4e6d40a0fd5cf4f70b07dc38aaa08a": {"id": "ead6961dcc4e6d40a0fd5cf4f70b07dc38aaa08a", "date": 1747781324.0, "description": "bugfix: marked_section updates weren't considering that the values are optional", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "c38b80d735d785fd4230c626a31fb1f75551d9bc": {"id": "c38b80d735d785fd4230c626a31fb1f75551d9bc", "date": 1747769286.0, "description": "changed number selector colors to use surface and surface_container", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "9f35dd48007b55c74dabffae81d58d54c5ef1b4d": {"id": "9f35dd48007b55c74dabffae81d58d54c5ef1b4d", "date": 1747766867.0, "description": "removed shadows on number input buttons", "files": [["M", "app/src/main/res/drawable/number_selector_button.xml"], ["M", "app/src/main/res/drawable/button_default.xml"], ["M", "app/src/main/res/drawable/button_alt_pressed.xml"], ["M", "app/src/main/res/drawable/button_alt_default.xml"]], "author": "smith.quintin@protonmail.com"}, "03248ccd4dcba6e083420bdb247b710c21b51397": {"id": "03248ccd4dcba6e083420bdb247b710c21b51397", "date": 1747764294.0, "description": "-made radio button thinner\n    - fixed status bar color\n    - tweaked sizing of contextmenu buttons for small screens", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/res/values-h360dp/dimens.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/res/layout/control_widget_volume.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_channel_secondary.xml"], ["M", "app/src/main/res/layout/app_bar_main.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel_secondary.xml"], ["M", "app/src/main/res/drawable/radio_default_start.xml"], ["M", "app/src/main/res/drawable/radio_default_end.xml"], ["M", "app/src/main/res/drawable/radio_default.xml"]], "author": "smith.quintin@protonmail.com"}, "3447f45c715ba3133208d160a623a240359aee82": {"id": "3447f45c715ba3133208d160a623a240359aee82", "date": 1747721470.0, "description": "tweaked landing fragment and settings radio buttons to fit smaller screens. removed formatted from license text", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values-h360dp/dimens.xml"], ["M", "app/src/main/res/layout/fragment_license.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/contextmenu_range_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b_secondary.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range_secondary.xml"], ["M", "app/src/main/assets/SFLicense.txt"], ["M", "app/src/main/assets/LICENSE"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "70550b5de3813385c59ba2d82e2053ddb8e5f0ef": {"id": "70550b5de3813385c59ba2d82e2053ddb8e5f0ef", "date": 1747701713.0, "description": "improved new radiobutton style. fixed weird scrolling in buttonbar when dialog is full height", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/contextmenu_range_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_range.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range_secondary.xml"], ["A", "app/src/main/res/drawable/radio_flat_start.xml"], ["A", "app/src/main/res/drawable/radio_flat_end.xml"], ["A", "app/src/main/res/drawable/radio_default_start.xml"], ["A", "app/src/main/res/drawable/radio_default_end.xml"], ["M", "app/src/main/res/drawable/radio_default.xml"], ["A", "app/src/main/res/drawable/radio_checked_start.xml"], ["A", "app/src/main/res/drawable/radio_checked_end.xml"], ["M", "app/src/main/res/drawable/radio_checked.xml"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuColumn.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "a8784987b37b0bc32b7c73a300fadadf1efded1d": {"id": "a8784987b37b0bc32b7c73a300fadadf1efded1d", "date": 1747684373.0, "description": "alertdialog spacing and window drawable style. landscape copy/move radio buttons", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/text_input.xml"], ["M", "app/src/main/res/layout/spinner_list.xml"], ["M", "app/src/main/res/layout/dialog_shortcut.xml"], ["M", "app/src/main/res/layout/contextmenu_range.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range_secondary.xml"], ["A", "app/src/main/res/drawable/dialog_background.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuRange.kt"]], "author": "smith.quintin@protonmail.com"}, "ff39867c00593125d11196bf21d55b88a8c71aeb": {"id": "ff39867c00593125d11196bf21d55b88a8c71aeb", "date": 1747644105.0, "description": "Rejigg ui basically done", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values/attrs.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/res/layout/text_name_change.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/contextmenu_range_secondary.xml"], ["A", "app/src/main/res/drawable/radio_flat.xml"], ["A", "app/src/main/res/drawable/radio_default.xml"], ["A", "app/src/main/res/drawable/radio_checked.xml"], ["M", "app/src/main/res/color/radio_text.xml"], ["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/PanSliderWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "b3a0f65ed4a817035eef0ed93f1a89260c47cab5": {"id": "b3a0f65ed4a817035eef0ed93f1a89260c47cab5", "date": 1747610656.0, "description": "work on material conversion", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/dialog_tuning_map.xml"], ["M", "app/src/main/res/layout/app_bar_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/TuningMapRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "1a83c292eeae145f499cb367e96fd278ed258c72": {"id": "1a83c292eeae145f499cb367e96fd278ed258c72", "date": 1747604714.0, "description": "more material work. cleaned up the notes/name dialog. shaped the channel options. Styled the alert dialog buttons", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout/text_name_change.xml"], ["M", "app/src/main/res/layout/text_input.xml"], ["M", "app/src/main/res/layout/dialog_split.xml"], ["M", "app/src/main/res/layout/dialog_menu.xml"], ["M", "app/src/main/res/layout/config_channel_item.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "49c9d06a887e380a8a4c4a3d3e6bcd65ac83b6e3": {"id": "49c9d06a887e380a8a4c4a3d3e6bcd65ac83b6e3", "date": 1747580136.0, "description": "remove_channel falls back to opus_manager.cursor.channel", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "1663edf4060c96c52c0b1672e2c085fb7c3245c9": {"id": "1663edf4060c96c52c0b1672e2c085fb7c3245c9", "date": 1747552122.0, "description": "corner button & improved channel option buttons", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout/config_channel_item.xml"]], "author": "smith.quintin@protonmail.com"}, "69f5abd74beabc66808d0324000a504872832ebd": {"id": "69f5abd74beabc66808d0324000a504872832ebd", "date": 1747551926.0, "description": "corner button & improved channel option buttons", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/colors.xml"], ["A", "app/src/main/res/layout/corner.xml"], ["M", "app/src/main/res/layout/config_channel_item.xml"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["D", "app/src/main/java/com/qfs/pagan/CornerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "37ab25e30ee36779e0ada643640d7d1dee98e9d5": {"id": "37ab25e30ee36779e0ada643640d7d1dee98e9d5", "date": 1747545714.0, "description": "fixed bug in remove_channel action", "files": [["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range.xml"], ["M", "app/src/main/res/layout-land/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell_percussion.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "61bd3bc67a71f040c79cc47d8ef58c93d364bbff": {"id": "61bd3bc67a71f040c79cc47d8ef58c93d364bbff", "date": 1747543120.0, "description": "config drawer buttons", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["A", "app/src/main/res/layout/config_channel_item.xml"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "ffeb5aab88dadb3402b711c6583ff0eb163b1566": {"id": "ffeb5aab88dadb3402b711c6583ff0eb163b1566", "date": 1747538762.0, "description": "converting buttons/switches to material style", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["A", "app/src/main/res/layout/spinner_list.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/dialog_shortcut.xml"], ["M", "app/src/main/res/layout/control_widget_volume.xml"], ["M", "app/src/main/res/layout/control_widget_tempo.xml"], ["M", "app/src/main/res/layout/control_widget_pan.xml"], ["M", "app/src/main/res/layout/contextmenu_row_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_range.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout/contextmenu_control_line.xml"], ["M", "app/src/main/res/layout/contextmenu_column.xml"], ["M", "app/src/main/res/layout/contextmenu_channel_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_channel.xml"], ["M", "app/src/main/res/layout/contextmenu_cell_percussion.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range.xml"], ["M", "app/src/main/res/layout-land/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout-land/contextmenu_control_line.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell_percussion.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/res/drawable/untag.xml"], ["M", "app/src/main/res/drawable/tag.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLeafB.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuColumn.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuChannel.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "d028f145d0d2ec3c0c868177cd2531e44bb84b8c": {"id": "d028f145d0d2ec3c0c868177cd2531e44bb84b8c", "date": 1747460654.0, "description": "changed android:theme usage to style on ImageButtons", "files": [["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"]], "author": "smith.quintin@protonmail.com"}, "c83c1d57aef0af987e52abedd5d94a678fac5606": {"id": "c83c1d57aef0af987e52abedd5d94a678fac5606", "date": 1747460070.0, "description": "fixed crackling in right ear", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "663364b48c448d337e7dd873ce1b008a0f2090a1": {"id": "663364b48c448d337e7dd873ce1b008a0f2090a1", "date": 1747456428.0, "description": "converted ImageViews to ImageButtons", "files": [["M", "app/src/main/res/layout/control_widget_volume.xml"], ["M", "app/src/main/res/layout/control_widget_pan.xml"], ["M", "app/src/main/res/layout/contextmenu_row_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_range.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout/contextmenu_control_line.xml"], ["M", "app/src/main/res/layout/contextmenu_column.xml"], ["M", "app/src/main/res/layout/contextmenu_channel_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_channel.xml"], ["M", "app/src/main/res/layout/contextmenu_cell_percussion.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range.xml"], ["M", "app/src/main/res/layout-land/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout-land/contextmenu_control_line.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell_percussion.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"]], "author": "smith.quintin@protonmail.com"}, "2cfff8d8a4bc098cfaacd078ddf2be10f0605189": {"id": "2cfff8d8a4bc098cfaacd078ddf2be10f0605189", "date": 1747378225.0, "description": "fixed TAG_SECTION history token not being applied correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"]], "author": "smith.quintin@protonmail.com"}, "f4145adfd241dabb2ae6bdb381eb580918b1d248": {"id": "f4145adfd241dabb2ae6bdb381eb580918b1d248", "date": 1747377848.0, "description": "fixed tag_section() in HistoryLayer remembering the wrong title", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"]], "author": "smith.quintin@protonmail.com"}, "4d3ed3b55132058bce9a069b58d010516893dfc4": {"id": "4d3ed3b55132058bce9a069b58d010516893dfc4", "date": 1747377485.0, "description": "Section Tagging", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["A", "app/src/main/res/layout/text_input.xml"], ["M", "app/src/main/res/layout/dialog_shortcut.xml"], ["M", "app/src/main/res/layout/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["A", "app/src/main/res/drawable/untag.xml"], ["A", "app/src/main/res/drawable/tag.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuColumn.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "b24f78feca77140c9b62dcbcc82a89d7f37f271f": {"id": "b24f78feca77140c9b62dcbcc82a89d7f37f271f", "date": 1747291964.0, "description": "started setting up section tags", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenuView.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuView.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenuRange.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuRange.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLine.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLeafPercussion.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLeafB.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuColumn.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "3c4c3bcac21744b25a4084f8e20a2e53000e6114": {"id": "3c4c3bcac21744b25a4084f8e20a2e53000e6114", "date": 1747271154.0, "description": "Pan and volume profile built and functional", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ProfileBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ControllerEventData.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.cpp"]], "author": "smith.quintin@protonmail.com"}, "446580311b16fe05a7c98e4a0575c7078ac2ce76": {"id": "446580311b16fe05a7c98e4a0575c7078ac2ce76", "date": 1747238624.0, "description": "applying pan and volume via profile buffers in c++. started work on building those profiles", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ControllerEventData.kt"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.h"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "855442ba439adfe90950eae24caa0af8bb654fb3": {"id": "855442ba439adfe90950eae24caa0af8bb654fb3", "date": 1747204006.0, "description": "removed volume/pan profiles from SampleHandles (will be applied separately)", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLine.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeafB.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLeafB.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuControlLeaf.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuColumn.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenu/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ProfileBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "51119e75b16f03caba06a354406fda4b7fab5787": {"id": "51119e75b16f03caba06a354406fda4b7fab5787", "date": 1747156413.0, "description": "fixed: assign start_frame on ProfileBuffer create in c++", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ProfileBuffer.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ControllerEventData.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "601d5725e6d46659e8aefc18fb7b170c745f3cb2": {"id": "601d5725e6d46659e8aefc18fb7b170c745f3cb2", "date": 1747118737.0, "description": "merging in phases. pan still messed up", "files": [["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "aff33785b96513a70e32478113e0a8212526141b": {"id": "aff33785b96513a70e32478113e0a8212526141b", "date": 1747067282.0, "description": "work on procedurally merging lines, then channels", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "bdd24a0925df0b6ff0d7bf6796b78ffac4432af2": {"id": "bdd24a0925df0b6ff0d7bf6796b78ffac4432af2", "date": 1747017419.0, "description": "note", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ProfileBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "27ff66b499b777f9a3525ba4769cd643ffd8e0de": {"id": "27ff66b499b777f9a3525ba4769cd643ffd8e0de", "date": 1747015945.0, "description": "separated ProfileBuffer from it's Data (still needs better name)", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/ProfileBuffer.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/ControllerEventData.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["A", "app/src/main/cpp/soundfontplayer/ControllerEventData.h"], ["A", "app/src/main/cpp/soundfontplayer/ControllerEventData.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "ba741e6ebfec5e4e4d697667a03164d21280fdae": {"id": "ba741e6ebfec5e4e4d697667a03164d21280fdae", "date": 1746980368.0, "description": "Update README.md\n    \n    too many links to kofi", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "fa8fe9cbf9c15a637480a9c0e7576a7e7e725bc5": {"id": "fa8fe9cbf9c15a637480a9c0e7576a7e7e725bc5", "date": 1746939321.0, "description": "Create FUNDING.yml", "files": [["A", ".github/FUNDING.yml"]], "author": "smith.quintin@protonmail.com"}, "956c029fd9242617a7363877526c97e0fce7952b": {"id": "956c029fd9242617a7363877526c97e0fce7952b", "date": 1746933123.0, "description": "update changelog", "files": [["M", "fastlane/metadata/android/en-US/changelogs/109.txt"]], "author": "smith.quintin@protonmail.com"}, "e647bebd1bece5f79717725fcc13f22e70c4c73d": {"id": "e647bebd1bece5f79717725fcc13f22e70c4c73d", "date": 1746932939.0, "description": "version bump & bad get_balance() fix", "files": [["A", "fastlane/metadata/android/en-US/changelogs/109.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"], ["M", "app/src/main/cpp/CMakeLists.txt"], ["M", "app/src/main/AndroidManifest.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "8ee7858718fd02661aada8d06e15feeb8540fd06": {"id": "8ee7858718fd02661aada8d06e15feeb8540fd06", "date": 1746915491.0, "description": "bugfix: profile buffer checking wrong value in get_next()", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "b5f9de459b4f1cee409c46e2df6d3564cf5e3d80": {"id": "b5f9de459b4f1cee409c46e2df6d3564cf5e3d80", "date": 1746909516.0, "description": "Fixed pan & volume profile bugs", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "8f6162cd7b224d92b60cac35787500a474095ddb": {"id": "8f6162cd7b224d92b60cac35787500a474095ddb", "date": 1746838352.0, "description": "commented out lines in CMAkeLists used for testing", "files": [["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/CMakeLists.txt"]], "author": "smith.quintin@protonmail.com"}, "03bfc7e174ec7ad292094dc334f25574d64f647e": {"id": "03bfc7e174ec7ad292094dc334f25574d64f647e", "date": 1746837661.0, "description": "changed applicationId back", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "337781614244e3d07ec2b3a2c467022ba5bef7ce": {"id": "337781614244e3d07ec2b3a2c467022ba5bef7ce", "date": 1746837573.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/108.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "30d664192420dec4711b851bbb203a39017d3999": {"id": "30d664192420dec4711b851bbb203a39017d3999", "date": 1746825813.0, "description": "unit tests updated", "files": [["M", "app/src/test/java/com/qfs/apres/SoundFontUnitTest.kt"], ["M", "app/src/test/java/com/qfs/apres/SoundFontPlayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Sample.kt"], ["M", "app/src/main/cpp/soundfontplayer/VolumeEnvelope.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"], ["M", "app/src/main/cpp/CMakeLists.txt"], ["M", "app/src/main/assets/tests/opus_1739987654989.json"], ["M", "app/src/main/assets/tests/generated_1739987654989.json"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "05fbe2978150246e4022982d48ab15270359ab3c": {"id": "05fbe2978150246e4022982d48ab15270359ab3c", "date": 1746756931.0, "description": "changed fastlane icon.png", "files": [["M", "fastlane/metadata/android/en-US/images/icon.png"]], "author": "smith.quintin@protonmail.com"}, "9b3af38d85e0c12d6f54bdcecb5b11789463369a": {"id": "9b3af38d85e0c12d6f54bdcecb5b11789463369a", "date": 1746756475.0, "description": "new Logo", "files": [["D", "app/src/main/res/values/logo_background.xml"], ["A", "app/src/main/res/values/logo_rowan_background.xml"], ["A", "app/src/main/res/mipmap-xxxhdpi/logo_rowan_round.webp"], ["A", "app/src/main/res/mipmap-xxxhdpi/logo_rowan_foreground.webp"], ["A", "app/src/main/res/mipmap-xxxhdpi/logo_rowan.webp"], ["D", "app/src/main/res/mipmap-xxxhdpi/logo_round.png"], ["D", "app/src/main/res/mipmap-xxxhdpi/logo.png"], ["A", "app/src/main/res/mipmap-xxhdpi/logo_rowan_round.webp"], ["A", "app/src/main/res/mipmap-xxhdpi/logo_rowan_foreground.webp"], ["A", "app/src/main/res/mipmap-xxhdpi/logo_rowan.webp"], ["D", "app/src/main/res/mipmap-xxhdpi/logo_round.png"], ["D", "app/src/main/res/mipmap-xxhdpi/logo.png"], ["A", "app/src/main/res/mipmap-xhdpi/logo_rowan_round.webp"], ["A", "app/src/main/res/mipmap-xhdpi/logo_rowan_foreground.webp"], ["A", "app/src/main/res/mipmap-xhdpi/logo_rowan.webp"], ["D", "app/src/main/res/mipmap-xhdpi/logo_round.png"], ["D", "app/src/main/res/mipmap-xhdpi/logo.png"], ["A", "app/src/main/res/mipmap-mdpi/logo_rowan_round.webp"], ["A", "app/src/main/res/mipmap-mdpi/logo_rowan_foreground.webp"], ["A", "app/src/main/res/mipmap-mdpi/logo_rowan.webp"], ["D", "app/src/main/res/mipmap-mdpi/logo_round.png"], ["D", "app/src/main/res/mipmap-mdpi/logo.png"], ["A", "app/src/main/res/mipmap-hdpi/logo_rowan_round.webp"], ["A", "app/src/main/res/mipmap-hdpi/logo_rowan_foreground.webp"], ["A", "app/src/main/res/mipmap-hdpi/logo_rowan.webp"], ["D", "app/src/main/res/mipmap-hdpi/logo_round.png"], ["D", "app/src/main/res/mipmap-hdpi/logo.png"], ["A", "app/src/main/res/mipmap-anydpi-v26/logo_rowan_round.xml"], ["A", "app/src/main/res/mipmap-anydpi-v26/logo_rowan.xml"], ["D", "app/src/main/res/mipmap-anydpi-v26/logo_round.xml"], ["D", "app/src/main/res/mipmap-anydpi-v26/logo.xml"], ["A", "app/src/main/res/drawable/small_logo_rowan.xml"], ["A", "app/src/main/res/drawable/logo_rowan.xml"], ["D", "app/src/main/res/drawable/logo_foreground.xml"], ["A", "app/src/main/logo_rowan-playstore.png"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "d900fd4a24b4c30ae13b4f0767ba360d86fe0d0a": {"id": "d900fd4a24b4c30ae13b4f0767ba360d86fe0d0a", "date": 1746687507.0, "description": "force_scroll_to_cursor_vertical handles channel and range cases now", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "a1f0188bfde797e35702ce4750cde1bb559b3f45": {"id": "a1f0188bfde797e35702ce4750cde1bb559b3f45", "date": 1746685521.0, "description": "fixed remove_beat using 1 instead of size value when decrementing cached values (facepalm)", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusTreeArray.kt"]], "author": "smith.quintin@protonmail.com"}, "58d156bed674ba6557547d8e374434059dc34bad": {"id": "58d156bed674ba6557547d8e374434059dc34bad", "date": 1746683050.0, "description": "fixed crash on remove last visible channel with more than 1 line", "files": [["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "afac318b831f42829ceec60d9b100ae0eacd37a8": {"id": "afac318b831f42829ceec60d9b100ae0eacd37a8", "date": 1746654341.0, "description": "changed to dedicated support email", "files": [["M", "app/src/main/res/values/strings.xml"]], "author": "smith.quintin@protonmail.com"}, "a4f30e18b52066de5c59263cd02f08bb4e5828ad": {"id": "a4f30e18b52066de5c59263cd02f08bb4e5828ad", "date": 1746645121.0, "description": "allow percussion as Std instrument. Also adjusted the way instruments are ordered in the dialog. resolves #28", "files": [["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "4d3c765de5ba869b2bb38d7532da9882a3f9b5f3": {"id": "4d3c765de5ba869b2bb38d7532da9882a3f9b5f3", "date": 1746640882.0, "description": "removed smooth scrolling", "files": [["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "4d21ddaf1eb52f6791e5bbcdfd7f1569631d1d3f": {"id": "4d21ddaf1eb52f6791e5bbcdfd7f1569631d1d3f", "date": 1746633109.0, "description": "show all pitched percussion options (resolves #78)", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "ef75d3ce41eb5e9cf563134ecfa576940b69dc39": {"id": "ef75d3ce41eb5e9cf563134ecfa576940b69dc39", "date": 1746631436.0, "description": "was accidentally setting sample rate twice per set", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"]], "author": "smith.quintin@protonmail.com"}, "c14f7a5b02fd5f4c2f41d702eea7974c35b3ce6a": {"id": "c14f7a5b02fd5f4c2f41d702eea7974c35b3ce6a", "date": 1746601151.0, "description": "added project_notes and tied interface to project name dialog", "files": [["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/text_name_change.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "915198ec7fc64383295e704b5b7d00779e4795db": {"id": "915198ec7fc64383295e704b5b7d00779e4795db", "date": 1746595540.0, "description": "added adjust-selection dialog to column context menu. limit adjustment to prevent setting the value OOB.", "files": [["M", "app/src/main/res/layout/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"]], "author": "smith.quintin@protonmail.com"}, "da825224c3780c23a343f3d26146ece92a783a26": {"id": "da825224c3780c23a343f3d26146ece92a783a26", "date": 1746594154.0, "description": "added adjust-selection dialog to line context menu", "files": [["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"]], "author": "smith.quintin@protonmail.com"}, "6ae89127b11b305a7fadfb53b3406bc11b232db2": {"id": "6ae89127b11b305a7fadfb53b3406bc11b232db2", "date": 1746593888.0, "description": "added adjust-selection dialog to channel context menu", "files": [["M", "app/src/main/res/layout/contextmenu_channel.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "c403763f336e9d099b0e9087145378e3057106c9": {"id": "c403763f336e9d099b0e9087145378e3057106c9", "date": 1746593299.0, "description": "adjust selection dialog", "files": [["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/res/values/strings.xml"], ["A", "app/src/main/res/layout/dialog_note_offset.xml"], ["M", "app/src/main/res/layout/contextmenu_range.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range.xml"], ["A", "app/src/main/res/drawable/adjust.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "1ea60bfe188dda040e8c7220c01c60532b32ed52": {"id": "1ea60bfe188dda040e8c7220c01c60532b32ed52", "date": 1746583399.0, "description": "created ExporterEventHandler super class for line/channel exports", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "fb37bc72b93438702b225692813cd0b3e999350e": {"id": "fb37bc72b93438702b225692813cd0b3e999350e", "date": 1746575288.0, "description": "use json to copy working opus manager in multi export", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "3cd7670de11fec96515343772ceccbf976e5044f": {"id": "3cd7670de11fec96515343772ceccbf976e5044f", "date": 1746573056.0, "description": "skip empty and muted lines when exporting lines to wavs", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "2cb359b06ff5c6a845f051d02ec3fd048963959f": {"id": "2cb359b06ff5c6a845f051d02ec3fd048963959f", "date": 1746560381.0, "description": "handle previous_value initial value in SampleHandle.h", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "dec09fb2d05abcf11ab0f19157a71b220310d9b5": {"id": "dec09fb2d05abcf11ab0f19157a71b220310d9b5", "date": 1746558452.0, "description": "smoothing_factor reapplied", "files": [["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"]], "author": "smith.quintin@protonmail.com"}, "c97db27da48a6240ae7d6a3ca1d4d90c446f8cb7": {"id": "c97db27da48a6240ae7d6a3ca1d4d90c446f8cb7", "date": 1746557709.0, "description": "Removed multi-threaded Wave Generation", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"]], "author": "smith.quintin@protonmail.com"}, "0403880c5a511a1da1d8ff6bd2efe9d90d583364": {"id": "0403880c5a511a1da1d8ff6bd2efe9d90d583364", "date": 1746545923.0, "description": "pan readdded", "files": [["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "da06ca5cda0bbafa63f6ce7a8efe7c045680afcc": {"id": "da06ca5cda0bbafa63f6ce7a8efe7c045680afcc", "date": 1746492554.0, "description": "minor lint", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "14c27f6a4bdd2080d3b7084c0f04e784c54ffd92": {"id": "14c27f6a4bdd2080d3b7084c0f04e784c54ffd92", "date": 1746492200.0, "description": "destroy SoundFont before leaving it for garbage collection", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "2e5ebe2bd3ee5ced9d23b11f8e918edff1d278fb": {"id": "2e5ebe2bd3ee5ced9d23b11f8e918edff1d278fb", "date": 1746490792.0, "description": "fixed ProfileBuffer copying to bad initial value", "files": [["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"]], "author": "smith.quintin@protonmail.com"}, "b25829f368e98e29a810c9e2a7efa711b3c28d8b": {"id": "b25829f368e98e29a810c9e2a7efa711b3c28d8b", "date": 1746474672.0, "description": "SampleData Memory allocation fixed", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SampleData.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Sample.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/PitchedBuffer.h"], ["M", "app/src/main/cpp/soundfont/SampleData.cpp"], ["M", "app/src/main/cpp/soundfont/Sample.h"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "a4515c7a53ae6fc2e1cb610fd79db4e260134296": {"id": "a4515c7a53ae6fc2e1cb610fd79db4e260134296", "date": 1746467458.0, "description": "Created SampleData class to prevent multiple copies of same sample data", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont/SampleData.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Sample.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/soundfontplayer/PitchedBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/PitchedBuffer.cpp"], ["A", "app/src/main/cpp/soundfont/SampleData.h"], ["A", "app/src/main/cpp/soundfont/SampleData.cpp"]], "author": "smith.quintin@protonmail.com"}, "deabf0f0419abc3e1020035dc8c92cb06ca61768": {"id": "deabf0f0419abc3e1020035dc8c92cb06ca61768", "date": 1746424971.0, "description": "correctly destroying SampleHandles", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Sample.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/PitchedBuffer.h"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "14721704e32328bd0a7e69e14bc06298f2979869": {"id": "14721704e32328bd0a7e69e14bc06298f2979869", "date": 1746327644.0, "description": "call deletes in SampleHandle.h", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Sample.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "290bf7dfd223e49c446412521b28bc31d9fd78a5": {"id": "290bf7dfd223e49c446412521b28bc31d9fd78a5", "date": 1746247230.0, "description": "skip  0xf0 processing if its the last byte", "files": [["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "b98d262390993bd674066e4f487d0300f9489e34": {"id": "b98d262390993bd674066e4f487d0300f9489e34", "date": 1746245069.0, "description": "Fixed some midis being incorrectly treated as invalid", "files": [["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "ec7f4d3fa2f8ef89b2a146ead3d4c5c744b42a25": {"id": "ec7f4d3fa2f8ef89b2a146ead3d4c5c744b42a25", "date": 1746242747.0, "description": "Fixed is_pressed()", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/cpp/soundfontplayer/VolumeEnvelope.h"], ["M", "app/src/main/cpp/soundfontplayer/VolumeEnvelope.cpp"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"]], "author": "smith.quintin@protonmail.com"}, "6d8bca825038255e435abcb8dc53cc53a1daf741": {"id": "6d8bca825038255e435abcb8dc53cc53a1daf741", "date": 1746235666.0, "description": "removed unnecessary 'struct' keyword usage", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "dda3f62726a169cf7d91251dfbb5ba2e6b347def": {"id": "dda3f62726a169cf7d91251dfbb5ba2e6b347def", "date": 1746227328.0, "description": "check if profilebuffers are nullptrs in SampleHandle creation", "files": [["M", "app/src/main/cpp/soundfontplayer/VolumeEnvelope.cpp"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "8bdd272cd53d7606446c78a3aa4a56f864f8e260": {"id": "8bdd272cd53d7606446c78a3aa4a56f864f8e260", "date": 1746222149.0, "description": "removed unused get_next_frame_jni", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "e8a8d1f61dc407c4a8dbe8fbc78968b7c82dfaa7": {"id": "e8a8d1f61dc407c4a8dbe8fbc78968b7c82dfaa7", "date": 1746222084.0, "description": "removed debug code", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "731ae346d1e921c17479792a5557367de7ff8b4d": {"id": "731ae346d1e921c17479792a5557367de7ff8b4d", "date": 1746221762.0, "description": "removed usage of optional types in SampleHandle", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "a42c7b6951d4190a095fb1fe9e194a336b2c4198": {"id": "a42c7b6951d4190a095fb1fe9e194a336b2c4198", "date": 1746166963.0, "description": "Call handle.destroy when they die in WaveGenerator", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["M", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"], ["M", "app/src/main/cpp/soundfont/Sample.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "949121f0c10fdd7abcb96b39cb30dae4eb293aab": {"id": "949121f0c10fdd7abcb96b39cb30dae4eb293aab", "date": 1746120037.0, "description": "Organized the native code", "files": [["A", "app/src/main/cpp/soundfontplayer/VolumeEnvelope.h"], ["A", "app/src/main/cpp/soundfontplayer/VolumeEnvelope.cpp"], ["D", "app/src/main/cpp/SampleHandle.h"], ["A", "app/src/main/cpp/soundfontplayer/SampleHandle.h"], ["D", "app/src/main/cpp/SampleHandle.cpp"], ["A", "app/src/main/cpp/soundfontplayer/SampleHandle.cpp"], ["A", "app/src/main/cpp/soundfontplayer/ProfileBufferFrame.h"], ["A", "app/src/main/cpp/soundfontplayer/ProfileBuffer.h"], ["A", "app/src/main/cpp/soundfontplayer/ProfileBuffer.cpp"], ["D", "app/src/main/cpp/soundfont/PitchedBuffer.h"], ["A", "app/src/main/cpp/soundfontplayer/PitchedBuffer.h"], ["A", "app/src/main/cpp/soundfontplayer/PitchedBuffer.cpp"], ["M", "app/src/main/cpp/soundfont/SoundFont.h"], ["M", "app/src/main/cpp/soundfont/Sample.cpp"], ["A", "app/src/main/cpp/soundfont/Riff/SubChunkHeader.h"], ["A", "app/src/main/cpp/soundfont/Riff/Riff.h"], ["A", "app/src/main/cpp/soundfont/Riff/ListChunkHeader.h"], ["A", "app/src/main/cpp/soundfont/Riff/InvalidRiffException.h"], ["D", "app/src/main/cpp/soundfont/Riff.cpp"], ["D", "app/src/main/cpp/soundfont/PitchedBuffer.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "0aaaebbb6149e5624ee56b52c6ced95e69ff1fc6": {"id": "0aaaebbb6149e5624ee56b52c6ced95e69ff1fc6", "date": 1746080737.0, "description": "recalculate frames_release when setting release (SampleHandle)", "files": [["M", "app/src/main/cpp/SampleHandle.h"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "cdf4783f0447f2e58d517aef8ad9ac821e753be1": {"id": "cdf4783f0447f2e58d517aef8ad9ac821e753be1", "date": 1746071980.0, "description": "updated tests. Remove tmp crash report file if user backs out of file select. fixed null pointer access in update_channel_instruments()", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerCursor.kt"], ["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "b638da7fe68ab1bc43b2b6bad03f7de785f18802": {"id": "b638da7fe68ab1bc43b2b6bad03f7de785f18802", "date": 1746067040.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/107.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "2b741a4c510d0930412983ae44065ae2e8480645": {"id": "2b741a4c510d0930412983ae44065ae2e8480645", "date": 1746066436.0, "description": "Fixed coarse/fine tuning mixup", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/Generator.kt"]], "author": "smith.quintin@protonmail.com"}, "f19035c3f5ec30466a121bdd51f18eb19dc69cbe": {"id": "f19035c3f5ec30466a121bdd51f18eb19dc69cbe", "date": 1746066343.0, "description": "fixed coarse/fine tuning mixup", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Generator.kt"], ["M", "app/src/main/cpp/soundfont/Sample.cpp"], ["M", "app/src/main/cpp/soundfont/PitchedBuffer.h"], ["M", "app/src/main/cpp/soundfont/GeneratorOperation.h"]], "author": "smith.quintin@protonmail.com"}, "f1aa4933576757f25b6936673cb8eefd5a6d8eab": {"id": "f1aa4933576757f25b6936673cb8eefd5a6d8eab", "date": 1746058289.0, "description": "c++ sample  tuning uses signed int", "files": [["M", "app/src/main/cpp/soundfont/Generated.h"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "44794a244b287c8bb1489a437ec76b93794ac52a": {"id": "44794a244b287c8bb1489a437ec76b93794ac52a", "date": 1746054534.0, "description": "debug", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "f0f2f5c0b6eed2674c5b412a943a4c7dd2656cb4": {"id": "f0f2f5c0b6eed2674c5b412a943a4c7dd2656cb4", "date": 1746054100.0, "description": "merge arrays in c++", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "e5ac22836535194e038d415d626dc41611af3a25": {"id": "e5ac22836535194e038d415d626dc41611af3a25", "date": 1746052808.0, "description": "moved tanh to C++", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "b180273f1f865bff988013cc110d201aee57a2eb": {"id": "b180273f1f865bff988013cc110d201aee57a2eb", "date": 1746010916.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "32bd59f675cfa330ebc746b3832d55b7388c38c8": {"id": "32bd59f675cfa330ebc746b3832d55b7388c38c8", "date": 1745968480.0, "description": "readded line pan", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "80d86b4e8174a23a38dc796f571626d9a3f006b7": {"id": "80d86b4e8174a23a38dc796f571626d9a3f006b7", "date": 1745966137.0, "description": "fixed ProfileBuffer get_next call", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/SampleHandle.h"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "63c62a00e73229d64acc60214eeaac9cd203f330": {"id": "63c62a00e73229d64acc60214eeaac9cd203f330", "date": 1745962771.0, "description": "moved pan handling to cpp", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/cpp/SampleHandle.h"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "e42ebdb712a23b5e65a9866c224a4f5d7187f71f": {"id": "e42ebdb712a23b5e65a9866c224a4f5d7187f71f", "date": 1745958370.0, "description": "get_next_balance() on cpp", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/SampleHandle.h"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "c2f6fe77c60ef1971a579bf99f0f803c92785be4": {"id": "c2f6fe77c60ef1971a579bf99f0f803c92785be4", "date": 1745736405.0, "description": "sound functional again. no volume or pan control yet", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/cpp/soundfont/Sample.cpp"], ["M", "app/src/main/cpp/soundfont/PitchedBuffer.h"], ["M", "app/src/main/cpp/SampleHandle.h"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "9bfb3f2b621ae373773becb0188893b0a2e1ea71": {"id": "9bfb3f2b621ae373773becb0188893b0a2e1ea71", "date": 1745718896.0, "description": "Sample name working", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SampleDirective.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Sample.kt"], ["M", "app/src/main/cpp/soundfont/Sample.h"], ["M", "app/src/main/cpp/soundfont/Sample.cpp"], ["M", "app/src/main/cpp/SampleHandle.h"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "ec5c8dbc22721c4c9b21b1aa91204d205f3c2519": {"id": "ec5c8dbc22721c4c9b21b1aa91204d205f3c2519", "date": 1745704322.0, "description": "Fixed initial pitching in SampleHandles", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/soundfont/PitchedBuffer.h"], ["M", "app/src/main/cpp/native-lib.cpp"], ["M", "app/src/main/cpp/SampleHandle.h"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "be86c4a3033596f11662b92506f7b5f801787726": {"id": "be86c4a3033596f11662b92506f7b5f801787726", "date": 1745660462.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/106.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "b1627d32a42b659f5df4c2bc7481c4223a805988": {"id": "b1627d32a42b659f5df4c2bc7481c4223a805988", "date": 1745659816.0, "description": "Sample get_data_inner returning correct value", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SampleDirective.kt"], ["M", "app/src/main/cpp/soundfont/Sample.cpp"], ["M", "app/src/main/cpp/soundfont/PitchedBuffer.h"], ["M", "app/src/main/cpp/native-lib.cpp"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "254a29d2280321f6ee9e9383da10b45225dc7025": {"id": "254a29d2280321f6ee9e9383da10b45225dc7025", "date": 1745652582.0, "description": "copy handle data instead of duplicating pointer", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/cpp/soundfont/PitchedBuffer.h"], ["M", "app/src/main/cpp/SampleHandle.h"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "dd203e963ea674a0bda11392a2331fc4d3a86875": {"id": "dd203e963ea674a0bda11392a2331fc4d3a86875", "date": 1745618952.0, "description": "fixed release_frame being unset on copy", "files": [["M", "app/src/main/cpp/SampleHandle.h"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "49dbb5b5ce16b1cc3a8d591a3dfc51df3c47c8a8": {"id": "49dbb5b5ce16b1cc3a8d591a3dfc51df3c47c8a8", "date": 1745617698.0, "description": "solved data_buffers not being initialized", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/cpp/soundfont/PitchedBuffer.h"], ["M", "app/src/main/cpp/SampleHandle.h"]], "author": "smith.quintin@protonmail.com"}, "39d9d27d4f94a895bcdea2cf628d1f4008f76547": {"id": "39d9d27d4f94a895bcdea2cf628d1f4008f76547", "date": 1745616501.0, "description": "debug", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/SampleHandle.h"]], "author": "smith.quintin@protonmail.com"}, "589c81b1b28d2b19f3a71be67665563b9c5743d8": {"id": "589c81b1b28d2b19f3a71be67665563b9c5743d8", "date": 1745616018.0, "description": "debug", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/soundfont/PitchedBuffer.h"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "2ca247ba4b6ee13f75945fd7e2a42220d1a0257e": {"id": "2ca247ba4b6ee13f75945fd7e2a42220d1a0257e", "date": 1745613576.0, "description": "debugging null ptr segfaults", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/cpp/soundfont/PitchedBuffer.h"], ["M", "app/src/main/cpp/native-lib.cpp"], ["M", "app/src/main/cpp/SampleHandle.h"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "0993fa2e529af597f9f40d46c8fe0db004587246": {"id": "0993fa2e529af597f9f40d46c8fe0db004587246", "date": 1745538586.0, "description": "changed more pointers to pointer-pointers", "files": [["M", "app/src/main/cpp/native-lib.cpp"], ["M", "app/src/main/cpp/SampleHandle.h"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "6619475810e7cc0b4b03e0588419309c0561e81f": {"id": "6619475810e7cc0b4b03e0588419309c0561e81f", "date": 1745531422.0, "description": "Change ProfileBuffer* to ProfileBuffer**", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/cpp/soundfont/Sample.h"], ["M", "app/src/main/cpp/soundfont/PitchedBuffer.h"], ["M", "app/src/main/cpp/native-lib.cpp"], ["M", "app/src/main/cpp/SampleHandle.h"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "367b7b14428b0c45c61506dde5d6dbb005baf142": {"id": "367b7b14428b0c45c61506dde5d6dbb005baf142", "date": 1745522111.0, "description": "fixed midi device playback playing past end of song", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "b7219578dd8ea664219a2a7bedd9e9efb53277ca": {"id": "b7219578dd8ea664219a2a7bedd9e9efb53277ca", "date": 1745517341.0, "description": "2nd pass at allow_midi_playback option", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "e9cb5ed3a9e530cc9b7cdb1062ec8109ad36b289": {"id": "e9cb5ed3a9e530cc9b7cdb1062ec8109ad36b289", "date": 1745494116.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/105.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "283841ec15fc18eadc0b1d5b02dbd18049b73e79": {"id": "283841ec15fc18eadc0b1d5b02dbd18049b73e79", "date": 1745493690.0, "description": "disable minify. fixed sEnableMidi default value", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "ba6dbde88c128b24a0040e8538b4f59d7f3d4cfe": {"id": "ba6dbde88c128b24a0040e8538b4f59d7f3d4cfe", "date": 1745492718.0, "description": "first pass at allow_midi_playback config option", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "578a5ba24a0f2af5ce0e31a2b4a68aa827cd954d": {"id": "578a5ba24a0f2af5ce0e31a2b4a68aa827cd954d", "date": 1745456324.0, "description": "Fixed bad logic in swap_mapped_channels", "files": [["A", "fastlane/metadata/android/en-US/changelogs/104.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "01f9083310662deb870f2a9bd1b6a6ea9475dea9": {"id": "01f9083310662deb870f2a9bd1b6a6ea9475dea9", "date": 1745442321.0, "description": "Dialog to save crash report", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "81b13b535fa514025f54239b3fcc711fbf14c924": {"id": "81b13b535fa514025f54239b3fcc711fbf14c924", "date": 1745430450.0, "description": "fixed midi controller not automatically disconnecting/connecting midi devices", "files": [["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "85177d1f2e5b101fc17222acf6ae8da3317c40ef": {"id": "85177d1f2e5b101fc17222acf6ae8da3317c40ef", "date": 1745389399.0, "description": "fixed memory allocation of PitchedBuffers", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/cpp/soundfont/PitchedBuffer.h"], ["M", "app/src/main/cpp/SampleHandle.h"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "c4e9c4cac6f460d6f6c7839a45e8a32afda02dd3": {"id": "c4e9c4cac6f460d6f6c7839a45e8a32afda02dd3", "date": 1745374278.0, "description": "check if ProfileBuffers exist before they are used", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/cpp/soundfont/Sample.cpp"], ["M", "app/src/main/cpp/SampleHandle.h"]], "author": "smith.quintin@protonmail.com"}, "eb93aaf0eab23f0c206d00dddf288d0040d24d35": {"id": "eb93aaf0eab23f0c206d00dddf288d0040d24d35", "date": 1745372471.0, "description": "work on samplehandle c++", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Sample.kt"], ["M", "app/src/main/cpp/soundfont/Sample.cpp"], ["A", "app/src/main/cpp/soundfont/PitchedBuffer.h"], ["M", "app/src/main/cpp/soundfont/PitchedBuffer.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"], ["M", "app/src/main/cpp/SampleHandle.h"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "d9d7b2e5fa11b0050eb814707697cc70b7308bd5": {"id": "d9d7b2e5fa11b0050eb814707697cc70b7308bd5", "date": 1745356875.0, "description": "SampleHandle jni functions", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/native-lib.cpp"], ["M", "app/src/main/cpp/SampleHandle.h"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "1ef40fd909504487b5221af155bd057482ee5acf": {"id": "1ef40fd909504487b5221af155bd057482ee5acf", "date": 1745343132.0, "description": "work on SampleHandle C++", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/SampleHandle.h"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "fccd3ab8ba0fb7cda926e0eb68cd93a6ecafa328": {"id": "fccd3ab8ba0fb7cda926e0eb68cd93a6ecafa328", "date": 1745337492.0, "description": "create() on SampleHandle", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/soundfont/PitchedBuffer.cpp"], ["M", "app/src/main/cpp/SampleHandle.h"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "8b5a6f6c2fd0070d7944c6ee5bbac65e2afdf098": {"id": "8b5a6f6c2fd0070d7944c6ee5bbac65e2afdf098", "date": 1745279526.0, "description": "Work on SampleHandle JNI interface", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "e47b22b05621d123bd6ad5d04a9f8e3221463bc9": {"id": "e47b22b05621d123bd6ad5d04a9f8e3221463bc9", "date": 1745271944.0, "description": "catch and throw PitchedBufferOverflow from C++ error to Java Error", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/cpp/native-lib.cpp"], ["M", "app/src/main/cpp/SampleHandle.h"]], "author": "smith.quintin@protonmail.com"}, "d994fd533c15325f0c9d844b1003f34cda945bfa": {"id": "d994fd533c15325f0c9d844b1003f34cda945bfa", "date": 1745195190.0, "description": "Sample cpp mostly functional", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Sample.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Instrument.kt"], ["M", "app/src/main/cpp/soundfont/Sample.h"], ["M", "app/src/main/cpp/soundfont/Sample.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "a3ff8950027f527d0feb2c55700e3931d292ac66": {"id": "a3ff8950027f527d0feb2c55700e3931d292ac66", "date": 1745133276.0, "description": "work on Sample cpp", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Sample.kt"], ["M", "app/src/main/cpp/soundfont/Sample.h"], ["M", "app/src/main/cpp/soundfont/Sample.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "0557811912a60ee46a14e65e41a790d6da9e4bd0": {"id": "0557811912a60ee46a14e65e41a790d6da9e4bd0", "date": 1745120601.0, "description": "added SampleHandle.h", "files": [["M", "app/src/main/cpp/SampleHandle.h"]], "author": "smith.quintin@protonmail.com"}, "1fd073b565c9cbfea100610aefbc1ed3064f2d9a": {"id": "1fd073b565c9cbfea100610aefbc1ed3064f2d9a", "date": 1745117139.0, "description": "built SampleHandle.h", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Sample.kt"], ["M", "app/src/main/cpp/soundfont/Sample.h"], ["M", "app/src/main/cpp/soundfont/Sample.cpp"], ["M", "app/src/main/cpp/soundfont/PitchedBuffer.cpp"], ["A", "app/src/main/cpp/SampleHandle.h"], ["A", "app/src/main/cpp/SampleHandle.cpp"]], "author": "smith.quintin@protonmail.com"}, "0faa7f331c783bb012fb0c96c93a633f6d057870": {"id": "0faa7f331c783bb012fb0c96c93a633f6d057870", "date": 1745047679.0, "description": "first pass at SoundFont.cpp", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SampleDirective.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Sample.kt"], ["M", "app/src/main/cpp/soundfont/SoundFont.h"], ["M", "app/src/main/cpp/soundfont/SampleDirective.h"], ["M", "app/src/main/cpp/soundfont/Sample.h"], ["M", "app/src/main/cpp/soundfont/Preset.h"], ["M", "app/src/main/cpp/soundfont/InstrumentDirective.h"], ["M", "app/src/main/cpp/soundfont/Instrument.h"]], "author": "smith.quintin@protonmail.com"}, "a78ca07d3775e0d2d2df010af05df33040ce59b5": {"id": "a78ca07d3775e0d2d2df010af05df33040ce59b5", "date": 1745021315.0, "description": "work on SoundFont.cpp", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["A", "app/src/main/cpp/soundfont/SoundFont.h"], ["A", "app/src/main/cpp/soundfont/SoundFont.cpp"], ["M", "app/src/main/cpp/soundfont/Sample.h"], ["M", "app/src/main/cpp/soundfont/Sample.cpp"], ["M", "app/src/main/cpp/soundfont/Riff.cpp"], ["M", "app/src/main/cpp/soundfont/Instrument.h"]], "author": "smith.quintin@protonmail.com"}, "bb7a955b3d8bdf231223da2886e9b1bf5913e778": {"id": "bb7a955b3d8bdf231223da2886e9b1bf5913e778", "date": 1744945945.0, "description": "fixed misuse of hashCode() as HashMap keys in Preset and Instrument", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/Preset.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Instrument.kt"]], "author": "smith.quintin@protonmail.com"}, "4f7bf08db1cf8c108f46352d917c970c26a14017": {"id": "4f7bf08db1cf8c108f46352d917c970c26a14017", "date": 1744944495.0, "description": "cpp versions of Instrument, InstrumentDirective, Preset built", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/Instrument.kt"], ["M", "app/src/main/cpp/soundfont/SampleDirective.h"], ["M", "app/src/main/cpp/soundfont/Riff.cpp"], ["A", "app/src/main/cpp/soundfont/Preset.h"], ["A", "app/src/main/cpp/soundfont/Preset.cpp"], ["A", "app/src/main/cpp/soundfont/InstrumentDirective.h"], ["A", "app/src/main/cpp/soundfont/InstrumentDirective.cpp"], ["A", "app/src/main/cpp/soundfont/Instrument.h"], ["A", "app/src/main/cpp/soundfont/Instrument.cpp"], ["M", "app/src/main/cpp/soundfont/Generated.h"], ["M", "app/src/main/cpp/soundfont/Generated.cpp"]], "author": "smith.quintin@protonmail.com"}, "bd9f2f0b203e9f7b851a90f953035d53c6652acc": {"id": "bd9f2f0b203e9f7b851a90f953035d53c6652acc", "date": 1744878520.0, "description": "bulk of the logic done for per-line exports", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "a391dbf73e0d775ced70cf95ed305fd57aaab6aa": {"id": "a391dbf73e0d775ced70cf95ed305fd57aaab6aa", "date": 1744862324.0, "description": "removed unused generate()", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "fec86623b0ef7cfa0c7f05a5b8973beb83e4acce": {"id": "fec86623b0ef7cfa0c7f05a5b8973beb83e4acce", "date": 1744845868.0, "description": "moved some logic in Soundfont.kt to accomodate for upcoming conversion to JNI", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SampleDirective.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/InstrumentDirective.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Generated.kt"]], "author": "smith.quintin@protonmail.com"}, "12aecf9a33ddbe91333e2785510dd5cbeb778155": {"id": "12aecf9a33ddbe91333e2785510dd5cbeb778155", "date": 1744839224.0, "description": "work on SampleDirective.cpp", "files": [["M", "app/src/main/cpp/soundfont/SampleDirective.h"], ["M", "app/src/main/cpp/soundfont/Generated.h"]], "author": "smith.quintin@protonmail.com"}, "e2409e0dbea0da34a6fd6a1a113c34e437aa7359": {"id": "e2409e0dbea0da34a6fd6a1a113c34e437aa7359", "date": 1744837974.0, "description": "bugfix: Accidentally mixed up fine/coarse tuning in soundfont init", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "723e0abc141e17a95acaccd3240570d1ac649ac3": {"id": "723e0abc141e17a95acaccd3240570d1ac649ac3", "date": 1744837495.0, "description": "apply_generators() in Generated struct", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/cpp/soundfont/Generated.h"]], "author": "smith.quintin@protonmail.com"}, "1862669a21a743b45d8fa286cef5a9d364ca70eb": {"id": "1862669a21a743b45d8fa286cef5a9d364ca70eb", "date": 1744835289.0, "description": "work on jni Generator", "files": [["A", "app/src/main/cpp/soundfont/GeneratorOperation.h"], ["A", "app/src/main/cpp/soundfont/GeneratorOperation.cpp"], ["A", "app/src/main/cpp/soundfont/Generator.h"], ["A", "app/src/main/cpp/soundfont/Generator.cpp"], ["M", "app/src/main/cpp/soundfont/Generated.h"]], "author": "smith.quintin@protonmail.com"}, "c1a6b16be74efd0950d1900b22446a8900f12d07": {"id": "c1a6b16be74efd0950d1900b22446a8900f12d07", "date": 1744829191.0, "description": "cleaned up Riff.cpp", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/Generator.kt"], ["M", "app/src/main/cpp/soundfont/SampleDirective.h"], ["M", "app/src/main/cpp/soundfont/SampleDirective.cpp"], ["M", "app/src/main/cpp/soundfont/Sample.h"], ["M", "app/src/main/cpp/soundfont/Sample.cpp"], ["M", "app/src/main/cpp/soundfont/Riff.cpp"], ["M", "app/src/main/cpp/soundfont/Generated.h"], ["M", "app/src/main/cpp/soundfont/Generated.cpp"]], "author": "smith.quintin@protonmail.com"}, "161a61f286857df9f98252eb115a2b50abdbf28c": {"id": "161a61f286857df9f98252eb115a2b50abdbf28c", "date": 1744777706.0, "description": "built SampleDirective.cpp", "files": [["A", "app/src/main/cpp/soundfont/SampleDirective.h"], ["A", "app/src/main/cpp/soundfont/SampleDirective.cpp"], ["A", "app/src/main/cpp/soundfont/Sample.h"], ["M", "app/src/main/cpp/soundfont/Sample.cpp"], ["M", "app/src/main/cpp/soundfont/Generated.cpp"]], "author": "smith.quintin@protonmail.com"}, "a8204e98367e1fcef41a557f2b4db3975ab8f139": {"id": "a8204e98367e1fcef41a557f2b4db3975ab8f139", "date": 1744777045.0, "description": "created Generated.cpp", "files": [["A", "app/src/main/cpp/soundfont/Generated.h"], ["A", "app/src/main/cpp/soundfont/Generated.cpp"]], "author": "smith.quintin@protonmail.com"}, "87650604a7a962a8e747881556a91681d224e367": {"id": "87650604a7a962a8e747881556a91681d224e367", "date": 1744692841.0, "description": "work on jni conversion. Sample struct", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SampleType.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Sample.kt"], ["M", "app/src/main/cpp/soundfont/Sample.cpp"], ["M", "app/src/main/cpp/soundfont/Riff.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "4c0948efe87334147dca43f6c5224b259e4c7424": {"id": "4c0948efe87334147dca43f6c5224b259e4c7424", "date": 1744666014.0, "description": "finished channel swapping. resolves #73", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "7ada8f26bbb118de5b5a503141032aea22ecde8b": {"id": "7ada8f26bbb118de5b5a503141032aea22ecde8b", "date": 1744651232.0, "description": "work on channel swapping ( #73 ). almost functional, need to address miscount in EditorTable.swap_channels()", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "1d12529ac82be3256e1ecc1bd8625ffc3950fff1": {"id": "1d12529ac82be3256e1ecc1bd8625ffc3950fff1", "date": 1744615529.0, "description": "extracted screen orientation", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"]], "author": "smith.quintin@protonmail.com"}, "09a1947c96650870c16c4c3c5b7f737647e61761": {"id": "09a1947c96650870c16c4c3c5b7f737647e61761", "date": 1744615402.0, "description": "Can force orientation. resolves #71", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/contextmenu_range_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range_secondary.xml"], ["A", "app/src/main/res/color/radio_text.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"]], "author": "smith.quintin@protonmail.com"}, "0cc1f4755edb64f68592084a0041cb56f23ddf26": {"id": "0cc1f4755edb64f68592084a0041cb56f23ddf26", "date": 1744593529.0, "description": "removed debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"]], "author": "smith.quintin@protonmail.com"}, "1f460b26eb637b536c3a1983409be945b8bb4784": {"id": "1f460b26eb637b536c3a1983409be945b8bb4784", "date": 1744593426.0, "description": "version bump and changelog", "files": [["A", "fastlane/metadata/android/en-US/changelogs/103.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "b3223a45b79326d681e3ed947cf209ef9e495ce0": {"id": "b3223a45b79326d681e3ed947cf209ef9e495ce0", "date": 1744593395.0, "description": "fixed Midi.detect_version()", "files": [["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "8bbf2ace2cc2d7148b470c6287ec4d9357a968ae": {"id": "8bbf2ace2cc2d7148b470c6287ec4d9357a968ae", "date": 1744590143.0, "description": "removed unused cpp", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["D", "app/src/main/cpp/CMakeLists.txt"]], "author": "smith.quintin@protonmail.com"}, "324834ad2f0139099eb57c5e8144ae72ff2c0c33": {"id": "324834ad2f0139099eb57c5e8144ae72ff2c0c33", "date": 1744559075.0, "description": "tweaks to mute secondary line and channel menus paddings", "files": [["M", "app/src/main/res/layout/control_widget_volume.xml"], ["M", "app/src/main/res/layout/contextmenu_row_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_channel_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel_secondary.xml"]], "author": "smith.quintin@protonmail.com"}, "fc2d63ceaf7cfc6f14012fe2d8d9000b41ff8bf3": {"id": "fc2d63ceaf7cfc6f14012fe2d8d9000b41ff8bf3", "date": 1744555007.0, "description": "Removed debug code", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "577e76ecba8860deb61a6e6328edf11bd3d729eb": {"id": "577e76ecba8860deb61a6e6328edf11bd3d729eb", "date": 1744522789.0, "description": "tweaked volume control and mute button", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout/control_widget_volume.xml"], ["M", "app/src/main/res/layout/contextmenu_row_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_channel_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_channel.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "c9f00ebff17cba4af108baf1ffb27a29f0b34ccd": {"id": "c9f00ebff17cba4af108baf1ffb27a29f0b34ccd", "date": 1744517031.0, "description": "bugfix: line labels wren't being refreshed correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"]], "author": "smith.quintin@protonmail.com"}, "4766f7287444fcb9a038e8dbea42f5b80d062a75": {"id": "4766f7287444fcb9a038e8dbea42f5b80d062a75", "date": 1744509702.0, "description": "double-clicking ctl lines will select channel", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "158e4f32a63c4710255de45fa8d8a9b39bfcea5e": {"id": "158e4f32a63c4710255de45fa8d8a9b39bfcea5e", "date": 1744500874.0, "description": "dark-mode muted colors", "files": [["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["D", "app/src/main/res/color/mute_button_text_selector.xml"], ["M", "app/src/main/res/color/line_label_text.xml"], ["M", "app/src/main/res/color/line_label_ctl_text.xml"], ["M", "app/src/main/res/color/leaf_text_selector.xml"], ["M", "app/src/main/res/color/ctl_leaf_text_selector.xml"]], "author": "smith.quintin@protonmail.com"}, "7449d6f8a4b6932682f0dc1687774409e1070b80": {"id": "7449d6f8a4b6932682f0dc1687774409e1070b80", "date": 1744497485.0, "description": "muteable channels and lines", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values/attrs.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_channel.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["M", "app/src/main/res/drawable/unmute.xml"], ["M", "app/src/main/res/drawable/mute.xml"], ["A", "app/src/main/res/color/mute_button_text_selector.xml"], ["M", "app/src/main/res/color/line_label_std_selector.xml"], ["M", "app/src/main/res/color/line_label_ctl_selector.xml"], ["M", "app/src/main/res/color/leaf.xml"], ["M", "app/src/main/res/color/ctl_leaf_selector.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "bff22a25a05619fcf7a4f0a62b28b1638dc5c838": {"id": "bff22a25a05619fcf7a4f0a62b28b1638dc5c838", "date": 1744390101.0, "description": "Logic implemented for issue #72. (muting lines/channels) Need to draw Icons for the new buttons and handle re-coloring lines that have been muted on the table. I'm thinking simple desaturation should work.", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_control_line.xml"], ["M", "app/src/main/res/layout/contextmenu_channel.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["A", "app/src/main/res/drawable/unmute.xml"], ["A", "app/src/main/res/drawable/mute.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusLineJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "742ea0c6c0c797c949f8fc3d445620f18c527697": {"id": "742ea0c6c0c797c949f8fc3d445620f18c527697", "date": 1744236389.0, "description": "json as export option", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "85a1cfc6f4183841a3ab0de1514d266f2fed414c": {"id": "85a1cfc6f4183841a3ab0de1514d266f2fed414c", "date": 1744225569.0, "description": "long click to set project name", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "a67741b5a1f87a5f43739af0aaa3c90d830ebe6f": {"id": "a67741b5a1f87a5f43739af0aaa3c90d830ebe6f", "date": 1744161666.0, "description": "Functional FFT!", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/apres/ComplexTest.kt"], ["M", "app/src/main/java/com/qfs/apres/Complex.kt"]], "author": "smith.quintin@protonmail.com"}, "06472ff52114b735cfd7264589c3d3a977d39ef0": {"id": "06472ff52114b735cfd7264589c3d3a977d39ef0", "date": 1744154019.0, "description": "fixed some broken unittests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerCursorUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerCursor.kt"], ["M", "app/src/test/java/com/qfs/apres/SoundFontPlayerUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "9f891451f1ea365a3672e7903a0ee8ddc55692a9": {"id": "9f891451f1ea365a3672e7903a0ee8ddc55692a9", "date": 1744080640.0, "description": "created sub_section function for PseudoArray (like subList)", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/PseudoArray.kt"]], "author": "smith.quintin@protonmail.com"}, "39476cccb2a74f1c57f7036efaec1b6194b787a7": {"id": "39476cccb2a74f1c57f7036efaec1b6194b787a7", "date": 1744045068.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "60b4a8354ecc3d02d491781ba4fbef42df1a24d0": {"id": "60b4a8354ecc3d02d491781ba4fbef42df1a24d0", "date": 1744044115.0, "description": "merge function in PeudoArray", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/PseudoArray.kt"]], "author": "smith.quintin@protonmail.com"}, "7a2089a84f4ab0a465262ee2600e5f5a7e0690aa": {"id": "7a2089a84f4ab0a465262ee2600e5f5a7e0690aa", "date": 1744043229.0, "description": "save soundfont name in project file and change soundfont on load (toggleable)", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "05cfed369f751f0691c3ec220ddbe55a1df264d1": {"id": "05cfed369f751f0691c3ec220ddbe55a1df264d1", "date": 1743989091.0, "description": "created PseudoArray class", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont/PseudoArray.kt"]], "author": "smith.quintin@protonmail.com"}, "fa6b01faf2fe22fea27a9c062ae41f39e4337d60": {"id": "fa6b01faf2fe22fea27a9c062ae41f39e4337d60", "date": 1743976761.0, "description": "moved Riff and PitchedBuffer to dedicated cpp files", "files": [["A", "app/src/main/cpp/soundfont/Riff.cpp"], ["A", "app/src/main/cpp/soundfont/PitchedBuffer.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "e3ad26ce4fc708b6a4ab7378c738a937498b70e1": {"id": "e3ad26ce4fc708b6a4ab7378c738a937498b70e1", "date": 1743909152.0, "description": "work on CPP Riff", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/Riff.kt"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "74ca714b07faf19ff258ceed43ebdb16b674d96b": {"id": "74ca714b07faf19ff258ceed43ebdb16b674d96b", "date": 1743824586.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "314ba2e38ce5e32392f55bbade2676f3a20cf56a": {"id": "314ba2e38ce5e32392f55bbade2676f3a20cf56a", "date": 1743811612.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "4769f097bcd7510ee4d6a8e4e75d59bac153c76d": {"id": "4769f097bcd7510ee4d6a8e4e75d59bac153c76d", "date": 1743806870.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "4be9f55c3a3f6a591421634948c835d77d79d206": {"id": "4be9f55c3a3f6a591421634948c835d77d79d206", "date": 1743784609.0, "description": "destroy functions", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "6493acb36abb6e0a2c3f6c130a4cc92687c21fd0": {"id": "6493acb36abb6e0a2c3f6c130a4cc92687c21fd0", "date": 1743658457.0, "description": "update deps", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "3c2427a0d54aa15cf6bf24a1e3fb115ea35b790d": {"id": "3c2427a0d54aa15cf6bf24a1e3fb115ea35b790d", "date": 1743529916.0, "description": "changed usage of hashCodes in Mapkey to uids", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Preset.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Generated.kt"]], "author": "smith.quintin@protonmail.com"}, "4a65b62f261780f83f45437277e3f97860c16e3b": {"id": "4a65b62f261780f83f45437277e3f97860c16e3b", "date": 1743437299.0, "description": "some destroy functinos", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "80eccfe74490b8ddc8f1f8a75af68b1b60bba17c": {"id": "80eccfe74490b8ddc8f1f8a75af68b1b60bba17c", "date": 1743405555.0, "description": "JNI PitchedBuffer Functional and playing (ostensibly) the correct pitch", "files": [["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "9a2def9ba3bddf08969c3ec9849000751d2c6d75": {"id": "9a2def9ba3bddf08969c3ec9849000751d2c6d75", "date": 1743404854.0, "description": "fixed missing part of get_real_frame() in jni", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "fe9d86063844ce655c1305ad6559bc48d00ab54a": {"id": "fe9d86063844ce655c1305ad6559bc48d00ab54a", "date": 1743402977.0, "description": "free() for JNI PitchedBuffer", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "b4823810be9e1e7f7ac226630de7fe81b50c5e25": {"id": "b4823810be9e1e7f7ac226630de7fe81b50c5e25", "date": 1742963743.0, "description": "CPP PitchedBuffer NOT crashing. even making sound. not pitched correctly though", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "b7c48b2f4b64b75e7aaaef2fbb3c45eba81813c4": {"id": "b7c48b2f4b64b75e7aaaef2fbb3c45eba81813c4", "date": 1742930079.0, "description": "cpp rebuild of PitchedBuffer", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Sample.kt"], ["A", "app/src/main/cpp/soundfont/Sample.cpp"], ["M", "app/src/main/cpp/native-lib.cpp"]], "author": "smith.quintin@protonmail.com"}, "d2e6f4e1aa237cb3b4864f78321c45153c37e979": {"id": "d2e6f4e1aa237cb3b4864f78321c45153c37e979", "date": 1742875387.0, "description": "started work on creating cpp modules", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["A", "app/src/main/cpp/native-lib.cpp"], ["M", "app/src/main/cpp/CMakeLists.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "9234d017285f512f21bfb85697f333d9bcce8780": {"id": "9234d017285f512f21bfb85697f333d9bcce8780", "date": 1742672695.0, "description": "finished MidiClipFileInterface.to_bytes(). changed instances of MIDIEvent to GeneralMIDIevent in midi player", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/incidental_functions.kt"], ["M", "app/src/main/java/com/qfs/apres/event/MIDIEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ChannelVoiceMessage.kt"], ["M", "app/src/main/java/com/qfs/apres/VirtualMidiOutputDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/VirtualMidiInputDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "ad6ff828f47b2608ea5c2c3fcd1331ebe8942705": {"id": "ad6ff828f47b2608ea5c2c3fcd1331ebe8942705", "date": 1742658880.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "79dbf1fdc9dc2e3cce1744bfdae108c05fd04ce4": {"id": "79dbf1fdc9dc2e3cce1744bfdae108c05fd04ce4", "date": 1742624057.0, "description": "work on Clip Files", "files": [["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"], ["A", "app/src/main/cpp/CMakeLists.txt"]], "author": "smith.quintin@protonmail.com"}, "7bc0418052b5f87eb6354af8767131494a94c01c": {"id": "7bc0418052b5f87eb6354af8767131494a94c01c", "date": 1742522280.0, "description": "added some more flex messages", "files": [["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"]], "author": "smith.quintin@protonmail.com"}, "eb6f5eea502a58fbb20c5dd700200690c25d6d35": {"id": "eb6f5eea502a58fbb20c5dd700200690c25d6d35", "date": 1742443917.0, "description": "added FlexDataMessage interface and SetTempoMessage (midi2)", "files": [["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "279fd686a71ac10bd9d9d3c51fd6e1d335cc36a4": {"id": "279fd686a71ac10bd9d9d3c51fd6e1d335cc36a4", "date": 1742060870.0, "description": "fixed app_version string resource", "files": [["M", "app/src/main/res/values/strings.xml"]], "author": "smith.quintin@protonmail.com"}, "7e53b0a8f5c93859b38faac41142747acc46da61": {"id": "7e53b0a8f5c93859b38faac41142747acc46da61", "date": 1742059004.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/102.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "567e50b0d049e53936531f7112b1d5b54d216355": {"id": "567e50b0d049e53936531f7112b1d5b54d216355", "date": 1742057851.0, "description": "when changing soundfont, supported_instrument_names are only cleared, then repopulated when needed", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "5e156fc8b2b9e67175905f1b340ee94dda275d43": {"id": "5e156fc8b2b9e67175905f1b340ee94dda275d43", "date": 1742052930.0, "description": "don't set _popup_active until after isEmpty() check. resolved #60", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "6de8eac54a76e7b7b108882703b8d35cf71729f1": {"id": "6de8eac54a76e7b7b108882703b8d35cf71729f1", "date": 1741700404.0, "description": "version bump (just to fix fdroid version detection)", "files": [["A", "fastlane/metadata/android/en-US/changelogs/101.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "0d2aed3e873224cc5cadca2767dfe8d446bfa789": {"id": "0d2aed3e873224cc5cadca2767dfe8d446bfa789", "date": 1741616607.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/100.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "541fad821e1fb6edd4889ff138e133df799c8fbc": {"id": "541fad821e1fb6edd4889ff138e133df799c8fbc", "date": 1741298235.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "b53db873f1f35e8227fdd226f39c8f7e1417864f": {"id": "b53db873f1f35e8227fdd226f39c8f7e1417864f", "date": 1741075197.0, "description": "front page no longer *absolute* garbage in landscape", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/java/com/qfs/pagan/FragmentLandingPage.kt"]], "author": "smith.quintin@protonmail.com"}, "27899dc5dc2e039bb010d7459f7b9a2e9e1f6f52": {"id": "27899dc5dc2e039bb010d7459f7b9a2e9e1f6f52", "date": 1741071607.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/99.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "ccfba87726574db0a41a98e93c45c8b95d2c2f70": {"id": "ccfba87726574db0a41a98e93c45c8b95d2c2f70", "date": 1741070521.0, "description": "lowered default feedback event volume to .6", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "b28fe1f6c1c1e37945de2b1ef464c086270dc2d9": {"id": "b28fe1f6c1c1e37945de2b1ef464c086270dc2d9", "date": 1741070419.0, "description": "fixed: front page 'about' button wasn't linked to anything. resolves #58", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentLandingPage.kt"]], "author": "smith.quintin@protonmail.com"}, "4aca01ffd0c5c458bdc836232e23c2372f0000c1": {"id": "4aca01ffd0c5c458bdc836232e23c2372f0000c1", "date": 1741019180.0, "description": "refresh ctl line labels when selecting std rnge", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "df8ddde58142abaecd286ded79b28e0e42fe294a": {"id": "df8ddde58142abaecd286ded79b28e0e42fe294a", "date": 1740979345.0, "description": "move/copy line controls  when moving/copying range", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "aa53aa96a7c79b3d8fe1ce62ab7ddc1c48012e20": {"id": "aa53aa96a7c79b3d8fe1ce62ab7ddc1c48012e20", "date": 1740859360.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/98.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "b735a121bc8a17678f65d7574e9b61e277eb0751": {"id": "b735a121bc8a17678f65d7574e9b61e277eb0751", "date": 1740859296.0, "description": "bugfix: couldn't select column when scrolled down. resolves #57", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "a58f3fe7191396d978474960a73bbb5e63c4bb2a": {"id": "a58f3fe7191396d978474960a73bbb5e63c4bb2a", "date": 1740502640.0, "description": "more cleanup of JSONList", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusTreeJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusManagerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "daa72ff0aea7f76a3b0dca146eff358fee60849a": {"id": "daa72ff0aea7f76a3b0dca146eff358fee60849a", "date": 1740501045.0, "description": "small cleanup of JSONHashMap", "files": [["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusManagerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "618de2b800d2f0758667496cfdcef9d3def42ae6": {"id": "618de2b800d2f0758667496cfdcef9d3def42ae6", "date": 1740498244.0, "description": "cleaned up usage of JSONList.list.size -> JSONList.size", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusTreeJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusManagerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusLineJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "6b0a4ba5d364038c7af12a32ca9ba73f85d2968d": {"id": "6b0a4ba5d364038c7af12a32ca9ba73f85d2968d", "date": 1740439090.0, "description": "part of previous commit", "files": [["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "2c186a4853d7df72b325480ec38f849d581395e8": {"id": "2c186a4853d7df72b325480ec38f849d581395e8", "date": 1740438921.0, "description": "more tweaks to JSONHashMap", "files": [["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "a38f084828e4bef8f22002fb3b68fbed7640c4b2": {"id": "a38f084828e4bef8f22002fb3b68fbed7640c4b2", "date": 1740436861.0, "description": "cleaned up JSONList and JSONHashMap", "files": [["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusTreeJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusManagerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusLineJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/InstrumentEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "4bee6cdf5d63cde1cc968d193d3eda6bdce34d48": {"id": "4bee6cdf5d63cde1cc968d193d3eda6bdce34d48", "date": 1740423504.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "0fa691a32cee5101e932ad8280b066dbba23419f": {"id": "0fa691a32cee5101e932ad8280b066dbba23419f", "date": 1740375945.0, "description": "Modified colors.xml and themes.xml", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/colors.xml"]], "author": "1441301575@qq.com"}, "86a602e23ab52a5e7724746a8565c7f5487492fd": {"id": "86a602e23ab52a5e7724746a8565c7f5487492fd", "date": 1740187338.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/97.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "30ef97859f66df24e075f07d0c0a31e494943bfa": {"id": "30ef97859f66df24e075f07d0c0a31e494943bfa", "date": 1740186376.0, "description": "instrumented test for recent issue #55", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"]], "author": "smith.quintin@protonmail.com"}, "31b25cca3f9eef1323fea8264c462e251e6efaf7": {"id": "31b25cca3f9eef1323fea8264c462e251e6efaf7", "date": 1740180404.0, "description": "bugfix: insert_line wasn't updating width map correctly. resolves #55", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "9f5777e4911877e88d4de91d933360de14a1adb4": {"id": "9f5777e4911877e88d4de91d933360de14a1adb4", "date": 1740178650.0, "description": "Don't use current line volume when playing note feedback", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "589a717968951aa24fdbb8267f099ecedbd109e4": {"id": "589a717968951aa24fdbb8267f099ecedbd109e4", "date": 1740092798.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/96.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "b4b7d7983200b9ebefa7d754474f0ebc6ff9b044": {"id": "b4b7d7983200b9ebefa7d754474f0ebc6ff9b044", "date": 1740083415.0, "description": "resolves #53", "files": [["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "a49f3fcb57b9e0e9c22d38935b5bfc8719114e9c": {"id": "a49f3fcb57b9e0e9c22d38935b5bfc8719114e9c", "date": 1739995231.0, "description": "fixed: disabling soundfont doesn't update channel instrument names", "files": [["M", "fastlane/metadata/android/en-US/changelogs/95.txt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "f200c30591e79ab8f8f48d94f8c85e418bea22bb": {"id": "f200c30591e79ab8f8f48d94f8c85e418bea22bb", "date": 1739991479.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/95.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "f8c1217bb0a09815fbabb76c5b2d0ea54c1abb22": {"id": "f8c1217bb0a09815fbabb76c5b2d0ea54c1abb22", "date": 1739990057.0, "description": "added longer generated ActionTracker based test.", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["A", "app/src/main/assets/tests/opus_1739987654989.json"], ["A", "app/src/main/assets/tests/generated_1739987654989.json"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"]], "author": "smith.quintin@protonmail.com"}, "f670c97ca55b9dbcf1febd4eb7907f2378567ea7": {"id": "f670c97ca55b9dbcf1febd4eb7907f2378567ea7", "date": 1739923871.0, "description": "Linted some of the more pressing issues", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/strings.xml"], ["D", "app/src/main/res/values-v28/styles.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/dialog_tuning_map.xml"], ["M", "app/src/main/res/layout/dialog_shortcut.xml"], ["M", "app/src/main/res/layout/dialog_menu.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_range_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_range.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout/contextmenu_control_line.xml"], ["M", "app/src/main/res/layout/contextmenu_column.xml"], ["M", "app/src/main/res/layout/contextmenu_channel.xml"], ["M", "app/src/main/res/layout/contextmenu_cell_percussion.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range.xml"], ["M", "app/src/main/res/layout-land/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout-land/contextmenu_control_line.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell_percussion.xml"], ["D", "app/src/main/res/drawable/settings_50.xml"], ["M", "app/src/main/java/com/qfs/pagan/TuningMapRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganTextView.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuRange.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "a9f2f9eebb4bb4b97d4d30b3ac68505d2a617375": {"id": "a9f2f9eebb4bb4b97d4d30b3ac68505d2a617375", "date": 1739908934.0, "description": "revert to Switch from SwitchCompat. coloring issues", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/strings.xml"], ["A", "app/src/main/res/values-v28/styles.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout/content_main.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/res/layout-land/content_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "da28af928951d906f1d176cf3c5d33e48988a854": {"id": "da28af928951d906f1d176cf3c5d33e48988a854", "date": 1739906242.0, "description": "fixed ContextMenuControlLeaf LongClicks not consuming event. (also double checked all instances of long click) resolves #49", "files": [["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "cfcc0ccb5c513356a3de3214379f36cea11fa0ad": {"id": "cfcc0ccb5c513356a3de3214379f36cea11fa0ad", "date": 1739905806.0, "description": "changed 'beat_count' to 'length'. resolves #38", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerCursorUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerCursorUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "ce343b26c8ac67c08d3d7670c1b5bde35748a72e": {"id": "ce343b26c8ac67c08d3d7670c1b5bde35748a72e", "date": 1739905371.0, "description": "force repopulation of kit percussion names in FullRefresh. resolves #51", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "56a378c462799124d7374b225cde3b22bdd7f717": {"id": "56a378c462799124d7374b225cde3b22bdd7f717", "date": 1739902782.0, "description": "lint", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["D", "app/src/main/res/layout/tree_node.xml"], ["D", "app/src/main/res/layout/loadmenu_item.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["D", "app/src/main/res/layout/dialog_line_volume.xml"], ["M", "app/src/main/res/layout/contextmenu_channel.xml"], ["D", "app/src/main/res/layout/config_active_channel.xml"], ["D", "app/src/main/res/layout/color_picker_inline.xml"], ["D", "app/src/main/res/layout/color_picker.xml"], ["D", "app/src/main/res/layout/beat_node.xml"], ["D", "app/src/main/res/layout-land/color_picker.xml"], ["D", "app/src/main/res/drawable/midi_logo.xml"], ["D", "app/src/main/res/drawable/ic_launcher_background.xml"], ["D", "app/src/main/res/drawable/ic_baseline_close_24.xml"], ["D", "app/src/main/res/drawable/dropdown_line_gradient.xml"], ["D", "app/src/main/res/drawable/ctl_toggle_enabled.xml"], ["D", "app/src/main/res/drawable/button_icon_disabled.xml"], ["D", "app/src/main/res/drawable-v24/ic_launcher_foreground.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/AndroidManifest.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "e6c6563509de3301da7e30a20978403ef14af0ac": {"id": "e6c6563509de3301da7e30a20978403ef14af0ac", "date": 1739831826.0, "description": "extracted some string resources", "files": [["M", "app/src/main/res/values/strings.xml"], ["D", "app/src/main/res/menu/percussion_instruments.xml"], ["M", "app/src/main/res/menu/main_options_menu.xml"], ["D", "app/src/main/res/menu/channel_instruments.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"]], "author": "smith.quintin@protonmail.com"}, "6fcabaa4ca8d6a9523709b1899fa56546e6a634f": {"id": "6fcabaa4ca8d6a9523709b1899fa56546e6a634f", "date": 1739829806.0, "description": "invalidate painted layer when table_ui size changes. resolves #50", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "257ce4a49fc577ebb60e39f84cd39570737da5c2": {"id": "257ce4a49fc577ebb60e39f84cd39570737da5c2", "date": 1739741595.0, "description": "changed instances of get_main -> get_activity. resolves #48", "files": [["M", "app/src/main/java/com/qfs/pagan/PanSliderWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentLandingPage.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeafB.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ButtonStd.kt"]], "author": "smith.quintin@protonmail.com"}, "21e21db1b773fc76825252a12fed04e952777113": {"id": "21e21db1b773fc76825252a12fed04e952777113", "date": 1739741115.0, "description": "removed assert_action calls in instrumented tests. fixed RemoveController json en/decoding", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/assets/tests/tracked_actions_1.json"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"]], "author": "smith.quintin@protonmail.com"}, "7daa905ab085ad8de8ffbd85b56eb198878e9656": {"id": "7daa905ab085ad8de8ffbd85b56eb198878e9656", "date": 1739740134.0, "description": "fixed: swap_lines and navigation from settings/about not run through ActionTracker", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/assets/tests/tracked_actions_1.json"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"]], "author": "smith.quintin@protonmail.com"}, "1f3c15dba9f11ab7c00f6befb4dcd9bbb9dbaf44": {"id": "1f3c15dba9f11ab7c00f6befb4dcd9bbb9dbaf44", "date": 1739680650.0, "description": "some work making the new espresso test more robust", "files": [["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/assets/tests/tracked_actions.json"]], "author": "smith.quintin@protonmail.com"}, "1387d8ec64d331c86affe59eddc6a8386c0d3690": {"id": "1387d8ec64d331c86affe59eddc6a8386c0d3690", "date": 1739673906.0, "description": "removed unused jacoco stuff", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "f7df9ce3d5a453c53ae35d7eef8f4372d2f44802": {"id": "f7df9ce3d5a453c53ae35d7eef8f4372d2f44802", "date": 1739673840.0, "description": "work on coverage", "files": [["M", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"], ["M", "app/src/main/assets/tests/tracked_actions.json"], ["D", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest3.kt"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"], ["D", "app/src/androidTest/java/com/qfs/pagan/ExampleInstrumentedTest.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "6babf032ac11ce83c6ed7023a18f0aa7fe721e6e": {"id": "6babf032ac11ce83c6ed7023a18f0aa7fe721e6e", "date": 1739604903.0, "description": "added Unit Tests for ActionTracker json", "files": [["A", "app/src/test/java/com/qfs/pagan/ActionTrackerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "1400c3253ea037351d5371813b3ec5b0c3fc2581": {"id": "1400c3253ea037351d5371813b3ec5b0c3fc2581", "date": 1739577469.0, "description": "removed some debug", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "2ac4f58a8730c014e1e1688352ba7978c6d2591d": {"id": "2ac4f58a8730c014e1e1688352ba7978c6d2591d", "date": 1739577407.0, "description": "fixed some crashes in ActionTracker (not live)", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["A", "app/src/main/assets/tests/tracked_actions_1.json"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "ca9829d7ef974862472ed01b951d198e40e1a924": {"id": "ca9829d7ef974862472ed01b951d198e40e1a924", "date": 1739485581.0, "description": "fix from previous commit", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "ff017df319d49444f837aee6b540dce4c47be93a": {"id": "ff017df319d49444f837aee6b540dce4c47be93a", "date": 1739465380.0, "description": "ActionTracker handling Import/Delete SoundFont", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "b7879fd76ee74ca497aa9834ec1b714279716589": {"id": "b7879fd76ee74ca497aa9834ec1b714279716589", "date": 1739462141.0, "description": "OpusTreeJSON ignoring null divisions when encoding. resolves #25", "files": [["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusTreeJSONInterface.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "7c52c1f9a366a8a7eb16e2cc95fb5299b86f0cc8": {"id": "7c52c1f9a366a8a7eb16e2cc95fb5299b86f0cc8", "date": 1739427569.0, "description": "tie debug/tracking to the applicationId", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "e87944b99a8ed4b1a43e0ea9e71ff657f395dbd7": {"id": "e87944b99a8ed4b1a43e0ea9e71ff657f395dbd7", "date": 1739427078.0, "description": "save_actions on crash", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "2a1742e57838764069ffe0c5d986c2ebc4738b12": {"id": "2a1742e57838764069ffe0c5d986c2ebc4738b12", "date": 1739421523.0, "description": "fixed crash when repeating ctl line selection and range was selected rtl (not live)", "files": [["M", "app/src/main/res/menu/main_options_menu.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "5116b37b54f1e2d2e9442184b002d99c86041e5a": {"id": "5116b37b54f1e2d2e9442184b002d99c86041e5a", "date": 1739400277.0, "description": "work on import file in ActionTracker", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/assets/tests/tracked_actions.json"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "ef22c159b3a8f2eb16ad5b74a25a46e5cd2432cb": {"id": "ef22c159b3a8f2eb16ad5b74a25a46e5cd2432cb", "date": 1739380764.0, "description": "clip notes that overflow the end of the song during playback", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "0f5c952c3354d18db26c7ab567c8a2a039d63490": {"id": "0f5c952c3354d18db26c7ab567c8a2a039d63490", "date": 1739251363.0, "description": "improved type checking in set_<ctl> in ActionTrackeer", "files": [["A", "app/src/main/java/com/qfs/pagan/ContextMenuWithController.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "bc4f6142686d6f116a91c3fe5d1d03beae0b850a": {"id": "bc4f6142686d6f116a91c3fe5d1d03beae0b850a", "date": 1739214235.0, "description": "added SetTuningTable to ActionTracker", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "aa04c91ad39d9dff30a82af08dad0d95952190c2": {"id": "aa04c91ad39d9dff30a82af08dad0d95952190c2", "date": 1739212489.0, "description": "set_clip_same_line_notes added to ActionTracker", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "7c5333cf31a86f82efe931079d5b649423390f24": {"id": "7c5333cf31a86f82efe931079d5b649423390f24", "date": 1739138490.0, "description": "limit clipping release phases to 1/12 of a second to avoid clicking", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "da3f0705ad2d0264c9c58160a5e0d72f6a56385e": {"id": "da3f0705ad2d0264c9c58160a5e0d72f6a56385e", "date": 1739079796.0, "description": "added clip_same_line_release option to config and control in settings page", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"]], "author": "smith.quintin@protonmail.com"}, "593abd23776165834be89ca9fcdc66eecd6d967b": {"id": "593abd23776165834be89ca9fcdc66eecd6d967b", "date": 1739055446.0, "description": "improved clip release phase", "files": [["M", "app/src/main/java/com/qfs/pagan/Rational.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "86264a7cb7b1926c3a260792281816105d2e1a0c": {"id": "86264a7cb7b1926c3a260792281816105d2e1a0c", "date": 1739049848.0, "description": "clip release phase in same-line notes", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "9a873844541f59b3ade3c99964e34cbd13ee29e7": {"id": "9a873844541f59b3ade3c99964e34cbd13ee29e7", "date": 1739040521.0, "description": "fixed set_tempo double popup. added SaveProject, DeleteProject & CopyProject to Action Tracker", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"]], "author": "smith.quintin@protonmail.com"}, "6763dec57aa3a4e737db06dd6ee2b8bbab317dec": {"id": "6763dec57aa3a4e737db06dd6ee2b8bbab317dec", "date": 1739001946.0, "description": "fixed off-by-one", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/assets/tests/tracked_actions.json"]], "author": "smith.quintin@protonmail.com"}, "65ac00df00e40d8b7dc854312cac3dddae03b3c6": {"id": "65ac00df00e40d8b7dc854312cac3dddae03b3c6", "date": 1738995801.0, "description": "added set_copy_mode to ActionTracker. changed how enums are stored", "files": [["M", "app/src/main/java/com/qfs/pagan/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/assets/tests/tracked_actions.json"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"]], "author": "smith.quintin@protonmail.com"}, "8da61ca5701a34041112a8ea8ab7c3a96ec7a8da": {"id": "8da61ca5701a34041112a8ea8ab7c3a96ec7a8da", "date": 1738950793.0, "description": "ApplyUndo, ShowChannelController & ShowLineController added to ActionTracker", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "0a9d5b780200da9e9118f77e4e9f71639ef89ffd": {"id": "0a9d5b780200da9e9118f77e4e9f71639ef89ffd", "date": 1738907870.0, "description": "added SetProjectName, SetSoundFont & DisableSoundFont to ActionTracker", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentLandingPage.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/main/assets/tests/tracked_actions.json"]], "author": "smith.quintin@protonmail.com"}, "48ee6d72d4ac75de4956d7ae0044a2434b864d59": {"id": "48ee6d72d4ac75de4956d7ae0044a2434b864d59", "date": 1738866627.0, "description": "more tracking", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentLandingPage.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "b3a38f85b7f32c8c7b2a1ce1406c730a420271f6": {"id": "b3a38f85b7f32c8c7b2a1ce1406c730a420271f6", "date": 1738864114.0, "description": "added drawer to Tracked Actions", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "9456ba927c8607c4e6177df73f1c7f3d9939fea9": {"id": "9456ba927c8607c4e6177df73f1c7f3d9939fea9", "date": 1738829666.0, "description": "action tracker using json files instead of kotlin code", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["A", "app/src/main/assets/tests/tracked_actions.json"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"]], "author": "smith.quintin@protonmail.com"}, "7cc36e5b39fea2063a656e7da45d741d01ea31da": {"id": "7cc36e5b39fea2063a656e7da45d741d01ea31da", "date": 1738786609.0, "description": "to/from json functions for action tracker", "files": [["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "5b8c67006070d73afa538dfd0178ef1bbcea1bd8": {"id": "5b8c67006070d73afa538dfd0178ef1bbcea1bd8", "date": 1738736741.0, "description": "ActionTracker can now produce code for espresso testing", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"]], "author": "smith.quintin@protonmail.com"}, "09cf4f81ded79153543361026d65df494ada3ec7": {"id": "09cf4f81ded79153543361026d65df494ada3ec7", "date": 1738724439.0, "description": "fixed accidental dup call of on_project_changed in import midi", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "f23c5a6bdefdbdfd27603659bf542fb13aa29553": {"id": "f23c5a6bdefdbdfd27603659bf542fb13aa29553", "date": 1738613694.0, "description": "disconnect feedback devices on song change", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "237cc217bb9f329e609d9740cefb8086958ab1c6": {"id": "237cc217bb9f329e609d9740cefb8086958ab1c6", "date": 1738612533.0, "description": "fixed incorrect value from get_first_visible_column_index()", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "cd9f73d4c41490594fddb83a8ad8e20039ad278d": {"id": "cd9f73d4c41490594fddb83a8ad8e20039ad278d", "date": 1738609392.0, "description": "(in progress) fixing crash on samples marked as loop with empty loop data", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "4415ae863f00d11ee1c5e570cf303156f9db6cc6": {"id": "4415ae863f00d11ee1c5e570cf303156f9db6cc6", "date": 1738536584.0, "description": "more ActionTracker functions", "files": [["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "522fd609058e9234634c91fcd9bd84064ae232a4": {"id": "522fd609058e9234634c91fcd9bd84064ae232a4", "date": 1738530331.0, "description": "update AGP", "files": [["M", "build.gradle"]], "author": "smith.quintin@protonmail.com"}, "65ce4c0e142c0130e6a60cf339b058c27d5a8843": {"id": "65ce4c0e142c0130e6a60cf339b058c27d5a8843", "date": 1738529991.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/94.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "4baea63bc89bceb5d2eed88d0e1c700279a27cbd": {"id": "4baea63bc89bceb5d2eed88d0e1c700279a27cbd", "date": 1738505796.0, "description": "fixed not scrolling on new column", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "8176ff485934ffc892f8d70f33ee31a23d197d2a": {"id": "8176ff485934ffc892f8d70f33ee31a23d197d2a", "date": 1738501078.0, "description": "short fade on simple_mode instead of immediate stop", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "d9ab6e39d4ef917041c7e454aa10fa63c3e5f5e2": {"id": "d9ab6e39d4ef917041c7e454aa10fa63c3e5f5e2", "date": 1738500046.0, "description": "is_tuning_standard() considers transpose", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "2d7d3048f137111bbb3b7b68953ab3d94bcaaf41": {"id": "2d7d3048f137111bbb3b7b68953ab3d94bcaaf41", "date": 1738496090.0, "description": "fixed playback transpose not working when tuning is standard", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "2827230f9aa1fa4d24c010daa9aee2b1a96bb8a8": {"id": "2827230f9aa1fa4d24c010daa9aee2b1a96bb8a8", "date": 1738483233.0, "description": "Removed TODO()s on unassigned long_click logic for insert/remove channel buttons", "files": [["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "92ebaf6b9f01cec1ae84d407acf0fc675e5ab6f6": {"id": "92ebaf6b9f01cec1ae84d407acf0fc675e5ab6f6", "date": 1738483015.0, "description": "gradle update", "files": [["M", "gradle/wrapper/gradle-wrapper.properties"]], "author": "smith.quintin@protonmail.com"}, "a8c2069cda901753ecb3c0b9f7e861e31aa5bb68": {"id": "a8c2069cda901753ecb3c0b9f7e861e31aa5bb68", "date": 1738482857.0, "description": "fixed cursor potentially being at incorrect depth after remove()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "b2150c757e96154d57b784b1df54955d35b1adda": {"id": "b2150c757e96154d57b784b1df54955d35b1adda", "date": 1738482358.0, "description": "work on ActionTracker", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "bf89a681050469db02369290cd802e5204ecfadf": {"id": "bf89a681050469db02369290cd802e5204ecfadf", "date": 1738469904.0, "description": "work on ActionTracker", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "4e75d58ee675ae751ebbe7dc75ad5bb3e6fef3d0": {"id": "4e75d58ee675ae751ebbe7dc75ad5bb3e6fef3d0", "date": 1738395561.0, "description": "enabled playback in ActionTracker", "files": [["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "dc70726872ff43305f1381dfc93f2f2d68925bcc": {"id": "dc70726872ff43305f1381dfc93f2f2d68925bcc", "date": 1738388691.0, "description": "tweaked recently added logic of the ActionTracker", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "0b065dbb554a83a42a412035702bfc33aa4e191a": {"id": "0b065dbb554a83a42a412035702bfc33aa4e191a", "date": 1738370514.0, "description": "work on actiontracker", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "5928c0ffeb06b7e5c4d5c57e08d9abb68a988f88": {"id": "5928c0ffeb06b7e5c4d5c57e08d9abb68a988f88", "date": 1738224683.0, "description": "fixed cursor potentially being incorrect after removing a leaf", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "b5ff87e24d4c4c89071b376eeeecd65152cd1540": {"id": "b5ff87e24d4c4c89071b376eeeecd65152cd1540", "date": 1738224318.0, "description": "click line labels added to ActionTracker", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "006d59c1646d35fe7d675fc9dd1bad0b1163c333": {"id": "006d59c1646d35fe7d675fc9dd1bad0b1163c333", "date": 1738200212.0, "description": "attach activity to opus_manager onCreate", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "fd5c441c6a20d8a95f650a43115bb028e6574776": {"id": "fd5c441c6a20d8a95f650a43115bb028e6574776", "date": 1738180749.0, "description": "removed OpusLayerTracker, replaced with ActionTracker", "files": [["D", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerTracker.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["A", "app/src/main/java/com/qfs/pagan/ActionTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "8a8621cd3f249ee354fd130a6a6cb6bf5eac00f4": {"id": "8a8621cd3f249ee354fd130a6a6cb6bf5eac00f4", "date": 1738129624.0, "description": "started work on tracker layer. will likely separate it from the OpusManager and use it as an interface", "files": [["M", "gradle/wrapper/gradle-wrapper.properties"], ["M", "build.gradle"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerTracker.kt"]], "author": "smith.quintin@protonmail.com"}, "754ab4dea3fad006269b2853cd0f437d496287b4": {"id": "754ab4dea3fad006269b2853cd0f437d496287b4", "date": 1738089836.0, "description": "work on keyboard input. toggle channel/line effect controller visibility", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerCursorUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "aa35905c2f2592f6a5df4b8b7cf2d411b353f0ab": {"id": "aa35905c2f2592f6a5df4b8b7cf2d411b353f0ab", "date": 1738000515.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/PanSliderWidget.kt"]], "author": "smith.quintin@protonmail.com"}, "1f58a8df2b44d9d27384aa39bdc34121027ab2f1": {"id": "1f58a8df2b44d9d27384aa39bdc34121027ab2f1", "date": 1737878640.0, "description": "crashfix: SampleDirectives without sample data get ignored in gen_sample_handles", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "332878e69ab2c6015d0e02be1feee3d3e7e1b33e": {"id": "332878e69ab2c6015d0e02be1feee3d3e7e1b33e", "date": 1737854662.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/93.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "f1363d70115baeea6359d4005741b3e9e9834219": {"id": "f1363d70115baeea6359d4005741b3e9e9834219", "date": 1737854441.0, "description": "fixed bad math in overwrite line functions", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "cdf16d388299dce838e71a6bd6d5f791a2469031": {"id": "cdf16d388299dce838e71a6bd6d5f791a2469031", "date": 1737853082.0, "description": "label secondary text color", "files": [["M", "app/src/main/res/color/line_label_text.xml"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlLine.kt"], ["A", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "7ae0d57a5b135e9f4551dd188d97c5899cb6655f": {"id": "7ae0d57a5b135e9f4551dd188d97c5899cb6655f", "date": 1737843593.0, "description": "don't bring up number dialog when we know the overwrite will fail in advance", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"]], "author": "smith.quintin@protonmail.com"}, "fb29e7f0ca29bd218aeeb5a8035c77c41a879e02": {"id": "fb29e7f0ca29bd218aeeb5a8035c77c41a879e02", "date": 1737843415.0, "description": "throw InvalidOverwriteCall when trying overwrite_line between percussion and std lines", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "2ae765becb14a6e714738c35cfb29ae4fd6af835": {"id": "2ae765becb14a6e714738c35cfb29ae4fd6af835", "date": 1737835015.0, "description": "long click on line labels considers ctl_type", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "97f300771d6e8ef32249c366c6e87d5b481963f3": {"id": "97f300771d6e8ef32249c366c6e87d5b481963f3", "date": 1737834732.0, "description": "fixed default value in repeat copy dialog", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "de94d32ffa86ea642e9503d60e69ba9aae2f3458": {"id": "de94d32ffa86ea642e9503d60e69ba9aae2f3458", "date": 1737834047.0, "description": "ignore more dead cursors in queue_cursor_update", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "90045d5b2fc56618e886da5300516de1ad822ce3": {"id": "90045d5b2fc56618e886da5300516de1ad822ce3", "date": 1737833970.0, "description": "fixed false positive in equals()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "acb030b5aa0044ec4a34e5eec162b059d8786962": {"id": "acb030b5aa0044ec4a34e5eec162b059d8786962", "date": 1737828484.0, "description": "fixed math error in new n-copy functions", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "c7da117efd2f577fe1307ce8ad6c4d1989e7a6b3": {"id": "c7da117efd2f577fe1307ce8ad6c4d1989e7a6b3", "date": 1737793806.0, "description": "queue updates correctly on select std line", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "6d257b8758901cf667d8664029b9906281b290a2": {"id": "6d257b8758901cf667d8664029b9906281b290a2", "date": 1737790072.0, "description": "label highlight colors work", "files": [["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/color/line_label_std_selector.xml"], ["M", "app/src/main/res/color/line_label_ctl_text.xml"], ["M", "app/src/main/res/color/line_label_ctl_selector.xml"], ["M", "app/src/main/res/color/column_label_text.xml"], ["M", "app/src/main/res/color/column_label_std_selector.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"]], "author": "smith.quintin@protonmail.com"}, "97cb3613d3ce4d83be16f21a8643b879f62e4223": {"id": "97cb3613d3ce4d83be16f21a8643b879f62e4223", "date": 1737778108.0, "description": "number dialog on long click for repeated copying", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtl.kt"]], "author": "smith.quintin@protonmail.com"}, "8665388a62fae83291cdfa58855df62f8e2cd2c1": {"id": "8665388a62fae83291cdfa58855df62f8e2cd2c1", "date": 1737746883.0, "description": "more 'is_selected' type unit tests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerCursorUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerCursorUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/main/res/color/line_label_text.xml"], ["M", "app/src/main/res/color/line_label_std_selector.xml"], ["M", "app/src/main/res/color/line_label_ctl_text.xml"], ["M", "app/src/main/res/color/line_label_ctl_selector.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtl.kt"]], "author": "smith.quintin@protonmail.com"}, "cd9664865fcb1b10c42abc1b04fd57b278dc8be0": {"id": "cd9664865fcb1b10c42abc1b04fd57b278dc8be0", "date": 1737694059.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "5401c11ff65fe8ad108ccd34f8c361e0a4fc08e6": {"id": "5401c11ff65fe8ad108ccd34f8c361e0a4fc08e6", "date": 1737674464.0, "description": "added some OpusLayerCursor UnitTests", "files": [["M", "scripts/build_other_layer_tests.py"], ["A", "app/src/test/java/com/qfs/pagan/OpusLayerCursorUnitTest.kt"], ["A", "app/src/test/java/com/qfs/pagan/OpusLayerCursorUnitReTestAsOpusLayerHistory.kt"], ["A", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "500542a6d9ce97e3cfe51f5acf03dc038ebe2cfc": {"id": "500542a6d9ce97e3cfe51f5acf03dc038ebe2cfc", "date": 1737610622.0, "description": "update description in fastlane", "files": [["M", "fastlane/metadata/android/en-US/full_description.txt"]], "author": "smith.quintin@protonmail.com"}, "d1f5b89adc90512a4bbcc6b44cd790fda32124bf": {"id": "d1f5b89adc90512a4bbcc6b44cd790fda32124bf", "date": 1737610332.0, "description": "removed superfluous tests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"]], "author": "smith.quintin@protonmail.com"}, "a2729fe64b1a6594dce718ab93958a3f0ef93ded": {"id": "a2729fe64b1a6594dce718ab93958a3f0ef93ded", "date": 1737607813.0, "description": "version bump", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "4cd909823a0b40274f78b24843677567b6448da1": {"id": "4cd909823a0b40274f78b24843677567b6448da1", "date": 1737606091.0, "description": "hide context_menu during import", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "b3e65542271b77d7f882aee88ef32ff09a89bb03": {"id": "b3e65542271b77d7f882aee88ef32ff09a89bb03", "date": 1737570713.0, "description": "fix temporary blocker highlighting", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "f4593d914c7464db64bb0ec4a383908a9bb81f7b": {"id": "f4593d914c7464db64bb0ec4a383908a9bb81f7b", "date": 1737560362.0, "description": "updated changelog", "files": [["M", "fastlane/metadata/android/en-US/changelogs/92.txt"]], "author": "smith.quintin@protonmail.com"}, "72dc274d03557bd9adc866be9da3c0339b4d8c74": {"id": "72dc274d03557bd9adc866be9da3c0339b4d8c74", "date": 1737550996.0, "description": "swap lines updates all labels", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "6fe10109455b6cff74e4a47e9d8e8699b21cbe5b": {"id": "6fe10109455b6cff74e4a47e9d8e8699b21cbe5b", "date": 1737523033.0, "description": "line ctl label is selected if a channel controller is selected", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "ba769fb3b8ae19157d56782537effa8d1b48d9d4": {"id": "ba769fb3b8ae19157d56782537effa8d1b48d9d4", "date": 1737521956.0, "description": "show invalid colorization on blocked ctl leafs", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "594c64610b68f17750fe851195254cdf5dc681c6": {"id": "594c64610b68f17750fe851195254cdf5dc681c6", "date": 1737512064.0, "description": "fixed _controller_overwrite_range_horizontally()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "02f1b245412c27ba859bd4ac03a26bbec5ec9ea9": {"id": "02f1b245412c27ba859bd4ac03a26bbec5ec9ea9", "date": 1737506456.0, "description": "copy tempory blocker when calling cursor_apply on it", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "6ddc2a0a5f5461a2a2c1e645c1c7b69b156bdc07": {"id": "6ddc2a0a5f5461a2a2c1e645c1c7b69b156bdc07", "date": 1737486344.0, "description": "fixed false positives in is_channel_control_secondary_selected", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "638fb7552f8719a9bb87b9c2da32b4fe850bd52c": {"id": "638fb7552f8719a9bb87b9c2da32b4fe850bd52c", "date": 1737483388.0, "description": "fixed false positives in is_line_secondary_selected", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "6f24926c25ef49aa85027922a188c96e5360aaeb": {"id": "6f24926c25ef49aa85027922a188c96e5360aaeb", "date": 1737483047.0, "description": "allow controller_line_overwrite_line across lines", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "13948a49af1cae3305ecb08d7c4447244aa92ea3": {"id": "13948a49af1cae3305ecb08d7c4447244aa92ea3", "date": 1737482087.0, "description": "unit test updates", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/apres/SoundFontUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "01c7e2c868e57a7f91a1f0f60687289a4a522577": {"id": "01c7e2c868e57a7f91a1f0f60687289a4a522577", "date": 1737480968.0, "description": "debug removal", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryCache.kt"]], "author": "smith.quintin@protonmail.com"}, "fb4c194d34dd615d355f3d08a8fcb6618bd35d75": {"id": "fb4c194d34dd615d355f3d08a8fcb6618bd35d75", "date": 1737480319.0, "description": "allow empty multi nodes in apply_undo", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryCache.kt"]], "author": "smith.quintin@protonmail.com"}, "4e661169abbf8846b5fef6ad12500d0af184a4cb": {"id": "4e661169abbf8846b5fef6ad12500d0af184a4cb", "date": 1737478421.0, "description": "history stack work", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryCache.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"]], "author": "smith.quintin@protonmail.com"}, "66669d1011ff09c6ff2d901129a5b4f7698fbddf": {"id": "66669d1011ff09c6ff2d901129a5b4f7698fbddf", "date": 1737423935.0, "description": "fixed bug from previous commit", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "caafcb47a912f711e547ab2f4b82936e4adc22ec": {"id": "caafcb47a912f711e547ab2f4b82936e4adc22ec", "date": 1737423695.0, "description": "fixed some line labels not getting queued for update in control range selections", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"]], "author": "smith.quintin@protonmail.com"}, "b9b18872fbf14e546e736b60c38739131bcddecb": {"id": "b9b18872fbf14e546e736b60c38739131bcddecb", "date": 1737416101.0, "description": "fixed overwrite_beat_range_horizontally not overwriting correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "7b2c3881bda09e95742af7e94700bdbea6d6a9f8": {"id": "7b2c3881bda09e95742af7e94700bdbea6d6a9f8", "date": 1737402850.0, "description": "tweaked horizontal overwrites to unset the lines before replacing to prevent blocked actions", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "8ca4f586b50cfc6cee216eed1ccca9e3b941c1f7": {"id": "8ca4f586b50cfc6cee216eed1ccca9e3b941c1f7", "date": 1737401763.0, "description": "found & fixed crash on undoing 'new channel controller'", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "21817996e274214e13bd4c7915b8c113d2adec6c": {"id": "21817996e274214e13bd4c7915b8c113d2adec6c", "date": 1737401200.0, "description": "force cursor_apply when setting temporary_blocker cursor", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "7b016dcbc80b6112c9b6d2812ec27a41906014f1": {"id": "7b016dcbc80b6112c9b6d2812ec27a41906014f1", "date": 1737360212.0, "description": "work on history stack tweak", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryCache.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "df18f3b122cd68a3266e2a2d2d2a8f8d34ffb8fe": {"id": "df18f3b122cd68a3266e2a2d2d2a8f8d34ffb8fe", "date": 1737311836.0, "description": "improved ProfileBuffer set_frame() speed", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "c7260f2f25704b7d3be6c9564bf978943a730fa8": {"id": "c7260f2f25704b7d3be6c9564bf978943a730fa8", "date": 1737309732.0, "description": "removed debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "02d8b9afe453421904a2a26ce9c7d4130b6631ff": {"id": "02d8b9afe453421904a2a26ce9c7d4130b6631ff", "date": 1737275862.0, "description": "fixed bad math in move_beat_range", "files": [["A", "fastlane/metadata/android/en-US/changelogs/92.txt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryCache.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "0da7e17877c1c77a2b970089eddcf3d05e80b2e5": {"id": "0da7e17877c1c77a2b970089eddcf3d05e80b2e5", "date": 1737239364.0, "description": "Work ok extending project when doing a horizontal overwrite", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "2ebd94ac84c95baccdccaff9a14d5b07635db8ef": {"id": "2ebd94ac84c95baccdccaff9a14d5b07635db8ef", "date": 1737182710.0, "description": "handle linked samples", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Sample.kt"]], "author": "smith.quintin@protonmail.com"}, "d0c670c6ab728f7843331b085c300594ff1a3288": {"id": "d0c670c6ab728f7843331b085c300594ff1a3288", "date": 1737157998.0, "description": "tweaked history stack. fixed some cursor logic", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryCache.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "7a8466a985140d047a8eebd51769bbecc6fef055": {"id": "7a8466a985140d047a8eebd51769bbecc6fef055", "date": 1737094876.0, "description": "Work on extending song on copy/move", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "d75f3cc66200882a18b9652752e0565eec6373a7": {"id": "d75f3cc66200882a18b9652752e0565eec6373a7", "date": 1737066587.0, "description": "replace reversed() with asReversed()", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/apres/SoundFontUnitTest.kt"], ["M", "app/src/test/java/com/qfs/apres/ComplexTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["D", "app/src/main/java/com/qfs/pagan/LeftAlignedLayoutManager.kt"], ["M", "app/src/main/java/com/qfs/apres/incidental_functions.kt"]], "author": "smith.quintin@protonmail.com"}, "eae0b522ae9652259fde80eda73ced9ac0a2bf27": {"id": "eae0b522ae9652259fde80eda73ced9ac0a2bf27", "date": 1737065750.0, "description": "replaced removeFirst and removeLast calls", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryCache.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"], ["M", "app/src/main/java/com/qfs/apres/incidental_functions.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "899e1811d69c18e2e7b506538a207fcf1178c651": {"id": "899e1811d69c18e2e7b506538a207fcf1178c651", "date": 1737064043.0, "description": "removed OpusLayerOverlapControlUnitTest", "files": [["D", "app/src/test/java/com/qfs/pagan/OpusLayerOverlapControlUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "0b8e356f9c1068db66964d355a9d205b0db4b7ac": {"id": "0b8e356f9c1068db66964d355a9d205b0db4b7ac", "date": 1737062655.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "c9a509e6eaaacf9065ab8a1e1f955b3308b00778": {"id": "c9a509e6eaaacf9065ab8a1e1f955b3308b00778", "date": 1737057874.0, "description": "cleanup. added hashCode functions. removed Unused OverlapControl Layer", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerOverlapControlUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLinePercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLine.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/InstrumentEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "58a63b887a5792f09232a3a387923c34c6ec07c0": {"id": "58a63b887a5792f09232a3a387923c34c6ec07c0", "date": 1737021573.0, "description": "fixed toolbar colors", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/colors.xml"], ["A", "app/src/main/res/drawable/toolbar_overflow_menu.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "866ad73736702e8f1c9aa6973e71ad3ddbc173f6": {"id": "866ad73736702e8f1c9aa6973e71ad3ddbc173f6", "date": 1736994897.0, "description": "removed ColorMap and Palette refrences", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/activity_main.xml"], ["M", "app/src/main/res/drawable/show_percussion.xml"], ["M", "app/src/main/res/drawable/hide_percussion.xml"], ["M", "app/src/main/res/drawable/delete_channel.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganTextView.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganProgressBar.kt"], ["D", "app/src/main/java/com/qfs/pagan/PaganDrawerLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["D", "app/src/main/java/com/qfs/pagan/InlineColorPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ConfigImage.kt"], ["D", "app/src/main/java/com/qfs/pagan/ColumnLabelContainer.kt"], ["D", "app/src/main/java/com/qfs/pagan/ColorMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "a37e21de383a21440e630b7bf875093567304b50": {"id": "a37e21de383a21440e630b7bf875093567304b50", "date": 1736960842.0, "description": "description on UIChangeBill", "files": [["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["D", "app/src/main/goateye-playstore.png"]], "author": "smith.quintin@protonmail.com"}, "098aaeff061c42067d11a04a3c9fdd7b2c459610": {"id": "098aaeff061c42067d11a04a3c9fdd7b2c459610", "date": 1736917539.0, "description": "another attempt at inverted fft", "files": [["M", "app/src/test/java/com/qfs/apres/ComplexTest.kt"], ["M", "app/src/main/java/com/qfs/apres/Complex.kt"]], "author": "smith.quintin@protonmail.com"}, "2ace849ae47078443ca2c98925a8f397c9760625": {"id": "2ace849ae47078443ca2c98925a8f397c9760625", "date": 1736914394.0, "description": "fix IFFT", "files": [["M", "app/src/main/java/com/qfs/apres/Complex.kt"]], "author": "smith.quintin@protonmail.com"}, "7a89510959150a56f548e22e515dbf9dbc7ac25a": {"id": "7a89510959150a56f548e22e515dbf9dbc7ac25a", "date": 1736905853.0, "description": "FFT actually functional", "files": [["M", "app/src/test/java/com/qfs/apres/SoundFontPlayerUnitTest.kt"], ["A", "app/src/test/java/com/qfs/apres/ComplexTest.kt"], ["M", "app/src/main/java/com/qfs/apres/Complex.kt"]], "author": "smith.quintin@protonmail.com"}, "8d10f67e1e19b508547b712cffda4e3491d7279b": {"id": "8d10f67e1e19b508547b712cffda4e3491d7279b", "date": 1736884918.0, "description": "fix (i think) FFT", "files": [["M", "app/src/main/java/com/qfs/apres/Complex.kt"]], "author": "smith.quintin@protonmail.com"}, "313ce513cedff1572316bfe10fff56afcd003426": {"id": "313ce513cedff1572316bfe10fff56afcd003426", "date": 1736877050.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Riff.kt"]], "author": "smith.quintin@protonmail.com"}, "f92e837802f079c56ec26498ec5b246655e2b2db": {"id": "f92e837802f079c56ec26498ec5b246655e2b2db", "date": 1736826071.0, "description": "update targetsdk", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "9b9339c4bd6df94cf4737c606f75352e06a48d02": {"id": "9b9339c4bd6df94cf4737c606f75352e06a48d02", "date": 1736808749.0, "description": "fleshed out SampleType a bit", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfont/sfSampleType.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont/SampleType.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Sample.kt"]], "author": "smith.quintin@protonmail.com"}, "27ca15ea1397ff51a875d1d99a381b800c9d2146": {"id": "27ca15ea1397ff51a875d1d99a381b800c9d2146", "date": 1736806138.0, "description": "removed dokka", "files": [["M", "gradle.properties"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "e06c7c7eb7e739b697af760b625fe90cae918f93": {"id": "e06c7c7eb7e739b697af760b625fe90cae918f93", "date": 1736754359.0, "description": "gradle update", "files": [["M", "gradle/wrapper/gradle-wrapper.properties"], ["M", "build.gradle"]], "author": "smith.quintin@protonmail.com"}, "94bc749febe06c47f4db0a4bcfc9b9ed4e6570d3": {"id": "94bc749febe06c47f4db0a4bcfc9b9ed4e6570d3", "date": 1736726747.0, "description": "added dokka", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "b2f1472efa7d87897399d83dce1a55369226908d": {"id": "b2f1472efa7d87897399d83dce1a55369226908d", "date": 1736725984.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/CornerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelContainer.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorMap.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "67b13569cd0de04a766a9f3a25210641fcdc2eed": {"id": "67b13569cd0de04a766a9f3a25210641fcdc2eed", "date": 1736725815.0, "description": "docs", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "f2d265b076c51aead84ba89463d39f996dce9c01": {"id": "f2d265b076c51aead84ba89463d39f996dce9c01", "date": 1736641383.0, "description": "some documentation", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "72993de65eb2de854f1866adfb08a60ec7485671": {"id": "72993de65eb2de854f1866adfb08a60ec7485671", "date": 1736635837.0, "description": "lint", "files": [["A", "app/src/main/java/com/qfs/pagan/opusmanager/OpusTreeArray.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "fea9c5cf09eacdcaac78dbfb0019de45c8b50b66": {"id": "fea9c5cf09eacdcaac78dbfb0019de45c8b50b66", "date": 1736634208.0, "description": "typo fix", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "cb38504a84e44505aacf2ee55084ed3ae1a3de82": {"id": "cb38504a84e44505aacf2ee55084ed3ae1a3de82", "date": 1736533668.0, "description": "knocked out some TODOs", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/main/res/values/strings.xml"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/UnreachableException.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "8ae1d86603fe1f4661671b1a41618a1341a1816e": {"id": "8ae1d86603fe1f4661671b1a41618a1341a1816e", "date": 1736465378.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/91.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "345d12e287e7d98410460d18762851630d562435": {"id": "345d12e287e7d98410460d18762851630d562435", "date": 1736455234.0, "description": "fixed onclick behaviour in ctl leafs", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "a85095410682316fa38b5a8557477b222cf31d3c": {"id": "a85095410682316fa38b5a8557477b222cf31d3c", "date": 1736454221.0, "description": "implemented long_click_button_duration()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "7cfc6897971ae32fb3a49e27152201aaa420b071": {"id": "7cfc6897971ae32fb3a49e27152201aaa420b071", "date": 1736444375.0, "description": "prevent multiple invalidate() calls per update", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "9343a7c856a112c97eb94d45fe8811adae4ce849": {"id": "9343a7c856a112c97eb94d45fe8811adae4ce849", "date": 1736406212.0, "description": "reverted applicationId (changed for debug)", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "0aa2d1b95809667268daf0e54ba779b7ce9ca005": {"id": "0aa2d1b95809667268daf0e54ba779b7ce9ca005", "date": 1736406159.0, "description": "removed accidentally copied line", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "cb99be418eddb8f7a09666e8c6eff709e1c2cca9": {"id": "cb99be418eddb8f7a09666e8c6eff709e1c2cca9", "date": 1736402525.0, "description": "setting radix no longer clearing transpose value", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "25fb086a6cd20bd20935bfec23e31cb58d2eefed": {"id": "25fb086a6cd20bd20935bfec23e31cb58d2eefed", "date": 1736402118.0, "description": "transpose using offset and radix for more control", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/main/res/layout/dialog_tuning_map.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "a6610fc2e2f44e19f4a763c9ca3fff2e4b0b96f5": {"id": "a6610fc2e2f44e19f4a763c9ca3fff2e4b0b96f5", "date": 1736396904.0, "description": "tweak octave text offset. replaced the force_scroll_to_cursor on show_context_menu kludge  with a less kludgy solution.", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "ec8b08a34dfeda7babab681f5efbd07db40787b1": {"id": "ec8b08a34dfeda7babab681f5efbd07db40787b1", "date": 1736371040.0, "description": "switch scrollview order so playback doesn't block vertical scrolling", "files": [["M", "app/src/main/res/layout/fragment_license.xml"], ["M", "app/src/main/res/drawable/editor_label_column.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/LeafText.kt"], ["D", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["D", "app/src/main/java/com/qfs/pagan/LeafButtonCtlLine.kt"], ["D", "app/src/main/java/com/qfs/pagan/LeafButtonCtlGlobal.kt"], ["D", "app/src/main/java/com/qfs/pagan/LeafButtonCtlChannel.kt"], ["D", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["D", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["D", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["D", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "10d8a41963fe80300629f1ad92da6c5da9edee70": {"id": "10d8a41963fe80300629f1ad92da6c5da9edee70", "date": 1736363563.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/ColumnRecyclerViewHolder.kt"], ["D", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["D", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["D", "app/src/main/java/com/qfs/pagan/ColumnLabelViewHolder.kt"], ["D", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelContainer.kt"]], "author": "smith.quintin@protonmail.com"}, "61e1d5432e3b22ada873e79a7349896f7f3010ae": {"id": "61e1d5432e3b22ada873e79a7349896f7f3010ae", "date": 1736359036.0, "description": "changelog", "files": [["M", "fastlane/metadata/android/en-US/changelogs/90.txt"]], "author": "smith.quintin@protonmail.com"}, "784a1dd69aceee8effd71f2b96feafd8bfd483ed": {"id": "784a1dd69aceee8effd71f2b96feafd8bfd483ed", "date": 1736357473.0, "description": "fixed initial sloppiness with on_mark() behaviour. scroll() now use smoothScrollTo instead of scrollTo() because it is appearently more relisble", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "47c97b3efae9a9a7d4b67fd3afee7d8129cc3db1": {"id": "47c97b3efae9a9a7d4b67fd3afee7d8129cc3db1", "date": 1736352262.0, "description": "removed debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "3c47bd1cc1aa7c27d90c9bcf1819a0578bd98990": {"id": "3c47bd1cc1aa7c27d90c9bcf1819a0578bd98990", "date": 1736327648.0, "description": "fixed queue_force_scroll not scrolling to the leaf", "files": [["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "58f225ff73bbf8ae8e5fb68380165db7e4811f71": {"id": "58f225ff73bbf8ae8e5fb68380165db7e4811f71", "date": 1736326041.0, "description": "tweaked leaf layout", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "6d113e01ca944765202b3565a5d501a3aa80fef1": {"id": "6d113e01ca944765202b3565a5d501a3aa80fef1", "date": 1736324002.0, "description": "diagonal scrolling", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "ee6d48f07c8842cf9ad610cc39f9e79729133933": {"id": "ee6d48f07c8842cf9ad610cc39f9e79729133933", "date": 1736312894.0, "description": "draw column labels of large columns such that they stay visible", "files": [["M", "app/src/main/java/com/qfs/pagan/TableUI.kt"]], "author": "smith.quintin@protonmail.com"}, "5fd78d81aa7320a483c505f5a7f0c0b164a83de0": {"id": "5fd78d81aa7320a483c505f5a7f0c0b164a83de0", "date": 1736310740.0, "description": "renamed CompoundScrollView to TableUI. fixed rounding issue in onDraw.", "files": [["D", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"], ["A", "app/src/main/java/com/qfs/pagan/TableUI.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelContainer.kt"]], "author": "smith.quintin@protonmail.com"}, "d9399e982ad0adf926f3fec500257b052f1d53c6": {"id": "d9399e982ad0adf926f3fec500257b052f1d53c6", "date": 1736306306.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/90.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "6137b0df25c39d3c696fb80a6cfd677eaf4e47db": {"id": "6137b0df25c39d3c696fb80a6cfd677eaf4e47db", "date": 1736303242.0, "description": "don't draw_tree() outside of view's rect", "files": [["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"]], "author": "smith.quintin@protonmail.com"}, "413c71e8654488c2b43ee6d91af057a82a6e72f5": {"id": "413c71e8654488c2b43ee6d91af057a82a6e72f5", "date": 1736302227.0, "description": "cleaned up editor_label_column and corner_button", "files": [["M", "app/src/main/res/drawable/editor_label_column.xml"], ["M", "app/src/main/res/drawable/corner_button.xml"]], "author": "smith.quintin@protonmail.com"}, "f3960808477c11ccb4a6fb600913230f126658f0": {"id": "f3960808477c11ccb4a6fb600913230f126658f0", "date": 1736286882.0, "description": "cleaning up leaf drawables", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/drawable/leaf.xml"], ["M", "app/src/main/res/drawable/editor_label_line.xml"], ["M", "app/src/main/res/drawable/editor_label_ctl_line.xml"], ["M", "app/src/main/res/drawable/ctl_leaf.xml"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"]], "author": "smith.quintin@protonmail.com"}, "43ea0ebbc8a491d02e10815cf9b8a53b101d018f": {"id": "43ea0ebbc8a491d02e10815cf9b8a53b101d018f", "date": 1736275360.0, "description": "fixed repositioning failure", "files": [["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"]], "author": "smith.quintin@protonmail.com"}, "84650703889802e51b9f0e7368645a5155b781c4": {"id": "84650703889802e51b9f0e7368645a5155b781c4", "date": 1736270317.0, "description": "trying to fix: losing position on resume", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorViewModel.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"]], "author": "smith.quintin@protonmail.com"}, "43347161633d81be88f632635b8eedec60ae4c13": {"id": "43347161633d81be88f632635b8eedec60ae4c13", "date": 1736188892.0, "description": "done long_click/click implementation", "files": [["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"]], "author": "smith.quintin@protonmail.com"}, "c1e40affc130bbef99b414142ba4cd679396323c": {"id": "c1e40affc130bbef99b414142ba4cd679396323c", "date": 1736166589.0, "description": "almost done implementing long_click/click on new table", "files": [["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"]], "author": "smith.quintin@protonmail.com"}, "6051aa176a48d61a2fba8a2fc3cb5b4336333d49": {"id": "6051aa176a48d61a2fba8a2fc3cb5b4336333d49", "date": 1736164394.0, "description": "removed TODO()s in force_scroll function", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "2881d3f0728191005bbc07a303fe1fb626f30440": {"id": "2881d3f0728191005bbc07a303fe1fb626f30440", "date": 1736157270.0, "description": "keep cursor on screen when changing context menus", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "f950796c72e52bc3f16d28cdebf73e1e9d6a3f33": {"id": "f950796c72e52bc3f16d28cdebf73e1e9d6a3f33", "date": 1736148994.0, "description": "created get_row_y_position_and_height()", "files": [["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"]], "author": "smith.quintin@protonmail.com"}, "4e305e4b2364c86fe968d77b1b9a13d9d504824a": {"id": "4e305e4b2364c86fe968d77b1b9a13d9d504824a", "date": 1736050898.0, "description": "fixed label/line sizing", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"]], "author": "smith.quintin@protonmail.com"}, "5e0aadcc6bc3c41ed5eecb43537701e578fceacc": {"id": "5e0aadcc6bc3c41ed5eecb43537701e578fceacc", "date": 1736035342.0, "description": "merged column labels into column container", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "99828c5c205ad53a4b369658de050cb7f9f6e94e": {"id": "99828c5c205ad53a4b369658de050cb7f9f6e94e", "date": 1736033493.0, "description": "leaf display text layout", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelContainer.kt"]], "author": "smith.quintin@protonmail.com"}, "a594a08f3ff280ad627efccb41eeccf36eeaa0e6": {"id": "a594a08f3ff280ad627efccb41eeccf36eeaa0e6", "date": 1736027807.0, "description": "fixed column label formatting", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelContainer.kt"]], "author": "smith.quintin@protonmail.com"}, "2e0db96c46141175c28c70364cda42bab3dabac2": {"id": "2e0db96c46141175c28c70364cda42bab3dabac2", "date": 1735960146.0, "description": "added statefulness to column labels", "files": [["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelContainer.kt"]], "author": "smith.quintin@protonmail.com"}, "2b82f12775b0580b938c4e29893dc6ccbc669075": {"id": "2b82f12775b0580b938c4e29893dc6ccbc669075", "date": 1735956396.0, "description": "cursor_selects() functional", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"]], "author": "smith.quintin@protonmail.com"}, "c843d9d782f5543fe59cc9b27f524a01efe73e50": {"id": "c843d9d782f5543fe59cc9b27f524a01efe73e50", "date": 1735944777.0, "description": "generalized draw_tree().  added 'get_visible_row_from_pixel()'. fixed miscalculation in get_last_visible_column()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelContainer.kt"]], "author": "smith.quintin@protonmail.com"}, "743c7cecf17d2d85cd5a8748d78d0ff22c061ae6": {"id": "743c7cecf17d2d85cd5a8748d78d0ff22c061ae6", "date": 1735938451.0, "description": "work on editor", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelContainer.kt"]], "author": "smith.quintin@protonmail.com"}, "b92a6ba8ab5a38ae545638276c4a8e9936252568": {"id": "b92a6ba8ab5a38ae545638276c4a8e9936252568", "date": 1735914909.0, "description": "Rough std leaf layouts manually drawn", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"]], "author": "smith.quintin@protonmail.com"}, "786e1f48d4f51853b6073e7a7e4d67b73da6036a": {"id": "786e1f48d4f51853b6073e7a7e4d67b73da6036a", "date": 1735893227.0, "description": "started back on manually drawing table instead of using individual views", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelContainer.kt"]], "author": "smith.quintin@protonmail.com"}, "7b81e25c3fcf171aa0fe15818ab988ede86af047": {"id": "7b81e25c3fcf171aa0fe15818ab988ede86af047", "date": 1735756446.0, "description": "moved scroll_to_cursor functionality to ui_bill", "files": [["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "d2e118f558f32683be2bec2f04397df5e0604164": {"id": "d2e118f558f32683be2bec2f04397df5e0604164", "date": 1735720180.0, "description": "separated scroll_to_cursor and show_context_menus", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "ef628eedceec62d0be112f57262e5c46f41f0959": {"id": "ef628eedceec62d0be112f57262e5c46f41f0959", "date": 1735688698.0, "description": "replaced column label RecyclerView with LinearLayout", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["D", "app/src/main/java/com/qfs/pagan/ColumnLabelRecycler.kt"], ["A", "app/src/main/java/com/qfs/pagan/ColumnLabelContainer.kt"], ["D", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "1176b89ed363e51e3eaa6d02735e7d968d9a03b9": {"id": "1176b89ed363e51e3eaa6d02735e7d968d9a03b9", "date": 1735643983.0, "description": "work on new editor", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "5bfadead23361f075b7198eb5e351efd0f7f5278": {"id": "5bfadead23361f075b7198eb5e351efd0f7f5278", "date": 1735578188.0, "description": "work on new_editor", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "879a7e152ae821446216669abac69b486ad2faf8": {"id": "879a7e152ae821446216669abac69b486ad2faf8", "date": 1735543164.0, "description": "work on new editor table", "files": [["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"]], "author": "smith.quintin@protonmail.com"}, "46b427cd130a02536ccbc0a6d384a2f18f2f6b83": {"id": "46b427cd130a02536ccbc0a6d384a2f18f2f6b83", "date": 1735539354.0, "description": "removed column recycler. rough playing with manual drawing", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelRecycler.kt"]], "author": "smith.quintin@protonmail.com"}, "9631b55bbd85e521b56ad965a94d3689e86625fe": {"id": "9631b55bbd85e521b56ad965a94d3689e86625fe", "date": 1735497571.0, "description": "added _calculate_table_size() function to help render new editor table", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "dc0088f9d8aac74cfdc81b6da0aebaa23dd555b9": {"id": "dc0088f9d8aac74cfdc81b6da0aebaa23dd555b9", "date": 1735159531.0, "description": "fixed incorrect text color on button_alt in popup dialogs", "files": [["A", "fastlane/metadata/android/en-US/changelogs/89.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "31fc34a49371567f72de71edc589285255413244": {"id": "31fc34a49371567f72de71edc589285255413244", "date": 1735058933.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/88.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "b849c81ac4daf60152aaf7c03a70039678a0d640": {"id": "b849c81ac4daf60152aaf7c03a70039678a0d640", "date": 1735058024.0, "description": "removed palette artifacts", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/drawable/editor_label_column.xml"], ["A", "app/src/main/res/drawable/button_alt_pressed.xml"], ["A", "app/src/main/res/drawable/button_alt_default.xml"], ["A", "app/src/main/res/drawable/button_alt.xml"], ["A", "app/src/main/res/color/column_label_text.xml"], ["A", "app/src/main/res/color/column_label_std_selector.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ButtonColor.kt"]], "author": "smith.quintin@protonmail.com"}, "faa26924afe175fdbc69f4b2c0ad0290980cbdad": {"id": "faa26924afe175fdbc69f4b2c0ad0290980cbdad", "date": 1735031768.0, "description": "removed color palette artifacts from NumberSelector and RelativeSelector", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/res/drawable/number_selector_button.xml"], ["M", "app/src/main/res/drawable/button_icon_pressed.xml"], ["M", "app/src/main/res/drawable/button_icon_default.xml"], ["A", "app/src/main/res/color/number_select_button_text_selector.xml"], ["A", "app/src/main/res/color/number_select_button_selector.xml"], ["M", "app/src/main/res/color/button_selector.xml"], ["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "52c83b61b702a3525fe762372700cce2cf93fc89": {"id": "52c83b61b702a3525fe762372700cce2cf93fc89", "date": 1735027015.0, "description": "removed color palette artifacts. Reduced minSdk (because it was possible)", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/control_widget_volume.xml"], ["M", "app/src/main/res/layout/control_widget_pan.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_range.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout/contextmenu_control_line.xml"], ["M", "app/src/main/res/layout/contextmenu_column.xml"], ["M", "app/src/main/res/layout/contextmenu_channel_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_channel.xml"], ["M", "app/src/main/res/layout/contextmenu_cell_percussion.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout/button_labelled_icon.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range.xml"], ["M", "app/src/main/res/layout-land/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout-land/contextmenu_control_line.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell_percussion.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/res/drawable/corner_button.xml"], ["M", "app/src/main/res/drawable/button_pressed.xml"], ["M", "app/src/main/res/drawable/button_icon_pressed.xml"], ["M", "app/src/main/res/drawable/button_icon_default.xml"], ["M", "app/src/main/res/drawable/button_default.xml"], ["A", "app/src/main/res/color/button_text_selector.xml"], ["A", "app/src/main/res/color/button_selector.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CornerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeafB.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/ButtonLabelledIcon.kt"], ["M", "app/src/main/java/com/qfs/pagan/ButtonIcon.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "7b4c04042182f716e09de2c6e4aa0f16a9df3605": {"id": "7b4c04042182f716e09de2c6e4aa0f16a9df3605", "date": 1734971929.0, "description": "*actually* fixed column width map bug (see #24)", "files": [["A", "fastlane/metadata/android/en-US/changelogs/87.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "75682bf24f83e18f4b7993e6b921ec0af0c3f72b": {"id": "75682bf24f83e18f4b7993e6b921ec0af0c3f72b", "date": 1734932476.0, "description": "update changelog", "files": [["M", "fastlane/metadata/android/en-US/changelogs/86.txt"]], "author": "smith.quintin@protonmail.com"}, "33d3e2ae72e5eac0a5afe47f52db35c518dfb4e4": {"id": "33d3e2ae72e5eac0a5afe47f52db35c518dfb4e4", "date": 1734931603.0, "description": "throw error if riff is not an sfbk", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Riff.kt"]], "author": "smith.quintin@protonmail.com"}, "944b3231a25762e3afac36d43e5c7b7a6cd757fa": {"id": "944b3231a25762e3afac36d43e5c7b7a6cd757fa", "date": 1734928498.0, "description": "fixed new columns not being the right width sometimes. resolves #24", "files": [["A", "fastlane/metadata/android/en-US/changelogs/86.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "e35b1f4b9af826985a81f825212f32ac560b8418": {"id": "e35b1f4b9af826985a81f825212f32ac560b8418", "date": 1734892596.0, "description": "created inv_column_map", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"]], "author": "smith.quintin@protonmail.com"}, "8dd6b7ec081cbe348056cf293ea685db438a3e90": {"id": "8dd6b7ec081cbe348056cf293ea685db438a3e90", "date": 1734801310.0, "description": "Removed unused string resources", "files": [["M", "app/src/main/res/values/strings.xml"]], "author": "smith.quintin@protonmail.com"}, "21875bc4804774d507993eb67e9da85eee5217c7": {"id": "21875bc4804774d507993eb67e9da85eee5217c7", "date": 1734713610.0, "description": "removed some unused strings", "files": [["M", "app/src/main/res/values/strings.xml"]], "author": "smith.quintin@protonmail.com"}, "c2e1a38efd8f1d7a2ad708623679053428568a32": {"id": "c2e1a38efd8f1d7a2ad708623679053428568a32", "date": 1734713243.0, "description": "removed unused palette strings", "files": [["M", "app/src/main/res/values/strings.xml"]], "author": "smith.quintin@protonmail.com"}, "d58e5249338712f09b890c89079c56dabd526be8": {"id": "d58e5249338712f09b890c89079c56dabd526be8", "date": 1734712895.0, "description": "extracted string resources", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "d08604bc10dc503472c2342e8bf80fe103ee30e2": {"id": "d08604bc10dc503472c2342e8bf80fe103ee30e2", "date": 1734712186.0, "description": "removed unused code", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "1c02ae80692f6acc1d7a8ec5e7866adeed091c11": {"id": "1c02ae80692f6acc1d7a8ec5e7866adeed091c11", "date": 1734711985.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "4c429fceaed359a6a2c46561248d23852a577137": {"id": "4c429fceaed359a6a2c46561248d23852a577137", "date": 1734711037.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "0066cd7a9be4e5fc4dac32d84cbd8f56eefd1df6": {"id": "0066cd7a9be4e5fc4dac32d84cbd8f56eefd1df6", "date": 1734710272.0, "description": "moved checked_cast()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "334bcc060f286acdc6cdb782706ae413509ce7c6": {"id": "334bcc060f286acdc6cdb782706ae413509ce7c6", "date": 1734674614.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "a6963e7ab3ab260909c0463fe7543cc9713c5d2e": {"id": "a6963e7ab3ab260909c0463fe7543cc9713c5d2e", "date": 1734624219.0, "description": "fixed out of date unitTests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "ac300acc8eb2bba95048ae460c75e6f582fecc8d": {"id": "ac300acc8eb2bba95048ae460c75e6f582fecc8d", "date": 1734584656.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/85.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "291ff39c0da51d0ec1c56f322189b773177706ae": {"id": "291ff39c0da51d0ec1c56f322189b773177706ae", "date": 1734584190.0, "description": "fixed lack of overlap check on insert() and insert_after()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "9b4416139b752440ef7081fcbbf55c58f2e20a5b": {"id": "9b4416139b752440ef7081fcbbf55c58f2e20a5b", "date": 1734544354.0, "description": "fixed some overlap checking. resolves 21", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganBroadcastReceiver.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "3157ecb67f4404ed9f25df34948a0135b4190bc0": {"id": "3157ecb67f4404ed9f25df34948a0135b4190bc0", "date": 1734498501.0, "description": "update Readme", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "4ccd6f8ca08630464ce553c26497ca97a811591f": {"id": "4ccd6f8ca08630464ce553c26497ca97a811591f", "date": 1734495910.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/84.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "b57d42062644fb59b49aa18b8b61b31481397215": {"id": "b57d42062644fb59b49aa18b8b61b31481397215", "date": 1734495546.0, "description": "recache_blocked_tree_wrapper() wasn't checking the correct position. resolves #19", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"]], "author": "smith.quintin@protonmail.com"}, "6a0b5904d1536c114e625989e5060b9e96cfd51d": {"id": "6a0b5904d1536c114e625989e5060b9e96cfd51d", "date": 1734458751.0, "description": "block custom popup menu from opening twice. (resolves #18)", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "b69c7c9b4b7d4df91cbc1f73efaf290b39c45af7": {"id": "b69c7c9b4b7d4df91cbc1f73efaf290b39c45af7", "date": 1734458185.0, "description": "Removed PaganEditText", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/text_name_change.xml"], ["M", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"], ["D", "app/src/main/java/com/qfs/pagan/PaganEditText.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/HexEditText.kt"]], "author": "smith.quintin@protonmail.com"}, "0a12cfecd3ff5ee82533badbf5743b9a43a909fb": {"id": "0a12cfecd3ff5ee82533badbf5743b9a43a909fb", "date": 1734455902.0, "description": "removed outer lines on editor labels", "files": [["M", "app/src/main/res/drawable/leaf.xml"], ["M", "app/src/main/res/drawable/editor_label_line.xml"], ["M", "app/src/main/res/drawable/editor_label_ctl_line.xml"], ["M", "app/src/main/res/drawable/editor_label_column.xml"], ["M", "app/src/main/res/drawable/ctl_leaf.xml"], ["M", "app/src/main/res/drawable/corner_button.xml"], ["M", "app/src/main/java/com/qfs/pagan/PanSliderWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "250a01581ff98d53ba0c989349f16ad79dbb8d07": {"id": "250a01581ff98d53ba0c989349f16ad79dbb8d07", "date": 1734368335.0, "description": "removed custom color artifact", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "a98134f0047e8ee5f6762d6706785f9418748cd0": {"id": "a98134f0047e8ee5f6762d6706785f9418748cd0", "date": 1734289120.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/83.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "2269d7e3b898c48c37e986d5529707a7c601f168": {"id": "2269d7e3b898c48c37e986d5529707a7c601f168", "date": 1734289019.0, "description": "bugfix: some samples not being played", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "411625dc5dee82353b7d3559c2cc1e2ca693a30f": {"id": "411625dc5dee82353b7d3559c2cc1e2ca693a30f", "date": 1734234444.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/82.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "d5dff34611bcd8bba8993419f1b419d835b2f7ed": {"id": "d5dff34611bcd8bba8993419f1b419d835b2f7ed", "date": 1734234278.0, "description": "bugfix: spillover doesn't get set on imported midis", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "e9f234fb2f58b3e25f55c51d5ba079165edf9c1e": {"id": "e9f234fb2f58b3e25f55c51d5ba079165edf9c1e", "date": 1734147910.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "0f166842619011ba409ffd103dc4b77f2476a6be": {"id": "0f166842619011ba409ffd103dc4b77f2476a6be", "date": 1734145309.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "828f854e27501cfcee72f9af7c7fb4e6c3d3c6e0": {"id": "828f854e27501cfcee72f9af7c7fb4e6c3d3c6e0", "date": 1734138374.0, "description": "increased buffer size on feedback", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "02a08c7b8009b37bf7110bc507523753cb94c3e8": {"id": "02a08c7b8009b37bf7110bc507523753cb94c3e8", "date": 1734107119.0, "description": "bugfix: crash on 'undo'ing insert_beat where more beats were inserted than the current length of the song", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "da5a9283ab8f29e7c75db0d387b8e5b77354dc5a": {"id": "da5a9283ab8f29e7c75db0d387b8e5b77354dc5a", "date": 1734075317.0, "description": "version bump", "files": [["M", "fastlane/metadata/android/en-US/short_description.txt"], ["M", "fastlane/metadata/android/en-US/full_description.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/81.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "bc60835e977052057727cd2cf73457201e73c8b2": {"id": "bc60835e977052057727cd2cf73457201e73c8b2", "date": 1733942748.0, "description": "lock cursor in unset_line()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "1e42c1a36dfd8a343bcb54202d387ac72f53017e": {"id": "1e42c1a36dfd8a343bcb54202d387ac72f53017e", "date": 1733942172.0, "description": "don't select volume line if already selecting standard line when changing initial volume", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "8b06d092ecf5701763c1f8a5298eb3a8dafd278a": {"id": "8b06d092ecf5701763c1f8a5298eb3a8dafd278a", "date": 1733940882.0, "description": "overwriting lines no longer scrolls to end", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"]], "author": "smith.quintin@protonmail.com"}, "a4f041f7d88c7d58d041daeb28d56aab4c73dc8d": {"id": "a4f041f7d88c7d58d041daeb28d56aab4c73dc8d", "date": 1733889263.0, "description": "added missing landscape layout for contextmenu_control_line", "files": [["A", "app/src/main/res/layout-land/contextmenu_control_line.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel.xml"]], "author": "smith.quintin@protonmail.com"}, "9efeccdecfcb15b9e45729540194bc5feebb1a45": {"id": "9efeccdecfcb15b9e45729540194bc5feebb1a45", "date": 1733884382.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "c42a64f3c532f16c4ce89161363bc19335db6817": {"id": "c42a64f3c532f16c4ce89161363bc19335db6817", "date": 1733883051.0, "description": "unset backup_fragment_intent after import with new GeneralImport", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "dfe6dd8afe60d2205dcc05ee73e9fe0ddf93729a": {"id": "dfe6dd8afe60d2205dcc05ee73e9fe0ddf93729a", "date": 1733880430.0, "description": "rebuilt generated tests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"]], "author": "smith.quintin@protonmail.com"}, "7d4cd2dbfced02aa93020dd213af876fdb6fb492": {"id": "7d4cd2dbfced02aa93020dd213af876fdb6fb492", "date": 1733879785.0, "description": "fixed ctl line label colors", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/drawable/editor_label_ctl_line.xml"], ["A", "app/src/main/res/color/line_label_ctl_text.xml"], ["A", "app/src/main/res/color/line_label_ctl_selector.xml"]], "author": "smith.quintin@protonmail.com"}, "b81e9b6f872743ee800ccdafc144d4089f9658b0": {"id": "b81e9b6f872743ee800ccdafc144d4089f9658b0", "date": 1733879347.0, "description": "fixed incorrectly setting LineLabel to active when selecting Range", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"]], "author": "smith.quintin@protonmail.com"}, "037c2abcfd56c58a8f2014bf3850c1cd1ed6549d": {"id": "037c2abcfd56c58a8f2014bf3850c1cd1ed6549d", "date": 1733876196.0, "description": "increased amount of processes used to calculate chunks", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "e5d98e52b92bd82d02b5ca45e8e48d6931148d09": {"id": "e5d98e52b92bd82d02b5ca45e8e48d6931148d09", "date": 1733870471.0, "description": "increase volume of smoothed audio to the volume it was pre-smooth", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "3a2dc343f7d7ff4a896141db35e71cfe40789355": {"id": "3a2dc343f7d7ff4a896141db35e71cfe40789355", "date": 1733864390.0, "description": "artifact removal", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "4db3611f181e72aa7d1d607439720908523b7fbf": {"id": "4db3611f181e72aa7d1d607439720908523b7fbf", "date": 1733817526.0, "description": "merged import midi and import project buttons into one", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/menu/main_options_menu.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/IntentFragmentToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentLandingPage.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["A", "app/src/main/java/com/qfs/pagan/CompatibleFileType.kt"]], "author": "smith.quintin@protonmail.com"}, "6b0c6db1c475cd76fc3ab49a605fddba59de5255": {"id": "6b0c6db1c475cd76fc3ab49a605fddba59de5255", "date": 1733811393.0, "description": "renamed Broadcast Receiver", "files": [["M", "app/src/main/res/values-night/colors.xml"], ["D", "app/src/main/java/com/qfs/pagan/MyBroadcastReceiver.kt"], ["A", "app/src/main/java/com/qfs/pagan/PaganBroadcastReceiver.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "e94024e727194f4848e27a7bb45686c8d40db696": {"id": "e94024e727194f4848e27a7bb45686c8d40db696", "date": 1733809726.0, "description": "removed overlap-check in split_tree", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"]], "author": "smith.quintin@protonmail.com"}, "c836ed5c8da9eaaafe9fa3178b079cff01a8478a": {"id": "c836ed5c8da9eaaafe9fa3178b079cff01a8478a", "date": 1733807761.0, "description": "fixed cancel from notification. improved visibility of active item in popups", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout/dropdown_menu_item.xml"], ["D", "app/src/main/res/drawable/leaf_selector.xml"], ["A", "app/src/main/res/drawable/leaf.xml"], ["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/MyBroadcastReceiver.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "47947fff131fbb264bd788ca7cdd1e1afdf1af49": {"id": "47947fff131fbb264bd788ca7cdd1e1afdf1af49", "date": 1733791093.0, "description": "fixed panning", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "eb5ba50ad9d4196f8131f0dab443d7783599599d": {"id": "eb5ba50ad9d4196f8131f0dab443d7783599599d", "date": 1733771198.0, "description": "removed more color artifacts", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/drawable/editor_label_line.xml"], ["M", "app/src/main/res/drawable/editor_label_ctl_line.xml"], ["A", "app/src/main/res/color/line_label_text.xml"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtl.kt"]], "author": "smith.quintin@protonmail.com"}, "5fc684fd70bd9caea4adf1193ff9d328a7d30d55": {"id": "5fc684fd70bd9caea4adf1193ff9d328a7d30d55", "date": 1733768636.0, "description": "removed PaganRadioButton", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/layout/contextmenu_range_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range_secondary.xml"], ["A", "app/src/main/res/color/radio.xml"], ["D", "app/src/main/java/com/qfs/pagan/PaganRadioButton.kt"]], "author": "smith.quintin@protonmail.com"}, "29e8158e4715fd54fb252e5b56f843eb4ed78589": {"id": "29e8158e4715fd54fb252e5b56f843eb4ed78589", "date": 1733767516.0, "description": "fixed crash on overwrite_beat_range_horizontally", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "7c7526781921d79849af8a37a0644c7e1e12d8b8": {"id": "7c7526781921d79849af8a37a0644c7e1e12d8b8", "date": 1733764565.0, "description": "splitting up tanh calls between cores", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "598e33d6503c4d816af82725d33527a2ea55df90": {"id": "598e33d6503c4d816af82725d33527a2ea55df90", "date": 1733761850.0, "description": ".", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "acea553f10b057b28975f5ec6c8451842af98c3c": {"id": "acea553f10b057b28975f5ec6c8451842af98c3c", "date": 1733761253.0, "description": "fixed smoothing not being applied", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "3d28e943c9472167ff42118c0d800ac3786b1331": {"id": "3d28e943c9472167ff42118c0d800ac3786b1331", "date": 1733759338.0, "description": "work on click fix", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "f115ee69b3d5f1b0263ef4342f3f0da76d248cf0": {"id": "f115ee69b3d5f1b0263ef4342f3f0da76d248cf0", "date": 1733696460.0, "description": "work on fixing smoothing clicking", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "62d4832d086d73f4a6b3864268003f69def04c85": {"id": "62d4832d086d73f4a6b3864268003f69def04c85", "date": 1733504572.0, "description": "fixed 1 instance of set_working_position misalignment", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "a7f313d760a4cd93f077997b1672dcec89548989": {"id": "a7f313d760a4cd93f077997b1672dcec89548989", "date": 1733461759.0, "description": "increased  max volume of samplehandles", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "8a36ed1be2f9154fcde1d3f13363eeb2c7fb6eae": {"id": "8a36ed1be2f9154fcde1d3f13363eeb2c7fb6eae", "date": 1733443072.0, "description": "std line label colors, removed old artifacts. fixed unset ctl from spill not working", "files": [["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/res/drawable/editor_label_line.xml"], ["A", "app/src/main/res/color/line_label_std_selector.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtl.kt"]], "author": "smith.quintin@protonmail.com"}, "e06a74c04852d63685447d565a0da1a7ada55004": {"id": "e06a74c04852d63685447d565a0da1a7ada55004", "date": 1733439841.0, "description": "fixed argument mixup in repeat_controller_channel_remove() and removed debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "ef6e8b496428eacfd709deb4b5f5f963cc82d581": {"id": "ef6e8b496428eacfd709deb4b5f5f963cc82d581", "date": 1733438312.0, "description": "fixed get_latest_event returning actual event instead of copy", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "eea383f55d735032e5ee3c9adf3e129d973b81b7": {"id": "eea383f55d735032e5ee3c9adf3e129d973b81b7", "date": 1733438118.0, "description": "fixed blocked check in remove_one_of_two", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "cd2e399065448a9b0a987de83b20740f98b72e0c": {"id": "cd2e399065448a9b0a987de83b20740f98b72e0c", "date": 1733395228.0, "description": "fixed line label updating", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "20bf6ca4b11782f6324fd41c170d483ac97b9fcc": {"id": "20bf6ca4b11782f6324fd41c170d483ac97b9fcc", "date": 1733390938.0, "description": "removed pagan's seekbar, switch and progress bar. cleaned some color logic.", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/colors.xml"], ["A", "app/src/main/res/values/color/leaf.xml"], ["M", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/dialog_shortcut.xml"], ["M", "app/src/main/res/layout/dialog_line_volume.xml"], ["M", "app/src/main/res/layout/control_widget_volume.xml"], ["M", "app/src/main/res/layout/color_picker.xml"], ["M", "app/src/main/res/layout-land/color_picker.xml"], ["D", "app/src/main/res/drawable/leaf.xml"], ["A", "app/src/main/res/drawable/leaf_selector.xml"], ["M", "app/src/main/res/drawable/ctl_leaf.xml"], ["A", "app/src/main/res/color/leaf_text_selector.xml"], ["A", "app/src/main/res/color/leaf.xml"], ["A", "app/src/main/res/color/ctl_leaf_text_selector.xml"], ["A", "app/src/main/res/color/ctl_leaf_selector.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/PanSliderWidget.kt"], ["D", "app/src/main/java/com/qfs/pagan/PaganSwitch.kt"], ["D", "app/src/main/java/com/qfs/pagan/PaganSeekBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafText.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/apres/event/CompoundEvent.kt"]], "author": "smith.quintin@protonmail.com"}, "b4e08d74a09c881d309feb5d3ea834781ff4d42a": {"id": "b4e08d74a09c881d309feb5d3ea834781ff4d42a", "date": 1733356022.0, "description": "changed ctl leaf color", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "dcfcfdfb4d081f89cd070bc5d9dbee0f4c9950ae": {"id": "dcfcfdfb4d081f89cd070bc5d9dbee0f4c9950ae", "date": 1733354110.0, "description": "fixed duration being copied on new control events", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "091652f75e6e04483d0b765e4ebff23fcd0c716e": {"id": "091652f75e6e04483d0b765e4ebff23fcd0c716e", "date": 1733349618.0, "description": "another tweak to pan slider", "files": [["M", "app/src/main/java/com/qfs/pagan/PanSliderWidget.kt"]], "author": "smith.quintin@protonmail.com"}, "3f7562a6459b5c09dc772d06e4b28b8bcc19c117": {"id": "3f7562a6459b5c09dc772d06e4b28b8bcc19c117", "date": 1733348917.0, "description": "cleaner pan slider", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/colors.xml"], ["A", "app/src/main/res/values-night/colors.xml"], ["M", "app/src/main/java/com/qfs/pagan/PanSliderWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"]], "author": "smith.quintin@protonmail.com"}, "78483a1643cd6e0c8b4500a17e4e3d8ef45f5778": {"id": "78483a1643cd6e0c8b4500a17e4e3d8ef45f5778", "date": 1733291663.0, "description": "controller copying/moving between control levels", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlGlobal.kt"]], "author": "smith.quintin@protonmail.com"}, "3e72fa5cd4d19ef78984d898d435d04ec24997d6": {"id": "3e72fa5cd4d19ef78984d898d435d04ec24997d6", "date": 1733248864.0, "description": "starting work on cross-ctl-level tree movement", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "e0fc6dbf662bfb799d434d66d5394217b023571f": {"id": "e0fc6dbf662bfb799d434d66d5394217b023571f", "date": 1733247729.0, "description": "controller copy/move functionality fixed", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlLine.kt"]], "author": "smith.quintin@protonmail.com"}, "02735e19aa578fef5a334ec58b77c1381ed87aaa": {"id": "02735e19aa578fef5a334ec58b77c1381ed87aaa", "date": 1733243874.0, "description": "work on controller copy/move functionality", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "24b4637b1ea7978d3ffdaaca868713db91a8221e": {"id": "24b4637b1ea7978d3ffdaaca868713db91a8221e", "date": 1733214193.0, "description": "fixed insert_beat not updating blocker cache", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"]], "author": "smith.quintin@protonmail.com"}, "b6d4acbbddd5b56ab8b6ff44f35391b9135e6b05": {"id": "b6d4acbbddd5b56ab8b6ff44f35391b9135e6b05", "date": 1733200172.0, "description": "fixed remove_beats", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"]], "author": "smith.quintin@protonmail.com"}, "c647ea07a5a224a0c907a2a86787d1965f1f156e": {"id": "c647ea07a5a224a0c907a2a86787d1965f1f156e", "date": 1733198153.0, "description": "fixed direct access of cursor.position", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "802faf5d38f69abf1a167450f003a3d9cf9ce882": {"id": "802faf5d38f69abf1a167450f003a3d9cf9ce882", "date": 1733164302.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "6c234f8f58b9084e8c9926afae8b5ed101b338c3": {"id": "6c234f8f58b9084e8c9926afae8b5ed101b338c3", "date": 1733163538.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "1546431641bc7aad23440b88c7528cdf92930c7c": {"id": "1546431641bc7aad23440b88c7528cdf92930c7c", "date": 1733160676.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "1e07d3d0cce6e546fcecf21d126e781632fd6ed8": {"id": "1e07d3d0cce6e546fcecf21d126e781632fd6ed8", "date": 1733108089.0, "description": "sped up set_*_controller_visibility ui", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "ea757cbc92914c86a510f3d14ccccc288d4b4960": {"id": "ea757cbc92914c86a510f3d14ccccc288d4b4960", "date": 1733038738.0, "description": "fixed some cursor logic re control lines", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "1d23146d97950a787c726f6522e6bd666203bf06": {"id": "1d23146d97950a787c726f6522e6bd666203bf06", "date": 1733033118.0, "description": "updated tests", "files": [["M", "scripts/build_other_layer_tests.py"], ["D", "app/src/test/java/com/qfs/pagan/OpusLayerLinksUnitTest.kt"], ["D", "app/src/test/java/com/qfs/pagan/OpusLayerLinksUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["D", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerLinks.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/json/SerializationUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "6cdbdf1a615492e2df064eb0be2a486a206ad283": {"id": "6cdbdf1a615492e2df064eb0be2a486a206ad283", "date": 1732998673.0, "description": "more code organization", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "eadcdc3e677ab3fe2b33976e41d3accba78827b7": {"id": "eadcdc3e677ab3fe2b33976e41d3accba78827b7", "date": 1732988790.0, "description": "organized BaseLayer Functions into 1st/2nd order for sanity's sake", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerLinksUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "d44bf64abc377f389f84951dafc07bca228e0f61": {"id": "d44bf64abc377f389f84951dafc07bca228e0f61", "date": 1732981426.0, "description": "fixed cursor_select_line in remove_line call", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "af60b82ca9f8c81cba5307c692bddee69c4b7d42": {"id": "af60b82ca9f8c81cba5307c692bddee69c4b7d42", "date": 1732959807.0, "description": "Swapped history and cursor layer order", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"]], "author": "smith.quintin@protonmail.com"}, "2e231d3d45452dc959c9a2cf560b252976e0b5a4": {"id": "2e231d3d45452dc959c9a2cf560b252976e0b5a4", "date": 1732941145.0, "description": "removed custom color options. logic still exists and needs to be cleaned up, but the ui is out", "files": [["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"]], "author": "smith.quintin@protonmail.com"}, "914c0d3f63e608516352a9212b44c9936d54ad2b": {"id": "914c0d3f63e608516352a9212b44c9936d54ad2b", "date": 1732939665.0, "description": "fixed more pan issues", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "203cfadd62bfc0ee544d35771e86509a783660a3": {"id": "203cfadd62bfc0ee544d35771e86509a783660a3", "date": 1732938325.0, "description": "fixed artifact toInt() call in pan calculation", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "4829d953cad8e9dec8e72a8770526993fb491b42": {"id": "4829d953cad8e9dec8e72a8770526993fb491b42", "date": 1732923481.0, "description": "fixed rounding issue in get_marked_frames()", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "77c3094f5465dc302fd9f9e1cd107f2cf3d371cc": {"id": "77c3094f5465dc302fd9f9e1cd107f2cf3d371cc", "date": 1732900383.0, "description": "ProfileBuffer working", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "eee517a285b0cdfc2036600619d6cd04c8d3be96": {"id": "eee517a285b0cdfc2036600619d6cd04c8d3be96", "date": 1732894664.0, "description": "implemented ProfileBuffer object to handle volme and pan profiles. (not functional)", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "ad544740d373a6effb14770c1ede372598f9b95c": {"id": "ad544740d373a6effb14770c1ede372598f9b95c", "date": 1732858653.0, "description": "moved license & urls into about page", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/menu/main_options_menu.xml"], ["M", "app/src/main/res/layout/fragment_license.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentLicense.kt"]], "author": "smith.quintin@protonmail.com"}, "12fd1d2f96b2e10a9f3fe6904b9c86315bda6c82": {"id": "12fd1d2f96b2e10a9f3fe6904b9c86315bda6c82", "date": 1732830601.0, "description": "work about page", "files": [["M", "app/src/main/res/menu/main_options_menu.xml"], ["M", "app/src/main/res/layout/fragment_license.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentLicense.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentLandingPage.kt"]], "author": "smith.quintin@protonmail.com"}, "9ebc58ca02fef6d87a613a1af23e591c128a5017": {"id": "9ebc58ca02fef6d87a613a1af23e591c128a5017", "date": 1732821301.0, "description": "removed unused context menu", "files": [["D", "app/src/main/java/com/qfs/pagan/ContextMenuPlayback.kt"]], "author": "smith.quintin@protonmail.com"}, "4ff85514164b8c2e306282a22c1c6c05d6340242": {"id": "4ff85514164b8c2e306282a22c1c6c05d6340242", "date": 1732821205.0, "description": "remove_ctl button", "files": [["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_channel.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenuPlayback.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "0e403ae98a31cf94698913e3a4752f46dcfb1f1a": {"id": "0e403ae98a31cf94698913e3a4752f46dcfb1f1a", "date": 1732815715.0, "description": "speed up volume/pan profile frame checking", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "5374f01e9bb4e09592bc678669d6e8351ec19d2e": {"id": "5374f01e9bb4e09592bc678669d6e8351ec19d2e", "date": 1732777020.0, "description": "crashfixes and cleanup", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "8dcfad142fbe61a06349615f82aad5b6998721ee": {"id": "8dcfad142fbe61a06349615f82aad5b6998721ee", "date": 1732753882.0, "description": "optimized volume the same way i handled pan", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "c39fc8ce77a90c9179938fd5ecc2649225adc22b": {"id": "c39fc8ce77a90c9179938fd5ecc2649225adc22b", "date": 1732749692.0, "description": "enable channel controls. volume needs to be handle in PlaybackFrameMap", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "2bd274bff24811d987bd582edbadba59b232f6e6": {"id": "2bd274bff24811d987bd582edbadba59b232f6e6", "date": 1732746186.0, "description": "optimized pan profile, reintroduced channel controls", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "f4cdfd5276bf95610e4bdbcf170cfcbd3aab14af": {"id": "f4cdfd5276bf95610e4bdbcf170cfcbd3aab14af", "date": 1732699376.0, "description": "fixed duration being copied in new ctl events", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "7669b4968e2f8a4ed966946faec5a7cd5b61472d": {"id": "7669b4968e2f8a4ed966946faec5a7cd5b61472d", "date": 1732695944.0, "description": "vertical scrolling during playback enabled", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "c31dd45d931ca6a0b82865b01f54279d5578280f": {"id": "c31dd45d931ca6a0b82865b01f54279d5578280f", "date": 1732694302.0, "description": "using icons instead of text in channel menu. fixed some crashes on hide/remove channel", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row_secondary.xml"], ["A", "app/src/main/res/drawable/show_percussion.xml"], ["A", "app/src/main/res/drawable/show.xml"], ["A", "app/src/main/res/drawable/hide_percussion.xml"], ["M", "app/src/main/res/drawable/hide.xml"], ["A", "app/src/main/res/drawable/delete_channel.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PanSliderWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "c2ad658e8e0098874bb9fdac86aeb2e0f2be7c40": {"id": "c2ad658e8e0098874bb9fdac86aeb2e0f2be7c40", "date": 1732688112.0, "description": "fixed backwards pan", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"]], "author": "smith.quintin@protonmail.com"}, "b507b6f24689534f115276e314da16a30f2a9dd8": {"id": "b507b6f24689534f115276e314da16a30f2a9dd8", "date": 1732686287.0, "description": "adjusted secondary context menu sizing in landscape", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values-land/dimens.xml"], ["M", "app/src/main/res/layout/control_widget_volume.xml"], ["M", "app/src/main/res/layout/control_widget_tempo.xml"], ["M", "app/src/main/res/layout/control_widget_pan.xml"], ["M", "app/src/main/res/layout/contextmenu_range_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_range.xml"], ["A", "app/src/main/res/layout/button_labelled_icon.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_range.xml"], ["A", "app/src/main/res/drawable/volume_widget.xml"], ["M", "app/src/main/res/drawable/tempo_widget_icon.xml"], ["M", "app/src/main/res/drawable/immediate.xml"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuRange.kt"], ["M", "app/src/main/java/com/qfs/pagan/ButtonLabelledIcon.kt"]], "author": "smith.quintin@protonmail.com"}, "2a2f6f5630171627a7853af71d1322cff33adb99": {"id": "2a2f6f5630171627a7853af71d1322cff33adb99", "date": 1732680567.0, "description": "use % for event volume", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/control_widget_volume.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"]], "author": "smith.quintin@protonmail.com"}, "1aba7b962ef8b85d720454ac8881557488b4c591": {"id": "1aba7b962ef8b85d720454ac8881557488b4c591", "date": 1732670585.0, "description": "fixed is_line_control_line_selected()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlLine.kt"]], "author": "smith.quintin@protonmail.com"}, "e1252567beb2ab4458c27a2b6a6ce1a433697c8b": {"id": "e1252567beb2ab4458c27a2b6a6ce1a433697c8b", "date": 1732667825.0, "description": "leaf context menu behaviour tweak on overflow cell", "files": [["M", "app/src/main/res/layout-land/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "84ec614052b2172e7ca991a010a2e9f224f81ebc": {"id": "84ec614052b2172e7ca991a010a2e9f224f81ebc", "date": 1732647005.0, "description": "fixed  transition forgetting duration on save", "files": [["M", "app/src/main/res/drawable/immediate.xml"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "13bf7857baad3a10853962a34136559d0e9ba666": {"id": "13bf7857baad3a10853962a34136559d0e9ba666", "date": 1732645621.0, "description": "added missing overlap callbacks to line controls", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "24c0b3d9036724d3475cc0b1e2717820e3f3cd3b": {"id": "24c0b3d9036724d3475cc0b1e2717820e3f3cd3b", "date": 1732643749.0, "description": "removed artifact", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "f9b4d66ddd1936a4ab0cf649838adc2f8980522c": {"id": "f9b4d66ddd1936a4ab0cf649838adc2f8980522c", "date": 1732642716.0, "description": "fixed crash on blocked tree in line controls", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "1dc1feab843a52fcd70d5db8a4d0bc13b61a295e": {"id": "1dc1feab843a52fcd70d5db8a4d0bc13b61a295e", "date": 1732615713.0, "description": "fixed move_line_ctl_leaf mixing up to/from", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "aa505e47405083bb1af1c0cd44abf3ab2d1a1613": {"id": "aa505e47405083bb1af1c0cd44abf3ab2d1a1613", "date": 1732613709.0, "description": "added transition icons", "files": [["A", "app/src/main/res/drawable/linear.xml"], ["A", "app/src/main/res/drawable/immediate.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PanSliderWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"]], "author": "smith.quintin@protonmail.com"}, "d2af957259f15c32aec09cbf35767c9609f720dd": {"id": "d2af957259f15c32aec09cbf35767c9609f720dd", "date": 1732588801.0, "description": "clean up drawing pan slider", "files": [["M", "app/src/main/java/com/qfs/pagan/PanSliderWidget.kt"]], "author": "smith.quintin@protonmail.com"}, "21515dbdc151fc04fe12595dd16d81003c5cca07": {"id": "21515dbdc151fc04fe12595dd16d81003c5cca07", "date": 1732571017.0, "description": "typo fix", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "0f84c738baa9c854a943538509dc5eddb15e64f9": {"id": "0f84c738baa9c854a943538509dc5eddb15e64f9", "date": 1732518173.0, "description": "work on pan slider", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/PanSliderWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"]], "author": "smith.quintin@protonmail.com"}, "ce83c046c11e93f12921ceddd0171b931a38633c": {"id": "ce83c046c11e93f12921ceddd0171b931a38633c", "date": 1732518070.0, "description": "improved note to readme pointing to github repo", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "6d6400f5324e62ddce55a9d2fdc07f73fc9f3a69": {"id": "6d6400f5324e62ddce55a9d2fdc07f73fc9f3a69", "date": 1732517976.0, "description": "added note to readme pointing to github repo", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "34980d412f21563473b09aaa0391fbc51af6139b": {"id": "34980d412f21563473b09aaa0391fbc51af6139b", "date": 1732490932.0, "description": "cleaned up cursor selecting; moved it all out of interface layer and into cursor layer. also cursor only updated *after* baselayer logic", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"]], "author": "smith.quintin@protonmail.com"}, "12ca5eb600455042563d194d6d7882402a13f8a7": {"id": "12ca5eb600455042563d194d6d7882402a13f8a7", "date": 1732411376.0, "description": "lint", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerLinksUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "6b1c78c6bf7550813f540ab69d9b6e9f9208c786": {"id": "6b1c78c6bf7550813f540ab69d9b6e9f9208c786", "date": 1732398071.0, "description": "removed extraneous ui_change_bill.unlock() call on BlockedAction Exception", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "8cf72b81dca1ab86888604723fb85f26b7c4ae11": {"id": "8cf72b81dca1ab86888604723fb85f26b7c4ae11", "date": 1732395924.0, "description": "Lint & fixed some ui bugs with columns", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "7d02562c7593de9a12cdc99b175bb49d169d45a4": {"id": "7d02562c7593de9a12cdc99b175bb49d169d45a4", "date": 1732345466.0, "description": "pan slider tweak", "files": [["M", "app/src/main/java/com/qfs/pagan/PanSliderWidget.kt"]], "author": "smith.quintin@protonmail.com"}, "b1efde202c534e1d62d7617dcdc41857baa21782": {"id": "b1efde202c534e1d62d7617dcdc41857baa21782", "date": 1732344384.0, "description": "added remove control line button. keeping hidden for now", "files": [["M", "app/src/main/res/layout/contextmenu_control_line.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"]], "author": "smith.quintin@protonmail.com"}, "e62ee36c8adaf7ea9b81e75a40ff4fa1747e996c": {"id": "e62ee36c8adaf7ea9b81e75a40ff4fa1747e996c", "date": 1732338812.0, "description": "fixed ctl-toggle button not updating correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"]], "author": "smith.quintin@protonmail.com"}, "d773210ac3070bcd96ce504bf3fbff62e1bc1d26": {"id": "d773210ac3070bcd96ce504bf3fbff62e1bc1d26", "date": 1732337821.0, "description": "fixed typo breaking cell updates on percussion lines", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "f6bf5fa8651b2b9b40eb1c144f9ebe3ad53bf4db": {"id": "f6bf5fa8651b2b9b40eb1c144f9ebe3ad53bf4db", "date": 1732337183.0, "description": "Custom Pan widget\n    Consistent context menu (b) height", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values-land/dimens.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout/control_widget_pan.xml"], ["M", "app/src/main/res/layout/contextmenu_control_line_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_channel_secondary.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/PanSliderWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"]], "author": "smith.quintin@protonmail.com"}, "57d1a09db2e39b222d3e20b7907e765d9d5688cd": {"id": "57d1a09db2e39b222d3e20b7907e765d9d5688cd", "date": 1732321009.0, "description": "switching to canvas to for new pan widget", "files": [["M", "app/src/main/java/com/qfs/pagan/PanSliderWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "52ff0494cfd5a386306a5833abaf894eb1fe2b6e": {"id": "52ff0494cfd5a386306a5833abaf894eb1fe2b6e", "date": 1732315615.0, "description": "creating custom Pan Slider", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout/control_widget_pan.xml"], ["A", "app/src/main/java/com/qfs/pagan/PanSliderWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"]], "author": "smith.quintin@protonmail.com"}, "a8c581be472daf1c3ecc226c1167213dd486a044": {"id": "a8c581be472daf1c3ecc226c1167213dd486a044", "date": 1732264140.0, "description": "rebuilt Control Widgets using xml layouts", "files": [["M", "app/src/main/res/values/styles.xml"], ["A", "app/src/main/res/layout/control_widget_volume.xml"], ["A", "app/src/main/res/layout/control_widget_tempo.xml"], ["A", "app/src/main/res/layout/control_widget_reverb.xml"], ["A", "app/src/main/res/layout/control_widget_pan.xml"], ["A", "app/src/main/res/drawable/tempo_widget_icon.xml"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ButtonLabelledIcon.kt"]], "author": "smith.quintin@protonmail.com"}, "377aab0b9eaf80a3b98bfe3deee8f00f378b3d8c": {"id": "377aab0b9eaf80a3b98bfe3deee8f00f378b3d8c", "date": 1732213582.0, "description": "reduced resolution on pan", "files": [["M", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"]], "author": "smith.quintin@protonmail.com"}, "846ad7dbb8a02d9c7139ff13604100110bd4aafb": {"id": "846ad7dbb8a02d9c7139ff13604100110bd4aafb", "date": 1732213091.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "19582c4ba89a8a97cec2e711da7bca3388092df1": {"id": "19582c4ba89a8a97cec2e711da7bca3388092df1", "date": 1732211227.0, "description": "removed typo", "files": [["M", "app/src/main/res/values/styles.xml"]], "author": "smith.quintin@protonmail.com"}, "bf15ce7d02af0dc826ac827af2768112435f5191": {"id": "bf15ce7d02af0dc826ac827af2768112435f5191", "date": 1732073673.0, "description": "new percussion lines default to supported instrument", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "a4e66e8cb13d2a53bed5b5d2f2b04247b1641a6c": {"id": "a4e66e8cb13d2a53bed5b5d2f2b04247b1641a6c", "date": 1732071116.0, "description": "changed icon for hide_channel button. fixed cursor logic", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "296998294c6e4df4687567628a03b729faec4e39": {"id": "296998294c6e4df4687567628a03b729faec4e39", "date": 1732058295.0, "description": "toggle_line_controller_visibility force visible on new_controller", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "08a54ec527131d12b6bf3c047f0c9c2d2723ea8e": {"id": "08a54ec527131d12b6bf3c047f0c9c2d2723ea8e", "date": 1732056970.0, "description": "created icons for hide/show controls", "files": [["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_control_line.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["A", "app/src/main/res/drawable/hide.xml"], ["A", "app/src/main/res/drawable/ctl.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"]], "author": "smith.quintin@protonmail.com"}, "d9b3f072acfe0be4c2a65a7b840cac546dba49ac": {"id": "d9b3f072acfe0be4c2a65a7b840cac546dba49ac", "date": 1732042870.0, "description": "fixed split() calling cursor_select() incorrectly", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "247fc02d41e3abddb9e18a44f550cf97733f1fd4": {"id": "247fc02d41e3abddb9e18a44f550cf97733f1fd4", "date": 1732041759.0, "description": "Active Controllers default to visible=false", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveController.kt"]], "author": "smith.quintin@protonmail.com"}, "8ad6b284063164d825951346fb0dc6fc079107f2": {"id": "8ad6b284063164d825951346fb0dc6fc079107f2", "date": 1732040548.0, "description": "hiding Channel Controllers for now", "files": [["M", "app/src/main/res/layout/contextmenu_channel.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "1139297255fade58ed3846bdffb06c3bc55f7f2c": {"id": "1139297255fade58ed3846bdffb06c3bc55f7f2c", "date": 1731988802.0, "description": "cursor behaviour tweaks on insert_line/insert_channel/remove_channel", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "cfe18279afe4d5e0d159a96a0b154aa0abfece2b": {"id": "cfe18279afe4d5e0d159a96a0b154aa0abfece2b", "date": 1731951836.0, "description": "moved percussion visibility into Channel class", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "b4dc071c7eebb2c468f075f4c03e6fca79fb7809": {"id": "b4dc071c7eebb2c468f075f4c03e6fca79fb7809", "date": 1731917043.0, "description": "fixed misalignment on remove/undo a channel", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "13328417f37232ae89d2be753af17b2564bdb227": {"id": "13328417f37232ae89d2be753af17b2564bdb227", "date": 1731880408.0, "description": "highlight line labels of standard lines if an attached controller is selected", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"]], "author": "smith.quintin@protonmail.com"}, "eff0fa75825c7bc874bd01fcbcf6f5b74b960c09": {"id": "eff0fa75825c7bc874bd01fcbcf6f5b74b960c09", "date": 1731871873.0, "description": "force tempo visibility", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "e4367ed035ace6bffc4bd8d0f9ea30b7effb5b82": {"id": "e4367ed035ace6bffc4bd8d0f9ea30b7effb5b82", "date": 1731863519.0, "description": "created inner/outer calls to project change functions to clean up the order of operations", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerOverlapControlUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerLinksUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "682334d64bf71029026286a78d761e60b8eead50": {"id": "682334d64bf71029026286a78d761e60b8eead50", "date": 1731824931.0, "description": "work on per-line control visibility", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerOverlapControlUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerLinksUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusManagerJSONInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/ProjectSpecificConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "666f064044dccba5079a0e7ab3cb376471e5ff53": {"id": "666f064044dccba5079a0e7ab3cb376471e5ff53", "date": 1731788850.0, "description": "added generic to parse function", "files": [["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "72fd03e995eeb911881310bfe5919df089d28c81": {"id": "72fd03e995eeb911881310bfe5919df089d28c81", "date": 1731780339.0, "description": "work on per-project-config", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "630c6246d31214e1cc47590c0c9a0283852c8225": {"id": "630c6246d31214e1cc47590c0c9a0283852c8225", "date": 1731742205.0, "description": "work on project-specific configurations for visible ctl lines.", "files": [["A", "app/src/main/java/com/qfs/pagan/ProjectSpecificConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "a418de2b53518438deb3fc6d410c17da2953951f": {"id": "a418de2b53518438deb3fc6d410c17da2953951f", "date": 1731691964.0, "description": "remove channel considering cursor replacement", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "e0733091fbe6b412e42abeb121d48026e07f4d21": {"id": "e0733091fbe6b412e42abeb121d48026e07f4d21", "date": 1731691077.0, "description": "Channel instrument can be changed from ContextMenuChannel", "files": [["M", "app/src/main/res/layout/contextmenu_channel_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_channel.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "b48106ee20338bc210e1a90e9d7ad64abea327b6": {"id": "b48106ee20338bc210e1a90e9d7ad64abea327b6", "date": 1731651628.0, "description": "replaced buymeacoffee button with ko-fi", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "af04528f674cd7377489f4202ee93e65c3414b4c": {"id": "af04528f674cd7377489f4202ee93e65c3414b4c", "date": 1731610817.0, "description": "moved instrument-picker dialog into MainActivity from ChannelOptionAdapter", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "0a4499262378c648f313878f83c26049cd6dcc13": {"id": "0a4499262378c648f313878f83c26049cd6dcc13", "date": 1731608336.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "51afe70537a153908250171706d5a528a7c7cbf6": {"id": "51afe70537a153908250171706d5a528a7c7cbf6", "date": 1731605977.0, "description": "Revert \"temporarily commented out invalid tests\"\n    \n    This reverts commit 50915f486906a1029424c08f919b44ad97ebee39.", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerLinks.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "0978744f15f2515a0cd6ef73170c75478cdc5800": {"id": "0978744f15f2515a0cd6ef73170c75478cdc5800", "date": 1731560941.0, "description": "click focused line to select channel, click again to return to line", "files": [["A", "app/src/main/res/layout/contextmenu_channel_secondary.xml"], ["A", "app/src/main/res/layout/contextmenu_channel.xml"], ["A", "app/src/main/res/layout-land/contextmenu_channel_secondary.xml"], ["A", "app/src/main/res/layout-land/contextmenu_channel.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenuChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "3e3c78f1954644e9e2a37c790ecc1e2f8f202996": {"id": "3e3c78f1954644e9e2a37c790ecc1e2f8f202996", "date": 1731549919.0, "description": "work on CursorMode.Channel", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "679e3ee960473176e068914cd094d12b0db83980": {"id": "679e3ee960473176e068914cd094d12b0db83980", "date": 1731541895.0, "description": "putting padding between channels", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "95856113109c6a46742f6668cb51737ca10a9865": {"id": "95856113109c6a46742f6668cb51737ca10a9865", "date": 1731538675.0, "description": "transition button added to pan control", "files": [["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"]], "author": "smith.quintin@protonmail.com"}, "398b96b1b7e759e023a3756275ce8a4f4d33c695": {"id": "398b96b1b7e759e023a3756275ce8a4f4d33c695", "date": 1731538140.0, "description": "pan profile functional", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "8f0e0fb368edd82d5a79c94499e76ee4fcf63d01": {"id": "8f0e0fb368edd82d5a79c94499e76ee4fcf63d01", "date": 1731535239.0, "description": "started implementing pan control", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "26a26253f2cf9c087a0ef1f378b84df65856cbbe": {"id": "26a26253f2cf9c087a0ef1f378b84df65856cbbe", "date": 1731529493.0, "description": "fixed instances of iterating controllers not using get_all() calls", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "5f3694d50ee7f0f733cfd72375c2f8f4beb2d0a3": {"id": "5f3694d50ee7f0f733cfd72375c2f8f4beb2d0a3", "date": 1731439547.0, "description": "tweaks to pan widget. added pan icon", "files": [["M", "app/src/main/res/values/styles.xml"], ["A", "app/src/main/res/drawable/pan_icon.xml"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"]], "author": "smith.quintin@protonmail.com"}, "2e546db229e25348e535ffaec5c9797e2854967d": {"id": "2e546db229e25348e535ffaec5c9797e2854967d", "date": 1731393135.0, "description": "work on pan", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetReverb.kt"], ["A", "app/src/main/java/com/qfs/pagan/ControlWidgetPan.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "f39bf5f52329136fb6fda3cae73edd1df1d24182": {"id": "f39bf5f52329136fb6fda3cae73edd1df1d24182", "date": 1731347633.0, "description": "re-enable simple mode in playback", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "bf11f7cfe68e97481b6ebf8ec3bd8f214e9728a4": {"id": "bf11f7cfe68e97481b6ebf8ec3bd8f214e9728a4", "date": 1731346576.0, "description": "hide transition option in volume widget on initial event and hide toggle ctl visibility all but line controls", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"]], "author": "smith.quintin@protonmail.com"}, "f112b9efe7e2ec5255038b8cef94d03e32cd2279": {"id": "f112b9efe7e2ec5255038b8cef94d03e32cd2279", "date": 1731298432.0, "description": "removed LinksLayer and all linking functionality", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerOverlapControlUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerLinksUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerLinksUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerLinks.kt"], ["M", "app/src/main/res/values/attrs.xml"], ["D", "app/src/main/res/layout-land/contextmenu_linking_secondary.xml"], ["A", "app/src/main/res/layout/contextmenu_range_secondary.xml"], ["D", "app/src/main/res/layout/contextmenu_linking.xml"], ["A", "app/src/main/res/layout/contextmenu_range.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b_secondary.xml"], ["D", "app/src/main/res/layout/contextmenu_linking_secondary.xml"], ["A", "app/src/main/res/layout-land/contextmenu_range_secondary.xml"], ["A", "app/src/main/res/layout-land/contextmenu_range.xml"], ["D", "app/src/main/res/layout-land/contextmenu_linking.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusManagerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafText.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenuRange.kt"], ["D", "app/src/main/java/com/qfs/pagan/ContextMenuLink.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeafB.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorMap.kt"]], "author": "smith.quintin@protonmail.com"}, "51dbdedb226ff3a8d8d1fa35f96bc72a4e18dba7": {"id": "51dbdedb226ff3a8d8d1fa35f96bc72a4e18dba7", "date": 1731282915.0, "description": "Range selection functionality working with Controls as CtlLevel.Line", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlLine.kt"]], "author": "smith.quintin@protonmail.com"}, "9f3f57e5ff98945d8a6f470715ef5263a2fee440": {"id": "9f3f57e5ff98945d8a6f470715ef5263a2fee440", "date": 1731276173.0, "description": "OpusEvent.copy now returns subtype rather than OpusEvent", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlLine.kt"]], "author": "smith.quintin@protonmail.com"}, "7462a862ed307082b77fbe78291a28de66c213ed": {"id": "7462a862ed307082b77fbe78291a28de66c213ed", "date": 1731273276.0, "description": "working on range selection and copying controls when CtlLevel.Line", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/InstrumentEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "bffde349683f6a071020f8a6575e55819bb8a838": {"id": "bffde349683f6a071020f8a6575e55819bb8a838", "date": 1731267031.0, "description": "removed usage of CtlLeafSelected[Text]", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorMap.kt"]], "author": "smith.quintin@protonmail.com"}, "0c9fee3d902922cd8619ce78b592e7c20b68d3ed": {"id": "0c9fee3d902922cd8619ce78b592e7c20b68d3ed", "date": 1731239298.0, "description": "fixed insert_after_*_ctl functionality", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"]], "author": "smith.quintin@protonmail.com"}, "44dac492068af47809f103fcc330ec0cfa909180": {"id": "44dac492068af47809f103fcc330ec0cfa909180", "date": 1731201338.0, "description": "global ctl events have functional durations", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorMap.kt"]], "author": "smith.quintin@protonmail.com"}, "79376f573d4752a5be1a6eade3f31e276ae0862a": {"id": "79376f573d4752a5be1a6eade3f31e276ae0862a", "date": 1731191715.0, "description": "fixed removal of preceding event not checking for potential overlap", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "67fddb4231c83e99fc9a897dafc3bf7e6f41a192": {"id": "67fddb4231c83e99fc9a897dafc3bf7e6f41a192", "date": 1731184653.0, "description": "line/control line refactor complete. should probably come up with better names for Line classes and BlockedTree Exceptions", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"]], "author": "smith.quintin@protonmail.com"}, "9a3bd763fe2e4b79103f958f817ede599cfe275d": {"id": "9a3bd763fe2e4b79103f958f817ede599cfe275d", "date": 1731171024.0, "description": "update temporary_blocker logic to be a OpusManagerCursor", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"]], "author": "smith.quintin@protonmail.com"}, "0df81531175dbb7358134a4217e44c08cdc734ca": {"id": "0df81531175dbb7358134a4217e44c08cdc734ca", "date": 1731151081.0, "description": "catch BlockedTreeExceptions at multiple levels and throw similar errors with more context", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "50915f486906a1029424c08f919b44ad97ebee39": {"id": "50915f486906a1029424c08f919b44ad97ebee39", "date": 1731090783.0, "description": "temporarily commented out invalid tests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerLinks.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "02607d2f4a97f8b7bdeeba149bbd6b84cc045d86": {"id": "02607d2f4a97f8b7bdeeba149bbd6b84cc045d86", "date": 1731088888.0, "description": "urgent crashfix", "files": [["A", "fastlane/metadata/android/en-US/changelogs/80.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "be619583945aa0fb7625faf20cd55bfb767d0bb6": {"id": "be619583945aa0fb7625faf20cd55bfb767d0bb6", "date": 1731088823.0, "description": "bugfix: crash on new_channel", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "63351858b0fbd3a4e2a6f6c252e2cd5c5f35b91b": {"id": "63351858b0fbd3a4e2a6f6c252e2cd5c5f35b91b", "date": 1731027822.0, "description": "fixed reshape crashing and slow midi imports", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "230ea232270c1865f7f2d7b22c991eaa50abd741": {"id": "230ea232270c1865f7f2d7b22c991eaa50abd741", "date": 1731005551.0, "description": "fixed cursor not updating correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "269898b8bc3d0c7d9c7080282151ae5eb1aed5d6": {"id": "269898b8bc3d0c7d9c7080282151ae5eb1aed5d6", "date": 1731000388.0, "description": "working on bugfixes from refactor", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "1f664738f85d7d71cc967274ba9b660ae47403bb": {"id": "1f664738f85d7d71cc967274ba9b660ae47403bb", "date": 1730969410.0, "description": "back in buildable but buggy state", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "18b7de6bb8e4a53619072741f4b6e9cf1ded0c8a": {"id": "18b7de6bb8e4a53619072741f4b6e9cf1ded0c8a", "date": 1730961920.0, "description": "work on refactor", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "5b4422c8c3bb6855af1676ad912e9a0b995de334": {"id": "5b4422c8c3bb6855af1676ad912e9a0b995de334", "date": 1730880040.0, "description": "working on refactor", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "14fcd8d8f145010ff3cd9296776a50fb689e83ca": {"id": "14fcd8d8f145010ff3cd9296776a50fb689e83ca", "date": 1730878663.0, "description": "working on Line refactoring", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "e7d815810c9ff6338d0fbe84a65558d627a460b2": {"id": "e7d815810c9ff6338d0fbe84a65558d627a460b2", "date": 1730824976.0, "description": "work on overlap control for active controls", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "3f5973b386191985e5a8553fe9a3c32e0038217b": {"id": "3f5973b386191985e5a8553fe9a3c32e0038217b", "date": 1730787265.0, "description": "fixed crashes on contextmenu changes", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLink.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeafB.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"]], "author": "smith.quintin@protonmail.com"}, "cc39111797abea283078d40cdee4b20c2636fd6a": {"id": "cc39111797abea283078d40cdee4b20c2636fd6a", "date": 1730765340.0, "description": "work on control line typing", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "1b735b1cfff7deda4b79ecf8f905ca0666843691": {"id": "1b735b1cfff7deda4b79ecf8f905ca0666843691", "date": 1730758115.0, "description": "working on cleaning up control widgets", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "6e491ec2fb3835826f67af1cb283f01b1e86aed2": {"id": "6e491ec2fb3835826f67af1cb283f01b1e86aed2", "date": 1730717334.0, "description": "volume transitions functional", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "4595bb9de2ff697e5814c02b947d828df723e941": {"id": "4595bb9de2ff697e5814c02b947d828df723e941", "date": 1730676427.0, "description": "work on line control lines: added 'hide' button to ctl line menu, created popup toggle menu for multiple line controls (ie, volume, pitch, pan)", "files": [["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout/contextmenu_control_line.xml"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "ca054b9560f0fad50d9b51a7da9d404b68d94f92": {"id": "ca054b9560f0fad50d9b51a7da9d404b68d94f92", "date": 1730671693.0, "description": "allow get_latest_event() to invalid position as argument", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "6f237a3258cb41d7e66a29ff57b068de6eb8adb8": {"id": "6f237a3258cb41d7e66a29ff57b068de6eb8adb8", "date": 1730666932.0, "description": "active volume control *functional*", "files": [["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "9f7497add86e701d11f5cb03bb753c22904ad8ee": {"id": "9f7497add86e701d11f5cb03bb753c22904ad8ee", "date": 1730586256.0, "description": "setting up active volume control", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/InstrumentEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ButtonIcon.kt"]], "author": "smith.quintin@protonmail.com"}, "5fc76c6e5c4649ee056dddc75f6f08eb08c87a5f": {"id": "5fc76c6e5c4649ee056dddc75f6f08eb08c87a5f", "date": 1730500006.0, "description": "Added range selection, linking, copying and moving to keyboard controls", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "ebe9cfb8d27e47e152254b892898ee33f26b3c5a": {"id": "ebe9cfb8d27e47e152254b892898ee33f26b3c5a", "date": 1730396596.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/79.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "fe3430f602bffc9fa28e39d836d168f0bbd5131c": {"id": "fe3430f602bffc9fa28e39d836d168f0bbd5131c", "date": 1730395325.0, "description": "Removed debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "22a1237a0d173fd8156759fb633cf79271986e39": {"id": "22a1237a0d173fd8156759fb633cf79271986e39", "date": 1730394394.0, "description": "fix misapplication of sustain attenuation", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "a7118001de6cbe1f457eafce485b54c4a9bfd0a5": {"id": "a7118001de6cbe1f457eafce485b54c4a9bfd0a5", "date": 1730388196.0, "description": "removed vestigial overlap managment", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "4657af01ac29d4b16fe3c87de236fc8eea1eb4b4": {"id": "4657af01ac29d4b16fe3c87de236fc8eea1eb4b4", "date": 1730347175.0, "description": "removed sample limit on playback", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "5261104d8151b421ce13024614455bbc90464ac0": {"id": "5261104d8151b421ce13024614455bbc90464ac0", "date": 1730325706.0, "description": "work on espresso test", "files": [["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest3.kt"]], "author": "smith.quintin@protonmail.com"}, "65cd3ebfd4a1950bd910c9087870ea44088140e0": {"id": "65cd3ebfd4a1950bd910c9087870ea44088140e0", "date": 1730324427.0, "description": "mod README", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "64fa776beb39942484ccb5ced5fdb61fda777591": {"id": "64fa776beb39942484ccb5ced5fdb61fda777591", "date": 1730324405.0, "description": "mod README", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "1f856f8ae704f74c42581e8c81c9dae49562e741": {"id": "1f856f8ae704f74c42581e8c81c9dae49562e741", "date": 1730324037.0, "description": "got instrumentation/keyboard control working with espresso", "files": [["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest3.kt"]], "author": "smith.quintin@protonmail.com"}, "ac35ec5e2a55a23b0c2ddd8e03330bb78963a33a": {"id": "ac35ec5e2a55a23b0c2ddd8e03330bb78963a33a", "date": 1730282083.0, "description": "Update README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "d70b79d047752e1ed3f0b524962f151d9784703e": {"id": "d70b79d047752e1ed3f0b524962f151d9784703e", "date": 1730186293.0, "description": "bugfix when converting relative note to absolute with keyboard", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "0d6079937b9d3d8d45941309a89d18c0702b98cf": {"id": "0d6079937b9d3d8d45941309a89d18c0702b98cf", "date": 1730182873.0, "description": "set relative/absolute modes with keyboard input", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "be294691dd31e4592fc4c3dd287f00cf7e028909": {"id": "be294691dd31e4592fc4c3dd287f00cf7e028909", "date": 1730153452.0, "description": "fixed remove_beat() bug caused removing more beats than there are between the given beat and the end", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "6452e7d52c9f2dbadf4e82321bd854c6ff9c10f0": {"id": "6452e7d52c9f2dbadf4e82321bd854c6ff9c10f0", "date": 1730145205.0, "description": "work on bugfix for remove_beat()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "5adf7200f22c70e3a8690fc0a77d78fa7a06e04a": {"id": "5adf7200f22c70e3a8690fc0a77d78fa7a06e04a", "date": 1730052344.0, "description": "moved set_octave/offset logic into OpusManager at InterfaceLayer", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "bcb6f7b91b93c39b16dc67f57aa7b8178f5dc1bd": {"id": "bcb6f7b91b93c39b16dc67f57aa7b8178f5dc1bd", "date": 1730048073.0, "description": "keyboard work: changed when buffer is clear, cleaned up already implemented functions", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "62721ec1a8c755d442c8f1241f2d6a90478176ff": {"id": "62721ec1a8c755d442c8f1241f2d6a90478176ff", "date": 1730027187.0, "description": "moved keycode_escape to key_node_map", "files": [["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "7a9ae96640a908c2e050a8aa6dcea408e0d32cc8": {"id": "7a9ae96640a908c2e050a8aa6dcea408e0d32cc8", "date": 1730027004.0, "description": "fixed bad logic controlling cursor up/down in Single mode", "files": [["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "b94734fe6e9343a414290982a1a2064d43a64464": {"id": "b94734fe6e9343a414290982a1a2064d43a64464", "date": 1730025438.0, "description": "implemented unset_beat, unset_line, unset_*_ctl_line", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "a3373b2a2e6e2b1a89de85ec4b02467610add6e0": {"id": "a3373b2a2e6e2b1a89de85ec4b02467610add6e0", "date": 1730017401.0, "description": "work on keyboard input", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "3b95f956bce31b96aecf04feb493b86fcd28c0b3": {"id": "3b95f956bce31b96aecf04feb493b86fcd28c0b3", "date": 1729877844.0, "description": "removed redundant selecting_range property in Cursor", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "9be541cde90ebd04af517f4732746255181bddd1": {"id": "9be541cde90ebd04af517f4732746255181bddd1", "date": 1729827049.0, "description": "moved split keyboard shortcut from / to s", "files": [["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "965a1da1d35825a11ce45c391a5ebaa070ef25d7": {"id": "965a1da1d35825a11ce45c391a5ebaa070ef25d7", "date": 1729749983.0, "description": "changed KeyboardInputInterface structure", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "5e84e767047287f445cc696b9bd19c6ad41aea25": {"id": "5e84e767047287f445cc696b9bd19c6ad41aea25", "date": 1729721921.0, "description": "work on keyboard control", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "ce2fe611565e3dc84de008e53c4aea292567ee97": {"id": "ce2fe611565e3dc84de008e53c4aea292567ee97", "date": 1729668042.0, "description": "work on keyboard control", "files": [["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["D", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest2.kt"], ["D", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"]], "author": "smith.quintin@protonmail.com"}, "776d0b1024d1f676f666456dacbeeb52c70ca341": {"id": "776d0b1024d1f676f666456dacbeeb52c70ca341", "date": 1729637787.0, "description": "work on keyboard input", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "e2cbf7f21995b03979e7a2fa8f079b4b1d098d12": {"id": "e2cbf7f21995b03979e7a2fa8f079b4b1d098d12", "date": 1729532371.0, "description": "work on espresso testing", "files": [["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest3.kt"]], "author": "smith.quintin@protonmail.com"}, "2f2acc9288d77639767de9c544e14755052d1b45": {"id": "2f2acc9288d77639767de9c544e14755052d1b45", "date": 1729444310.0, "description": "work on espresso test", "files": [["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["M", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest3.kt"]], "author": "smith.quintin@protonmail.com"}, "5c542c6d0d43e6c2cd910e63b3187cdcc920dcfe": {"id": "5c542c6d0d43e6c2cd910e63b3187cdcc920dcfe", "date": 1729366037.0, "description": "figured out espresso tests. nth() matcher added", "files": [["A", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest3.kt"]], "author": "smith.quintin@protonmail.com"}, "53ef797161f4e94984e190c81b596e0e17a8c758": {"id": "53ef797161f4e94984e190c81b596e0e17a8c758", "date": 1729298547.0, "description": "Version Bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/78.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "ef0e2a343f564342199dc8190b53d25e0f3e6cf3": {"id": "ef0e2a343f564342199dc8190b53d25e0f3e6cf3", "date": 1729298448.0, "description": "fixed misaligned PitchedBuffer ranges", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "34d64961351e566fe805c1acd4131aa58d53bf6f": {"id": "34d64961351e566fe805c1acd4131aa58d53bf6f", "date": 1729114488.0, "description": "removed tanh reduction; center on 1", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "2b4d50c70bd519336c40fa6945e0a248ca3c0238": {"id": "2b4d50c70bd519336c40fa6945e0a248ca3c0238", "date": 1729110984.0, "description": "disabled max/avg value initialization in SampleData class. reduced exporter buffer size", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WavConverter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "7cf90dafd83ff37e2b8040c88ff23feefe644925": {"id": "7cf90dafd83ff37e2b8040c88ff23feefe644925", "date": 1729061888.0, "description": "work on audio mixing quality", "files": [["A", "fastlane/metadata/android/en-US/changelogs/77.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "a45f877fc284d40a8d3f85a169504ebcac7d8fe5": {"id": "a45f877fc284d40a8d3f85a169504ebcac7d8fe5", "date": 1729041435.0, "description": "fixed (i think) noisy notification on multiple exports", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "59b9e56dd870762a6401ed434e24fb1be404ce51": {"id": "59b9e56dd870762a6401ed434e24fb1be404ce51", "date": 1729041137.0, "description": "storing wav in tmp file as its exported", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WavConverter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "d2a0ba11b498c02ddf42e1b69d4371480c96ceca": {"id": "d2a0ba11b498c02ddf42e1b69d4371480c96ceca", "date": 1729011112.0, "description": "tweaks to mixing", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "985d865851c30182f227336e510f8e1feab24379": {"id": "985d865851c30182f227336e510f8e1feab24379", "date": 1728962932.0, "description": "fixed bad math in Generator.asIntSigned()", "files": [["M", "app/src/test/java/com/qfs/apres/SoundFontPlayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Generator.kt"]], "author": "smith.quintin@protonmail.com"}, "449e2bf5482e803fa4a568af4bef5078afb1f600": {"id": "449e2bf5482e803fa4a568af4bef5078afb1f600", "date": 1728926523.0, "description": "crashfix: remove() was causing crash sometimes", "files": [["A", "fastlane/metadata/android/en-US/changelogs/76.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "934b10ea66e0907a11da1ac9f9e99b395a04fb5c": {"id": "934b10ea66e0907a11da1ac9f9e99b395a04fb5c", "date": 1728859154.0, "description": ".", "files": [["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "7045f80afa1f67f1067b7fbaa612699c31909f30": {"id": "7045f80afa1f67f1067b7fbaa612699c31909f30", "date": 1728858542.0, "description": "fixed feedbackvolume", "files": [["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "e177127dd628d660066cb326600143a0a4b4b189": {"id": "e177127dd628d660066cb326600143a0a4b4b189", "date": 1728858219.0, "description": "improved automatic mixing", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "5dcc1dc436892e3c3c6504ae88b5adc2b536197f": {"id": "5dcc1dc436892e3c3c6504ae88b5adc2b536197f", "date": 1728194813.0, "description": "work on cursor history behaviour", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "663365ee1d4c44f906ea04942de4f465407e542d": {"id": "663365ee1d4c44f906ea04942de4f465407e542d", "date": 1728190177.0, "description": "working on improving cursor/undo stack behaviour", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"]], "author": "smith.quintin@protonmail.com"}, "250c234233e6527706406238e736b01909335483": {"id": "250c234233e6527706406238e736b01909335483", "date": 1728115901.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/75.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "7c1c96e33a62c3ade63937d444b16caad980c5bd": {"id": "7c1c96e33a62c3ade63937d444b16caad980c5bd", "date": 1728115825.0, "description": "fixed crash on import soundfont. fixed data_buffers not being copied correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "50f2a427424e3d6a575a91aa1f5e135c0a5010ba": {"id": "50f2a427424e3d6a575a91aa1f5e135c0a5010ba", "date": 1728106927.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/74.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "43c774af7c41522e05d6fcb6a717d0a021500ca1": {"id": "43c774af7c41522e05d6fcb6a717d0a021500ca1", "date": 1728106628.0, "description": "remove debug code", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "f9c73cab914bd30018764104f6325659b4c4185e": {"id": "f9c73cab914bd30018764104f6325659b4c4185e", "date": 1728106587.0, "description": "refresh feedback device on set_sample_rate", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "09787965caa219c785566c6d805b8d6f86460baf": {"id": "09787965caa219c785566c6d805b8d6f86460baf", "date": 1728102702.0, "description": "fixed out-of-tune short loops", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "3982fe5d7f4d5814669c61e69451930851e87a26": {"id": "3982fe5d7f4d5814669c61e69451930851e87a26", "date": 1728083530.0, "description": "enable loop escaping", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "bb670528fbe7382aca0751d076bfc21aae1f05cd": {"id": "bb670528fbe7382aca0751d076bfc21aae1f05cd", "date": 1728082917.0, "description": "multiple-PitchedBuffer model working", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "2c5cef36931848c5897f2c7cc2a2ee44cd0333b1": {"id": "2c5cef36931848c5897f2c7cc2a2ee44cd0333b1", "date": 1728076307.0, "description": "working on multiple-pitchedbuffer model", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "63b0aca462fa749d3028f7a7cb651024833bad80": {"id": "63b0aca462fa749d3028f7a7cb651024833bad80", "date": 1727967915.0, "description": "work on short sample frequencies", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "fa7265f430e7ba195269fd8e8db115dc62bf56dc": {"id": "fa7265f430e7ba195269fd8e8db115dc62bf56dc", "date": 1727918515.0, "description": "work on fixing wierd repitching of sine wave", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "98b5ae5e50d95c9c872367f9b006abfaf86fcbcb": {"id": "98b5ae5e50d95c9c872367f9b006abfaf86fcbcb", "date": 1727847473.0, "description": "spellcheck", "files": [["M", "fastlane/metadata/android/en-US/changelogs/73.txt"]], "author": "smith.quintin@protonmail.com"}, "222a822c71bbe37bdd293c2175ded0101868ff6d": {"id": "222a822c71bbe37bdd293c2175ded0101868ff6d", "date": 1727821672.0, "description": "fixed decache_overlapping_leaf() calls not being reapplied where needed correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "b39bc837209c36796ffc5e554d070e8dab101125": {"id": "b39bc837209c36796ffc5e554d070e8dab101125", "date": 1727801685.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/73.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "2cfee0fb4089e84300d33cd718e1ca5a11eecf0a": {"id": "2cfee0fb4089e84300d33cd718e1ca5a11eecf0a", "date": 1727800483.0, "description": "fixed overlap sticking to columns on insert_beat()", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "af53588606a0920aa779f0dd15dd170a077caf70": {"id": "af53588606a0920aa779f0dd15dd170a077caf70", "date": 1727798792.0, "description": "changed cursor behaviour when adding/undoing beats", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"]], "author": "smith.quintin@protonmail.com"}, "ddf75f7d8f5166379ee86ce1c8bbfe8aaa058a47": {"id": "ddf75f7d8f5166379ee86ce1c8bbfe8aaa058a47", "date": 1727741744.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/72.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "056d7b6bb39b1dfdf4394bdbcdf07374aee947b7": {"id": "056d7b6bb39b1dfdf4394bdbcdf07374aee947b7", "date": 1727741664.0, "description": "fixed column not resizing on remove_beat", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "bc3e2ee884efd81caa9be19beda4ca34549b6ca0": {"id": "bc3e2ee884efd81caa9be19beda4ca34549b6ca0", "date": 1727740268.0, "description": "fixed missing column width adjustment when undoing a remove_beat", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "e1cdef77e93517d06e747127e2d703201fa53a4e": {"id": "e1cdef77e93517d06e747127e2d703201fa53a4e", "date": 1727734762.0, "description": "fixed unset_event & empty functions setting incorrect size", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "7a6fb8aeed55bc03821dd86b6ad83a3c9773ab56": {"id": "7a6fb8aeed55bc03821dd86b6ad83a3c9773ab56", "date": 1727734332.0, "description": "fixed Comparison Error in OpusTree", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "69f71ec2daad1d33e1838c5143288d8118cc8a1c": {"id": "69f71ec2daad1d33e1838c5143288d8118cc8a1c", "date": 1727733775.0, "description": "fixed remove_beat losing controls to history", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "36bc86139fb4287cde37661b569ddc4d6533cc42": {"id": "36bc86139fb4287cde37661b569ddc4d6533cc42", "date": 1727731575.0, "description": "fixed some crashes and missing cell refreshes. in the middle of fixing controllers not being readded when undoing a remove_beat()", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "f894e29b81fcefb4ce606f362d92e11f3d7de32f": {"id": "f894e29b81fcefb4ce606f362d92e11f3d7de32f", "date": 1727675379.0, "description": "fixed 0's in column width map", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "647306dd29682297e6ca7fa89c6a237d08957641": {"id": "647306dd29682297e6ca7fa89c6a237d08957641", "date": 1727669594.0, "description": "Fixed some contextmenu leaf percussion behaviour and undo removing percussion event not reapplying duration", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "c952c3d108b9cc251d7e780bf5da19b2bd8c9e04": {"id": "c952c3d108b9cc251d7e780bf5da19b2bd8c9e04", "date": 1727455563.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Modulator.kt"]], "author": "smith.quintin@protonmail.com"}, "912dd3da8788d046288ca74f7aa40ae6ae6e8514": {"id": "912dd3da8788d046288ca74f7aa40ae6ae6e8514", "date": 1727368586.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "7309ab2a0af0112067cfe91dd6fb1d26cec99798": {"id": "7309ab2a0af0112067cfe91dd6fb1d26cec99798", "date": 1727367160.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ButtonStd.kt"]], "author": "smith.quintin@protonmail.com"}, "c2274b8237f361df295e5521ca3e837d712d14cb": {"id": "c2274b8237f361df295e5521ca3e837d712d14cb", "date": 1727365999.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "9cf60eff4c3e8ee5e0f956f3ad4b2acfb8a8b76e": {"id": "9cf60eff4c3e8ee5e0f956f3ad4b2acfb8a8b76e", "date": 1727365685.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Modulator.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "4c5eeaa2e4ddbd4451c221e1ac3fbc41d03783fd": {"id": "4c5eeaa2e4ddbd4451c221e1ac3fbc41d03783fd", "date": 1727329346.0, "description": "work on modulators", "files": [["M", "app/src/test/java/com/qfs/apres/SoundFontPlayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SampleDirective.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Modulator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/InstrumentDirective.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Generator.kt"]], "author": "smith.quintin@protonmail.com"}, "3e2879c1c5053ef3f2371f0d532e96141deedf7b": {"id": "3e2879c1c5053ef3f2371f0d532e96141deedf7b", "date": 1727305862.0, "description": "work on modulators", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SampleDirective.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Modulator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/InstrumentDirective.kt"]], "author": "smith.quintin@protonmail.com"}, "d222008855cd86f3bc2ec358d053aeae3361a448": {"id": "d222008855cd86f3bc2ec358d053aeae3361a448", "date": 1727288067.0, "description": "created Generator.Operation enums", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Generator.kt"]], "author": "smith.quintin@protonmail.com"}, "39bf0aa5539793d596770de2cf57950f363a3aa8": {"id": "39bf0aa5539793d596770de2cf57950f363a3aa8", "date": 1727199746.0, "description": "added default modulators to Modulator companion object", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/SampleDirective.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Modulator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/InstrumentDirective.kt"]], "author": "smith.quintin@protonmail.com"}, "73612e1ca8e0f0486bcaedb3fd80e2e26eb14982": {"id": "73612e1ca8e0f0486bcaedb3fd80e2e26eb14982", "date": 1727115483.0, "description": "work on moduulators", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Modulator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/InstrumentDirective.kt"]], "author": "smith.quintin@protonmail.com"}, "ccda71a7e17ec5f3c9e02976fe27cd88671a00cc": {"id": "ccda71a7e17ec5f3c9e02976fe27cd88671a00cc", "date": 1727038862.0, "description": "fixing modulators", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SampleDirective.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Preset.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Modulator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/InstrumentDirective.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Instrument.kt"]], "author": "smith.quintin@protonmail.com"}, "d14ef934581c78104288f69d3444d965d0ae1dc7": {"id": "d14ef934581c78104288f69d3444d965d0ae1dc7", "date": 1726961528.0, "description": "commented out merge tests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerLinks.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"]], "author": "smith.quintin@protonmail.com"}, "25f9e2916e03676d78dd3fb327c3ef185cc9ff43": {"id": "25f9e2916e03676d78dd3fb327c3ef185cc9ff43", "date": 1726960971.0, "description": "hide merge functionality", "files": [["M", "app/src/main/res/layout/contextmenu_linking_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking_secondary.xml"]], "author": "smith.quintin@protonmail.com"}, "a1fba87ad053898b1f5868dfe378af37a10a8ccc": {"id": "a1fba87ad053898b1f5868dfe378af37a10a8ccc", "date": 1726960632.0, "description": "bugfix: swap_lines() buggy", "files": [["A", "fastlane/metadata/android/en-US/changelogs/71.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "7f675338a9ddf6fd67965ae883bcdbae48c4ad92": {"id": "7f675338a9ddf6fd67965ae883bcdbae48c4ad92", "date": 1726954538.0, "description": "missing '='", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "9f851085f67def67db78ebd995e18a3edfe60669": {"id": "9f851085f67def67db78ebd995e18a3edfe60669", "date": 1726950622.0, "description": "work on merging cells", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "92043176242e83572f3a56a6d6583362cefe187f": {"id": "92043176242e83572f3a56a6d6583362cefe187f", "date": 1726848767.0, "description": "moved get_leaf_offset_and_width() to Base layer", "files": [["M", "app/src/main/res/layout/contextmenu_linking_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking_secondary.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLink.kt"]], "author": "smith.quintin@protonmail.com"}, "6da64dc56d2020ebc1567bab7e632dcd32ede493": {"id": "6da64dc56d2020ebc1567bab7e632dcd32ede493", "date": 1726846657.0, "description": "created bend event and ControlTransition enum", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"]], "author": "smith.quintin@protonmail.com"}, "b614bb68ea0c035a247bf6c131413506f0815b69": {"id": "b614bb68ea0c035a247bf6c131413506f0815b69", "date": 1726702984.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/70.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "a5fb5e4791854fdc253e698c42293ad7e64e4065": {"id": "a5fb5e4791854fdc253e698c42293ad7e64e4065", "date": 1726702415.0, "description": "recache overlaps on unset() where applicable", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "f74e19c44eb6b2f7119751e7ed7d8204a4b0c23f": {"id": "f74e19c44eb6b2f7119751e7ed7d8204a4b0c23f", "date": 1726697420.0, "description": "bugfix: improper handling of overlaps in move_beat_range", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "5d7ca2ac4dd276fa00dd0e554b9f261e6c995e9a": {"id": "5d7ca2ac4dd276fa00dd0e554b9f261e6c995e9a", "date": 1726695524.0, "description": "urgent fix: move_beat_range catches blocked actions correctly, replace_tree overlap check checks amount of overlap, decache() now decaches the cache_inv entry before any other logic", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "44c696dbe1633c071e57937788c2a015d3fe7105": {"id": "44c696dbe1633c071e57937788c2a015d3fe7105", "date": 1726590044.0, "description": "on_link and on_unlink now queue cell changes", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "94679d6eb550ee8ef9921d26f69827c54696fe62": {"id": "94679d6eb550ee8ef9921d26f69827c54696fe62", "date": 1726537026.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/69.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "d2064cc8cf9f2792185556993ee2b8df9b72276d": {"id": "d2064cc8cf9f2792185556993ee2b8df9b72276d", "date": 1726536977.0, "description": "urgent fix: crash on remove()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "de2d2a96a9b3948600002fbbea12beac3f4ec4ff": {"id": "de2d2a96a9b3948600002fbbea12beac3f4ec4ff", "date": 1726520533.0, "description": "lint; differentiating between 'line' and 'row'", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerLinks.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "8c2db8046d2ae162be6d5b92d70e89facfb9cd8b": {"id": "8c2db8046d2ae162be6d5b92d70e89facfb9cd8b", "date": 1726453305.0, "description": "check permission before notifying exports", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "46d69bd1c24d4f12ba5d21f2dcf3f9faec4d7224": {"id": "46d69bd1c24d4f12ba5d21f2dcf3f9faec4d7224", "date": 1726452360.0, "description": "readded mockk dep", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "a2bdf4b9595f5d0e29c77b2b39cc64af2c982ff0": {"id": "a2bdf4b9595f5d0e29c77b2b39cc64af2c982ff0", "date": 1726451062.0, "description": "added vibration on attempting blocked action", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "bf22eaa28ad7ad33494c0e8b5e992bcdbcfdd346": {"id": "bf22eaa28ad7ad33494c0e8b5e992bcdbcfdd346", "date": 1726450193.0, "description": "replaced json lib for PaganConfiguration", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "74ec7c26dd2e54fa375deeff0db305d10414a4d9": {"id": "74ec7c26dd2e54fa375deeff0db305d10414a4d9", "date": 1726378353.0, "description": "remove unused dependencies", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "202740825a247e9d84ead71dc5ed19a9c7f33d00": {"id": "202740825a247e9d84ead71dc5ed19a9c7f33d00", "date": 1726375220.0, "description": "changed mime types when importing midi and opening exported wav", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "6e333cad8ec02f4b583883a71f8a3670415af340": {"id": "6e333cad8ec02f4b583883a71f8a3670415af340", "date": 1726282664.0, "description": "log error in Global Exception Handler", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "086cca75524c9059c62d0f6ead6abcd86e59f857": {"id": "086cca75524c9059c62d0f6ead6abcd86e59f857", "date": 1726264997.0, "description": "reduced crackling on feedback", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "8fa54933d03801239db78fc4130255db8445372c": {"id": "8fa54933d03801239db78fc4130255db8445372c", "date": 1726263495.0, "description": "noticed and fixed redundancy in notifying row changes", "files": [["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "f6ca23f46d7a0a8c18bc0793d9a5936bde0e8026": {"id": "f6ca23f46d7a0a8c18bc0793d9a5936bde0e8026", "date": 1726262757.0, "description": "open exported wave on click notification", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "145ac173f642f63ca255e7d57f6b8d28480be787": {"id": "145ac173f642f63ca255e7d57f6b8d28480be787", "date": 1726192759.0, "description": "Feedback device sample limit and simple mode removed", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "ff5e65f9d859f0fec7d2669b065ccd5c83460ace": {"id": "ff5e65f9d859f0fec7d2669b065ccd5c83460ace", "date": 1726190480.0, "description": "fixed balance when wave generator in mono mode", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "f146ced149fb605944a3136bd7ef6f6c887a1cf2": {"id": "f146ced149fb605944a3136bd7ef6f6c887a1cf2", "date": 1726180573.0, "description": "fixed crash on undo set_percussion_instrument", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "89e44e2b3b50c918fa2fa5521d860eace1106095": {"id": "89e44e2b3b50c918fa2fa5521d860eace1106095", "date": 1726177355.0, "description": "removed accidentally created file", "files": [["D", "fastlane/metadata/android/en-US/changelogs/1168.txt"]], "author": "smith.quintin@protonmail.com"}, "84a9480b1556add9e6fe60d79c71940253916b97": {"id": "84a9480b1556add9e6fe60d79c71940253916b97", "date": 1726177321.0, "description": "version bump and change log", "files": [["A", "fastlane/metadata/android/en-US/changelogs/68.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/1168.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "defd4be468221f5bf781c86fca8b9340e83b3598": {"id": "defd4be468221f5bf781c86fca8b9340e83b3598", "date": 1726138874.0, "description": "Overlap unit tests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerOverlapControlUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "fbb75d263b9915304276b980a6d7e0cc629b3516": {"id": "fbb75d263b9915304276b980a6d7e0cc629b3516", "date": 1726108719.0, "description": ".", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"]], "author": "smith.quintin@protonmail.com"}, "869a650d22a9d94d7a071c67aa0c3dd625c99ec2": {"id": "869a650d22a9d94d7a071c67aa0c3dd625c99ec2", "date": 1726108505.0, "description": "reduced default playback sample rate again", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"]], "author": "smith.quintin@protonmail.com"}, "7e4b354845d37df75ef77a36407ea671ec70d273": {"id": "7e4b354845d37df75ef77a36407ea671ec70d273", "date": 1726108159.0, "description": "ignore lfo/envelopes and limit samples-per-note for playback, but not export", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "d50f062c9df951b18136b98557285a1deda5dfe7": {"id": "d50f062c9df951b18136b98557285a1deda5dfe7", "date": 1726097671.0, "description": "fix null reference from previous commit", "files": [["M", "app/src/main/java/com/qfs/pagan/ColorMap.kt"]], "author": "smith.quintin@protonmail.com"}, "9efcce92deeeca4065a18036bf073a3fbccb2d47": {"id": "9efcce92deeeca4065a18036bf073a3fbccb2d47", "date": 1726070883.0, "description": "Moved implicit color calculation to Palette", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorMap.kt"]], "author": "smith.quintin@protonmail.com"}, "9e4cb418c6c0d4ca46ebbfdedacaff80aa66ec82": {"id": "9e4cb418c6c0d4ca46ebbfdedacaff80aa66ec82", "date": 1726030053.0, "description": "export wav notification 'Exporting null' -> 'Exporting Untitled Project'", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "48e493b5223357dd49205dfffd6c33831beec957": {"id": "48e493b5223357dd49205dfffd6c33831beec957", "date": 1726029539.0, "description": "fixed misunderstood application of 'delay' in volume envelope", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "f0e46b11ad8bc662d42d80f74f8c246686ea9777": {"id": "f0e46b11ad8bc662d42d80f74f8c246686ea9777", "date": 1725846264.0, "description": "typo fix", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "7b82ba94e398dc682138314d5db5699efebdd6df": {"id": "7b82ba94e398dc682138314d5db5699efebdd6df", "date": 1725845130.0, "description": "save to backup in Global Exception Handler", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "9d5560cc344c808ff7d411791d537654c2b5543d": {"id": "9d5560cc344c808ff7d411791d537654c2b5543d", "date": 1725844368.0, "description": "fixed: possible to save unloaded project to bkp & links not loading", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "0f3b2023d1f98b1f4a0e6e9db3890ec6558ba449": {"id": "0f3b2023d1f98b1f4a0e6e9db3890ec6558ba449", "date": 1725841276.0, "description": "'Load most recent'option added to landing", "files": [["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/IntentFragmentToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentLandingPage.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "23105dd92dca243720a9751158f830ae7824799b": {"id": "23105dd92dca243720a9751158f830ae7824799b", "date": 1725765422.0, "description": "placeholder code for global exception handler", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "6823b1ba47f6b9f964a49406986f008ce11fa1da": {"id": "6823b1ba47f6b9f964a49406986f008ce11fa1da", "date": 1725764083.0, "description": "fixed inability to move long events into their own tails", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "d8601ba75a780eec77cbf96f64b51cf7ddad3217": {"id": "d8601ba75a780eec77cbf96f64b51cf7ddad3217", "date": 1725763427.0, "description": "modifed remove_beat to use a count argument", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"]], "author": "smith.quintin@protonmail.com"}, "f8817095a5eba9daeb64b797747819d7a5121c17": {"id": "f8817095a5eba9daeb64b797747819d7a5121c17", "date": 1725749223.0, "description": "when an action is blocked, select the blocking leaf, and make it apear invalid until the cursor is moved", "files": [["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"]], "author": "smith.quintin@protonmail.com"}, "731c79eccfacbe43b2ed5258551bfecd59b44821": {"id": "731c79eccfacbe43b2ed5258551bfecd59b44821", "date": 1725692787.0, "description": "fixed overzealous check on for blocking in replace_tree()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "31647dce96e6ce5ff5eaecdd8fa6736ba4a882fa": {"id": "31647dce96e6ce5ff5eaecdd8fa6736ba4a882fa", "date": 1725691952.0, "description": "fixed link_beats not getting blocked correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "f9a75c40ec5d9e45b2c59038f7a627d273b3b84f": {"id": "f9a75c40ec5d9e45b2c59038f7a627d273b3b84f", "date": 1725691788.0, "description": "fixed move_leaf not getting blocked correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "de8ae6c88bf1fcd1f3f09d97b1f2e3865a7e4ace": {"id": "de8ae6c88bf1fcd1f3f09d97b1f2e3865a7e4ace", "date": 1725682076.0, "description": "made new ui bill cancellable on recoverable errors", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "7e03433c8f9d0edd5cf209c5683c710d9d9b3b09": {"id": "7e03433c8f9d0edd5cf209c5683c710d9d9b3b09", "date": 1725665338.0, "description": "working On ui bill", "files": [["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"]], "author": "smith.quintin@protonmail.com"}, "9cc151db73bb6793c95eb0e145c1fc99e68dfcbb": {"id": "9cc151db73bb6793c95eb0e145c1fc99e68dfcbb", "date": 1725659152.0, "description": "moving ui lock to bill", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "192d2f4a537569c176625b1675a0a0653f77dc6a": {"id": "192d2f4a537569c176625b1675a0a0653f77dc6a", "date": 1725639760.0, "description": "fixed remove_beat update behaviour", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"]], "author": "smith.quintin@protonmail.com"}, "2a89c0fcb4acbfc33fb0c13afca49f610f435ba2": {"id": "2a89c0fcb4acbfc33fb0c13afca49f610f435ba2", "date": 1725597632.0, "description": "work on reshape_lines_from_blocked_trees(). moved range selection to secondary selection", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveController.kt"]], "author": "smith.quintin@protonmail.com"}, "2f3ff9a3e2edcb7b4d49ef0bfbeeb7d89d8f6263": {"id": "2f3ff9a3e2edcb7b4d49ef0bfbeeb7d89d8f6263", "date": 1725579422.0, "description": "basic overlap line splitter functionality", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "0203e756e78ddac61ce0472e279cb01a9568cef0": {"id": "0203e756e78ddac61ce0472e279cb01a9568cef0", "date": 1725577346.0, "description": "work on splitting up lines based on overlapping events", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "bbdc24a10f0b9cbe3d32013987064a40421d50b9": {"id": "bbdc24a10f0b9cbe3d32013987064a40421d50b9", "date": 1725556343.0, "description": "*Use* the state_only updates for column/row selects", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "c1a65978e3e3f39ad0ff023e2e32cea18c14e151": {"id": "c1a65978e3e3f39ad0ff023e2e32cea18c14e151", "date": 1725519536.0, "description": "re-introduced state-only updates in new ui logic", "files": [["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "c1ebf745a45143f345dc13d52d3b802459b9bfc8": {"id": "c1ebf745a45143f345dc13d52d3b802459b9bfc8", "date": 1725501636.0, "description": "update tests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerLinksUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerLinksUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "b4a0c617a070c2549c576d78d1a13c649a6ab371": {"id": "b4a0c617a070c2549c576d78d1a13c649a6ab371", "date": 1725498765.0, "description": "fixed brain-fart-logic when importing midi", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "062cfbc615140ea1ad6ce37d4e9d107c4f7b21f4": {"id": "062cfbc615140ea1ad6ce37d4e9d107c4f7b21f4", "date": 1725498022.0, "description": "fixed crash on change project when selecting control", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "c471a1824df4f0c933c466110da83e962678e237": {"id": "c471a1824df4f0c933c466110da83e962678e237", "date": 1725486204.0, "description": "reorganized loading/importing/new for massive speed up", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "23566b713d7c27ce5134434daae3d879578d7331": {"id": "23566b713d7c27ce5134434daae3d879578d7331", "date": 1725410993.0, "description": "fixed crash on enter/exit settings menu", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "655f55f29c1ef4adcff55e5ad602828aedb0777a": {"id": "655f55f29c1ef4adcff55e5ad602828aedb0777a", "date": 1725404887.0, "description": "recache entire root beat tree instead of spot-recaching in recache_blocked_tree_wrapper. queue_cell_changes AFTER remove(). removed unecessary max width recalcs", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "10a4b78ded9a95fa9d315febcd52ebf1f949c551": {"id": "10a4b78ded9a95fa9d315febcd52ebf1f949c551", "date": 1725402204.0, "description": "fixed crash on import *some* midis", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "e1bd1dd6788348d7da4c844a5ac6f5eb60962077": {"id": "e1bd1dd6788348d7da4c844a5ac6f5eb60962077", "date": 1725388154.0, "description": "fixed crash/incorrect ui updating on remove_beat", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "6530752387f62c91e733641a3285a459f2c6f3bb": {"id": "6530752387f62c91e733641a3285a459f2c6f3bb", "date": 1725342378.0, "description": "handle error caused by on_overlap call in insert_beat", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "1f850351454dd2403bffd8b4b9b91ee5ad45e5f4": {"id": "1f850351454dd2403bffd8b4b9b91ee5ad45e5f4", "date": 1725258499.0, "description": "note", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "e0a756a1f1e902fca888815f76912e91b0f8fdcf": {"id": "e0a756a1f1e902fca888815f76912e91b0f8fdcf", "date": 1725258378.0, "description": "catch errors when ui lock is engaged", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "8c40f8ff1aa62748a2d829b641fd6a2b9ec2602b": {"id": "8c40f8ff1aa62748a2d829b641fd6a2b9ec2602b", "date": 1725249305.0, "description": "uncommented on_overlap and on_overlap_removed in OpusLayerInterface", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "803014d9b2a566587c1e3114cdf8e56d76d1de09": {"id": "803014d9b2a566587c1e3114cdf8e56d76d1de09", "date": 1725247243.0, "description": "fixed bad kludge", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "e078b83cd36c51546be0898535271f9055128814": {"id": "e078b83cd36c51546be0898535271f9055128814", "date": 1725168229.0, "description": "fixed 'insert_after' not updating overlaps correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "029e7232225718d4b1e9ca193072d3df610f6e40": {"id": "029e7232225718d4b1e9ca193072d3df610f6e40", "date": 1725034623.0, "description": "added check if blocked for replace_tree", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/Rational.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "7f740dcdce13c7489918a6d3e2c2235cee190670": {"id": "7f740dcdce13c7489918a6d3e2c2235cee190670", "date": 1725028982.0, "description": "fixed midi import not reducing correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "e47e1dbd854e171b080c60d14d9bb13cf2a07c42": {"id": "e47e1dbd854e171b080c60d14d9bb13cf2a07c42", "date": 1724944449.0, "description": "working on bug in import_midi", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "f125035b96d38f48ad8484b2ccba3aaa244f25eb": {"id": "f125035b96d38f48ad8484b2ccba3aaa244f25eb", "date": 1724908464.0, "description": "note", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "1223f9ba2204823125777ba3b08ab6aee2ef15cc": {"id": "1223f9ba2204823125777ba3b08ab6aee2ef15cc", "date": 1724908385.0, "description": "check if overlaps block remove_beat calls", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "bf84698e38e415779ea4c3458be78498d2ca1eb5": {"id": "bf84698e38e415779ea4c3458be78498d2ca1eb5", "date": 1724861110.0, "description": "fixed column select getting overwritten on remove_column()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "b226dd3822221b298f0b45f6ee9d62e8f412cca6": {"id": "b226dd3822221b298f0b45f6ee9d62e8f412cca6", "date": 1724857731.0, "description": "fixed column labels not updating", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "4bea72579886d0ce7b8fd7ca413283e9a22dcc0c": {"id": "4bea72579886d0ce7b8fd7ca413283e9a22dcc0c", "date": 1724825290.0, "description": "ui change bill optimization", "files": [["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "190099f83ba1469672501860a6b89d6a0c78f2ef": {"id": "190099f83ba1469672501860a6b89d6a0c78f2ef", "date": 1724794342.0, "description": "Fixed the crash on remove", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "8c0a5c894d3831ea5e24884b2879b0fb7fa4c1c9": {"id": "8c0a5c894d3831ea5e24884b2879b0fb7fa4c1c9", "date": 1724684630.0, "description": "debugging ui logic", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "00b303e27965e75bec183bbd202941c05a0869f5": {"id": "00b303e27965e75bec183bbd202941c05a0869f5", "date": 1724517193.0, "description": "new ui lock logic is building. still needs some tweaks", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"]], "author": "smith.quintin@protonmail.com"}, "1237fbfa7342bb8255ac9b8a8ad400db29a9048b": {"id": "1237fbfa7342bb8255ac9b8a8ad400db29a9048b", "date": 1724479120.0, "description": "implemented ui bill functionality", "files": [["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "3f744ba25fc399e2f99bff123460013263a0fbb4": {"id": "3f744ba25fc399e2f99bff123460013263a0fbb4", "date": 1724429204.0, "description": "moved column_width_map back into editor and created access methods. it's needed for scrolling", "files": [["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "32451975ef2d2d8cb6ae18c9a7f6d440928954c0": {"id": "32451975ef2d2d8cb6ae18c9a7f6d440928954c0", "date": 1724392200.0, "description": "work on ui lock logic", "files": [["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "985d95cf955cd10b6e1ef48ae6d6ff6b716fbc2f": {"id": "985d95cf955cd10b6e1ef48ae6d6ff6b716fbc2f", "date": 1724346222.0, "description": "more work on new ui logic", "files": [["M", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "f2ea99d6e1b05a3a37cdf218ffbfb0b46ef2c5e9": {"id": "f2ea99d6e1b05a3a37cdf218ffbfb0b46ef2c5e9", "date": 1724305378.0, "description": "work on ui lock logic. added on_[un]link callbacks", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["A", "app/src/main/java/com/qfs/pagan/UIChangeBill.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "93db2ffa65a7f04203a94406cabb9bb639cbda97": {"id": "93db2ffa65a7f04203a94406cabb9bb639cbda97", "date": 1724297947.0, "description": "work on new ui logic", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "3507b20dd02bc78fb574068054329712577c6317": {"id": "3507b20dd02bc78fb574068054329712577c6317", "date": 1724260437.0, "description": "work on new ui lock logic", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "fba71912fd69acde2e3ce7f15aac02ed5aea0ab2": {"id": "fba71912fd69acde2e3ce7f15aac02ed5aea0ab2", "date": 1724202904.0, "description": "working on ui lock logic (start from new_channel on OpusLayerInterface)", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "0a061cfb8914daa059df75c6b579a221598132df": {"id": "0a061cfb8914daa059df75c6b579a221598132df", "date": 1724188818.0, "description": "working on new ui locking method", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "ca82a5d73d1dd24965330c0fc47f452eb1c12092": {"id": "ca82a5d73d1dd24965330c0fc47f452eb1c12092", "date": 1724179922.0, "description": "started UiChangeBill", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "e5bb404107374793739ec20618257f3952dbc96f": {"id": "e5bb404107374793739ec20618257f3952dbc96f", "date": 1724127317.0, "description": "moved update_cursor logic to OpusLayerInterface", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "c2c72186f77174036730ab7f2da4a2743b199eaa": {"id": "c2c72186f77174036730ab7f2da4a2743b199eaa", "date": 1724107289.0, "description": "built get_proceding_event_position()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "5b1619837ebc450564ad3872a4f8bb3c3a92ff8e": {"id": "5b1619837ebc450564ad3872a4f8bb3c3a92ff8e", "date": 1724032536.0, "description": "improved blocked checks", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "7d809e1706256f918fbd24b3c3d8ce2082b0353f": {"id": "7d809e1706256f918fbd24b3c3d8ce2082b0353f", "date": 1724020891.0, "description": "block check for remove", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "a841efd675a9e9f7454ee7d25535da5fe75bda1a": {"id": "a841efd675a9e9f7454ee7d25535da5fe75bda1a", "date": 1724009808.0, "description": "moved overlap check on remove to the remove_* functions", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "3f266aeda78522ca5435af589182cc0d63603c8e": {"id": "3f266aeda78522ca5435af589182cc0d63603c8e", "date": 1723910590.0, "description": "working on fixing concurrentModificationError when modifying linked cells", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "328a5e8a3570a1b1d0b2d560f7f4be588605d8ef": {"id": "328a5e8a3570a1b1d0b2d560f7f4be588605d8ef", "date": 1723909593.0, "description": "traverse tree when calling update_blocked_tree_cache and decache_overlapping_leaf()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "c8a74f5d2c6f7f49a701d6a76820e21a08a3c725": {"id": "c8a74f5d2c6f7f49a701d6a76820e21a08a3c725", "date": 1723878111.0, "description": "fixed insert/remove beat at overlap level", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "69afb498e71d729763645f3cba98ae84db28b122": {"id": "69afb498e71d729763645f3cba98ae84db28b122", "date": 1723847238.0, "description": "previous commit description was a lie. still working on it", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "06075b60c97bdfd03195d81c98e20909b3f548f6": {"id": "06075b60c97bdfd03195d81c98e20909b3f548f6", "date": 1723846114.0, "description": "properly updating blocked-tree cache on insert/remove beat", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "52f67477dba3c7d7018e8b7b5936f09794d15598": {"id": "52f67477dba3c7d7018e8b7b5936f09794d15598", "date": 1723842370.0, "description": "Removed debug lines", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/Rational.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "47bce159f9b04967b2b01d9bb916ba82cbc939a7": {"id": "47bce159f9b04967b2b01d9bb916ba82cbc939a7", "date": 1723841329.0, "description": "fixed missed check in OpenManagerCursor's equals()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "fb8f3d42c8b8049065c5e2b68e1ebed9c841ec00": {"id": "fb8f3d42c8b8049065c5e2b68e1ebed9c841ec00", "date": 1723789441.0, "description": "work on secondary focus coloring", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"]], "author": "smith.quintin@protonmail.com"}, "125f64af8348a38e8ae201f85570090d9295546c": {"id": "125f64af8348a38e8ae201f85570090d9295546c", "date": 1723767421.0, "description": "fixed secondary selection check for column", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "ea42053d55a8441f8d8a4ad2d35b375d31b5daa6": {"id": "ea42053d55a8441f8d8a4ad2d35b375d31b5daa6", "date": 1723766585.0, "description": "rejigged leaf states", "files": [["M", "leaf_state_map"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "e52fd354deaf1c79fa982255f30128615072c324": {"id": "e52fd354deaf1c79fa982255f30128615072c324", "date": 1723744282.0, "description": "some notes", "files": [["A", "leaf_state_map"]], "author": "smith.quintin@protonmail.com"}, "dd368419bc7ac05b4e38370127eae4639e317160": {"id": "dd368419bc7ac05b4e38370127eae4639e317160", "date": 1723700881.0, "description": "added secondary_selection state", "files": [["M", "app/src/main/res/values/attrs.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "a336134030fc9f57679e931676b049f768e0e5f1": {"id": "a336134030fc9f57679e931676b049f768e0e5f1", "date": 1723652868.0, "description": "modify events' notes and duration while focused on events' tails", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "9c7a3029dd3c938f0b66b7d5aeba247295381bd7": {"id": "9c7a3029dd3c938f0b66b7d5aeba247295381bd7", "date": 1723587618.0, "description": "hilight spilled leafs with active color", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "af97280cd7807cf3d1ac6495e2a7e94e99eb32a6": {"id": "af97280cd7807cf3d1ac6495e2a7e94e99eb32a6", "date": 1723587303.0, "description": "fixed overlap checkin on import_midi()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/Rational.kt"]], "author": "smith.quintin@protonmail.com"}, "f2160a744c312c03f393e096f82253d0b09aca4d": {"id": "f2160a744c312c03f393e096f82253d0b09aca4d", "date": 1723484351.0, "description": "calculate overflowing overlaps", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "a0517efbb8fd1057bcc311198b21d2d385fab8b1": {"id": "a0517efbb8fd1057bcc311198b21d2d385fab8b1", "date": 1723483378.0, "description": "added denominator check to unit test", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerOverlapControlUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "5ed13574d8f106579962dc8db07b04638bc40de7": {"id": "5ed13574d8f106579962dc8db07b04638bc40de7", "date": 1723482961.0, "description": "added overlap layer unit test. fixed over-thought get_leaf_offset_and_width()", "files": [["A", "app/src/test/java/com/qfs/pagan/OpusLayerOverlapControlUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/Rational.kt"]], "author": "smith.quintin@protonmail.com"}, "5494c8797342bc08d037b09ba33c1e88b8fbcd71": {"id": "5494c8797342bc08d037b09ba33c1e88b8fbcd71", "date": 1723416191.0, "description": "force notify_cell_change on set_duration", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "ff290fe6f394b3c657e14fafceb1979ee062b694": {"id": "ff290fe6f394b3c657e14fafceb1979ee062b694", "date": 1723415453.0, "description": "created 'spill' state to indicate overflow/overlap", "files": [["M", "app/src/main/res/values/attrs.xml"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "fdeaf50824063c562660dc9a6a3194b90f2cac1f": {"id": "fdeaf50824063c562660dc9a6a3194b90f2cac1f", "date": 1723314974.0, "description": "work on overlapping", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "9bcfff31fe38ac68192b7768da2e4d6c008b9d54": {"id": "9bcfff31fe38ac68192b7768da2e4d6c008b9d54", "date": 1723239541.0, "description": "work on overlap control", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "067bee75e530cf292d364709cf0164f3637aec95": {"id": "067bee75e530cf292d364709cf0164f3637aec95", "date": 1723225100.0, "description": "fixed duration dialog default value behaviour", "files": [["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "32e8b7619bde4e7654bb726a94a5a8470b380bbe": {"id": "32e8b7619bde4e7654bb726a94a5a8470b380bbe", "date": 1723180970.0, "description": "fixed crash when removing non-0 leaf of blocked series of leafs", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "a5287e906da686c4cab773c4af8f7ab4a0300db9": {"id": "a5287e906da686c4cab773c4af8f7ab4a0300db9", "date": 1723179948.0, "description": "fixed bug in width/offset calculation", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "1311a583ac20462999762ed2691ec0195a0e1aae": {"id": "1311a583ac20462999762ed2691ec0195a0e1aae", "date": 1723139811.0, "description": "added Rational Number Class in order to improve blocked-leaf checking", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["A", "app/src/main/java/com/qfs/pagan/Rational.kt"]], "author": "smith.quintin@protonmail.com"}, "86e53cbba49ec51c5d1fae3a0ae92db332a5728f": {"id": "86e53cbba49ec51c5d1fae3a0ae92db332a5728f", "date": 1723071284.0, "description": "work on overlaps", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"]], "author": "smith.quintin@protonmail.com"}, "25dbb5b5a3c014850264857e24309a2e4c03fa96": {"id": "25dbb5b5a3c014850264857e24309a2e4c03fa96", "date": 1723005334.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/67.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "5cb7e5594a486a1b7c2fd77d627e18fa122836b7": {"id": "5cb7e5594a486a1b7c2fd77d627e18fa122836b7", "date": 1723005037.0, "description": "bugfix: Was removed sample_handle sets prematurely", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "8e1de6960a028a2d04352f9c2829c21f311f5886": {"id": "8e1de6960a028a2d04352f9c2829c21f311f5886", "date": 1723005003.0, "description": "re-disabled lfo -> volume modulation for now (still not 100% confident in the implementation).", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "968283b6e0087d4cbeb0ad9136acc54cec0266fc": {"id": "968283b6e0087d4cbeb0ad9136acc54cec0266fc", "date": 1722996929.0, "description": "re-enabled lfo -> volume modulation", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "1e150db62e0d79ffd06df190d03677df3285e75e": {"id": "1e150db62e0d79ffd06df190d03677df3285e75e", "date": 1722962842.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "0854d3862cd10264ef4d478c7aa2462d0e8ed418": {"id": "0854d3862cd10264ef4d478c7aa2462d0e8ed418", "date": 1722961294.0, "description": "bugfix: Potential ConcurrentModification Error in playback", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "06736e4c06ee129f4853269a10e95474e55afe33": {"id": "06736e4c06ee129f4853269a10e95474e55afe33", "date": 1722959946.0, "description": "bugfix: zombie sample handles, right speak cutting out sometimes & exporting malformed wavs", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WavConverter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "1df7df6c60a7b9370e0669606c928fbc381102e1": {"id": "1df7df6c60a7b9370e0669606c928fbc381102e1", "date": 1722839754.0, "description": "removed the minor_offset attempt at fixing clicking", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "068b33500f496d07a05cf73ca79ac59c4002e4fe": {"id": "068b33500f496d07a05cf73ca79ac59c4002e4fe", "date": 1722748241.0, "description": "work on preventing clicking when repitching. lfo pitch control commented out", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "a637ca632798ae8aeb21ffebb2fa04a5b9debb45": {"id": "a637ca632798ae8aeb21ffebb2fa04a5b9debb45", "date": 1722726912.0, "description": "work on fixing clicking caused by looping", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "c47a8add32b33b13653e0ef547055cb13ea36cf7": {"id": "c47a8add32b33b13653e0ef547055cb13ea36cf7", "date": 1722711387.0, "description": "working on changing how PitchedBuffer interacts with loop points on sample data", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "e549646945a3b05caa082785c7c8bd84af00c878": {"id": "e549646945a3b05caa082785c7c8bd84af00c878", "date": 1722613628.0, "description": "changed title in fastlane data for fdroid", "files": [["M", "fastlane/metadata/android/en-US/title.txt"]], "author": "smith.quintin@protonmail.com"}, "610bb233d1e235a6f0303512af92221dc27fcc6d": {"id": "610bb233d1e235a6f0303512af92221dc27fcc6d", "date": 1722613236.0, "description": "work on lfo pitch modulation. commented out", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "5d2de72f5d810ce90fa59e1d85ed9f925b8d0ba1": {"id": "5d2de72f5d810ce90fa59e1d85ed9f925b8d0ba1", "date": 1722585079.0, "description": "switched to triangular lfo, playing with lfo to pitch (still no working)", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "7d8991e5d1b93ad85682ecf307ddc0d9d553c3fb": {"id": "7d8991e5d1b93ad85682ecf307ddc0d9d553c3fb", "date": 1722554545.0, "description": "fixed bad volume implementations in sample handle", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "8ed19a00dfdc889d21d0275a735941884475cf0d": {"id": "8ed19a00dfdc889d21d0275a735941884475cf0d", "date": 1722495156.0, "description": "fixed percussion instruments not being loaded onCreate", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "5ad80b607fa1df40eb47744053b66b5da8bb149d": {"id": "5ad80b607fa1df40eb47744053b66b5da8bb149d", "date": 1722492290.0, "description": "work on lfo and fixed some misapplication of db values", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "9cce56f8829dec0a1d41c758bf817cc2c243f21c": {"id": "9cce56f8829dec0a1d41c758bf817cc2c243f21c", "date": 1722441583.0, "description": "work on lfo -> volume. seems to work", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "3771aacde8013b2c88a20c8dd9274d6a07e6a97c": {"id": "3771aacde8013b2c88a20c8dd9274d6a07e6a97c", "date": 1722379322.0, "description": "work on midi2", "files": [["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "4bc4e798b9f0c8f718fe8bcd0d6c909422e5bc3f": {"id": "4bc4e798b9f0c8f718fe8bcd0d6c909422e5bc3f", "date": 1722278612.0, "description": "refactored Capabilities Inquiry Messages", "files": [["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"]], "author": "smith.quintin@protonmail.com"}, "e62a7c10ef1a46b1f980e7ec82eb6e8a5c57933f": {"id": "e62a7c10ef1a46b1f980e7ec82eb6e8a5c57933f", "date": 1722229362.0, "description": "Property Exchange Capabilities Inquiry Message", "files": [["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"]], "author": "smith.quintin@protonmail.com"}, "a9f856c7411e43c93946937f482179ade64c5bc8": {"id": "a9f856c7411e43c93946937f482179ade64c5bc8", "date": 1722105256.0, "description": "implemented profile/protocol inquiry messages", "files": [["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"]], "author": "smith.quintin@protonmail.com"}, "237ca722cd7fb3dda5100040ebff8c5debeef989": {"id": "237ca722cd7fb3dda5100040ebff8c5debeef989", "date": 1722033590.0, "description": "update target sdk", "files": [["M", "app/src/main/AndroidManifest.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "b24733247e7d51db71f98cc562e5ca63cf3db0c2": {"id": "b24733247e7d51db71f98cc562e5ca63cf3db0c2", "date": 1721772285.0, "description": "implemented 'Set New Protocol' Message", "files": [["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"]], "author": "smith.quintin@protonmail.com"}, "0f7cb2831311c980c9dc7f372b98b334c5466ee2": {"id": "0f7cb2831311c980c9dc7f372b98b334c5466ee2", "date": 1721761664.0, "description": "implemented 'Initiate Protocol Negotiation Message'", "files": [["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"]], "author": "smith.quintin@protonmail.com"}, "cfe7996b4ef0d41f3c14b49d41c7b6c7d4c5da78": {"id": "cfe7996b4ef0d41f3c14b49d41c7b6c7d4c5da78", "date": 1721430192.0, "description": "fixed regression: line volume control not displaying", "files": [["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"]], "author": "smith.quintin@protonmail.com"}, "44673317d7227c667e1be3758b5615eab40fbaa7": {"id": "44673317d7227c667e1be3758b5615eab40fbaa7", "date": 1721429037.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/66.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "27a12d72be9a5c33c0bf3449f6270d5957ca1631": {"id": "27a12d72be9a5c33c0bf3449f6270d5957ca1631", "date": 1721428541.0, "description": "remove debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "9738d7fc000dc5e8c17f1e17ba27c82b8cd90eea": {"id": "9738d7fc000dc5e8c17f1e17ba27c82b8cd90eea", "date": 1721428518.0, "description": "crashfix: bug from separating percussion channel", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "ab129ad0dde87aa696b36747f8a830416e144202": {"id": "ab129ad0dde87aa696b36747f8a830416e144202", "date": 1721427957.0, "description": "crashfix", "files": [["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"]], "author": "smith.quintin@protonmail.com"}, "b0f82950840ef9a25395e1d22a0f9704e7dea6e3": {"id": "b0f82950840ef9a25395e1d22a0f9704e7dea6e3", "date": 1721427013.0, "description": "Fixed: new_column in EditorTable wasn't checking if controller lines were visible", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "c214144e23b718171774012ae1cdff2ca44de2dd": {"id": "c214144e23b718171774012ae1cdff2ca44de2dd", "date": 1721330173.0, "description": "changelog", "files": [["D", "fastlane/metadata/android/en-US/changelogs/64.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/65.txt"]], "author": "smith.quintin@protonmail.com"}, "648fe8a30e32b361c66568297a9e205b1987c1b6": {"id": "648fe8a30e32b361c66568297a9e205b1987c1b6", "date": 1721330069.0, "description": "version bump", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "6f87df6d7eb4ae72449b1f78b8a2f328fc8ec21e": {"id": "6f87df6d7eb4ae72449b1f78b8a2f328fc8ec21e", "date": 1721329889.0, "description": "clear cursor when hiding percussion", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "b7b6ce90bc22f02828821ba26a6aba39c9b90b38": {"id": "b7b6ce90bc22f02828821ba26a6aba39c9b90b38", "date": 1721327432.0, "description": "fixed bad logic when setting global zones in SoundFonts", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Preset.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Instrument.kt"]], "author": "smith.quintin@protonmail.com"}, "755bb437eb359c14ba44ffdf9d98456021109ea1": {"id": "755bb437eb359c14ba44ffdf9d98456021109ea1", "date": 1721324803.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/64.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/63.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "5614335f1e7a20676960af6bce966d93eff2aba0": {"id": "5614335f1e7a20676960af6bce966d93eff2aba0", "date": 1721324630.0, "description": "fixed crash on move beaat range if selecting in reverse order", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"]], "author": "smith.quintin@protonmail.com"}, "11a6929e1b5c9b64c890a25fd670ea80919a9c65": {"id": "11a6929e1b5c9b64c890a25fd670ea80919a9c65", "date": 1721282396.0, "description": "copy the tree on every replace in overwrite_beat_range_horizontally instead of once", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "f89cf22eba912744f05139b1c3764673702cf7ea": {"id": "f89cf22eba912744f05139b1c3764673702cf7ea", "date": 1721280107.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/63.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "10b670398d5b7717589c507b8f60c585f43bc2d8": {"id": "10b670398d5b7717589c507b8f60c585f43bc2d8", "date": 1721279825.0, "description": "fixed bug in overwrite_range_horizontally (not copying tree on overwrite)", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "ca97e7ecd863ccc1f4316b6adfad3833fe0e8bf1": {"id": "ca97e7ecd863ccc1f4316b6adfad3833fe0e8bf1", "date": 1721198673.0, "description": "ProfileOn event", "files": [["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"]], "author": "smith.quintin@protonmail.com"}, "b18b9511d71f584adc39854d1a0ca3e70972181d": {"id": "b18b9511d71f584adc39854d1a0ca3e70972181d", "date": 1721193785.0, "description": "added start/end of clip events", "files": [["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"]], "author": "smith.quintin@protonmail.com"}, "8564880442198c38fbf74c9953c4883267879556": {"id": "8564880442198c38fbf74c9953c4883267879556", "date": 1721085398.0, "description": "implemented a few Midi UMP messages", "files": [["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"]], "author": "smith.quintin@protonmail.com"}, "4353ea43122348570ff21200d4dd506c309d0205": {"id": "4353ea43122348570ff21200d4dd506c309d0205", "date": 1721078908.0, "description": "work on midi2 file interfaces", "files": [["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "e5babb97c0ea23ea31629e4c166145e7f4dcc7cf": {"id": "e5babb97c0ea23ea31629e4c166145e7f4dcc7cf", "date": 1720985416.0, "description": "Converted 'track' to 'clip'", "files": [["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "18e1871166c49f929bd60eaadc626cacb9e274a3": {"id": "18e1871166c49f929bd60eaadc626cacb9e274a3", "date": 1720893936.0, "description": "work on midi2.0", "files": [["M", "app/src/main/java/com/qfs/apres/event/MIDIEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "d3d4eee7e928934e52860e175ec8779396a007d1": {"id": "d3d4eee7e928934e52860e175ec8779396a007d1", "date": 1720849566.0, "description": "starting midi 2 file support", "files": [["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/event/MIDIEvent.kt"]], "author": "smith.quintin@protonmail.com"}, "75021a26eae5107c3bd89531b275042146796044": {"id": "75021a26eae5107c3bd89531b275042146796044", "date": 1720822539.0, "description": "whitespace alignment", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "4cb72719eb35ab6418cc064958ec72281ccf9ba8": {"id": "4cb72719eb35ab6418cc064958ec72281ccf9ba8", "date": 1720757426.0, "description": "Changed 'Generalizer' to 'JSONInterface'", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["D", "app/src/main/java/com/qfs/pagan/generalizers/OpusTreeGeneralizer.kt"], ["A", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusTreeJSONInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/generalizers/OpusManagerGeneralizer.kt"], ["A", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusManagerJSONInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/generalizers/OpusLineGeneralizer.kt"], ["A", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusLineJSONInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/generalizers/OpusControlEventParser.kt"], ["A", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusControlEventJSONInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/generalizers/OpusChannelGeneralizer.kt"], ["A", "app/src/main/java/com/qfs/pagan/jsoninterfaces/OpusChannelJSONInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/generalizers/InstrumentEventParser.kt"], ["A", "app/src/main/java/com/qfs/pagan/jsoninterfaces/InstrumentEventJSONInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/generalizers/ActiveControllerGeneralizer.kt"], ["A", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControllerJSONInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/generalizers/ActiveControlSetGeneralizer.kt"], ["A", "app/src/main/java/com/qfs/pagan/jsoninterfaces/ActiveControlSetJSONInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "19cea3cffe8e914be0f616ac37561c95bff77528": {"id": "19cea3cffe8e914be0f616ac37561c95bff77528", "date": 1720757196.0, "description": "Changed 'Parsed' NomenClature to 'JSON'", "files": [["M", "app/src/test/java/com/qfs/json/SerializationUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusTreeGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusManagerGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusLineGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusControlEventParser.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusChannelGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/InstrumentEventParser.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/ActiveControllerGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/ActiveControlSetGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "2130408facfef4551b48d63f9bb3d630c360fc04": {"id": "2130408facfef4551b48d63f9bb3d630c360fc04", "date": 1720756883.0, "description": "improved json handling", "files": [["M", "app/src/test/java/com/qfs/json/SerializationUnitTest.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "335d7feb5d80da0e1c5ed0b89149671d52796e59": {"id": "335d7feb5d80da0e1c5ed0b89149671d52796e59", "date": 1720730630.0, "description": "work on improving json parsing", "files": [["M", "app/src/test/java/com/qfs/json/SerializationUnitTest.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "868ee8a40a2e7835497060f3b57ad982076fa45d": {"id": "868ee8a40a2e7835497060f3b57ad982076fa45d", "date": 1720545704.0, "description": "version bump", "files": [["M", "fastlane/metadata/android/en-US/changelogs/62.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "e77d1431b6a60e4e38589e44890079bc9ca17c25": {"id": "e77d1431b6a60e4e38589e44890079bc9ca17c25", "date": 1720545389.0, "description": "bugfix: ignoring sm24 chunk instead of throwing error", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "ac8522cf331643d69241d54917b5a58412737a6b": {"id": "ac8522cf331643d69241d54917b5a58412737a6b", "date": 1720543750.0, "description": "commented out work on opening exported wavs from notification", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "f5164b59f2e18e70c38516f49d64a4a550c876a4": {"id": "f5164b59f2e18e70c38516f49d64a4a550c876a4", "date": 1720542958.0, "description": "attempt at playing exported wav with intent", "files": [["A", "fastlane/metadata/android/en-US/changelogs/62.txt"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "1c8066b8a181453b54e903a280470fcace0286e8": {"id": "1c8066b8a181453b54e903a280470fcace0286e8", "date": 1720538936.0, "description": "fixed 'move_to_copy' behaviour", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "f4c217783816e6425d6b4485ac093744a6d05143": {"id": "f4c217783816e6425d6b4485ac093744a6d05143", "date": 1720455537.0, "description": "fixed unit test", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerLinks.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "07d608dd88827e6a0a3c91bb650806d163047d0d": {"id": "07d608dd88827e6a0a3c91bb650806d163047d0d", "date": 1720396989.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/61.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "eb013834b98e4d500cca0f50b895b61668b1e03c": {"id": "eb013834b98e4d500cca0f50b895b61668b1e03c", "date": 1720396520.0, "description": "improved logic when selecting line/percussion instrument when connected to midi device", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "0cf7343a277edeccafd2ce8031951c485e9ac10c": {"id": "0cf7343a277edeccafd2ce8031951c485e9ac10c", "date": 1720323849.0, "description": "Allow selection of percussion line instruments when no kit is supported by the current soundfont", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "3062b60a4879354fdeb42279bf410c8a0146aff5": {"id": "3062b60a4879354fdeb42279bf410c8a0146aff5", "date": 1720323457.0, "description": "Allow manual kit selection when no drum kit is supported", "files": [["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "5d95a9f2701e294f42ecd9d506261fedf54e7b69": {"id": "5d95a9f2701e294f42ecd9d506261fedf54e7b69", "date": 1720322890.0, "description": "when only a global directive is set in instruments, assume global directive contains sample data", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Instrument.kt"]], "author": "smith.quintin@protonmail.com"}, "50f7e684fc81c9578ddcbd63f78ab8905199df4e": {"id": "50f7e684fc81c9578ddcbd63f78ab8905199df4e", "date": 1720320112.0, "description": "bugfix: sample rate wasn't able to be changed", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"]], "author": "smith.quintin@protonmail.com"}, "ab530375d1f40997a36434ced5fb987742f8456c": {"id": "ab530375d1f40997a36434ced5fb987742f8456c", "date": 1720287800.0, "description": "fixed: Incorrectly checking if a range contains both std & percussion rather than checking if two ranges match up", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "2897f384bbfd0ffd41bfbe24be825715dea1ea7c": {"id": "2897f384bbfd0ffd41bfbe24be825715dea1ea7c", "date": 1720285417.0, "description": "improved percussion selection when no soundfont is set", "files": [["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "9029bd3bc3422f99b61beab49fe2408187cfe468": {"id": "9029bd3bc3422f99b61beab49fe2408187cfe468", "date": 1720236250.0, "description": "Added ability to choose instruments when no soundfont is set", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "2e544685df176ad30acc9281c05220113cb91894": {"id": "2e544685df176ad30acc9281c05220113cb91894", "date": 1720141171.0, "description": "version bump", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "99625599e93ea232eb70e51c083ba0ba30cd0409": {"id": "99625599e93ea232eb70e51c083ba0ba30cd0409", "date": 1720141067.0, "description": "ACTUALLY fixed note being held about twice as long as it should be", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "9a1b5d750d406cca654f8748113b8b7b52cd352f": {"id": "9a1b5d750d406cca654f8748113b8b7b52cd352f", "date": 1720114772.0, "description": "version bump", "files": [["D", "fastlane/metadata/android/en-US/changelogs/57.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/58.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "4ce74f27e8cf8cd73e68686f896ee4eb897616a3": {"id": "4ce74f27e8cf8cd73e68686f896ee4eb897616a3", "date": 1720114694.0, "description": "fixed: note being held 2 times too long", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "a8e6783dc61351b1ea7c7c10d66f288a0f10f873": {"id": "a8e6783dc61351b1ea7c7c10d66f288a0f10f873", "date": 1720047986.0, "description": "fixed  drums not updating when soundfont is set", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "17552a5ae2dcc14d60a7b9f2b1d73bb5e1d3c156": {"id": "17552a5ae2dcc14d60a7b9f2b1d73bb5e1d3c156", "date": 1720043931.0, "description": "update changelog", "files": [["D", "fastlane/metadata/android/en-US/changelogs/56.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/57.txt"]], "author": "smith.quintin@protonmail.com"}, "3c443aba4a55115f0877957f533f0ab59cf67233": {"id": "3c443aba4a55115f0877957f533f0ab59cf67233", "date": 1720043773.0, "description": "version bump", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "4128ae7b29e57165d094d519e9413c6f0b786e96": {"id": "4128ae7b29e57165d094d519e9413c6f0b786e96", "date": 1720043715.0, "description": "handle invalidation of very high notes with large radixes", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "143a99b3561d4b62e526cd349059735cc038db01": {"id": "143a99b3561d4b62e526cd349059735cc038db01", "date": 1720040806.0, "description": "version update", "files": [["A", "fastlane/metadata/android/en-US/changelogs/56.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "d9cb10ecd077036ad7e610e2ce08b391fc15e217": {"id": "d9cb10ecd077036ad7e610e2ce08b391fc15e217", "date": 1720039166.0, "description": "fixed events not being copied when copying a tree", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/InstrumentEvent.kt"]], "author": "smith.quintin@protonmail.com"}, "f4ca85e1a1d689e8e15b8ff3c66c4b39f0eb40cd": {"id": "f4ca85e1a1d689e8e15b8ff3c66c4b39f0eb40cd", "date": 1720026590.0, "description": "fixed wav export progress notification not coming up", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "8c58bbe8cccf626f171433421baad84c3948a74f": {"id": "8c58bbe8cccf626f171433421baad84c3948a74f", "date": 1720024299.0, "description": "fixed cursor moving to links on undo", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "a176a8cdd48e6a1003c49c12a8d00a779ffb600d": {"id": "a176a8cdd48e6a1003c49c12a8d00a779ffb600d", "date": 1720023770.0, "description": "fixed overwrite_beat_range_horizontally using wrong beatkey pair", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "867dc7204c75607be2be94e081d1bd9fd6cc7e23": {"id": "867dc7204c75607be2be94e081d1bd9fd6cc7e23", "date": 1720023371.0, "description": "added kill_frame to SampleHandle. won't be used for a while", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "2928534183a1df17a86e59e2a1915ba72f0fc932": {"id": "2928534183a1df17a86e59e2a1915ba72f0fc932", "date": 1719984649.0, "description": "force some replace_tree calls to use copy of tree", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "f8cb649b841c46cf87afcf6d9a7d8b834d25612e": {"id": "f8cb649b841c46cf87afcf6d9a7d8b834d25612e", "date": 1719961331.0, "description": "fixed typo", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "44291ea6ff980d9250129cb63d4fcd381004fe99": {"id": "44291ea6ff980d9250129cb63d4fcd381004fe99", "date": 1719959925.0, "description": "set_tuning_map can't mod events if old and new maps are same radix", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "cf3bffa7179f0a20f17ffbf07c5d940e51a0f28d": {"id": "cf3bffa7179f0a20f17ffbf07c5d940e51a0f28d", "date": 1719959114.0, "description": "fixed set_tuning_map", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusChannelGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "f17266e5cdcf3154554f719de9017f87f5e3db0d": {"id": "f17266e5cdcf3154554f719de9017f87f5e3db0d", "date": 1719934468.0, "description": "fixed crash on new line after load", "files": [["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusChannelGeneralizer.kt"]], "author": "smith.quintin@protonmail.com"}, "84300aa1aeda753272fc74f07852e4edd1217b35": {"id": "84300aa1aeda753272fc74f07852e4edd1217b35", "date": 1719933666.0, "description": "fixed crash on save when project_name is null. fixed another place where bank/program were mixed up", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "5625e8431a323571fc2e148f99ff2a5751a27241": {"id": "5625e8431a323571fc2e148f99ff2a5751a27241", "date": 1719932132.0, "description": "fixed midi_bank/program being reversed", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "e42b32d272bc26cfa211ab088e880d509410bcdd": {"id": "e42b32d272bc26cfa211ab088e880d509410bcdd", "date": 1719889874.0, "description": "fixed- wasn't accounting for controllers correctly on latest save fmt (3)", "files": [["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusManagerGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusLineGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusChannelGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/ActiveControlSetGeneralizer.kt"]], "author": "smith.quintin@protonmail.com"}, "06867f0e61c770075bf67c3e1537dcdaa2990c93": {"id": "06867f0e61c770075bf67c3e1537dcdaa2990c93", "date": 1719881372.0, "description": "fixed more history issues. fixed stupid mistake in ActiveController.set_beat_count()", "files": [["M", "app/src/test/java/com/qfs/pagan/StructureUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "3838434dec121fa8b1f45625a0120fbdb793d611": {"id": "3838434dec121fa8b1f45625a0120fbdb793d611", "date": 1719866368.0, "description": "fixed history on new_channel. made some changes to Save Fmt 3", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusManagerGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusLineGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusChannelGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/ActiveControllerGeneralizer.kt"]], "author": "smith.quintin@protonmail.com"}, "aea598790eb861d1210eb3f9b8ae7868b365a597": {"id": "aea598790eb861d1210eb3f9b8ae7868b365a597", "date": 1719857600.0, "description": "fixed new note defaulting to absolute regardless of relative option selector", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "03f1d17cd4e1a04e30da9cc312dd0f950faa9f5a": {"id": "03f1d17cd4e1a04e30da9cc312dd0f950faa9f5a", "date": 1719845014.0, "description": "moved line_static_values key to save version 2, not 1", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusChannelGeneralizer.kt"]], "author": "smith.quintin@protonmail.com"}, "95362f330a7525cca0c5ddabca96fa6056c0b97b": {"id": "95362f330a7525cca0c5ddabca96fa6056c0b97b", "date": 1719810296.0, "description": "reintroduced quantization on import_midi()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "55a3110725bfd5cd821cb1d9ff95cff64906f7e3": {"id": "55a3110725bfd5cd821cb1d9ff95cff64906f7e3", "date": 1719808872.0, "description": "fixed number selectors not automatically choosing octave or offset on new note", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "f75e015eefebb9e6ccd4beeac0da3196cf704610": {"id": "f75e015eefebb9e6ccd4beeac0da3196cf704610", "date": 1719807589.0, "description": "fixed some linking behaviour", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "55d86458d2ec8993d52bdd9042c02dba460cb5c2": {"id": "55d86458d2ec8993d52bdd9042c02dba460cb5c2", "date": 1719788425.0, "description": "fixed slowness when undoing to a large amount of linked beatkeys", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "636435f0de8e59fd0aa220811a40278e00194a57": {"id": "636435f0de8e59fd0aa220811a40278e00194a57", "date": 1719726254.0, "description": "fixed failed loads losing the table", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "7d4b890cb80f6d7c784726279126a36d96b0510c": {"id": "7d4b890cb80f6d7c784726279126a36d96b0510c", "date": 1719721094.0, "description": "fixed links not being visually updated on remove/insert beat", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "7ed55d24547a3a76aee6024a914109eacc39962d": {"id": "7ed55d24547a3a76aee6024a914109eacc39962d", "date": 1719716158.0, "description": "fixed *another* broken part of overriding when linking", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"]], "author": "smith.quintin@protonmail.com"}, "4f949518832c926d7f388de2deece809ff3e4092": {"id": "4f949518832c926d7f388de2deece809ff3e4092", "date": 1719708964.0, "description": "fixed remove_beat() history behaviour", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"]], "author": "smith.quintin@protonmail.com"}, "066a389892d4d1f3656c1e1b200531cfa998682a": {"id": "066a389892d4d1f3656c1e1b200531cfa998682a", "date": 1719699887.0, "description": "fixed link overwriting using direct references rather than copies", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"]], "author": "smith.quintin@protonmail.com"}, "75482ce058c6910eec4437faf8881449e47d5484": {"id": "75482ce058c6910eec4437faf8881449e47d5484", "date": 1719698964.0, "description": "fixed volume in history", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "2d95e9f733b5191883d5496f1a6ac3c9f4d33f04": {"id": "2d95e9f733b5191883d5496f1a6ac3c9f4d33f04", "date": 1719677569.0, "description": "fixed relative option selector behaviour in history stack", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "04d89f27dea7e34b6411e547cd5a5a0a826c5bca": {"id": "04d89f27dea7e34b6411e547cd5a5a0a826c5bca", "date": 1719616781.0, "description": "work on relative option selector bugginess", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "bddca4e8ebd1e51760f1fc49a5b8bb60c84255ad": {"id": "bddca4e8ebd1e51760f1fc49a5b8bb60c84255ad", "date": 1719609387.0, "description": "relative option select behaviour fix", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "d92eca3f069b3bd2e4c3b7221f2e994477ec4a5f": {"id": "d92eca3f069b3bd2e4c3b7221f2e994477ec4a5f", "date": 1719554322.0, "description": "fixed links causing crash on load", "files": [["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusManagerGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "c346501e6723a4be9cc65208411ba05e3cc64d62": {"id": "c346501e6723a4be9cc65208411ba05e3cc64d62", "date": 1719552019.0, "description": "fixed percussion line doubling on import midi", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "ff16b88c1cd6e5285ad6d370889dfbd74b7cc52e": {"id": "ff16b88c1cd6e5285ad6d370889dfbd74b7cc52e", "date": 1719549379.0, "description": "fixed remove_line() history stack and removed some redundant calls to sample_handle_manager.select_bank/_select_program", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "9077dacf31944ebd8b7703e0e5181163706a0a70": {"id": "9077dacf31944ebd8b7703e0e5181163706a0a70", "date": 1719546514.0, "description": "finally found the bug in reduce()", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "0f28e0492da2fcaa337cee3d2474051d1ade9854": {"id": "0f28e0492da2fcaa337cee3d2474051d1ade9854", "date": 1719509132.0, "description": "some debugging", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "0915891415bcce7e537fc66ae7eda9f4d4f8e170": {"id": "0915891415bcce7e537fc66ae7eda9f4d4f8e170", "date": 1719497870.0, "description": "fixed vertical overflow on relative note labels", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"]], "author": "smith.quintin@protonmail.com"}, "32167c26e9c7a9bacebfa2e15278dd65caa32983": {"id": "32167c26e9c7a9bacebfa2e15278dd65caa32983", "date": 1719470877.0, "description": "more work on getting front end working with recent changes", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryCache.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusTreeGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusManagerGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusLineGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusChannelGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/ActiveControllerGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "713607d3451ec715412dad696587087a29a57b88": {"id": "713607d3451ec715412dad696587087a29a57b88", "date": 1719443192.0, "description": "work on getting ui working with changes to backend", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/InstrumentEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryCache.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "99b8a53380d3cbe295e8fa71cbd943abce3c05d8": {"id": "99b8a53380d3cbe295e8fa71cbd943abce3c05d8", "date": 1719438579.0, "description": "tests working again", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerLinks.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "5a1acb8e3365eadb96cf90ec1a06e81b74278a49": {"id": "5a1acb8e3365eadb96cf90ec1a06e81b74278a49", "date": 1719436262.0, "description": "more work on getting tests passing again", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusManagerGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusLineGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusChannelGeneralizer.kt"]], "author": "smith.quintin@protonmail.com"}, "0f865cbe393d52dab9e6b11f1ac6d0c2137f0d84": {"id": "0f865cbe393d52dab9e6b11f1ac6d0c2137f0d84", "date": 1719432140.0, "description": "updated various equals() to reflect changes to structure", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLinePercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/InstrumentEvent.kt"]], "author": "smith.quintin@protonmail.com"}, "c2a8b7b08591cc0e648e512ac406a1178d9b7dda": {"id": "c2a8b7b08591cc0e648e512ac406a1178d9b7dda", "date": 1719420012.0, "description": "fixed *errors* in testing. on to failures next", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerLinks.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusTreeGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusManagerGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusControlEventParser.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusChannelGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/InstrumentEventParser.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/ActiveControllerGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/ActiveControlSetGeneralizer.kt"]], "author": "smith.quintin@protonmail.com"}, "72c1592d4134bb1a38ea586460924156db9d32da": {"id": "72c1592d4134bb1a38ea586460924156db9d32da", "date": 1719357246.0, "description": "bugfixes", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusTreeGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusManagerGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusChannelGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/ActiveControllerGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/ActiveControlSetGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "5763b6c7993ee2792381e67a30be7d0141c2f961": {"id": "5763b6c7993ee2792381e67a30be7d0141c2f961", "date": 1719352592.0, "description": "removed new_percussion_line(). (brain fart, shouldn't have put it in in the first place)", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/InstrumentEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "f954ccd3e541430881a09c068d85508f11e5a738": {"id": "f954ccd3e541430881a09c068d85508f11e5a738", "date": 1719342591.0, "description": "Parser functional. built new_percussion_line() in OpusManager", "files": [["M", "app/src/test/java/com/qfs/json/SerializationUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusChannelGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "5e6b9a3a450023e067a9fdb74bf1c8854bb25337": {"id": "5e6b9a3a450023e067a9fdb74bf1c8854bb25337", "date": 1719310872.0, "description": "finished updating tests. in buildable state Parser not functional yet", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerLinksUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerLinksUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "f9f3d1cd4afb6f91430d13312ce5d6538b4779ad": {"id": "f9f3d1cd4afb6f91430d13312ce5d6538b4779ad", "date": 1719308569.0, "description": "updating tests to reflect recent changes", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerLinks.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"], ["M", "app/src/test/java/com/qfs/json/SerializationUnitTest.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/exceptions/FutureSaveVersionException.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/OpusTreeJSON.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/LoadedJSONData2.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/LoadedJSONData1.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/LoadedJSONData0.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/LoadedJSONData.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/LineJSONData.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/JSONWrapper.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/ChannelJSONData2.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/ChannelJSONData1.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/ChannelJSONData0.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/ChannelJSONData.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/ActiveControllerJSON.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/intermediate_structure_functions.kt"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "e5c93bdb75c112581434c884fe2cfea3f38dec4d": {"id": "e5c93bdb75c112581434c884fe2cfea3f38dec4d", "date": 1719290918.0, "description": "updated PlaybackFrameMap to handle changes to percussion", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "bbef42a61aab06f792796dfdb9a6dfbf55145ba5": {"id": "bbef42a61aab06f792796dfdb9a6dfbf55145ba5", "date": 1719273720.0, "description": "work on splitting Percussion/Absolute/Relative Events", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/InstrumentEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "cc24b1997740f93b533db9a8770b0d9eb9271b0f": {"id": "cc24b1997740f93b533db9a8770b0d9eb9271b0f", "date": 1719245549.0, "description": "separating percussion from other lines", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "98473f34a1ce85d7c0439cf5f54950602d1e4648": {"id": "98473f34a1ce85d7c0439cf5f54950602d1e4648", "date": 1719207484.0, "description": "conversion functions between old save fmts for new json lib", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/LoadedJSONData2.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/intermediate_structure_functions.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusTreeGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusManagerGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusLineGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/generalizers/OpusChannelGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "c6ece88dd676f0689efd754ff2ebb3a87c88f940": {"id": "c6ece88dd676f0689efd754ff2ebb3a87c88f940", "date": 1719085863.0, "description": "more work on json & separating percussion from the other channels", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "e2ad73d7cdbd7717039c417dfe034ed331e4130a": {"id": "e2ad73d7cdbd7717039c417dfe034ed331e4130a", "date": 1719011162.0, "description": "separated OpusChannel from OpusPercussionChannel", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLinePercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "573b51557bf9d94955d943625afa086036a2b57c": {"id": "573b51557bf9d94955d943625afa086036a2b57c", "date": 1718990698.0, "description": "json/generalizer work. set up OpusManager Generalizer", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/InstrumentEvent.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/generalizers/OpusTreeGeneralizer.kt"], ["A", "app/src/main/java/com/qfs/pagan/generalizers/OpusTreeGeneralizer.kt"], ["A", "app/src/main/java/com/qfs/pagan/generalizers/OpusManagerGeneralizer.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/generalizers/OpusLineGeneralizer.kt"], ["A", "app/src/main/java/com/qfs/pagan/generalizers/OpusLineGeneralizer.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/generalizers/OpusControlEventParser.kt"], ["A", "app/src/main/java/com/qfs/pagan/generalizers/OpusControlEventParser.kt"], ["A", "app/src/main/java/com/qfs/pagan/generalizers/OpusChannelGeneralizer.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/generalizers/InstrumentEventParser.kt"], ["A", "app/src/main/java/com/qfs/pagan/generalizers/InstrumentEventParser.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/generalizers/ActiveControllerGeneralizer.kt"], ["A", "app/src/main/java/com/qfs/pagan/generalizers/ActiveControllerGeneralizer.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/generalizers/ActiveControlSetGeneralizer.kt"], ["A", "app/src/main/java/com/qfs/pagan/generalizers/ActiveControlSetGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "848c2ab1a0c5cb139c6baba7612e0df6ec6d1784": {"id": "848c2ab1a0c5cb139c6baba7612e0df6ec6d1784", "date": 1718948446.0, "description": "created Generalizer classes to convert between generalized objects which are JSON compatible", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/generalizers/OpusTreeGeneralizer.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/generalizers/OpusLineGeneralizer.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/generalizers/OpusControlEventParser.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/generalizers/InstrumentEventParser.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/generalizers/ActiveControllerGeneralizer.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/generalizers/ActiveControlSetGeneralizer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLinePercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLine.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/InstrumentEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveController.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "8f44c792cfc375da11e2f366f793f6e3cb17596d": {"id": "8f44c792cfc375da11e2f366f793f6e3cb17596d", "date": 1718903624.0, "description": "work on json", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/InstrumentEvent.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "9b441e7573237e95d0d0896cc42a73f6c3a0ad2a": {"id": "9b441e7573237e95d0d0896cc42a73f6c3a0ad2a", "date": 1718897415.0, "description": "more work on json", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "bafb329592f777a050be54a2818c64afad9231da": {"id": "bafb329592f777a050be54a2818c64afad9231da", "date": 1718862554.0, "description": "work on ActiveControllers with regards to new JSON lib", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLinePercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/InstrumentEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "337dddc32238a009ee6db21dd5f400cedf926f6d": {"id": "337dddc32238a009ee6db21dd5f400cedf926f6d", "date": 1718815402.0, "description": "converting usage of @Serializable to new json library", "files": [["A", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLinePercussion.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLineAbstract.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEventSTD.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/InstrumentEvent.kt"], ["M", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "df9a55c95488b380d1c4df8bf61bbe9852a8288e": {"id": "df9a55c95488b380d1c4df8bf61bbe9852a8288e", "date": 1718773194.0, "description": "work on bespoke json handler", "files": [["A", "app/src/test/java/com/qfs/json/SerializationUnitTest.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/get_shallow_representation.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/exceptions/InvalidJSON.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/LoadedJSONData.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/LineJSONData.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/ChannelJSONData2.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/ChannelJSONData1.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/ChannelJSONData.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/ActiveControllerJSON.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["A", "app/src/main/java/com/qfs/json/ParsedJSONObject.kt"]], "author": "smith.quintin@protonmail.com"}, "e89a577d737dd910c3b74c311275e844b48a3fde": {"id": "e89a577d737dd910c3b74c311275e844b48a3fde", "date": 1718732203.0, "description": "missed file from previous commit", "files": [["A", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/get_shallow_representation.kt"]], "author": "smith.quintin@protonmail.com"}, "876a80f3ea753259423e8666b7a47d8bba33ffe3": {"id": "876a80f3ea753259423e8666b7a47d8bba33ffe3", "date": 1718730386.0, "description": "working on json kotlinx.serialization.json alternative", "files": [["A", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/exceptions/InvalidJSON.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/exceptions/FutureSaveVersionException.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/OpusTreeJSON.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/LoadedJSONData2.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/LoadedJSONData1.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/LoadedJSONData0.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/LoadedJSONData.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/LineJSONData.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/JSONWrapper.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/ChannelJSONData2.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/ChannelJSONData1.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/ChannelJSONData0.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/ChannelJSONData.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/serializable/ActiveControllerJSON.kt"]], "author": "smith.quintin@protonmail.com"}, "f9885ff8ec48adc4f9f7f403940ddce842249f95": {"id": "f9885ff8ec48adc4f9f7f403940ddce842249f95", "date": 1718722799.0, "description": "changed 'get_shallow_representation()' location in tests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerLinks.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"]], "author": "smith.quintin@protonmail.com"}, "43074b6ed8fe3e89431e56577d63d39fb0a6a07f": {"id": "43074b6ed8fe3e89431e56577d63d39fb0a6a07f", "date": 1718684471.0, "description": "ProjectManager handles nullable project names", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "858e9e454fecb2a1cd6bb77e32dfc5852809993e": {"id": "858e9e454fecb2a1cd6bb77e32dfc5852809993e", "date": 1718681361.0, "description": "moved json functions to JSONObjects file (will organize further later)", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"]], "author": "smith.quintin@protonmail.com"}, "7998318f38d92207eedb75b7ea1adba0cdd5d9c6": {"id": "7998318f38d92207eedb75b7ea1adba0cdd5d9c6", "date": 1718648078.0, "description": "remove debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "d7c0bff406e4a52588df6f7c89896726f2c191e4": {"id": "d7c0bff406e4a52588df6f7c89896726f2c191e4", "date": 1718648032.0, "description": "Work on new save Fmt\n        - Project name nullable\n        - shallow check functional", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "11c94e6706a6478fc6f01bbbd80c5a748b1b8c1b": {"id": "11c94e6706a6478fc6f01bbbd80c5a748b1b8c1b", "date": 1718606195.0, "description": "working on new save fmt with nullable project name", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"]], "author": "smith.quintin@protonmail.com"}, "36fff7258c04c9ce8970116271567b956b4f0287": {"id": "36fff7258c04c9ce8970116271567b956b4f0287", "date": 1718480813.0, "description": "added description to build_other_layer_tests.py", "files": [["M", "scripts/build_other_layer_tests.py"]], "author": "smith.quintin@protonmail.com"}, "7b6e201c3b17fb9aa2cfbb146193c89c0b6e7cff": {"id": "7b6e201c3b17fb9aa2cfbb146193c89c0b6e7cff", "date": 1718480570.0, "description": "created script to generate duplicate UnitTests using higher-level layers of the OpusManager", "files": [["A", "scripts/build_other_layer_tests.py"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerLinksUnitTest.kt"], ["A", "app/src/test/java/com/qfs/pagan/OpusLayerLinksUnitReTestAsOpusLayerHistory.kt"], ["A", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerLinks.kt"], ["A", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitReTestAsOpusLayerHistory.kt"]], "author": "smith.quintin@protonmail.com"}, "06ab17930090522c7066b20db167ef94176fba28": {"id": "06ab17930090522c7066b20db167ef94176fba28", "date": 1718478204.0, "description": "renamed unit test files", "files": [["D", "app/src/test/java/com/qfs/pagan/LinkLayerUnitTest.kt"], ["A", "app/src/test/java/com/qfs/pagan/OpusLayerLinksUnitTest.kt"], ["D", "app/src/test/java/com/qfs/pagan/HistoryLayerUnitTest.kt"], ["A", "app/src/test/java/com/qfs/pagan/OpusLayerHistoryUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "2510dc6eb21e366df9df49f3000aeb4c17990f14": {"id": "2510dc6eb21e366df9df49f3000aeb4c17990f14", "date": 1718473858.0, "description": "fixed typos in HistoryLayer UnitTests", "files": [["M", "app/src/test/java/com/qfs/pagan/HistoryLayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["A", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest2.kt"]], "author": "smith.quintin@protonmail.com"}, "523b99e88563f0bae835f90ffb4e091ba1983763": {"id": "523b99e88563f0bae835f90ffb4e091ba1983763", "date": 1718408585.0, "description": "some debug code to help me figure out the concurrentModification issue", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/HistoryLayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"]], "author": "smith.quintin@protonmail.com"}, "e20149f836c9ba063e3bc26cbb42e3b2c8c41128": {"id": "e20149f836c9ba063e3bc26cbb42e3b2c8c41128", "date": 1718391746.0, "description": "found ConcurrentModificationError in LinkLayer. working on it", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "c1e37c56dbe3852470b593bdd6022bf573859d3d": {"id": "c1e37c56dbe3852470b593bdd6022bf573859d3d", "date": 1718320031.0, "description": "unit test for set_channel_instrument @ history layer", "files": [["M", "app/src/test/java/com/qfs/pagan/HistoryLayerUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "d8bda005c6e806a37cf1a891233e5c16eb95af84": {"id": "d8bda005c6e806a37cf1a891233e5c16eb95af84", "date": 1718319848.0, "description": "Link Layer Unit Tests", "files": [["M", "app/src/test/java/com/qfs/pagan/LinkLayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"]], "author": "smith.quintin@protonmail.com"}, "03b9a04481408105b505a9e3b7087d24154078af": {"id": "03b9a04481408105b505a9e3b7087d24154078af", "date": 1718313847.0, "description": "work on link layer unit tests", "files": [["M", "app/src/test/java/com/qfs/pagan/LinkLayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"]], "author": "smith.quintin@protonmail.com"}, "089167d9e34cbae856468f03da37c1cfd2d991d6": {"id": "089167d9e34cbae856468f03da37c1cfd2d991d6", "date": 1718210157.0, "description": "commented out unused peek() function in history cache", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryCache.kt"]], "author": "smith.quintin@protonmail.com"}, "4ebf2bae4326509bbba7f6f3f3eda812ad328eba": {"id": "4ebf2bae4326509bbba7f6f3f3eda812ad328eba", "date": 1718210007.0, "description": "Unit Tests", "files": [["M", "app/src/test/java/com/qfs/pagan/HistoryLayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"]], "author": "smith.quintin@protonmail.com"}, "d4b4b05dd0b7395e9aa5462ca25a5bc6b9e0be87": {"id": "d4b4b05dd0b7395e9aa5462ca25a5bc6b9e0be87", "date": 1718207686.0, "description": "Moved Trivial Action check into History Layer Functions since that's the only place they matter", "files": [["D", "app/src/main/java/com/qfs/pagan/opusmanager/TrivialActionException.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "54709241a2f2eea640910fba86a03162e7b38fb6": {"id": "54709241a2f2eea640910fba86a03162e7b38fb6", "date": 1718170204.0, "description": "unit tests", "files": [["M", "app/src/test/java/com/qfs/pagan/HistoryLayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryCache.kt"]], "author": "smith.quintin@protonmail.com"}, "82465f1dfbec86530eeba66df2aebac633c71966": {"id": "82465f1dfbec86530eeba66df2aebac633c71966", "date": 1718125179.0, "description": "Unit Tests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "9623b0ff32b2f5b0b22a293de69838b1c81b43ef": {"id": "9623b0ff32b2f5b0b22a293de69838b1c81b43ef", "date": 1718079275.0, "description": "Removed usage of OpusLayer.tempo", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "b078acb23a48cbadc797991bae421819bfaf8651": {"id": "b078acb23a48cbadc797991bae421819bfaf8651", "date": 1718079161.0, "description": "fixed ActiveControllerSet not clearing beat count on clear()", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "76c14c0c305c2b4e3ea893d03421444babccb37f": {"id": "76c14c0c305c2b4e3ea893d03421444babccb37f", "date": 1718076622.0, "description": "Unit Tests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "dc6472f0cfaf61b4ff2080af8540c9a257386145": {"id": "dc6472f0cfaf61b4ff2080af8540c9a257386145", "date": 1718038473.0, "description": "setup json files in the old formats to test version checking", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "218a2dcbabf9371e5059cf113410d1283d52ba37": {"id": "218a2dcbabf9371e5059cf113410d1283d52ba37", "date": 1718000518.0, "description": "removed debug code", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "b8e3691f7c13dd7d000d2d8f2bc8a64ded59f0bb": {"id": "b8e3691f7c13dd7d000d2d8f2bc8a64ded59f0bb", "date": 1718000498.0, "description": "tweaked unit test for get_shallow_representation", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "2d8e6980cab1d3563bd0e830785897ba6ac89e0e": {"id": "2d8e6980cab1d3563bd0e830785897ba6ac89e0e", "date": 1717997660.0, "description": "load version check uses specific keys to figure out versions 0-2 since some keys may not appear", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "80bab81e0aa24d3fc98ecf96427c59714f08cefc": {"id": "80bab81e0aa24d3fc98ecf96427c59714f08cefc", "date": 1717996819.0, "description": "clarified load/load_path function names", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "01ff8d0ebf951c6756767c3bbd1420cdb57ba0a4": {"id": "01ff8d0ebf951c6756767c3bbd1420cdb57ba0a4", "date": 1717996294.0, "description": "added InvalidJSON exception", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "890e520bf0bb28c0ef7165c9dac8abcc69c3123a": {"id": "890e520bf0bb28c0ef7165c9dac8abcc69c3123a", "date": 1717994129.0, "description": "created get_shallow_representation so I can start versioning save files", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/intermediate_structure_functions.kt"]], "author": "smith.quintin@protonmail.com"}, "37df74bda2dbfa19385b9c4a4f15d5c93c91926b": {"id": "37df74bda2dbfa19385b9c4a4f15d5c93c91926b", "date": 1717866586.0, "description": "- Added check for negative channels and line_offsets in BeatKey init\n    - Changed move_beat_range logic\n    - unit tests for move_beat_range and overwrite_beat_range", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "037983e12837b9d2abb42b36eecb52eb86c0a28a": {"id": "037983e12837b9d2abb42b36eecb52eb86c0a28a", "date": 1717810555.0, "description": "rewrote overwrite_beat_range()", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "53339132390d92527ff3e2d196aafd997546f399": {"id": "53339132390d92527ff3e2d196aafd997546f399", "date": 1717779134.0, "description": "added overwrite_beat_range_test", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "75bda1fb31925b01f41adc2ec1e4f91882259230": {"id": "75bda1fb31925b01f41adc2ec1e4f91882259230", "date": 1717778159.0, "description": "added bankselect & programchange checks to import_midi unit test", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "7f5c7dd673d25740aa8d2bfc9fed6ab1e1046d11": {"id": "7f5c7dd673d25740aa8d2bfc9fed6ab1e1046d11", "date": 1717777226.0, "description": "cleaned up inconsequential unoptimized line of code", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "124cea29952a0c67d18bc472e6fbf288b8ef665f": {"id": "124cea29952a0c67d18bc472e6fbf288b8ef665f", "date": 1717777008.0, "description": "unit test for get_beatkeys_in_range()", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "e5bc2b4050b788a2c17aaf92886162837b76cff6": {"id": "e5bc2b4050b788a2c17aaf92886162837b76cff6", "date": 1717724581.0, "description": "import_midi(), consider NoteOn on a playing note an implicit NoteOff if applicable", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "cade867c0855eae05ec6528b878eeb98e7c815a0": {"id": "cade867c0855eae05ec6528b878eeb98e7c815a0", "date": 1717722539.0, "description": "removed commented code", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "81e814b8f2a92841d2bf80acb20c10deaa15cac9": {"id": "81e814b8f2a92841d2bf80acb20c10deaa15cac9", "date": 1717722404.0, "description": "tweaked import_midi() so it reduces beat size after splitting up events", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "f98a207fd4db974ca9f279f2330f28425d03989a": {"id": "f98a207fd4db974ca9f279f2330f28425d03989a", "date": 1717711164.0, "description": "fixed imprecise overlap calculation in import_midi()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "c206cc439fab40e4f58c63e35a2fadaf7a95832a": {"id": "c206cc439fab40e4f58c63e35a2fadaf7a95832a", "date": 1717699665.0, "description": "import_midi() unit test", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "8c94192bd40154fd57594623ab9f7a3fd02a3dd8": {"id": "8c94192bd40154fd57594623ab9f7a3fd02a3dd8", "date": 1717695421.0, "description": "removed debug code", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "9d1c2920947d5b06f0feb1994fbaf0db3bc35b3d": {"id": "9d1c2920947d5b06f0feb1994fbaf0db3bc35b3d", "date": 1717693385.0, "description": "commented out some unused code. unit tests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "d6cd5e0a9dd81e8eb3a0ec55d309ab7163cb4d0b": {"id": "d6cd5e0a9dd81e8eb3a0ec55d309ab7163cb4d0b", "date": 1717660927.0, "description": "Removed debug code", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "2ee96dc95a4550b84a96403f1fab588f959f9d85": {"id": "2ee96dc95a4550b84a96403f1fab588f959f9d85", "date": 1717660853.0, "description": "fixed doubling-up SetTempo Event on first tick in get_midi()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "f6ccc8d39cb69d4e1c9947d664e61a6f65d557f0": {"id": "f6ccc8d39cb69d4e1c9947d664e61a6f65d557f0", "date": 1717655867.0, "description": "added test for overwrite_row", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "10445297b15425ada9201d1f2ab0652a6b769e0f": {"id": "10445297b15425ada9201d1f2ab0652a6b769e0f", "date": 1717647931.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/55.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "6a5667e998b0767e5c38b763f83dd5b84a3d4f6a": {"id": "6a5667e998b0767e5c38b763f83dd5b84a3d4f6a", "date": 1717647628.0, "description": "*actually* fixed tempo/midi problem", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "796adc03b6d6c60bd17a1e5634b0f91f4dd1a384": {"id": "796adc03b6d6c60bd17a1e5634b0f91f4dd1a384", "date": 1717645433.0, "description": "get_midi() unitTest. fixed get_midi() not considering correct start beat when applying tempo", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "fedf970e5159976f411f7a4451d0341025cfe40c": {"id": "fedf970e5159976f411f7a4451d0341025cfe40c", "date": 1717608671.0, "description": "version bump", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "f4bdc825b4eacbee04244e1d5a51edb3a278d16f": {"id": "f4bdc825b4eacbee04244e1d5a51edb3a278d16f", "date": 1717608668.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/53.txt"]], "author": "smith.quintin@protonmail.com"}, "b02e4ecb7cd2ef1d99d001144936b0957d146ce3": {"id": "b02e4ecb7cd2ef1d99d001144936b0957d146ce3", "date": 1717607589.0, "description": "created get_maximum_frequency() for future use", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "6b9ba7fcc137ff6489e1532f05c17f5fa0e950af": {"id": "6b9ba7fcc137ff6489e1532f05c17f5fa0e950af", "date": 1717606503.0, "description": "bugfix: unable to change radix", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "dc7b8b3ce8f0eb6d3a61af755e00127bd0a75e6d": {"id": "dc7b8b3ce8f0eb6d3a61af755e00127bd0a75e6d", "date": 1717605081.0, "description": "working on setting lower limit to sample rate", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "8a3f0e33b7bf97c00c434cf4e6a7db9a23828252": {"id": "8a3f0e33b7bf97c00c434cf4e6a7db9a23828252", "date": 1717603465.0, "description": "accounted for stupid % behaviour", "files": [["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "030343b1a53804e02a762c87fd9a8625c9cef706": {"id": "030343b1a53804e02a762c87fd9a8625c9cef706", "date": 1717561997.0, "description": "shift+h and shift+l implemented", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "6e4f89bfd3c4fb1cf1761c745a6332d71591ee44": {"id": "6e4f89bfd3c4fb1cf1761c745a6332d71591ee44", "date": 1717538601.0, "description": "fixed cursor loss when applying undo to an inserted column", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "079b5319d77d370b89e16f652b14932f6a760117": {"id": "079b5319d77d370b89e16f652b14932f6a760117", "date": 1717535998.0, "description": "fixed insert_beat not updating column correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "199aa32a1d2b72810c4557d60d615ffbd6c0e011": {"id": "199aa32a1d2b72810c4557d60d615ffbd6c0e011", "date": 1717454617.0, "description": "added keyboard controls for insert/split/remove/unset leafs as well as Undo()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "ec8c2aca91a50d2bec2465985efc1f95b5301ebb": {"id": "ec8c2aca91a50d2bec2465985efc1f95b5301ebb", "date": 1717362718.0, "description": "implemented changes to remove() on ctl levels", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "262e68c0e6dd68967f5f26de7cdbff4204199016": {"id": "262e68c0e6dd68967f5f26de7cdbff4204199016", "date": 1717362203.0, "description": "implemented remove() on KEYCODE_X. tweaked how remove(count: Int) works", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "145d744b2080955365ed53199bc1af8bf41daa70": {"id": "145d744b2080955365ed53199bc1af8bf41daa70", "date": 1717358701.0, "description": "up/down in CursorMode.Single", "files": [["D", "app/src/main/java/com/qfs/pagan/structure/KeyboardInputInterface.kt"], ["A", "app/src/main/java/com/qfs/pagan/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "b142349622c01bd12dc27e984dcffa71861f1ca2": {"id": "b142349622c01bd12dc27e984dcffa71861f1ca2", "date": 1717272260.0, "description": "work on Keyboard controls", "files": [["A", "app/src/main/java/com/qfs/pagan/structure/KeyboardInputInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "KeyboardCharts/Single.mmd"], ["M", "KeyboardCharts/Row.mmd"]], "author": "smith.quintin@protonmail.com"}, "26a07e1ce35b18e6ac72c5cf60ac30abf65020e4": {"id": "26a07e1ce35b18e6ac72c5cf60ac30abf65020e4", "date": 1717173759.0, "description": "removed extraneous update_channel_instruments() call that was causing ConcurrentModificationError", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "9282af30eafdb0d1b45b0f1c746d989276ba9bdf": {"id": "9282af30eafdb0d1b45b0f1c746d989276ba9bdf", "date": 1717171983.0, "description": "version bump", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "01857587f8efeb943a7bc78c8ddb0e3f7ca9c5f9": {"id": "01857587f8efeb943a7bc78c8ddb0e3f7ca9c5f9", "date": 1717171713.0, "description": "hid Merge options in linking menu", "files": [["M", "app/src/main/res/layout/contextmenu_linking_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking_secondary.xml"]], "author": "smith.quintin@protonmail.com"}, "241448507e81aa5d8b132c77f688305494f7ca53": {"id": "241448507e81aa5d8b132c77f688305494f7ca53", "date": 1717110697.0, "description": "fixed bug in reduce(). wasn't considering the fact that its possible to reduce into an event", "files": [["M", "app/src/test/java/com/qfs/pagan/StructureUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"]], "author": "smith.quintin@protonmail.com"}, "4753197292db7714e3be6a96acb84d8a4b778c6b": {"id": "4753197292db7714e3be6a96acb84d8a4b778c6b", "date": 1717052060.0, "description": "including some mmd files to help map out keyboard inputs", "files": [["A", "KeyboardCharts/Single.mmd"], ["A", "KeyboardCharts/Row.mmd"]], "author": "smith.quintin@protonmail.com"}, "7a9a58513fe93b2e2845d2038d1e292fcb95f186": {"id": "7a9a58513fe93b2e2845d2038d1e292fcb95f186", "date": 1717023243.0, "description": "starting to rough-out keyboard input", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "84efa36dbbf863c303f2e86f7560bb9131d42435": {"id": "84efa36dbbf863c303f2e86f7560bb9131d42435", "date": 1717020960.0, "description": "reduced buffer size on FeedbackDevice", "files": [["M", "app/src/main/res/layout/contextmenu_linking_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking_secondary.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "71cd646b3b7c4918a00c067a15fddcbf52a5854a": {"id": "71cd646b3b7c4918a00c067a15fddcbf52a5854a", "date": 1716968925.0, "description": "hid merge functionality so bugfixes can be released", "files": [["M", "fastlane/metadata/android/en-US/changelogs/52.txt"], ["M", "app/src/test/java/com/qfs/pagan/StructureUnitTest.kt"], ["M", "app/src/main/res/layout/contextmenu_linking_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking_secondary.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLink.kt"]], "author": "smith.quintin@protonmail.com"}, "0f442cfe136949c15666159419ed69aa321a0e60": {"id": "0f442cfe136949c15666159419ed69aa321a0e60", "date": 1716965065.0, "description": "update changelog and version", "files": [["A", "fastlane/metadata/android/en-US/changelogs/52.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "2fd745d757513a6034af2cdd1ed7a58e1e8e08d7": {"id": "2fd745d757513a6034af2cdd1ed7a58e1e8e08d7", "date": 1716964537.0, "description": "throw error on attempting to merge a leaf with itself", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "d1acad7df7e2ee73824fc2669ea5575e6cbdfc05": {"id": "d1acad7df7e2ee73824fc2669ea5575e6cbdfc05", "date": 1716962707.0, "description": "bugfix: crashing on import/load sometimes", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "3b8b2271ba0dce0aa339552f60a8a0ffa5845811": {"id": "3b8b2271ba0dce0aa339552f60a8a0ffa5845811", "date": 1716960756.0, "description": "feedback device doesn't get killed before new_event() anymore", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "fe02af04ed249fcd1adb2f7bc5b10a43a9618e95": {"id": "fe02af04ed249fcd1adb2f7bc5b10a43a9618e95", "date": 1716950493.0, "description": "disabled ui for range-based merging.", "files": [["M", "app/src/test/java/com/qfs/pagan/StructureUnitTest.kt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"]], "author": "smith.quintin@protonmail.com"}, "d3a0bb04d800f68dc8796eb8a23bf90fe5f9fb76": {"id": "d3a0bb04d800f68dc8796eb8a23bf90fe5f9fb76", "date": 1716945919.0, "description": "fixed bug in merge", "files": [["M", "app/src/test/java/com/qfs/pagan/StructureUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"]], "author": "smith.quintin@protonmail.com"}, "cb62e91716f48efd43c7ef63004f0975ec56a4fb": {"id": "cb62e91716f48efd43c7ef63004f0975ec56a4fb", "date": 1716938124.0, "description": "set up a test to help find newest problem with merge", "files": [["M", "app/src/test/java/com/qfs/pagan/StructureUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"]], "author": "smith.quintin@protonmail.com"}, "f44c9d24b664d4f259381c909d6f805a168e23b1": {"id": "f44c9d24b664d4f259381c909d6f805a168e23b1", "date": 1716937345.0, "description": "uncommented a line in reduce() that was commented out with no fucking context. past Quintin can fuck himself", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"]], "author": "smith.quintin@protonmail.com"}, "79cea1f146d1f3e0ea4ae8a712d93d0d0b58cedd": {"id": "79cea1f146d1f3e0ea4ae8a712d93d0d0b58cedd", "date": 1716937090.0, "description": "undid previous commit", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"]], "author": "smith.quintin@protonmail.com"}, "71427df538f458948709bbd117887213c7001310": {"id": "71427df538f458948709bbd117887213c7001310", "date": 1716934533.0, "description": "reworking reduce()", "files": [["M", "app/src/test/java/com/qfs/pagan/StructureUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "c307dae2a5338805055de59c0f73e2d1aca05582": {"id": "c307dae2a5338805055de59c0f73e2d1aca05582", "date": 1716847050.0, "description": "experimenting with merging leafs", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/contextmenu_linking_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking_secondary.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLink.kt"]], "author": "smith.quintin@protonmail.com"}, "2bc935d1e78e28f513f9cffa89bbb405742af36b": {"id": "2bc935d1e78e28f513f9cffa89bbb405742af36b", "date": 1716844720.0, "description": "detached OpusLayerOverLapControl so I can merge  changes to import_midi", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"]], "author": "smith.quintin@protonmail.com"}, "8859d9406c600d4113aebf4c9639b6f42cb15b53": {"id": "8859d9406c600d4113aebf4c9639b6f42cb15b53", "date": 1716787991.0, "description": "fixed crash on remove event", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "90b118830ae958879d66ca9c70ec34444c58bc81": {"id": "90b118830ae958879d66ca9c70ec34444c58bc81", "date": 1716782521.0, "description": "import_midi() bugfixes from overlap related changes", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "e8d76820432d9c49e897ed615c964641fd8282f8": {"id": "e8d76820432d9c49e897ed615c964641fd8282f8", "date": 1716751474.0, "description": "import midi doesn't overlap notes now", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "ac7bb433a22435562ae0cccbf4901d1e0a2c0d3c": {"id": "ac7bb433a22435562ae0cccbf4901d1e0a2c0d3c", "date": 1716745693.0, "description": "filled in is_tree_blocked()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "84258d3b5dcedb17489a9cb88e6b012da7febac5": {"id": "84258d3b5dcedb17489a9cb88e6b012da7febac5", "date": 1716707001.0, "description": "remove/insert beat at overlap control layer", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"]], "author": "smith.quintin@protonmail.com"}, "7bac401b6a2a33596bd1b96b03e282cb4f6f719f": {"id": "7bac401b6a2a33596bd1b96b03e282cb4f6f719f", "date": 1716672589.0, "description": "moved blocker logic into its own layer", "files": [["A", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerOverlapControl.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "865065ec6df8a52261319eb37073a6ae1a550c6c": {"id": "865065ec6df8a52261319eb37073a6ae1a550c6c", "date": 1716667428.0, "description": "work on duration-blocking", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "17ed795b640f2b88e93f5f604dca656526f61c63": {"id": "17ed795b640f2b88e93f5f604dca656526f61c63", "date": 1716593440.0, "description": "initial calculate_overlapping_leafs()", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "054a7aa56c4b134b4591f5f97296bd4e49405e63": {"id": "054a7aa56c4b134b4591f5f97296bd4e49405e63", "date": 1716518781.0, "description": "lint", "files": [["M", "app/src/test/java/com/qfs/pagan/StructureUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"]], "author": "smith.quintin@protonmail.com"}, "182270f8ab50faf26a42f1ee23812225536f812c": {"id": "182270f8ab50faf26a42f1ee23812225536f812c", "date": 1716416037.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "8d6b77cd9a3808174798184ab173bf50c5749516": {"id": "8d6b77cd9a3808174798184ab173bf50c5749516", "date": 1716415580.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "a2769cda1ff7cbf7392be15e9d5408ff32d82940": {"id": "a2769cda1ff7cbf7392be15e9d5408ff32d82940", "date": 1716410579.0, "description": "unit tests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "345da62273683f903f14a0bfc7ebd8f837d5a19f": {"id": "345da62273683f903f14a0bfc7ebd8f837d5a19f", "date": 1716404837.0, "description": "unit testing. moved get_ordered_beat_key_pair() to companion object", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEventSTD.kt"]], "author": "smith.quintin@protonmail.com"}, "2fe01a6586cb6019837a228b83378cdf69a37447": {"id": "2fe01a6586cb6019837a228b83378cdf69a37447", "date": 1716356918.0, "description": "unit tests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "345cf716d4eaea0495f586c94e294d58eb2cfe87": {"id": "345cf716d4eaea0495f586c94e294d58eb2cfe87", "date": 1716341425.0, "description": "removed unused try/catches", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "7a7a6808beddf7fd8aa9242a23aa51bfbe4872e3": {"id": "7a7a6808beddf7fd8aa9242a23aa51bfbe4872e3", "date": 1716336431.0, "description": "tests. removed unused code in get_std_offset()", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"]], "author": "smith.quintin@protonmail.com"}, "d6ad2f77f08b774a9ca195b9d1db2845d40efb1f": {"id": "d6ad2f77f08b774a9ca195b9d1db2845d40efb1f", "date": 1716313402.0, "description": "unit tests, is_tuning_standard coverage", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "d9ab5559049545d9f2ded51ce3909510e97675cf": {"id": "d9ab5559049545d9f2ded51ce3909510e97675cf", "date": 1716280977.0, "description": "code coverage", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/apres/SoundFontUnitTest.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "d5b6cee73d36bdbccfad6bee66d68abe8c7f1492": {"id": "d5b6cee73d36bdbccfad6bee66d68abe8c7f1492", "date": 1716257821.0, "description": "unit tests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"]], "author": "smith.quintin@protonmail.com"}, "2f6bcb7e32c3603aa34c92f949ccb12ee6be3bbe": {"id": "2f6bcb7e32c3603aa34c92f949ccb12ee6be3bbe", "date": 1716245672.0, "description": "unit tests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/apres/SoundFontPlayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"]], "author": "smith.quintin@protonmail.com"}, "227c967011d4f252363e052f138326a9aa69af2e": {"id": "227c967011d4f252363e052f138326a9aa69af2e", "date": 1716241310.0, "description": "updated changelog", "files": [["A", "fastlane/metadata/android/en-US/changelogs/51.txt"]], "author": "smith.quintin@protonmail.com"}, "e7d045b414fcb5f847330daa754c52c6c58275db": {"id": "e7d045b414fcb5f847330daa754c52c6c58275db", "date": 1716188434.0, "description": "update build version", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "8c1dda329e2127db8c4a60458f0eb80028c0bc8d": {"id": "8c1dda329e2127db8c4a60458f0eb80028c0bc8d", "date": 1716188318.0, "description": "removed sample limit and mono mode from configuration menu temporarily", "files": [["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "0ad823a462911d4a44b4c8223040a2db409aee0a": {"id": "0ad823a462911d4a44b4c8223040a2db409aee0a", "date": 1715900728.0, "description": "added changelog", "files": [["A", "fastlane/metadata/android/en-US/changelogs/50.txt"]], "author": "smith.quintin@protonmail.com"}, "7dd9f0bba230e77288a5c2135da50fae512558b7": {"id": "7dd9f0bba230e77288a5c2135da50fae512558b7", "date": 1715898742.0, "description": "fixed: losing feedback after disconnecting from midi device", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "d70618713485eeccd49e926ae432d31e466e5389": {"id": "d70618713485eeccd49e926ae432d31e466e5389", "date": 1715893084.0, "description": "fixed: unlink buttons not appearing", "files": [["M", "app/src/main/java/com/qfs/pagan/ContextMenuLink.kt"]], "author": "smith.quintin@protonmail.com"}, "bc26f4dba1bf23715f8d9482d3526600c9c7461d": {"id": "bc26f4dba1bf23715f8d9482d3526600c9c7461d", "date": 1715892792.0, "description": "merge", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "0fe195c19b223db7c614c57b9c25615dc0a51b2c": {"id": "0fe195c19b223db7c614c57b9c25615dc0a51b2c", "date": 1715880732.0, "description": "fixed remove_column desync'ing columns and labels", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "3e22c7c2564196c0746f08f107c1518ab54906c0": {"id": "3e22c7c2564196c0746f08f107c1518ab54906c0", "date": 1715878848.0, "description": "removed unused ColumnLabelPlaceholder", "files": [["D", "app/src/main/java/com/qfs/pagan/ColumnLabelPlaceHolder.kt"]], "author": "smith.quintin@protonmail.com"}, "270bd765b27085867f4e2cf02a24db720752d7f8": {"id": "270bd765b27085867f4e2cf02a24db720752d7f8", "date": 1715878761.0, "description": "removed redundant update_cursor()", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "066bbfa15d1a80d6f80ec9efc94d9f3f5a359cb6": {"id": "066bbfa15d1a80d6f80ec9efc94d9f3f5a359cb6", "date": 1715870479.0, "description": "fixed wonky range selection", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "4e9607b82a174478b1142218893d05fe5299d650": {"id": "4e9607b82a174478b1142218893d05fe5299d650", "date": 1715838322.0, "description": "correct defaults on event duration dialog", "files": [["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "e0fa7bfd8aec92ccb476a877bf5c1a1f6af3682a": {"id": "e0fa7bfd8aec92ccb476a877bf5c1a1f6af3682a", "date": 1715838069.0, "description": "ignoring when a CellLayout's row doesn't exist", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "e5ad76517dc1e07a73a398922e3e4a83fbd6450e": {"id": "e5ad76517dc1e07a73a398922e3e4a83fbd6450e", "date": 1715816008.0, "description": "fixed initial playbackdevice ignoring configuration.playback_stereo_mode", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "fcaf69e224cfc71942c7951d06d3b0eb3cc075b0": {"id": "fcaf69e224cfc71942c7951d06d3b0eb3cc075b0", "date": 1715812733.0, "description": "update version codes", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "b065c7a51d588729429be8801b784f2d7ad4fd19": {"id": "b065c7a51d588729429be8801b784f2d7ad4fd19", "date": 1715810669.0, "description": "fixed feedback device breaking on soundfont changed", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"]], "author": "smith.quintin@protonmail.com"}, "1a37366cabf089db7a75be9732098dc27134c772": {"id": "1a37366cabf089db7a75be9732098dc27134c772", "date": 1715808139.0, "description": "added stereo mode and sample limit options to configuration menu", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"]], "author": "smith.quintin@protonmail.com"}, "e53b155b2611a0e0891e9001c85df29bd94ff07c": {"id": "e53b155b2611a0e0891e9001c85df29bd94ff07c", "date": 1715804583.0, "description": "limited granularity of tempo trees on import_midi", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "4a96b398f300265c861374047bdc8428a178ec69": {"id": "4a96b398f300265c861374047bdc8428a178ec69", "date": 1715797444.0, "description": "fixed first buffer being doubled", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "32a10fb02d99f6567e44a2cc41b28ea09c2fd80f": {"id": "32a10fb02d99f6567e44a2cc41b28ea09c2fd80f", "date": 1715796084.0, "description": "columns get checked and realigned if necessary regularly", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "22c67b0825d57b87dfd60adeaa5727dd15bf00c5": {"id": "22c67b0825d57b87dfd60adeaa5727dd15bf00c5", "date": 1715787680.0, "description": "per-note sample-limit and mono  playback added to configuration", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "71cbd431d8b783f99a8b0121c5585b550dd8bc21": {"id": "71cbd431d8b783f99a8b0121c5585b550dd8bc21", "date": 1715729425.0, "description": "fixed audio prematurely cutting out", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "a20d89803eb87cdd566d233341eb357bbcbef5b6": {"id": "a20d89803eb87cdd566d233341eb357bbcbef5b6", "date": 1715710170.0, "description": "removed unused code", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "74870b7a989f0889c857c771782c4392099f5ffb": {"id": "74870b7a989f0889c857c771782c4392099f5ffb", "date": 1715710034.0, "description": "forced_scroll_to_x scrolls to center of oversized columns", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "7737b3b4799af2e05ea761b4cb9ffb57c1f1c74f": {"id": "7737b3b4799af2e05ea761b4cb9ffb57c1f1c74f", "date": 1715643383.0, "description": "apply_undo positions the cursor correctly when undoing set_*_ctl_initial_event", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "960f83cf566da77c48cd122d511a74fd42d458d5": {"id": "960f83cf566da77c48cd122d511a74fd42d458d5", "date": 1715642672.0, "description": "link mode radio buttons unset by default", "files": [["M", "app/src/main/res/layout/contextmenu_linking_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking_secondary.xml"]], "author": "smith.quintin@protonmail.com"}, "dc0ab56b2e6badf8d3defbc883a0511f1c965882": {"id": "dc0ab56b2e6badf8d3defbc883a0511f1c965882", "date": 1715642023.0, "description": "escaped an apostrophe", "files": [["M", "app/src/main/res/values/strings.xml"]], "author": "smith.quintin@protonmail.com"}, "3dfb6ce82e2f3ceee714b9816e92cd2879b0c1aa": {"id": "3dfb6ce82e2f3ceee714b9816e92cd2879b0c1aa", "date": 1715641961.0, "description": "a few TODOs; throwing a handful of exceptions, and displaying feedback", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"]], "author": "smith.quintin@protonmail.com"}, "11f03e03eb657a19a070d92f4e9d014248a7f893": {"id": "11f03e03eb657a19a070d92f4e9d014248a7f893", "date": 1715640744.0, "description": "throwing exceptions in bad-state situations. implemented some code Re: unused ControlEventTypes", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/apres/VirtualMidiInputDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "9767c73b95fd2efb44b522bc78fd1bdd8c73371e": {"id": "9767c73b95fd2efb44b522bc78fd1bdd8c73371e", "date": 1715569782.0, "description": "implemented overwrite_channel_ctl_range_horizontally()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "3cfce8839e1aeddb4390748f705df46bb4fb7350": {"id": "3cfce8839e1aeddb4390748f705df46bb4fb7350", "date": 1715569023.0, "description": "removed unused code", "files": [["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "060d3546a20fb5fd95939ac778f0935ff682a512": {"id": "060d3546a20fb5fd95939ac778f0935ff682a512", "date": 1715567746.0, "description": "throw exceptions on attempt to hide unhideable percussion", "files": [["M", "app/src/main/res/xml/data_extraction_rules.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/intermediate_structure_functions.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "36bd9ab575a19e94e86dfc5449b6e66e9a8ac004": {"id": "36bd9ab575a19e94e86dfc5449b6e66e9a8ac004", "date": 1715562555.0, "description": "replaced set_line_volume with set_line_controller_initial_event()\n    changed \"is_linking\" to \"selecting_event\"", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"]], "author": "smith.quintin@protonmail.com"}, "ba2c9600257034553a0f8a36fa6d46d05741749d": {"id": "ba2c9600257034553a0f8a36fa6d46d05741749d", "date": 1715558832.0, "description": "handled a TODO, replaced with NOTE", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "60608f9fabd9ce412b423d26d3c72efa67577c24": {"id": "60608f9fabd9ce412b423d26d3c72efa67577c24", "date": 1715558432.0, "description": "removed unused function 'get_channel_line_counts()'", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "dc5f067a53a7a1073fe08dc8228b2b15719e6d66": {"id": "dc5f067a53a7a1073fe08dc8228b2b15719e6d66", "date": 1715485224.0, "description": "disabled swip-to-open drawer", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "89abeed326c9c031d8634d5f31f0c27f660477f1": {"id": "89abeed326c9c031d8634d5f31f0c27f660477f1", "date": 1715483271.0, "description": "small optimisation to dragging line labels", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"]], "author": "smith.quintin@protonmail.com"}, "07cb3a64796f4d8a0a41221964d1ac01171e12fd": {"id": "07cb3a64796f4d8a0a41221964d1ac01171e12fd", "date": 1715459464.0, "description": "*ACTUALLY* removed stroke on top of editor", "files": [["M", "app/src/main/res/drawable/editor_label_line.xml"], ["M", "app/src/main/res/drawable/editor_label_column.xml"]], "author": "smith.quintin@protonmail.com"}, "581afd99379f5c783ab73976d7f35530288acd66": {"id": "581afd99379f5c783ab73976d7f35530288acd66", "date": 1715459313.0, "description": "removed stroke on top of editor", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/drawable/editor_label_line.xml"], ["D", "app/src/main/res/drawable/editor_label.xml"], ["A", "app/src/main/res/drawable/editor_label_column.xml"]], "author": "smith.quintin@protonmail.com"}, "491bf6f1b488af0405b88896d11c48ce4ff64e89": {"id": "491bf6f1b488af0405b88896d11c48ce4ff64e89", "date": 1715458767.0, "description": "show_context_menu scroll_to_position() wasn't always considering ctl_level", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "d54ac8293c37561feae3b10ca1de0f004ee8b294": {"id": "d54ac8293c37561feae3b10ca1de0f004ee8b294", "date": 1715456960.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"]], "author": "smith.quintin@protonmail.com"}, "a8ede75b12ebad238c42f8943ba662932c081938": {"id": "a8ede75b12ebad238c42f8943ba662932c081938", "date": 1715456751.0, "description": "click-trigger for line labels more sensitive", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"]], "author": "smith.quintin@protonmail.com"}, "4b0872a2a9a87dcdf764026efe18cfd5d2a691b6": {"id": "4b0872a2a9a87dcdf764026efe18cfd5d2a691b6", "date": 1715455338.0, "description": "audio feedback when setting percussion event", "files": [["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"]], "author": "smith.quintin@protonmail.com"}, "6b4bebe810b23568e9036e4ad01afad013897dec": {"id": "6b4bebe810b23568e9036e4ad01afad013897dec", "date": 1715455188.0, "description": "using playbackFrameMap with WavConverter", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WavConverter.kt"]], "author": "smith.quintin@protonmail.com"}, "737e37ab1c3a16f6ae8b7276f501c123476edd9a": {"id": "737e37ab1c3a16f6ae8b7276f501c123476edd9a", "date": 1715455169.0, "description": "fixed convert_old_fmt not considering tempo", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "5012bd3efce4ad92021307ca93895a3b8556232b": {"id": "5012bd3efce4ad92021307ca93895a3b8556232b", "date": 1715448071.0, "description": "fixed width not being considered correctly when scroll_to_position() is called from show_context_menus()", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "0d7d8a61ba9b9069b7140f49f8b3e0122a6b8ac4": {"id": "0d7d8a61ba9b9069b7140f49f8b3e0122a6b8ac4", "date": 1715405353.0, "description": "scroll_to_y now considering control_line_heights (even though its not necessary yet)", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "d012bd599012d03aa93b972c5ba140661a76ed99": {"id": "d012bd599012d03aa93b972c5ba140661a76ed99", "date": 1715403592.0, "description": "forcing scroll when in playback", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "44f3b7ca61e6067c63d4d3dba98c5da2f915b624": {"id": "44f3b7ca61e6067c63d4d3dba98c5da2f915b624", "date": 1715381735.0, "description": "fixed scroll_to_x()", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "33c72d66cf03f4ce48d1a7cb499de12dec737d23": {"id": "33c72d66cf03f4ce48d1a7cb499de12dec737d23", "date": 1715364415.0, "description": "organizing x-scrolling into discrete states", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "d8d34aed4cb5ec9e1f6d7a927c84e1a6bc1c2d7a": {"id": "d8d34aed4cb5ec9e1f6d7a927c84e1a6bc1c2d7a", "date": 1715358349.0, "description": "work on scrolling x (bad state)", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "a10561fa6b04cd2bc920a9f95b4e9c4616fc73c5": {"id": "a10561fa6b04cd2bc920a9f95b4e9c4616fc73c5", "date": 1715297861.0, "description": "work on automatic focusing", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "412f4e4c8ef430eac78ffaec9c4dc914007e24fb": {"id": "412f4e4c8ef430eac78ffaec9c4dc914007e24fb", "date": 1715290084.0, "description": "scroll adjustment firing when on contextmenu update", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuView.kt"]], "author": "smith.quintin@protonmail.com"}, "94c82452e34b47e1a95b65f0ea5e8961035908cd": {"id": "94c82452e34b47e1a95b65f0ea5e8961035908cd", "date": 1715282114.0, "description": "spacing tweaks", "files": [["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"]], "author": "smith.quintin@protonmail.com"}, "8bea7bf8d131164d14a8fa006f074e0a34a67a19": {"id": "8bea7bf8d131164d14a8fa006f074e0a34a67a19", "date": 1715234489.0, "description": "fixed crashes related to the percussion line being hidden/visible when it should be visible/hidden", "files": [["M", "app/src/main/res/layout/contextmenu_row_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row_secondary.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "e1113523a4f8528c0c55bb7287ccddf4ddc0fe5a": {"id": "e1113523a4f8528c0c55bb7287ccddf4ddc0fe5a", "date": 1715219722.0, "description": "primary contextmenu nullable", "files": [["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLink.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeafB.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"]], "author": "smith.quintin@protonmail.com"}, "ead5078218c0a43dcac23e2c1e749412556c14b3": {"id": "ead5078218c0a43dcac23e2c1e749412556c14b3", "date": 1715212688.0, "description": "Work on ContextMenu paddings", "files": [["M", "app/src/main/res/values/dimens.xml"], ["A", "app/src/main/res/values-land/dimens.xml"], ["M", "app/src/main/res/values-h360dp/dimens.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["A", "app/src/main/res/layout/contextmenu_linking_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_linking.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_secondary.xml"], ["A", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout/contextmenu_control_line_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_column.xml"], ["M", "app/src/main/res/layout/contextmenu_cell_percussion.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout/content_main.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["A", "app/src/main/res/layout-land/contextmenu_linking_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking.xml"], ["M", "app/src/main/res/layout-land/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell_percussion.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/res/layout-land/content_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLink.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeafB.kt"]], "author": "smith.quintin@protonmail.com"}, "6f2228ae03cb08372c69cb461c4b949c77449513": {"id": "6f2228ae03cb08372c69cb461c4b949c77449513", "date": 1715197426.0, "description": "work on split context menus", "files": [["A", "app/src/main/res/layout/contextmenu_row_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"], ["A", "app/src/main/res/layout/contextmenu_control_line_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_control_line.xml"], ["A", "app/src/main/res/layout-land/contextmenu_row_secondary.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["A", "app/src/main/res/layout-land/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"]], "author": "smith.quintin@protonmail.com"}, "d712a70db8c13f9d8b7c5dc68294f1ef87d961da": {"id": "d712a70db8c13f9d8b7c5dc68294f1ef87d961da", "date": 1715149967.0, "description": "separated ContextMenu into Primary and Secondary layouts", "files": [["M", "app/src/main/res/layout/fragment_main.xml"], ["A", "app/src/main/res/layout/contextmenu_line_ctl_leaf_secondary.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLink.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeafB.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"]], "author": "smith.quintin@protonmail.com"}, "08b1ca009023fc1d5131ffcde13a6b430b415c65": {"id": "08b1ca009023fc1d5131ffcde13a6b430b415c65", "date": 1715052210.0, "description": "Fixed redundant use of generics in ControlWidget", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEventSTD.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["D", "app/src/main/java/com/qfs/pagan/ControlWidgetVolumeLandscape.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "de8fa1d12c6d58b29e0d3010f98145de627d0a19": {"id": "de8fa1d12c6d58b29e0d3010f98145de627d0a19", "date": 1714970205.0, "description": "added a kludge to save backup_position so the table doesn't lose its place", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "2508c207701b95724460db88098a45748989b202": {"id": "2508c207701b95724460db88098a45748989b202", "date": 1714961617.0, "description": "fixed landscape ContextMenuLine Volume Controls. tweaked ControlWidgetVolume", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEventSTD.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["A", "app/src/main/java/com/qfs/pagan/ControlWidgetVolumeLandscape.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["A", "app/src/main/java/com/qfs/pagan/ButtonLabelledIcon.kt"]], "author": "smith.quintin@protonmail.com"}, "62332c87a4cc5623248fa2e11946785d0dc638a9": {"id": "62332c87a4cc5623248fa2e11946785d0dc638a9", "date": 1714866225.0, "description": "playback can play empty songs", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "62b0ae24802548930e02aa611eadaaee290d85fc": {"id": "62b0ae24802548930e02aa611eadaaee290d85fc", "date": 1714865979.0, "description": "fixed playback stopping on long pauses", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "2878da6ae3ffdc35fa65978c80eedddb38237484": {"id": "2878da6ae3ffdc35fa65978c80eedddb38237484", "date": 1714865139.0, "description": "readded get_size to FrameMap interface. used when exporting Wavs", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WavConverter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "4dcaf5f7b757205e900cbc2d362e66c642f550e8": {"id": "4dcaf5f7b757205e900cbc2d362e66c642f550e8", "date": 1714805396.0, "description": "changed on_beat to on_mark. fixed scroll alignment (still needs a minor tweak)", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WavConverter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "d5df5f2e3c508fbc466e92d6d43210d94e267b4e": {"id": "d5df5f2e3c508fbc466e92d6d43210d94e267b4e", "date": 1714689392.0, "description": "made consistent padding between Leaf/Line Control ContextMenu Widget wrappers", "files": [["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "aa5996c47cd6ac8097a42391c1684ff7451e7108": {"id": "aa5996c47cd6ac8097a42391c1684ff7451e7108", "date": 1714633416.0, "description": "reimplemented OVER_SCROLL_NEVER", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"]], "author": "smith.quintin@protonmail.com"}, "473b826c637f715e48db78997e0a6dc5493a5889": {"id": "473b826c637f715e48db78997e0a6dc5493a5889", "date": 1714629116.0, "description": "fixed tiny x misalignment", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/drawable/leaf.xml"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"]], "author": "smith.quintin@protonmail.com"}, "0504a7d8c997018e758aa44b5e8b6fec86313a29": {"id": "0504a7d8c997018e758aa44b5e8b6fec86313a29", "date": 1714625222.0, "description": "bugfix: check is_ctl_line_visible when adding an entry to the EditorTable's column_width_map", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "a5f3e279eb9d745b8b564f0cb0dc7024c49db7d3": {"id": "a5f3e279eb9d745b8b564f0cb0dc7024c49db7d3", "date": 1714623274.0, "description": "comment", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "25f4e252068b19abed0b914022abd7122740f316": {"id": "25f4e252068b19abed0b914022abd7122740f316", "date": 1714623123.0, "description": "removed lfo", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "705d6f4f577be308df0ce128fe79839c5de4733d": {"id": "705d6f4f577be308df0ce128fe79839c5de4733d", "date": 1714617877.0, "description": "range selection highlighting fixed", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "f7d01d6cc6075d807f4afe25bb016b8752a19fbc": {"id": "f7d01d6cc6075d807f4afe25bb016b8752a19fbc", "date": 1714610018.0, "description": "Created is_beat_selected @ OpusLayerCursor", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"]], "author": "smith.quintin@protonmail.com"}, "072583fe408aa776779a1db6a37961f57f0a7f8a": {"id": "072583fe408aa776779a1db6a37961f57f0a7f8a", "date": 1714606015.0, "description": "copying to row now originates from the original beat", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "df5ed93d16604e03597581416a3a50ac3f31ac4b": {"id": "df5ed93d16604e03597581416a3a50ac3f31ac4b", "date": 1714546260.0, "description": "fixed playback note duration being too long", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "75f6f0431578dd2023c872c539ae088d1c4e6d4e": {"id": "75f6f0431578dd2023c872c539ae088d1c4e6d4e", "date": 1714499291.0, "description": "Variable tempo accurate. need to speed up map_tree function", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "ea0638e34fbb482cdf6a9c56dac8081325af6890": {"id": "ea0638e34fbb482cdf6a9c56dac8081325af6890", "date": 1714452275.0, "description": "improved the math when calculating frames for Playback device", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "76035a50aeefe6e3205fa19cf00af9039b15210a": {"id": "76035a50aeefe6e3205fa19cf00af9039b15210a", "date": 1714277181.0, "description": "fixed copying/moving beat_keys between non/percussion channels", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"]], "author": "smith.quintin@protonmail.com"}, "1c608a8984e72bc76abe4f66b2b07974fdc05d2f": {"id": "1c608a8984e72bc76abe4f66b2b07974fdc05d2f", "date": 1714273559.0, "description": "Created OpusControl Subclasses", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEventSTD.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "53be89e3411bfd61d9adc37c530ab7231c019f7d": {"id": "53be89e3411bfd61d9adc37c530ab7231c019f7d", "date": 1714265728.0, "description": "no longer treating OpusControlEvents as equivalent. They current *are*, but next step is to create individual classes", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "7574344e9877d4eb8f49907ce5f3d9aab76c4543": {"id": "7574344e9877d4eb8f49907ce5f3d9aab76c4543", "date": 1714253310.0, "description": "can no longer overwrite row with beat != 0", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "578e793e4a992e066ede87bad77c83826a7a5f92": {"id": "578e793e4a992e066ede87bad77c83826a7a5f92", "date": 1714252856.0, "description": "switched back to radiogroup from control linking mode", "files": [["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeafB.kt"]], "author": "smith.quintin@protonmail.com"}, "2eb4f33acb21bb46d2a7f4100bbf748f15a850c8": {"id": "2eb4f33acb21bb46d2a7f4100bbf748f15a850c8", "date": 1714246818.0, "description": "No longer ordering range in select_global_ctl_range(...)", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "090cffdeef0c991db3fa10893b7b97677b219413": {"id": "090cffdeef0c991db3fa10893b7b97677b219413", "date": 1714245716.0, "description": "added placeholder tests", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "1ee6a2c7ebcc36e46341949fcc7a49d08e14b0db": {"id": "1ee6a2c7ebcc36e46341949fcc7a49d08e14b0db", "date": 1714242389.0, "description": "basic global line label functionality", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"]], "author": "smith.quintin@protonmail.com"}, "bfcab2b1eb5bd00aafe727f5d19d3b8aec58f054": {"id": "bfcab2b1eb5bd00aafe727f5d19d3b8aec58f054", "date": 1714198151.0, "description": "implemented copy/move ctl ui", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeafB.kt"]], "author": "smith.quintin@protonmail.com"}, "9987da1c6b71468e6bb03e6b0cbb81c2a35fef69": {"id": "9987da1c6b71468e6bb03e6b0cbb81c2a35fef69", "date": 1714149968.0, "description": "create move/copy functions for ctl ranges", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "62f614c45dc8e2724f68012c6311e7e95bf264a1": {"id": "62f614c45dc8e2724f68012c6311e7e95bf264a1", "date": 1713971690.0, "description": "ContextMenuControlLeafB logic", "files": [["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeafB.kt"]], "author": "smith.quintin@protonmail.com"}, "da63c7394c11aa604e6616149e8ee2b346676712": {"id": "da63c7394c11aa604e6616149e8ee2b346676712", "date": 1713896757.0, "description": "unset_*_ctl() consider history", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"]], "author": "smith.quintin@protonmail.com"}, "568acc4ce5c5d8a6ef3756bc7a16fd9f3e7b9cad": {"id": "568acc4ce5c5d8a6ef3756bc7a16fd9f3e7b9cad", "date": 1713896332.0, "description": "use Switch instead of radio for controls move/copy mode", "files": [["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b.xml"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeafB.kt"]], "author": "smith.quintin@protonmail.com"}, "ab23a55d0e2da3d290b2fb70a3ba9401d00aea19": {"id": "ab23a55d0e2da3d290b2fb70a3ba9401d00aea19", "date": 1713889067.0, "description": "cursor_apply handles scroll_to", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "0c199ba3c2b8372062174fdb9851a7abdc9654f7": {"id": "0c199ba3c2b8372062174fdb9851a7abdc9654f7", "date": 1713886838.0, "description": "Fixed unset() not clearing the tree correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "8c28fbfd041eba6ec896c6c4296c548ef31a7a7b": {"id": "8c28fbfd041eba6ec896c6c4296c548ef31a7a7b", "date": 1713885934.0, "description": "Allow setting tempo to the implicit tempo", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "19de64252f6914fb7001a94b6fa0b1e5fad34fa4": {"id": "19de64252f6914fb7001a94b6fa0b1e5fad34fa4", "date": 1713857880.0, "description": "placeholders for ContextMenuLineCtlLeafB switched to ContextMenuLinking", "files": [["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeafB.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "0fe9cd2251757f3a91dfaefeac2b99088e58d174": {"id": "0fe9cd2251757f3a91dfaefeac2b99088e58d174", "date": 1713857669.0, "description": "OpusTree clears divisions when setting event", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"]], "author": "smith.quintin@protonmail.com"}, "18793d517723f1703d2c08e1fc575c2829f55818": {"id": "18793d517723f1703d2c08e1fc575c2829f55818", "date": 1713729805.0, "description": "created ContextMenuLeafB placeholder to allowing copying control trees", "files": [["A", "app/src/main/res/layout/contextmenu_line_ctl_leaf_b.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeafB.kt"]], "author": "smith.quintin@protonmail.com"}, "30559fc2086018b47462d7d27b8cf174e832583c": {"id": "30559fc2086018b47462d7d27b8cf174e832583c", "date": 1713548374.0, "description": "fixed scrolling to wrong row on cursor_select_row (still not working, but at least its looking for the right row)", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "bffab35014c4fb4b69f92b8effa2c6a399a1eec0": {"id": "bffab35014c4fb4b69f92b8effa2c6a399a1eec0", "date": 1713547950.0, "description": "simplified cursor re-application in history stack", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "51441cbc40f93d7cbf8dccf9a03a523a101c3574": {"id": "51441cbc40f93d7cbf8dccf9a03a523a101c3574", "date": 1713545409.0, "description": "fixed row dragging", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "a2d421497ef63afadc8c4c9bf186b5414f9c28e3": {"id": "a2d421497ef63afadc8c4c9bf186b5414f9c28e3", "date": 1713543647.0, "description": "play feedback sound when choosing percussion instrument", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"]], "author": "smith.quintin@protonmail.com"}, "552cfc611cab501597fcf18c1dcf035db2ae6715": {"id": "552cfc611cab501597fcf18c1dcf035db2ae6715", "date": 1713506500.0, "description": "fixed some bad math in variable tempos", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "5abf6591a0acf118c3c0216ed6e9f6cd26159ba8": {"id": "5abf6591a0acf118c3c0216ed6e9f6cd26159ba8", "date": 1713503552.0, "description": "set OpusTree's parent in OpusTree.set()", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "d8e6ef8d982a6abc31294e8342b27c0e88bcbe7b": {"id": "d8e6ef8d982a6abc31294e8342b27c0e88bcbe7b", "date": 1713479888.0, "description": "limit tempo to a precision of .001", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "30b39597437c3be88ddfb57c43acd3c4f9d9fd07": {"id": "30b39597437c3be88ddfb57c43acd3c4f9d9fd07", "date": 1713477408.0, "description": "hide variable volume controls for now", "files": [["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"]], "author": "smith.quintin@protonmail.com"}, "eb646f2c7b9fcdb37a38f61bcdcdb298a378c637": {"id": "eb646f2c7b9fcdb37a38f61bcdcdb298a378c637", "date": 1713473499.0, "description": "Removed some logging", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "a593b5a1352521c54f0330e7a668161a6cb7bd5d": {"id": "a593b5a1352521c54f0330e7a668161a6cb7bd5d", "date": 1713468786.0, "description": "variable tempo on playback working", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "68e0243d0315e5b4f832e7b4af667ee4ec6bb0b4": {"id": "68e0243d0315e5b4f832e7b4af667ee4ec6bb0b4", "date": 1713421320.0, "description": "more work on dynamic tempo", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "2c8fbe3dd336f0c5f7d8e89e4a1c3d8d75416c03": {"id": "2c8fbe3dd336f0c5f7d8e89e4a1c3d8d75416c03", "date": 1713377195.0, "description": "work on variable tempos in playback", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "113dac4cedd425e3ee6b98da2f4df070aafe6449": {"id": "113dac4cedd425e3ee6b98da2f4df070aafe6449", "date": 1713285857.0, "description": "get_beat_frames()  handles variable tempo", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "9b16d70fe84fe2823be55b1ed7f4e23e13bc80dc": {"id": "9b16d70fe84fe2823be55b1ed7f4e23e13bc80dc", "date": 1713220719.0, "description": "in the middle of modifying PlayFrameMap to handle tempo changes", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "31a385fb495239301fbb8eeb4d1171a8851984e7": {"id": "31a385fb495239301fbb8eeb4d1171a8851984e7", "date": 1713215512.0, "description": "rigid line label widths", "files": [["M", "app/src/main/res/layout/contextmenu_control_line.xml"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabelInner.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"]], "author": "smith.quintin@protonmail.com"}, "c12e50a7371ba3a23182ca7fe305532f7b4d1579": {"id": "c12e50a7371ba3a23182ca7fe305532f7b4d1579", "date": 1713213173.0, "description": "line ctl label icons", "files": [["M", "app/src/main/res/values/styles.xml"], ["A", "app/src/main/res/drawable/tempo.xml"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelInner.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "7030e8dc2ae9e9d9be8a80a69f0169cdffe8597c": {"id": "7030e8dc2ae9e9d9be8a80a69f0169cdffe8597c", "date": 1713197604.0, "description": "hide/show volume control lines", "files": [["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["A", "app/src/main/res/drawable/volume_plus.xml"], ["A", "app/src/main/res/drawable/volume_minus.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"]], "author": "smith.quintin@protonmail.com"}, "55dacc74454be5c7772078fd54ad3134de26e553": {"id": "55dacc74454be5c7772078fd54ad3134de26e553", "date": 1713119531.0, "description": "change is_ctl_level_visible() to is_ctl_line_visible() for per-ctl-line control. defaults to always showing BPM line", "files": [["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "f71e837afb8a9610206aa6348d6bc836e5fb529a": {"id": "f71e837afb8a9610206aa6348d6bc836e5fb529a", "date": 1713117477.0, "description": "control lines colours set up and configurable", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "4b0a259d2375b1296d42e76f6173906ee242bee5": {"id": "4b0a259d2375b1296d42e76f6173906ee242bee5", "date": 1713072125.0, "description": "returned LeafButtonStd coloring to normal when ctl lines are visible", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "9b988738560ac2250a2b90b420e8d9945fe481de": {"id": "9b988738560ac2250a2b90b420e8d9945fe481de", "date": 1713026718.0, "description": "ctl leaf & line colors work (still using placeholder colors)", "files": [["M", "app/src/main/res/values/styles.xml"], ["A", "app/src/main/res/drawable/editor_label_ctl_line.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorMap.kt"]], "author": "smith.quintin@protonmail.com"}, "e834a4533b7352af31242cf12039ea7203e90418": {"id": "e834a4533b7352af31242cf12039ea7203e90418", "date": 1712943159.0, "description": "merge", "files": [["M", "app/src/main/res/values/styles.xml"], ["A", "app/src/main/res/drawable/ctl_leaf.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorMap.kt"]], "author": "smith.quintin@protonmail.com"}, "fa0e449f3f3f7bc4a231ef741abd503000675ae3": {"id": "fa0e449f3f3f7bc4a231ef741abd503000675ae3", "date": 1712891381.0, "description": "fixed bad remove_beat() logic", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "fd5f3ca66e645df620eb7402c96ba8b7904424a4": {"id": "fd5f3ca66e645df620eb7402c96ba8b7904424a4", "date": 1712878761.0, "description": "created toggle_percussion_visibility() in OpusLayerInterface", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "cc58fb51bc6f80c9344a3b2e6d3d427a52976855": {"id": "cc58fb51bc6f80c9344a3b2e6d3d427a52976855", "date": 1712870616.0, "description": "refresh control widgets when init_widget isn't called", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "e39a3328eb94bdead42acbe714e9434247ac4c7b": {"id": "e39a3328eb94bdead42acbe714e9434247ac4c7b", "date": 1712855072.0, "description": "reorganized LeafButton & ControlLeafButton into LeafButton abstract super class", "files": [["M", "app/src/main/res/values/styles.xml"], ["A", "app/src/main/java/com/qfs/pagan/LeafButtonStd.kt"], ["D", "app/src/main/java/com/qfs/pagan/ControlLeafButtonLine.kt"], ["A", "app/src/main/java/com/qfs/pagan/LeafButtonCtlLine.kt"], ["D", "app/src/main/java/com/qfs/pagan/ControlLeafButtonGlobal.kt"], ["A", "app/src/main/java/com/qfs/pagan/LeafButtonCtlGlobal.kt"], ["D", "app/src/main/java/com/qfs/pagan/ControlLeafButtonChannel.kt"], ["A", "app/src/main/java/com/qfs/pagan/LeafButtonCtlChannel.kt"], ["A", "app/src/main/java/com/qfs/pagan/LeafButtonCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["D", "app/src/main/java/com/qfs/pagan/ControlLeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "96fab7be50d2d5b86512a89819bcdd4ea70bc354": {"id": "96fab7be50d2d5b86512a89819bcdd4ea70bc354", "date": 1712852405.0, "description": "toggle ctl lines functionality and placeholder button", "files": [["M", "app/src/main/res/layout/fragment_song_config.xml"], ["A", "app/src/main/res/drawable/ctl_toggle_enabled.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "8cd198f66f75a90103e437cba15249a2f64f6416": {"id": "8cd198f66f75a90103e437cba15249a2f64f6416", "date": 1712813469.0, "description": "float dialog", "files": [["M", "app/src/main/res/values/attrs.xml"], ["M", "app/src/main/res/layout/dialog_tuning_map.xml"], ["M", "app/src/main/res/layout/dialog_split.xml"], ["A", "app/src/main/res/layout/dialog_float.xml"], ["M", "app/src/main/res/layout/color_picker.xml"], ["M", "app/src/main/java/com/qfs/pagan/TuningMapRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedTextWatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumeralFilter.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetReverb.kt"]], "author": "smith.quintin@protonmail.com"}, "2a454e53e39b5effb8c51b3a675c29a170795c24": {"id": "2a454e53e39b5effb8c51b3a675c29a170795c24", "date": 1712781454.0, "description": "ContextMenuLine enables/disables remove button instead of showing/hiding", "files": [["M", "app/src/main/res/layout/dropdown_menu_item.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"]], "author": "smith.quintin@protonmail.com"}, "70d6952ef8aa4950b8e7bc53ed8a9e1c62f4341a": {"id": "70d6952ef8aa4950b8e7bc53ed8a9e1c62f4341a", "date": 1712775424.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"]], "author": "smith.quintin@protonmail.com"}, "8f6f260c5c2688eb88acfe820a16390b3e675190": {"id": "8f6f260c5c2688eb88acfe820a16390b3e675190", "date": 1712771333.0, "description": "tempo & volume input don't do callback if value doesn't change", "files": [["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"]], "author": "smith.quintin@protonmail.com"}, "4db287376d74f6b2ff255ddd64d8614df3ee03f7": {"id": "4db287376d74f6b2ff255ddd64d8614df3ee03f7", "date": 1712767093.0, "description": "ControlTempoWidget working", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "e007ec116655303db16788a8c25e51dbe4db943d": {"id": "e007ec116655303db16788a8c25e51dbe4db943d", "date": 1712766472.0, "description": "ControlVolumeWidget good enough", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/res/layout/contextmenu_control_line.xml"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlLeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ButtonStd.kt"]], "author": "smith.quintin@protonmail.com"}, "a2a3462532351cba555ff2b827ebba7e87b12a63": {"id": "a2a3462532351cba555ff2b827ebba7e87b12a63", "date": 1712761529.0, "description": "implemented ControlWidget in ControlLeaf context Menu", "files": [["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "83d2494f0ea0143e5861424dca5af919283552e3": {"id": "83d2494f0ea0143e5861424dca5af919283552e3", "date": 1712634472.0, "description": "generalized ControlWidget. implemented simple ControlWidget VOlume w Callback", "files": [["M", "app/src/main/res/layout/contextmenu_control_line.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["A", "app/src/main/java/com/qfs/pagan/ControlWidgetTempo.kt"], ["A", "app/src/main/java/com/qfs/pagan/ControlWidgetReverb.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"]], "author": "smith.quintin@protonmail.com"}, "4adc74a391c0210b5aaee81ebe6b3cc3c8866c13": {"id": "4adc74a391c0210b5aaee81ebe6b3cc3c8866c13", "date": 1712595423.0, "description": "Started work on ControLWidget", "files": [["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_control_line.xml"], ["A", "app/src/main/java/com/qfs/pagan/ControlWidgetVolume.kt"], ["A", "app/src/main/java/com/qfs/pagan/ControlWidget.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"]], "author": "smith.quintin@protonmail.com"}, "d6aaa533cc1856b4e0403e3ffaf88bedcc7922c7": {"id": "d6aaa533cc1856b4e0403e3ffaf88bedcc7922c7", "date": 1712592321.0, "description": "disable delete/copy buttons instead of hiding. fixed crash on delete", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "2fb232983170f70734397dc20224bbcb7f26a9d1": {"id": "2fb232983170f70734397dc20224bbcb7f26a9d1", "date": 1712591632.0, "description": "disable remove column butotn instead of hiding", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"]], "author": "smith.quintin@protonmail.com"}, "f69e997108dea73e171a8faed5ea453b4150aa7d": {"id": "f69e997108dea73e171a8faed5ea453b4150aa7d", "date": 1712548112.0, "description": "- Disable buttons instead of hiding them\n    - Placeholder Ctl Line ContextMenu", "files": [["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"], ["A", "app/src/main/res/layout/contextmenu_control_line.xml"], ["M", "app/src/main/res/layout/contextmenu_cell_percussion.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/drawable/button_icon_pressed.xml"], ["A", "app/src/main/res/drawable/button_icon_disabled.xml"], ["M", "app/src/main/res/drawable/button_icon.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenuControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ButtonStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/ButtonIcon.kt"]], "author": "smith.quintin@protonmail.com"}, "18ceffd2d48210f14016a39ea343a294020a32c9": {"id": "18ceffd2d48210f14016a39ea343a294020a32c9", "date": 1712514132.0, "description": "exported midis handle tempo changes", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "4015230388a90c1c529d865f7589963a72249b5d": {"id": "4015230388a90c1c529d865f7589963a72249b5d", "date": 1712513156.0, "description": "imported midis set the initial_value when the tempo is set on the first possible position", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "218766ef1af38f3e9b12cef8a065eca459e44cfd": {"id": "218766ef1af38f3e9b12cef8a065eca459e44cfd", "date": 1712512066.0, "description": "import midi tracks tempo changes", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "efc4582fecfc6c0127e7c70df05c482b2716c8c2": {"id": "efc4582fecfc6c0127e7c70df05c482b2716c8c2", "date": 1712448474.0, "description": "ctl line labels type specific", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelCtl.kt"]], "author": "smith.quintin@protonmail.com"}, "9dfc34e04f7190387531b20d8aab2b5e9555d5a6": {"id": "9dfc34e04f7190387531b20d8aab2b5e9555d5a6", "date": 1712447686.0, "description": "more work on ctl lines ui", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "5e10740d3760575286b87a5d1e8b54d567313561": {"id": "5e10740d3760575286b87a5d1e8b54d567313561", "date": 1712421409.0, "description": "implemented remove/unset at history & cursor levels", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "da327889caa98eddf1dd7ac26c4b76dac81c6eba": {"id": "da327889caa98eddf1dd7ac26c4b76dac81c6eba", "date": 1712378891.0, "description": "implemented placeholder value-setter functionality for ctl lines", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "8d300f245a5a5c93acd84f7231a2abdf977faa7d": {"id": "8d300f245a5a5c93acd84f7231a2abdf977faa7d", "date": 1712336465.0, "description": "added button functionality for all (except value) buttons in control leaf context menu", "files": [["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEventSTD.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"]], "author": "smith.quintin@protonmail.com"}, "01559ed3a4283a72dea870c05863b8415d028b71": {"id": "01559ed3a4283a72dea870c05863b8415d028b71", "date": 1712292140.0, "description": "basic split implemented for control lines", "files": [["M", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLink.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"]], "author": "smith.quintin@protonmail.com"}, "ee066b59879b1a4cce6f280f34344b897b836f0e": {"id": "ee066b59879b1a4cce6f280f34344b897b836f0e", "date": 1712250980.0, "description": "refactored ContextMenu System", "files": [["M", "app/src/main/res/layout/fragment_main.xml"], ["A", "app/src/main/res/layout/contextmenu_cell_percussion.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["A", "app/src/main/res/layout-land/contextmenu_cell_percussion.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenuLink.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenuLeafPercussion.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenuControlLeaf.kt"], ["M", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"]], "author": "smith.quintin@protonmail.com"}, "6e2de97c20974405300558739ffac799ab4d3370": {"id": "6e2de97c20974405300558739ffac799ab4d3370", "date": 1712215656.0, "description": "separating ContextMenus into their own View Classes", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenuView.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenuLine.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenuLeaf.kt"], ["A", "app/src/main/java/com/qfs/pagan/ContextMenuColumn.kt"]], "author": "smith.quintin@protonmail.com"}, "ba146f1e71fadb2f412d2af3bf6aebcc90e963f2": {"id": "ba146f1e71fadb2f412d2af3bf6aebcc90e963f2", "date": 1712166281.0, "description": "rough framework for Line Ctl Leaf ContextMenus", "files": [["M", "app/src/main/res/layout/fragment_main.xml"], ["A", "app/src/main/res/layout/contextmenu_line_ctl_leaf.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEventSTD.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "793ebd970e9257994ea6b61783e13b147c75c112": {"id": "793ebd970e9257994ea6b61783e13b147c75c112", "date": 1712135936.0, "description": "tap to select control line leafs. Still need the context menus", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlLeafButtonLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlLeafButtonGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlLeafButtonChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlLeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "b34030564a01d45bc4924f6295005454bc5fcf6d": {"id": "b34030564a01d45bc4924f6295005454bc5fcf6d", "date": 1712115007.0, "description": "fixed false positive when highlighting line labels", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtlChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "44d131edcda7daf0dd881e7ba222442f2d52a6f6": {"id": "44d131edcda7daf0dd881e7ba222442f2d52a6f6", "date": 1712078231.0, "description": "control leaf highlighting", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelCtl.kt"], ["A", "app/src/main/java/com/qfs/pagan/ControlLeafButtonLine.kt"], ["A", "app/src/main/java/com/qfs/pagan/ControlLeafButtonGlobal.kt"], ["A", "app/src/main/java/com/qfs/pagan/ControlLeafButtonChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlLeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "c824ecfeabde368709f31e2c945de83f72689402": {"id": "c824ecfeabde368709f31e2c945de83f72689402", "date": 1712012618.0, "description": "show_percussion defaults to true", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "a78703426d8ac9732e884dd00b567f3971ab0ca8": {"id": "a78703426d8ac9732e884dd00b567f3971ab0ca8", "date": 1711942396.0, "description": "recache line maps on load/import if show_percussion is changed", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabelStd.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabelInner.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabelCtlLine.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabelCtlGlobal.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabelCtlChannel.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabelCtl.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafText.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "6ffbed95df9a827a0a067101ba38cff4d1b7195c": {"id": "6ffbed95df9a827a0a067101ba38cff4d1b7195c", "date": 1711838345.0, "description": "reset_row() created", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "4736ab4971b85e73a35980dc3e6b04882a462b77": {"id": "4736ab4971b85e73a35980dc3e6b04882a462b77", "date": 1711819325.0, "description": "Ctl Line Labels will be highlighted when range is selected", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "a6ffd0df635e94b52f05403c35ca51a59dab543c": {"id": "a6ffd0df635e94b52f05403c35ca51a59dab543c", "date": 1711818735.0, "description": "set up placeholder text for control leaf", "files": [["M", "app/src/main/java/com/qfs/pagan/ControlLeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "7e76e3ab4a6e19953b3ecb97a88eec1b6f136e28": {"id": "7e76e3ab4a6e19953b3ecb97a88eec1b6f136e28", "date": 1711818279.0, "description": "implemented on_click() for ctl  line labels", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"]], "author": "smith.quintin@protonmail.com"}, "db2d7074fe480a0e98ce89ede49b5088a76b80b9": {"id": "db2d7074fe480a0e98ce89ede49b5088a76b80b9", "date": 1711748380.0, "description": "created separate classes for lines and control lines", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlLeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "133b634b75f67a475935bbe96c1a5807b903b4b0": {"id": "133b634b75f67a475935bbe96c1a5807b903b4b0", "date": 1711580946.0, "description": "Control Lines Integrated. No functionality yet", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "a72b19245a8f65ca469bb4b13cd5bbeacbab9cb8": {"id": "a72b19245a8f65ca469bb4b13cd5bbeacbab9cb8", "date": 1711572976.0, "description": "created interface function on OpusInterfaceLayer to transalte ctl lines to visible liens", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "cb63402b65dc5f88f521447484643f2f240236cb": {"id": "cb63402b65dc5f88f521447484643f2f240236cb", "date": 1711558791.0, "description": "loading/importing sets forces default controllers", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "73684a8c12e2a0087611ddc7f2a1dc2576541532": {"id": "73684a8c12e2a0087611ddc7f2a1dc2576541532", "date": 1711480298.0, "description": "EditorTable now takes Coordinates instead of BeatKeys to update cells", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "62732d5cf76811e354b6c3d3e68291f28aeac9ba": {"id": "62732d5cf76811e354b6c3d3e68291f28aeac9ba", "date": 1711431191.0, "description": "EditorTable::update_cursor() handling ctl levels [sort of]", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "de74dd6b5bece4acbf9ba4f69245686179dd9eb5": {"id": "de74dd6b5bece4acbf9ba4f69245686179dd9eb5", "date": 1711388284.0, "description": "EditorTable handles control lines when setting up column width map and when inserting new columns", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlLeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "923a84fe54a6768853ad2257a45890d1f8c96718": {"id": "923a84fe54a6768853ad2257a45890d1f8c96718", "date": 1711387108.0, "description": "OpusCursor now handles CtlLineLevel and ControlEventType", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "30f9e5dd5e2c8c66f54f2c436d96bcdd18759ba3": {"id": "30f9e5dd5e2c8c66f54f2c436d96bcdd18759ba3", "date": 1711386159.0, "description": "placeholder line-labels for control lines", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlLeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "2ce6b505672dbe5c4f5e84bb21cefd8cabfe225b": {"id": "2ce6b505672dbe5c4f5e84bb21cefd8cabfe225b", "date": 1711335494.0, "description": "insert/remove beats sets controllers sizes correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "dbddd349d3794376b1e02709ac76f2fb622aae5d": {"id": "dbddd349d3794376b1e02709ac76f2fb622aae5d", "date": 1711304343.0, "description": "modified new_row to allow ActiveControllers as argument instead of OpusLine", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "9fe6402760f280d7615abe289f6ddfa0d12487e1": {"id": "9fe6402760f280d7615abe289f6ddfa0d12487e1", "date": 1711229455.0, "description": "more work  on control lines", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ControlLeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "5ef060da57544214dde60d71620d9584830ba2cb": {"id": "5ef060da57544214dde60d71620d9584830ba2cb", "date": 1711214753.0, "description": "working on a place-holder ControlLeafButton", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["A", "app/src/main/java/com/qfs/pagan/ControlLeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "13b4c423b1aa7d4cb4a116e91954ce5c17dea7ef": {"id": "13b4c423b1aa7d4cb4a116e91954ce5c17dea7ef", "date": 1711132088.0, "description": "finished base-layer functions for controllers. starting work on dedicated view for leaf", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/CtlLineLevel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "d42a7e99c36dd626fbca1ecc7acc36e21186bbcf": {"id": "d42a7e99c36dd626fbca1ecc7acc36e21186bbcf", "date": 1711067113.0, "description": "started implementing base-layer functions for control lines", "files": [["A", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEventSTD.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"]], "author": "smith.quintin@protonmail.com"}, "0744d2c1c144ab48376d46691d64d409f8a1b96a": {"id": "0744d2c1c144ab48376d46691d64d409f8a1b96a", "date": 1711040409.0, "description": "implemented get/set ctl events on base layer", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "e84e8350b8746b1b01c0fab6ccc5b813d9215783": {"id": "e84e8350b8746b1b01c0fab6ccc5b813d9215783", "date": 1710974167.0, "description": "loading previous projects functional", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEventSTD.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/ActiveControlSet.kt"], ["M", "app/src/main/java/com/qfs/pagan/ButtonStd.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Modulator.kt"]], "author": "smith.quintin@protonmail.com"}, "991d683a1d74db0e01cfc09777283aad265ba6ae": {"id": "991d683a1d74db0e01cfc09777283aad265ba6ae", "date": 1710916638.0, "description": "working on changes saving/loading new format to handle ActiveControlSets", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEventSTD.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"]], "author": "smith.quintin@protonmail.com"}, "ef74276bb0f0129b45baa7255d9dcd53407d1bfb": {"id": "ef74276bb0f0129b45baa7255d9dcd53407d1bfb", "date": 1710882880.0, "description": "started working on inline tempo, volume, etc control", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/LinkLayerUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/HistoryLayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEvent.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEventSTD.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/OpusControlLine.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["M", "app/src/main/java/com/qfs/pagan/intermediate_structure_functions.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "76ff2c42825f663824d02ae16de233887c17cde5": {"id": "76ff2c42825f663824d02ae16de233887c17cde5", "date": 1710638474.0, "description": "check loop size isn't 0 in samples", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "bcd5f2f63c23a3986c459d8636cfa05c30aa2087": {"id": "bcd5f2f63c23a3986c459d8636cfa05c30aa2087", "date": 1710548143.0, "description": "Modulators associated with SampleHandles, Still not being considered", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "7b1b3eeeb7887c02aeb9355b8faebf1266fe39e6": {"id": "7b1b3eeeb7887c02aeb9355b8faebf1266fe39e6", "date": 1710528272.0, "description": "Modulators now being included in Sample Generation. Not yet handled in playback", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Preset.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Modulator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Instrument.kt"]], "author": "smith.quintin@protonmail.com"}, "d98ee8d7ab70ef6599bb5df495877826d6450419": {"id": "d98ee8d7ab70ef6599bb5df495877826d6450419", "date": 1710483908.0, "description": "low pass filter working (ostensibly)", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "95ae54a2852ce44f6a43429ddc9dcfbb22858ffa": {"id": "95ae54a2852ce44f6a43429ddc9dcfbb22858ffa", "date": 1710478775.0, "description": "removed backburner code", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "3342f6370d5a74efcb1d9219990647200c8433c7": {"id": "3342f6370d5a74efcb1d9219990647200c8433c7", "date": 1710450759.0, "description": "low-pass-filter that doesn't appear to break anything", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "29a7d75d4698d291c808d74634be98a9c6363c63": {"id": "29a7d75d4698d291c808d74634be98a9c6363c63", "date": 1710441167.0, "description": "only update context menu when changing cursor state", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "e21a0df8586b24f00fd682622adeb7ce08de9173": {"id": "e21a0df8586b24f00fd682622adeb7ce08de9173", "date": 1710406559.0, "description": "update context menu when adding line", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "3bb559694e56a32eeab8fcf649da72694d5fbd24": {"id": "3bb559694e56a32eeab8fcf649da72694d5fbd24", "date": 1710400833.0, "description": "intent clarifying comment", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "9825ec58c16865f9d28d24df0234da1d922c87de": {"id": "9825ec58c16865f9d28d24df0234da1d922c87de", "date": 1710297995.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/49.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "22dcae9f5b619767eb013316badef5bf167155bf": {"id": "22dcae9f5b619767eb013316badef5bf167155bf", "date": 1710297680.0, "description": "commented out more reverb variables", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "7b91f8fef80b20ab3dac417c8f1e6c84be299237": {"id": "7b91f8fef80b20ab3dac417c8f1e6c84be299237", "date": 1710296574.0, "description": "urgent bugfix: crashed when soundfont didn't specify global zones", "files": [["M", "app/src/test/java/com/qfs/apres/SoundFontUnitTest.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Instrument.kt"]], "author": "smith.quintin@protonmail.com"}, "b8c3ee9b1c52ce7cb674322a73784f29cb45d526": {"id": "b8c3ee9b1c52ce7cb674322a73784f29cb45d526", "date": 1710293827.0, "description": "trim instruments' labels in config menu and popup menu", "files": [["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "af8af320f8015aa57d054d1555321df1f199d8a8": {"id": "af8af320f8015aa57d054d1555321df1f199d8a8", "date": 1710293479.0, "description": "use default Sample/InstrumentDirectives for global_zones instead of nulls", "files": [["M", "app/src/test/java/com/qfs/apres/SoundFontPlayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Preset.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Instrument.kt"]], "author": "smith.quintin@protonmail.com"}, "1b25aa17fa1b56267e8ca5937d47ccfb17b8b01c": {"id": "1b25aa17fa1b56267e8ca5937d47ccfb17b8b01c", "date": 1710292650.0, "description": "put reverb on the backburner", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "daa1af5df42ccd87ddc4c1cd0064091dac9a04f4": {"id": "daa1af5df42ccd87ddc4c1cd0064091dac9a04f4", "date": 1710282971.0, "description": "very rough, naive reverb implemented", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ReverbDynamics.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ReverbBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "41fb983353cdf27827f9f7013a7a4bcadbe7012c": {"id": "41fb983353cdf27827f9f7013a7a4bcadbe7012c", "date": 1710270787.0, "description": "ReverbBuffer created to track reverb values", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ReverbDynamics.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ReverbBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "c483d26be9489c4908d5b605b6758bd809d8a177": {"id": "c483d26be9489c4908d5b605b6758bd809d8a177", "date": 1710218559.0, "description": "started work on reverb", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/ReverbDynamics.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/ReverbBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "b28eebb891adfe21922ea3a1b7cfafe3a0ab14b0": {"id": "b28eebb891adfe21922ea3a1b7cfafe3a0ab14b0", "date": 1710186987.0, "description": "improved some variable names", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "34d5f10da93348a60297147c18be80acee669a34": {"id": "34d5f10da93348a60297147c18be80acee669a34", "date": 1710139304.0, "description": "increased default sample rate to 44100", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "d00734d370d0cbfda0624fccd29b2e8a09cdb655": {"id": "d00734d370d0cbfda0624fccd29b2e8a09cdb655", "date": 1710138192.0, "description": "bugfix 46: fixed 'jump to' not always working", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "c964eae20bf3e6ad9462e49b98f169524618ec88": {"id": "c964eae20bf3e6ad9462e49b98f169524618ec88", "date": 1710044511.0, "description": "separated setting context menus' buttons visibilities and setting their onclicklisteners", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "141956c3af9ae7afbd7d1d1ab7f549208f04e982": {"id": "141956c3af9ae7afbd7d1d1ab7f549208f04e982", "date": 1710024268.0, "description": "undid bad optimization", "files": [["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"]], "author": "smith.quintin@protonmail.com"}, "5c3949bda397693c3aea14274cadf5c315591699": {"id": "5c3949bda397693c3aea14274cadf5c315591699", "date": 1710008165.0, "description": "overlap calculations disregard consecutive overlaps", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "d41beaad4f54fa699d03aa1d46358af280cbbbfe": {"id": "d41beaad4f54fa699d03aa1d46358af280cbbbfe", "date": 1710007044.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"]], "author": "smith.quintin@protonmail.com"}, "ad629ee909773c7bce0ada60a848075879d71e42": {"id": "ad629ee909773c7bce0ada60a848075879d71e42", "date": 1710004298.0, "description": "replaced forEach usage with std for loops", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "2a3c4cc3f62c214e1173e280b14e6a8e1f76008c": {"id": "2a3c4cc3f62c214e1173e280b14e6a8e1f76008c", "date": 1710003744.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WavConverter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "4e05e82febbba2e0eb3156acccae5c0e2a045be8": {"id": "4e05e82febbba2e0eb3156acccae5c0e2a045be8", "date": 1709965255.0, "description": "removed artifact comment", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "00d44515a152c8da18158f0138fa992be828f2f4": {"id": "00d44515a152c8da18158f0138fa992be828f2f4", "date": 1709965211.0, "description": "added note explaining intent", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "1a00547b6bdeabf4ae238dcfdae9d04ebd27c0b0": {"id": "1a00547b6bdeabf4ae238dcfdae9d04ebd27c0b0", "date": 1709964691.0, "description": "lint; moved some on*listeners into class methods", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["A", "app/src/main/java/com/qfs/pagan/CompoundScrollView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelRecycler.kt"]], "author": "smith.quintin@protonmail.com"}, "e99f18455218beb3bdb89666058ed60ec5618fb1": {"id": "e99f18455218beb3bdb89666058ed60ec5618fb1", "date": 1709957175.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "a05756b6fb9b808c3daf99a3e22bd50633dc3d3e": {"id": "a05756b6fb9b808c3daf99a3e22bd50633dc3d3e", "date": 1709920307.0, "description": "lint", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/TuningMapRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedTextWatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganEditText.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MidiFeedbackDispatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeftAlignedLayoutManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/IntentFragmentToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/InlineColorPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentPagan.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelPlaceHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ButtonColor.kt"]], "author": "smith.quintin@protonmail.com"}, "c0e544791fa78ebbe1fec1d0bfd20803560d329b": {"id": "c0e544791fa78ebbe1fec1d0bfd20803560d329b", "date": 1709916283.0, "description": "wasn't clearing cursor after import. (replace_tree was setting it)", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"]], "author": "smith.quintin@protonmail.com"}, "9126d197a9db67fc52a35f1634a49afdecdb260f": {"id": "9126d197a9db67fc52a35f1634a49afdecdb260f", "date": 1709676643.0, "description": "updated get-it-on-fdroid badge in readme", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "81f98954589beb26eb6d0f6bae6bf41243d8296f": {"id": "81f98954589beb26eb6d0f6bae6bf41243d8296f", "date": 1709600909.0, "description": "moved fastlane changelog 47 -> 48", "files": [["D", "fastlane/metadata/android/en-US/changelogs/47.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/48.txt"]], "author": "smith.quintin@protonmail.com"}, "f491e51266abbbc54965e2c51407006c7975ec05": {"id": "f491e51266abbbc54965e2c51407006c7975ec05", "date": 1709598539.0, "description": "version bump (screwed up google play release)", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "4fdf3fc5de3785adad4c654db8613550501c99e2": {"id": "4fdf3fc5de3785adad4c654db8613550501c99e2", "date": 1709595715.0, "description": "[re]moved cursor_selects out of Editor fragment into OpusLayerCursor", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"]], "author": "smith.quintin@protonmail.com"}, "cc7b918e65705c8223004ad0c75f7f60a9301252": {"id": "cc7b918e65705c8223004ad0c75f7f60a9301252", "date": 1709592262.0, "description": "fixed bad playback reset when quickly stopping and starting playback", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "98dd757515334a247aad90a5bf892ad1d9891a4e": {"id": "98dd757515334a247aad90a5bf892ad1d9891a4e", "date": 1709580094.0, "description": "force remove ACCESS_NETWORK_STATE permission", "files": [["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "55f1b0fdadc59a8200da8d50e1b9e49ca134c105": {"id": "55f1b0fdadc59a8200da8d50e1b9e49ca134c105", "date": 1709522143.0, "description": "removed debug", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "d1ccf5453e4d72379847a1bef91fb3aab55c6140": {"id": "d1ccf5453e4d72379847a1bef91fb3aab55c6140", "date": 1709521407.0, "description": "update cells on create_link_pool", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "fb360d3ffc65c0ea15e003889e59aab35d331b77": {"id": "fb360d3ffc65c0ea15e003889e59aab35d331b77", "date": 1709517096.0, "description": "populate active percussion names on load", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "78cbf3fec75db9d55714969acb296198e41273f8": {"id": "78cbf3fec75db9d55714969acb296198e41273f8", "date": 1709502185.0, "description": "using 360dp as small screen", "files": [["D", "app/src/main/res/values-h440dp/integers.xml"], ["A", "app/src/main/res/values-h360dp/integers.xml"], ["D", "app/src/main/res/values-h440dp/dimens.xml"], ["A", "app/src/main/res/values-h360dp/dimens.xml"]], "author": "smith.quintin@protonmail.com"}, "a98ce41c53aa0388f0e429fbe79058e180773992": {"id": "a98ce41c53aa0388f0e429fbe79058e180773992", "date": 1709502165.0, "description": "fixed crash on set soundfont", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "981b22f97bd843f01624dd557375a3390fe7dbd9": {"id": "981b22f97bd843f01624dd557375a3390fe7dbd9", "date": 1709497901.0, "description": "smaller screens show a maximum of 6 notes per column in the number picker", "files": [["A", "app/src/main/res/values/integers.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values/attrs.xml"], ["A", "app/src/main/res/values-h440dp/integers.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "c70def57f9dbb7332975cd75502614c1fbe7416a": {"id": "c70def57f9dbb7332975cd75502614c1fbe7416a", "date": 1709496021.0, "description": "added 2nd dimens file for smaller screens", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["A", "app/src/main/res/values-h440dp/dimens.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_linking.xml"], ["M", "app/src/main/res/layout/contextmenu_column.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "6c35afa9edc76b882fd42e5928e02b0d38d99344": {"id": "6c35afa9edc76b882fd42e5928e02b0d38d99344", "date": 1709491544.0, "description": "fixed: remap_links being called even in links are locked", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"]], "author": "smith.quintin@protonmail.com"}, "f632c56aac3d76078ee82a7300f098cfa01e2ac4": {"id": "f632c56aac3d76078ee82a7300f098cfa01e2ac4", "date": 1709489647.0, "description": "don't move cursor to links on apply_history", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "da948a88b5a3e73db663716c9c617798e3e02b55": {"id": "da948a88b5a3e73db663716c9c617798e3e02b55", "date": 1709420213.0, "description": "removed on_buffer() calls", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "f66be71c822d8440afc6eb6c876f9b1c865dea02": {"id": "f66be71c822d8440afc6eb6c876f9b1c865dea02", "date": 1709419668.0, "description": "reduced feedback volume", "files": [["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "bf8ec9b62f358a070ac5db97bb7b3e47b2b991b5": {"id": "bf8ec9b62f358a070ac5db97bb7b3e47b2b991b5", "date": 1709418176.0, "description": "updated tests", "files": [["M", "app/src/test/java/com/qfs/apres/SoundFontUnitTest.kt"], ["M", "app/src/test/java/com/qfs/apres/SoundFontPlayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "783560b6817d7e685b05d635a8ff1c229bb77cf2": {"id": "783560b6817d7e685b05d635a8ff1c229bb77cf2", "date": 1709417080.0, "description": "moved 'import...' up to second position in soundfont dropdown menu", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"]], "author": "smith.quintin@protonmail.com"}, "c1bdb78c5f9d7543b6e9251636fcddecacc6f4a2": {"id": "c1bdb78c5f9d7543b6e9251636fcddecacc6f4a2", "date": 1709409893.0, "description": "updated changelog", "files": [["D", "fastlane/metadata/android/en-US/changelogs/46.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/47.txt"]], "author": "smith.quintin@protonmail.com"}, "f3f7aacf4a4c5e50da423f9d988078440a54291b": {"id": "f3f7aacf4a4c5e50da423f9d988078440a54291b", "date": 1709409412.0, "description": "bugfix: setting tuning setting linked notes to 0", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"]], "author": "smith.quintin@protonmail.com"}, "3c6954e21e8d4c9b26fad077dcea02e9efc2ddd6": {"id": "3c6954e21e8d4c9b26fad077dcea02e9efc2ddd6", "date": 1709408425.0, "description": "version bump, added notes to changelog", "files": [["A", "fastlane/metadata/android/en-US/changelogs/46.txt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "fd511f0f3140ae5351222c5ec02f56c4b75a78f1": {"id": "fd511f0f3140ae5351222c5ec02f56c4b75a78f1", "date": 1709407256.0, "description": "bugfix: loopOffsets being considered now", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "2fb93086a86d65cff2ae2d5b67b175eeeb01df4a": {"id": "2fb93086a86d65cff2ae2d5b67b175eeeb01df4a", "date": 1709402696.0, "description": "automatic sample mixing *satisfactory*", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "7a7d7450ab963e420f2d2dc75a700e08cf0344d0": {"id": "7a7d7450ab963e420f2d2dc75a700e08cf0344d0", "date": 1709361286.0, "description": "sample attenuation working. still need to handle percussion boosting", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "4bb2f8d6a8e76d1f9c0175e230fc2fd3196ba69f": {"id": "4bb2f8d6a8e76d1f9c0175e230fc2fd3196ba69f", "date": 1709333506.0, "description": "Finally on the right track re: sample mixing (i think). percussion still needs to be boosted", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "69930f25e113bd0c807c1c6f6c2c1823143961cb": {"id": "69930f25e113bd0c807c1c6f6c2c1823143961cb", "date": 1709321629.0, "description": "framework for per-priority mixing", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "894195f6954fa93f222829b55654abe077dd92da": {"id": "894195f6954fa93f222829b55654abe077dd92da", "date": 1709255518.0, "description": "fixed wav export", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WavConverter.kt"]], "author": "smith.quintin@protonmail.com"}, "e715df8e6da369afc4927747e229b1ceb93f2e83": {"id": "e715df8e6da369afc4927747e229b1ceb93f2e83", "date": 1709250848.0, "description": "using float array instead of Short Array for sample output", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WavConverter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "5751b37bfc74ded4b0f987674db675c7cb19a579": {"id": "5751b37bfc74ded4b0f987674db675c7cb19a579", "date": 1709245661.0, "description": "FrameMaps now consider tracks in order to better mix samples", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "df4f15fc0f2a70d675257d2b90192b18a2b71aa8": {"id": "df4f15fc0f2a70d675257d2b90192b18a2b71aa8", "date": 1709229857.0, "description": "more work on volume balancing (i was wrong about it being good enough)", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "606212a72685e6c2a2e294b43f8b553bd7072e1e": {"id": "606212a72685e6c2a2e294b43f8b553bd7072e1e", "date": 1709228646.0, "description": "wav export use prebuilt empty chunk for empty chunks", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WavConverter.kt"]], "author": "smith.quintin@protonmail.com"}, "d0bddee51afea6dd287e9ee1f951bacf192cf8f0": {"id": "d0bddee51afea6dd287e9ee1f951bacf192cf8f0", "date": 1709228467.0, "description": "fixed wav export cutting off end", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WavConverter.kt"]], "author": "smith.quintin@protonmail.com"}, "a208afbdb07de5545dba3c2d4097f8a9c373ef93": {"id": "a208afbdb07de5545dba3c2d4097f8a9c373ef93", "date": 1709181434.0, "description": "added 32khz option to sample rate", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"]], "author": "smith.quintin@protonmail.com"}, "9b2c8b648d9a1ff04e987bf54bdf498324a0464a": {"id": "9b2c8b648d9a1ff04e987bf54bdf498324a0464a", "date": 1709180596.0, "description": "put on_buffer display on delay", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "1cade66d50986f04767a09e4219f8d829835b7da": {"id": "1cade66d50986f04767a09e4219f8d829835b7da", "date": 1709178802.0, "description": "allow passing PitchedBuffer's max value as a construction argument", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "ffcd43f9940a369c705cee2af5f46af6041a4ad3": {"id": "ffcd43f9940a369c705cee2af5f46af6041a4ad3", "date": 1709177173.0, "description": "moved split SampleHandles instantiation to gen_partial_int_array to speed up generate()", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "f31ceb147c4b28fdf1cb8258cf637035837c62cf": {"id": "f31ceb147c4b28fdf1cb8258cf637035837c62cf", "date": 1709147269.0, "description": "fixed save dialog prompt logic", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "b05743df3e148448c0825a754bcebebe1735558f": {"id": "b05743df3e148448c0825a754bcebebe1735558f", "date": 1709144031.0, "description": "disabled sleep while chunk is being played", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "c745c4daf4f49e4380a83869caee3926c589228f": {"id": "c745c4daf4f49e4380a83869caee3926c589228f", "date": 1709143944.0, "description": "Added Mono/Stereo functionality. not in use/still defaults to stereo", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "9c96737026d78a3380452f415826e5e4fc7aaeb5": {"id": "9c96737026d78a3380452f415826e5e4fc7aaeb5", "date": 1709142191.0, "description": "Switched Datatypes in SoundFont & Player from Double to Float", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Generator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Generated.kt"]], "author": "smith.quintin@protonmail.com"}, "315b146cbfadec67b021c58598794b69d8dcf981": {"id": "315b146cbfadec67b021c58598794b69d8dcf981", "date": 1709140791.0, "description": "cleaned up variables in SampleHandleGenerator", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "22635deb7f7dc721801728e70e25b634b2b65b3d": {"id": "22635deb7f7dc721801728e70e25b634b2b65b3d", "date": 1709096549.0, "description": "volume balancing good enough, i think", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "edc3e213759475469a46421e2db4fad8a95fd113": {"id": "edc3e213759475469a46421e2db4fad8a95fd113", "date": 1709063355.0, "description": "on_buffer no longer getting called after stop", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "5446f80d498b23712f8ef5b6f4d6f4eedd28c1e4": {"id": "5446f80d498b23712f8ef5b6f4d6f4eedd28c1e4", "date": 1709058708.0, "description": "moved hide_loading_reticle() to first on_beat() call", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "076de70e7a11d37e5c0d8be0b3d6b0a259fce37c": {"id": "076de70e7a11d37e5c0d8be0b3d6b0a259fce37c", "date": 1709058345.0, "description": "improved naming conventions InstrumentSample and PresetInstrument", "files": [["M", "app/src/test/java/com/qfs/apres/SoundFontUnitTest.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfont/InstrumentSample.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont/SampleDirective.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Preset.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfont/PresetInstrument.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont/InstrumentDirective.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Instrument.kt"]], "author": "smith.quintin@protonmail.com"}, "3743958caf2dc3fb9115c5bde6e8c9e24b9acc86": {"id": "3743958caf2dc3fb9115c5bde6e8c9e24b9acc86", "date": 1709058034.0, "description": "Speed up instrument and sample retrieval", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Preset.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Instrument.kt"]], "author": "smith.quintin@protonmail.com"}, "61676991e28a509e6b072a450836b6e4a941d3ad": {"id": "61676991e28a509e6b072a450836b6e4a941d3ad", "date": 1709054636.0, "description": "loading reticle when changing soundfont", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "6bcb7ead241c60cee4c37b76025cee017213d6a9": {"id": "6bcb7ead241c60cee4c37b76025cee017213d6a9", "date": 1709014605.0, "description": "preset sample rate options. show actual value on slider", "files": [["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "87030c14b486eb3608093f075e89454c980d87b2": {"id": "87030c14b486eb3608093f075e89454c980d87b2", "date": 1709009072.0, "description": "samplehandles now choose the minimum between release fade duration and time left in sample instead of looping for the fade duration", "files": [["M", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "77b6ae3479ff5523529393b16c3baae043bea346": {"id": "77b6ae3479ff5523529393b16c3baae043bea346", "date": 1709007438.0, "description": "feedback volume attenuated", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "c3f5e38ea2a8093970bab9f92afe3f4b07dfd6ee": {"id": "c3f5e38ea2a8093970bab9f92afe3f4b07dfd6ee", "date": 1709002366.0, "description": "MidiConvert changed to WavConverter, export to wav now uses PlaybacKFrameMap for consistency", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiConverter.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/WavConverter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "ddaa33feb162c62e053cc8f141fd0c1c0c2b88f4": {"id": "ddaa33feb162c62e053cc8f141fd0c1c0c2b88f4", "date": 1708979550.0, "description": "more work on sample volume balancing. just need to nail down percussion/non-percussion factors", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "2d232609f7dc3744d341d914924346ef592dc285": {"id": "2d232609f7dc3744d341d914924346ef592dc285", "date": 1708973483.0, "description": "more work and balancing sample volumes", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "22e2bf07a213603e977d534a105f5ccefef6fdc4": {"id": "22e2bf07a213603e977d534a105f5ccefef6fdc4", "date": 1708967033.0, "description": "attenuate samples by maximum number of overlapping samples", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "bc63942fc643f43d585acc5c92e2903506c9f9b7": {"id": "bc63942fc643f43d585acc5c92e2903506c9f9b7", "date": 1708932045.0, "description": "improved compressing", "files": [["M", "app/src/test/java/com/qfs/apres/SoundFontPlayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "8804e7c17e22e5ad2442d00d779cf7b24cd587db": {"id": "8804e7c17e22e5ad2442d00d779cf7b24cd587db", "date": 1708884599.0, "description": "reenabled on_buffer()", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "e1d2ef8a26c8ccef574fd957031fec58095722bf": {"id": "e1d2ef8a26c8ccef574fd957031fec58095722bf", "date": 1708884161.0, "description": "merging samples into array at a higher level where they can be compared and inserted a little more intelligently", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "f572941f68b268340d622a342bae737706ae0dc8": {"id": "f572941f68b268340d622a342bae737706ae0dc8", "date": 1708879889.0, "description": "removed elbow approach to compression. not viable", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "038b5b23c0a72deea9368482dc3681ec2aebfee1": {"id": "038b5b23c0a72deea9368482dc3681ec2aebfee1", "date": 1708799593.0, "description": "working on attenuation", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "f6e535cefc22c715a0b36f799e425e2a5b56f30d": {"id": "f6e535cefc22c715a0b36f799e425e2a5b56f30d", "date": 1708710321.0, "description": "implemented elbow when attenuating volume", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "900d25a1c6ce15c55bb41b5186004169864ff321": {"id": "900d25a1c6ce15c55bb41b5186004169864ff321", "date": 1708669567.0, "description": "good enough automatic volume attenuation", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "654d869514e8e343256ea8a1bdafba8bc68eb108": {"id": "654d869514e8e343256ea8a1bdafba8bc68eb108", "date": 1708628003.0, "description": "further improved reliability of feedback", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "a124be5aac4397568388c1d032642c71171db502": {"id": "a124be5aac4397568388c1d032642c71171db502", "date": 1708625253.0, "description": "removed over-engineered bit of FeedbackDevice", "files": [["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "9eeca45f132fb3dc9ba30feb295c4bafe9c200e3": {"id": "9eeca45f132fb3dc9ba30feb295c4bafe9c200e3", "date": 1708624616.0, "description": "removed debug line", "files": [["M", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "c6bf70f89572ec2e1d6113ac9d9c9aadf29a0396": {"id": "c6bf70f89572ec2e1d6113ac9d9c9aadf29a0396", "date": 1708624533.0, "description": "Improved Feedback reliability", "files": [["D", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["A", "app/src/main/java/com/qfs/pagan/PlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["D", "app/src/main/java/com/qfs/pagan/PaganFeedbackDevice.kt"], ["A", "app/src/main/java/com/qfs/pagan/FeedbackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "8f6bbbc3eccc72bc22aa9c7622fac93a9449e9d9": {"id": "8f6bbbc3eccc72bc22aa9c7622fac93a9449e9d9", "date": 1708623758.0, "description": "re-renamed LeafButton", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafText.kt"], ["D", "app/src/main/java/com/qfs/pagan/ButtonLeaf.kt"], ["A", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "5611eff5d3d54bba0baad1e212feb27ab967ad54": {"id": "5611eff5d3d54bba0baad1e212feb27ab967ad54", "date": 1708623705.0, "description": "renamed some classes for sanity's sake", "files": [["M", "app/src/main/res/navigation/nav_graph.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_linking.xml"], ["M", "app/src/main/res/layout/contextmenu_column.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout/color_picker_inline.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafText.kt"], ["M", "app/src/main/java/com/qfs/pagan/InlineColorPicker.kt"], ["D", "app/src/main/java/com/qfs/pagan/PaganFragment.kt"], ["A", "app/src/main/java/com/qfs/pagan/FragmentPagan.kt"], ["D", "app/src/main/java/com/qfs/pagan/LicenseFragment.kt"], ["A", "app/src/main/java/com/qfs/pagan/FragmentLicense.kt"], ["D", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"], ["A", "app/src/main/java/com/qfs/pagan/FragmentLandingPage.kt"], ["D", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["A", "app/src/main/java/com/qfs/pagan/FragmentGlobalSettings.kt"], ["D", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["A", "app/src/main/java/com/qfs/pagan/FragmentEditor.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CornerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"], ["D", "app/src/main/java/com/qfs/pagan/StdButton.kt"], ["A", "app/src/main/java/com/qfs/pagan/ButtonStd.kt"], ["D", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["A", "app/src/main/java/com/qfs/pagan/ButtonLeaf.kt"], ["D", "app/src/main/java/com/qfs/pagan/IconButton.kt"], ["A", "app/src/main/java/com/qfs/pagan/ButtonIcon.kt"], ["D", "app/src/main/java/com/qfs/pagan/ColorButton.kt"], ["A", "app/src/main/java/com/qfs/pagan/ButtonColor.kt"]], "author": "smith.quintin@protonmail.com"}, "6be08cded616e3ab9fd7e7f9bde011a0f48c034b": {"id": "6be08cded616e3ab9fd7e7f9bde011a0f48c034b", "date": 1708623132.0, "description": "increased maximum number of beats user can insert at once to 4096", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "d9a02d27d7e87faa5155f7ae506eee05addbbbfa": {"id": "d9a02d27d7e87faa5155f7ae506eee05addbbbfa", "date": 1708618511.0, "description": "fixed compression", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "28bd57e220f18103dc3fcfaf845936df94a86b36": {"id": "28bd57e220f18103dc3fcfaf845936df94a86b36", "date": 1708566426.0, "description": "simplified over-engineered PitchedBuffer", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "4ad7096b9276931fa1f77f53e910406c4faafec5": {"id": "4ad7096b9276931fa1f77f53e910406c4faafec5", "date": 1708565585.0, "description": "Reduced number of options for sample rate", "files": [["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "b33868490e7892a85029e4c798dc6264cf18e71a": {"id": "b33868490e7892a85029e4c798dc6264cf18e71a", "date": 1708558769.0, "description": "force buffer size to be a multiple of number of cores", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "f74cf220c764d1c1895a9fba16fc00021fdfbbf6": {"id": "f74cf220c764d1c1895a9fba16fc00021fdfbbf6", "date": 1708552381.0, "description": "fixed a note", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "fd49b134249f29fe1316ea4622f0edb5633e71bc": {"id": "fd49b134249f29fe1316ea4622f0edb5633e71bc", "date": 1708544718.0, "description": "two-phase samplehandle generation", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"]], "author": "smith.quintin@protonmail.com"}, "c1b83bc83f663a31619385da59905feddc01b105": {"id": "c1b83bc83f663a31619385da59905feddc01b105", "date": 1708539186.0, "description": "two-pass handle-checking *almost* functional", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "634af8d34907c83944f0872e45d65842f0a29f4c": {"id": "634af8d34907c83944f0872e45d65842f0a29f4c", "date": 1708473438.0, "description": "abandoned awaiting deferred sample handles", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "dd405297809797ad2501eec4e431eee6eb360005": {"id": "dd405297809797ad2501eec4e431eee6eb360005", "date": 1708413827.0, "description": "separated playbackFramemap from layer again", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["D", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "8ba79bb76312350753a102ad5d706636c7d9be9e": {"id": "8ba79bb76312350753a102ad5d706636c7d9be9e", "date": 1708366809.0, "description": "created a separation between PlaybackFrameMap private and public functionality", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "78d93ced8cc45ae7be6aa42794b93e19fe62db99": {"id": "78d93ced8cc45ae7be6aa42794b93e19fe62db99", "date": 1708362079.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "913d45bd692a1afb4465c7616202b60386000ef8": {"id": "913d45bd692a1afb4465c7616202b60386000ef8", "date": 1708325804.0, "description": "PlaybackFrameMap no longer using handle.uuid as Hash Key", "files": [["M", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "4f5e86da42cd0981d1c8c4443a4f152cc6c49c1f": {"id": "4f5e86da42cd0981d1c8c4443a4f152cc6c49c1f", "date": 1708324889.0, "description": "moved peripheral data and sample_handle_manager into PlaybackFrameMap from OpusLayerFrameMap", "files": [["A", "app/src/main/java/com/qfs/pagan/PlaybackFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "50f1119f19fd883f1c6256d5a4332c8e2695e928": {"id": "50f1119f19fd883f1c6256d5a4332c8e2695e928", "date": 1708321598.0, "description": "removed unnecessary clear_and_set_lock variable", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "f743e117f3e8a3f242ed76e48bdab1661de058b4": {"id": "f743e117f3e8a3f242ed76e48bdab1661de058b4", "date": 1708318179.0, "description": "removed changed frames tracking", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "b5d159935b861e3f30af344994973ad9e45aeda4": {"id": "b5d159935b861e3f30af344994973ad9e45aeda4", "date": 1708295737.0, "description": "fixed double loading of frame map", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "ba9a2e60122472e8ab4dc6a7e224311a05927799": {"id": "ba9a2e60122472e8ab4dc6a7e224311a05927799", "date": 1708283910.0, "description": "some debug code to help find slowness", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "c528c71177182628b95ccfc8481899d003015090": {"id": "c528c71177182628b95ccfc8481899d003015090", "date": 1708229255.0, "description": "improved per-handle volume attenuation", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "07318db082baa949afe9f78777da655e47bd5645": {"id": "07318db082baa949afe9f78777da655e47bd5645", "date": 1708217901.0, "description": "instruments that play multiple samples automatically attenuated", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "2eb74d9bb9402a62124c58a63de51f0c490d6e85": {"id": "2eb74d9bb9402a62124c58a63de51f0c490d6e85", "date": 1708192274.0, "description": "working on fixing attenuation issues", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "c13a89da192570aaa81ad4957097e07c0a941381": {"id": "c13a89da192570aaa81ad4957097e07c0a941381", "date": 1708156561.0, "description": "fixed line volume being ignored", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "cbf4a88a82aa081d3a0cd6ee4af3eb09c796f7b8": {"id": "cbf4a88a82aa081d3a0cd6ee4af3eb09c796f7b8", "date": 1708153205.0, "description": "fixed premature cutoffs when release_vol_env set", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "fb17b27372ae75cd21ca023d8a078f224c8f743e": {"id": "fb17b27372ae75cd21ca023d8a078f224c8f743e", "date": 1708128706.0, "description": "simultaneous sample attenuation ostensibly working", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "fa05880192a06f29b37c4f3da7c1ddf41abb32d8": {"id": "fa05880192a06f29b37c4f3da7c1ddf41abb32d8", "date": 1708111958.0, "description": "working on simmultaneous sample attenuation", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "5e6c18b1629c9959fbaa5e34f930841c5128ec14": {"id": "5e6c18b1629c9959fbaa5e34f930841c5128ec14", "date": 1708106287.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "d6afe983d353377d9424d77c9e90695ae1621398": {"id": "d6afe983d353377d9424d77c9e90695ae1621398", "date": 1708070557.0, "description": "pitch modulation lfo", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveWaveGenerator.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "41e60677b8f681a8c847602ac5d502ca6792cf9c": {"id": "41e60677b8f681a8c847602ac5d502ca6792cf9c", "date": 1708055372.0, "description": "fixed not all samples per instrument being played", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Instrument.kt"]], "author": "smith.quintin@protonmail.com"}, "25b997cd30ea876bc7c9a7c78c8afa5e8021124a": {"id": "25b997cd30ea876bc7c9a7c78c8afa5e8021124a", "date": 1708054710.0, "description": "modulation lfo volume now considered", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "9ed972dc8439212d6b047bd3704540405bfc14ce": {"id": "9ed972dc8439212d6b047bd3704540405bfc14ce", "date": 1708042669.0, "description": "starting modulation lfo", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Generated.kt"]], "author": "smith.quintin@protonmail.com"}, "dab6f9c19a4ca350ae69f820d855798ca397f2c1": {"id": "dab6f9c19a4ca350ae69f820d855798ca397f2c1", "date": 1708035344.0, "description": "organized volume and modulation envelopes into respective classes", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganFeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "f4e1940fb1508e4473589f0af2b8c3f80301c608": {"id": "f4e1940fb1508e4473589f0af2b8c3f80301c608", "date": 1708018450.0, "description": "fixed misapplication of sustain attenuation", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganFeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "59f80a057397f1409125d215dccb61129db92bda": {"id": "59f80a057397f1409125d215dccb61129db92bda", "date": 1708015230.0, "description": "FeedackDevice wasn't always using it's own samplehandlemanager", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganFeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "c9037d365094ed26e5dce42a6f07e013d2a19f94": {"id": "c9037d365094ed26e5dce42a6f07e013d2a19f94", "date": 1707981345.0, "description": "Sped up set_working_frame()", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "ca4ce8cddfb45b6b2de123424ffa9ab63c7bc9d0": {"id": "ca4ce8cddfb45b6b2de123424ffa9ab63c7bc9d0", "date": 1707977791.0, "description": "fixed sampleHandleGenerator setting timecent incorrectly", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "cb0cca7cc345c4c396229425396041df9091f32a": {"id": "cb0cca7cc345c4c396229425396041df9091f32a", "date": 1707972153.0, "description": "Speed up link_beat_range_horizontally()", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"]], "author": "smith.quintin@protonmail.com"}, "d826060e0ce3c89a699f06a2093fbec77483b258": {"id": "d826060e0ce3c89a699f06a2093fbec77483b258", "date": 1707966841.0, "description": "FrameMap Layer handles an unset sample_handle_manager", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "aaa99ed615702a987a87d4dd2740efaf89ca8c9b": {"id": "aaa99ed615702a987a87d4dd2740efaf89ca8c9b", "date": 1707934763.0, "description": "fixed aforementioned weirdness", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "ee18d0d2dab4fc7a0616eef45f95dfd383dbed0b": {"id": "ee18d0d2dab4fc7a0616eef45f95dfd383dbed0b", "date": 1707897503.0, "description": "tweaked way mappedplaybackdevice increases beat", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "86a9b15049fdb9eacdabb4a64349c01e85535dde": {"id": "86a9b15049fdb9eacdabb4a64349c01e85535dde", "date": 1707896327.0, "description": "gave up on offsetting frame maps when a sample has a delay that lands < 0. nonetheless delay is accounted for", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganFeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "724fa0cdac0f140680aa2be2c7f067e104daf9fe": {"id": "724fa0cdac0f140680aa2be2c7f067e104daf9fe", "date": 1707851681.0, "description": "leading delays accounted for. still causing weirdness with big delays", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "6b7c7e06c2db8061e77ba016f70d3765a07f07e8": {"id": "6b7c7e06c2db8061e77ba016f70d3765a07f07e8", "date": 1707845672.0, "description": "working on activating alreadying activated samples when setting wave generator position", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "283d8c7e10c5285af37586fb3e024a76de6385d0": {"id": "283d8c7e10c5285af37586fb3e024a76de6385d0", "date": 1707781764.0, "description": "compensating for soundfont delay in playback", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "dad0ced20cac864ce127e351a488510cae074ca7": {"id": "dad0ced20cac864ce127e351a488510cae074ca7", "date": 1707726408.0, "description": "separated OpusLayerFrameMap and it's FrameMap", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "ef6d7d740056ca11d8fabff90a3a261681d5b775": {"id": "ef6d7d740056ca11d8fabff90a3a261681d5b775", "date": 1707677698.0, "description": "frame map layer will stop modifying in a stack if clear_and_set_frames has been called and setup gets called after the stack is done processing", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "8fccb00f90a6a0ff29c97ca38ca14617b94699e0": {"id": "8fccb00f90a6a0ff29c97ca38ca14617b94699e0", "date": 1707675550.0, "description": "wav exporting now works with changes to WaveGenerators", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiConverter.kt"]], "author": "smith.quintin@protonmail.com"}, "028d1fc26b88c0aa6598c13bd8a2dee986d7c5c0": {"id": "028d1fc26b88c0aa6598c13bd8a2dee986d7c5c0", "date": 1707673229.0, "description": "handled miscalculating first beat in playback", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "02db484237b55e94895e3ab8352b5a0f6faf2a2e": {"id": "02db484237b55e94895e3ab8352b5a0f6faf2a2e", "date": 1707632352.0, "description": "generalized wave generator splitting so it can use as many cores as are available", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "603b68fa4c8bd4aefb1076f2269b945ebdf8e035": {"id": "603b68fa4c8bd4aefb1076f2269b945ebdf8e035", "date": 1707611117.0, "description": "wave generator using up to 2 cores", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "9acae7c095ea5bcf46794cf5b4a37d04ebbb78f5": {"id": "9acae7c095ea5bcf46794cf5b4a37d04ebbb78f5", "date": 1707607765.0, "description": "wave generator split. still on same thread though", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "27483d509294d304f1d59f9bc9b6e9eca2994e93": {"id": "27483d509294d304f1d59f9bc9b6e9eca2994e93", "date": 1707589965.0, "description": "more work on splitting wave generator", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "b3d881641676807883756f14e3fbf8109b3d3be5": {"id": "b3d881641676807883756f14e3fbf8109b3d3be5", "date": 1707582914.0, "description": "work on splitting wave generator", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "dcca13e6de61c8bbb53723e31dbcd27d27e99ce2": {"id": "dcca13e6de61c8bbb53723e31dbcd27d27e99ce2", "date": 1707524232.0, "description": "working on splitting generate() into 2 piece and running on different cores", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganFeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiConverter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "3fcf1a5a443217351b233eaaa003c8f84d059d80": {"id": "3fcf1a5a443217351b233eaaa003c8f84d059d80", "date": 1707413774.0, "description": "on_buffer/_done get called when underrun gets detected", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "836c4ecb198ae4e5fdaaf663091278b4a78d6684": {"id": "836c4ecb198ae4e5fdaaf663091278b4a78d6684", "date": 1707409558.0, "description": "rebuild samplehandlemanager on set_sample_rate", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "68536064568fb47b3cdcbe3d2d717a0fed8bfaf3": {"id": "68536064568fb47b3cdcbe3d2d717a0fed8bfaf3", "date": 1707351938.0, "description": "created get_size() in FrameMap so wave generator can kill itself", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganFeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "4e84849562fb1f6f46e6334bbcfb22bf42b1cabe": {"id": "4e84849562fb1f6f46e6334bbcfb22bf42b1cabe", "date": 1707344233.0, "description": "attempting to simplify WaveGenerator usage", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganFeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "6678d125efc4850c1cde848b4b1d108454a435bc": {"id": "6678d125efc4850c1cde848b4b1d108454a435bc", "date": 1707247224.0, "description": "in progress: separating audio feedback from midi interface, using feedback dispatcher for midi output only", "files": [["A", "app/src/main/java/com/qfs/pagan/PaganFeedbackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "db3a034ba91456466df22a78bbab5bd893699df8": {"id": "db3a034ba91456466df22a78bbab5bd893699df8", "date": 1707246006.0, "description": "cleaned up unnecessary argument sample_hadnel_manager in MidiCovnerter. disabled caching chunks for now", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiConverter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "4594d2c345bba7248955962d7fedbc5b179160d7": {"id": "4594d2c345bba7248955962d7fedbc5b179160d7", "date": 1707243638.0, "description": "built separate midi player off of MappedPlaybackDevice in apres", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "e3aca6ac28f0521ee22608506befacf60605ef6c": {"id": "e3aca6ac28f0521ee22608506befacf60605ef6c", "date": 1707240024.0, "description": "renamed MappedMidiDevice to MappedPlaybackDevice, created (unimplemented) Dedicated Midi Playback device", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedMidiDevice.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "ba5ffb95146f578ec04d90061cbbd70a9fbce234": {"id": "ba5ffb95146f578ec04d90061cbbd70a9fbce234", "date": 1707199391.0, "description": "automatically generate audio chunks on change. functional but needs to now be done in a background thread", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiConverter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedMidiDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "4a91d25832a6bc6f702d7cff6ad3b9c53d44ac1a": {"id": "4a91d25832a6bc6f702d7cff6ad3b9c53d44ac1a", "date": 1707158394.0, "description": "on_frame_changed() implemented. still unoptimized", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "2ca1d0c5e44d06ac64625f6a92906e669a04a5c4": {"id": "2ca1d0c5e44d06ac64625f6a92906e669a04a5c4", "date": 1707106744.0, "description": "framemap layer *working*", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "30ddc7a96324ed576b53a4de83650aa33068ecca": {"id": "30ddc7a96324ed576b53a4de83650aa33068ecca", "date": 1707073486.0, "description": "fixed OpusLayerFrameMap not handling percussion correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "bb6d0877385904f35ba8163dbe5cfebdfda63782": {"id": "bb6d0877385904f35ba8163dbe5cfebdfda63782", "date": 1707072805.0, "description": "swap_lines remaps frame_map", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "37225d2d180b3da6799af58129e6818aa380391b": {"id": "37225d2d180b3da6799af58129e6818aa380391b", "date": 1707071623.0, "description": "fixed sample handles with sustain decay being off-time", "files": [["M", "app/src/test/java/com/qfs/pagan/LinkLayerUnitTest.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerLinks.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "78743fd8ccf32509341e4b1369fdc582f8efbfcb": {"id": "78743fd8ccf32509341e4b1369fdc582f8efbfcb", "date": 1707068559.0, "description": "change_sample_handle_manager instruments on load/import/new", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "e7b5fea597a5bb2a9e3239dfdeeede18ca224fa2": {"id": "e7b5fea597a5bb2a9e3239dfdeeede18ca224fa2", "date": 1707029500.0, "description": "remove mapped samples when overriding them", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedMidiDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "9464d50f24be95585e13cba679b99876c4212b33": {"id": "9464d50f24be95585e13cba679b99876c4212b33", "date": 1707023935.0, "description": "removed unused 'last_frame' variable causing problems", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Generator.kt"]], "author": "smith.quintin@protonmail.com"}, "427107ff9667c97ff7bfdab7d0ef79eb14b3aabd": {"id": "427107ff9667c97ff7bfdab7d0ef79eb14b3aabd", "date": 1707020767.0, "description": "fixed some accidental precision loss", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "b5cda1f2148b42a89c37b8594917c0b07370c459": {"id": "b5cda1f2148b42a89c37b8594917c0b07370c459", "date": 1706985993.0, "description": "improved reliability of remapping insert_beat and remove_beat", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "5884121a4cbad8e4ae7e68dfac1ba16f0dd0f733": {"id": "5884121a4cbad8e4ae7e68dfac1ba16f0dd0f733", "date": 1706949442.0, "description": "opuslayerFrameMap functional playback", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["D", "app/src/main/java/com/qfs/pagan/OpusManagerMidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiConverter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedMidiDevice.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/FrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "194f6319c7be9396ba50df00c05ddcee528f7b59": {"id": "194f6319c7be9396ba50df00c05ddcee528f7b59", "date": 1706912886.0, "description": "Time Travel now possible on SampleHandles", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveWaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "4c28c7f5218d483bd96958a26a0e9bab961477bf": {"id": "4c28c7f5218d483bd96958a26a0e9bab961477bf", "date": 1706903229.0, "description": "changed names of OpusManager Layers to OpusLayer<name>\n    reimplementing MidiEvent Map as Layer", "files": [["D", "app/src/test/java/com/qfs/pagan/OpusManagerCursorLayerUnitTest.kt"], ["D", "app/src/test/java/com/qfs/pagan/BaseLayerUnitTest.kt"], ["A", "app/src/test/java/com/qfs/pagan/OpusLayerBaseUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/HistoryLayerUnitTest.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerHistory.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/CursorLayer.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerCursor.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/OpusLayerBase.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusManagerMidiFrameMap.kt"], ["D", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["A", "app/src/main/java/com/qfs/pagan/OpusLayerInterface.kt"], ["A", "app/src/main/java/com/qfs/pagan/OpusLayerFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"]], "author": "smith.quintin@protonmail.com"}, "56139ebf9c9e3ceabd1921bbd366b58a086066c5": {"id": "56139ebf9c9e3ceabd1921bbd366b58a086066c5", "date": 1706857100.0, "description": "on_beat() functionality working with mappedmididevice", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusManagerMidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedMidiDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "b40e42c72eaa9c8f9b40f13c281b8fbb2a2fedf9": {"id": "b40e42c72eaa9c8f9b40f13c281b8fbb2a2fedf9", "date": 1706831731.0, "description": "removed wavegenerator layer in favour of a midi frame map that is generated on demand", "files": [["D", "app/src/main/java/com/qfs/pagan/WaveGeneratorLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["A", "app/src/main/java/com/qfs/pagan/OpusManagerMidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiConverter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedMidiDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "a79befc3b31a82b8825bcb36e68be7a526f794e9": {"id": "a79befc3b31a82b8825bcb36e68be7a526f794e9", "date": 1706815586.0, "description": "undo recent minor speed improvements", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "3619ad01aba2d251510351ff37d7f5f4e2ab26a2": {"id": "3619ad01aba2d251510351ff37d7f5f4e2ab26a2", "date": 1706811483.0, "description": "Work on wavegenerator layer", "files": [["M", "app/src/main/java/com/qfs/pagan/WaveGeneratorLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiConverter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedMidiDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "e10563950a20dcfb894f39062e3d5f575848bb60": {"id": "e10563950a20dcfb894f39062e3d5f575848bb60", "date": 1706725283.0, "description": "working on midieventmap", "files": [["M", "app/src/main/java/com/qfs/pagan/WaveGeneratorLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiFrameMap.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfontplayer/FiniteMidiDevice.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/MappedMidiDevice.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveWaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "b4ad5a12a4425c98bcd2ec8202fd1102bc1ecf9d": {"id": "b4ad5a12a4425c98bcd2ec8202fd1102bc1ecf9d", "date": 1706719064.0, "description": "wavegenerator layer initial work", "files": [["A", "app/src/main/java/com/qfs/pagan/WaveGeneratorLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "55c23a80f8768b8ac43737866df2e1e33507eede": {"id": "55c23a80f8768b8ac43737866df2e1e33507eede", "date": 1706651971.0, "description": "implemented minimum and maximum buffer_cache sizes for playback", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FiniteMidiDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "57fee043f645bf6b81e519097326882a19aa039a": {"id": "57fee043f645bf6b81e519097326882a19aa039a", "date": 1706648357.0, "description": "implementing better buffering system for playback", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FiniteMidiDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "2078990b2e684dd02f74385edab46fad1e640753": {"id": "2078990b2e684dd02f74385edab46fad1e640753", "date": 1706644677.0, "description": "minor speed improvement for samplehandle", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "dc989a196295478f99aadc55f5ca6dfd2b7e5cb1": {"id": "dc989a196295478f99aadc55f5ca6dfd2b7e5cb1", "date": 1706475043.0, "description": "added rss icon to README's Download section", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "4a14ef3efebf83add0d552218014ff332a69bc0d": {"id": "4a14ef3efebf83add0d552218014ff332a69bc0d", "date": 1706471010.0, "description": "consider tuning maps that still land on standard notes as standard, regardless of radix", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "bf6c91fc71f4c00294083000590cad61f000f124": {"id": "bf6c91fc71f4c00294083000590cad61f000f124", "date": 1706428936.0, "description": "version bump", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "861f709a1c318da0258f72f8506a7b3e81522482": {"id": "861f709a1c318da0258f72f8506a7b3e81522482", "date": 1706428778.0, "description": "lint", "files": [["M", "app/src/test/java/com/qfs/pagan/BaseLayerUnitTest.kt"], ["M", "app/src/test/java/com/qfs/apres/SoundFontUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "81509ea117c5af20d7c0c904a042ee3818ab1e43": {"id": "81509ea117c5af20d7c0c904a042ee3818ab1e43", "date": 1706428551.0, "description": "swap lines undoes link swap when swap fails", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "fdb137212101eaebb3f98f47d79bbb73cfa45a86": {"id": "fdb137212101eaebb3f98f47d79bbb73cfa45a86", "date": 1706427853.0, "description": "fixed lag in undoing action involving many linked beats", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "443b8f6e0c98602733c6bb758888b2d228102c53": {"id": "443b8f6e0c98602733c6bb758888b2d228102c53", "date": 1706424044.0, "description": "fixed some wonkiness with linking", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "8cf7540cbb2a4d5b88035a5f7f87ee7922418caa": {"id": "8cf7540cbb2a4d5b88035a5f7f87ee7922418caa", "date": 1706331854.0, "description": "changelog", "files": [["M", "fastlane/metadata/android/en-US/changelogs/45.txt"]], "author": "smith.quintin@protonmail.com"}, "bee356b3fbb53a9de159973e7f3a54631bcfdcfc": {"id": "bee356b3fbb53a9de159973e7f3a54631bcfdcfc", "date": 1706331152.0, "description": "force scroll in midi device playback", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "d6fde01cd00f7841436df43c454fecb53ca87112": {"id": "d6fde01cd00f7841436df43c454fecb53ca87112", "date": 1706330537.0, "description": "Catch for importing empty midis", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "350e408b69c237b6bbf5d2c5667042bf705a9ed5": {"id": "350e408b69c237b6bbf5d2c5667042bf705a9ed5", "date": 1706329594.0, "description": "when exporting midi, don't include muted lines", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "879a4f3c4f47a3a74d77937f600de5bd92fe0eb9": {"id": "879a4f3c4f47a3a74d77937f600de5bd92fe0eb9", "date": 1706327176.0, "description": "removed unused SAVE_POINT", "files": [["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "59ee48a1c912469452af9c4b083f37723a9fc39d": {"id": "59ee48a1c912469452af9c4b083f37723a9fc39d", "date": 1706325955.0, "description": "fixed bug in remove_channel_by_uuid", "files": [["M", "app/src/test/java/com/qfs/pagan/HistoryLayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "c94edeaa16f82b33840e4862ea988957f7dc28e6": {"id": "c94edeaa16f82b33840e4862ea988957f7dc28e6", "date": 1706322475.0, "description": "linked rested Options re-added to settings", "files": [["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "e519aa77e14b0f4c5e19a13460b5ea65b4d9c7a8": {"id": "e519aa77e14b0f4c5e19a13460b5ea65b4d9c7a8", "date": 1706321952.0, "description": "Empty Links colors put back", "files": [["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorMap.kt"]], "author": "smith.quintin@protonmail.com"}, "8a73ad56b5c4033f22f2a2d1996c7e33051e628d": {"id": "8a73ad56b5c4033f22f2a2d1996c7e33051e628d", "date": 1706315799.0, "description": "Links color changed", "files": [["M", "app/src/main/res/values/colors.xml"]], "author": "smith.quintin@protonmail.com"}, "2c1756be1c8beefaedf83e63c69a354583c14432": {"id": "2c1756be1c8beefaedf83e63c69a354583c14432", "date": 1706315252.0, "description": "ui update beatkeys that get unlinked by remap", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "fdb2d51726a2525be5b25cacb0d5f30fa6efff6c": {"id": "fdb2d51726a2525be5b25cacb0d5f30fa6efff6c", "date": 1706314837.0, "description": "Fixed broken history stack when moving linked beats", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "a0fa6ad42622b900619494d3e34b5a026360bf17": {"id": "a0fa6ad42622b900619494d3e34b5a026360bf17", "date": 1706304642.0, "description": "move links when moving beats. related history work needs doin'", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "c4dde44408a6463a81113e675c2c6f840d005d00": {"id": "c4dde44408a6463a81113e675c2c6f840d005d00", "date": 1706253613.0, "description": "color tweaks. custom dropdown menu tweak", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout/dropdown_menu_item.xml"], ["M", "app/src/main/res/layout/dialog_menu.xml"], ["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorMap.kt"]], "author": "smith.quintin@protonmail.com"}, "0c3c10c76baec3217df85685bf1012433a2db4c8": {"id": "0c3c10c76baec3217df85685bf1012433a2db4c8", "date": 1706234679.0, "description": "fixed: new_channel at CursorLayer misplacing cursor", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/CursorLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "859e10321852446d893d26e4833865a32d6f4216": {"id": "859e10321852446d893d26e4833865a32d6f4216", "date": 1706231610.0, "description": "undid resampling in SampleHandle", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "5309d0c547a380d70b097b6113f4395b7591a347": {"id": "5309d0c547a380d70b097b6113f4395b7591a347", "date": 1706231385.0, "description": "fixed doubling first entry on project cache", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"]], "author": "smith.quintin@protonmail.com"}, "a84716cffec439064a8282dd11c5a4931cff59fb": {"id": "a84716cffec439064a8282dd11c5a4931cff59fb", "date": 1706228777.0, "description": "Attempt to smooth up-pitched samples", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "cd980b4c8d0342037fb3b0225ff7249eb3047264": {"id": "cd980b4c8d0342037fb3b0225ff7249eb3047264", "date": 1706214469.0, "description": "inprogress: resample tiny samples", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["A", "app/src/main/java/com/qfs/apres/Complex.kt"]], "author": "smith.quintin@protonmail.com"}, "8a952a9412df44e9c5f8d697e950a388467dc080": {"id": "8a952a9412df44e9c5f8d697e950a388467dc080", "date": 1706208453.0, "description": "remove links on keys to be linked when batch linking", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "6b20cf8314833689ba871b871ec9b00d7c53d0f8": {"id": "6b20cf8314833689ba871b871ec9b00d7c53d0f8", "date": 1706207916.0, "description": "moved show_percussion from config option to view_model variable", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "0477bf7f3d93712a273c95ff041a5fa307ec3810": {"id": "0477bf7f3d93712a273c95ff041a5fa307ec3810", "date": 1706206987.0, "description": "fixed lag when batch linking", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "ae31b0a9ed6caf6e412adb7dd06c556fc6e04a0d": {"id": "ae31b0a9ed6caf6e412adb7dd06c556fc6e04a0d", "date": 1706204116.0, "description": "check that bkp.json exists before trying to reload from it", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "180d2d1779505e227bb6cbf1faf4e3195f16ce2a": {"id": "180d2d1779505e227bb6cbf1faf4e3195f16ce2a", "date": 1706139361.0, "description": "save static values", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "259bda297c14e883a425826950fb2a75a3cadfe9": {"id": "259bda297c14e883a425826950fb2a75a3cadfe9", "date": 1706137400.0, "description": "don't show empty drum lines on imported or loaded projects", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "aad9ce508a5f6ff9afcba8822bb6930dbaea765f": {"id": "aad9ce508a5f6ff9afcba8822bb6930dbaea765f", "date": 1706136364.0, "description": "handled negative attenuation in samples", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "df9be036202019812f67c476c50376fd2bb396fb": {"id": "df9be036202019812f67c476c50376fd2bb396fb", "date": 1706134345.0, "description": "changed link  & highlighting colors", "files": [["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "c4e501e8d8307a08bd8ec2965c0fce7811b1e342": {"id": "c4e501e8d8307a08bd8ec2965c0fce7811b1e342", "date": 1706133129.0, "description": "was accidentally using leaf_linked_selected_text in place of leaf_linked_selectedin day mode", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "4da06a5feb6ce125cfb75dccea19233658e67490": {"id": "4da06a5feb6ce125cfb75dccea19233658e67490", "date": 1706129134.0, "description": "changed color of [unselected] links", "files": [["M", "app/src/main/res/values/colors.xml"]], "author": "smith.quintin@protonmail.com"}, "a89c735546587b0c96e1ade518501d4b9e818371": {"id": "a89c735546587b0c96e1ade518501d4b9e818371", "date": 1706127245.0, "description": "fixed crash on color picker rgb number input backspace last character", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "16dfa8437749d830de6c768536d078fbeaf4e807": {"id": "16dfa8437749d830de6c768536d078fbeaf4e807", "date": 1706127116.0, "description": "fixed color picker rgb number inputs inputting backwards", "files": [["M", "app/src/main/res/layout/color_picker.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "8d0fa894d578df0294ec037472adc7968be0c430": {"id": "8d0fa894d578df0294ec037472adc7968be0c430", "date": 1706050576.0, "description": "play/undo icons showing correct colors on orientation change", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "ff7b3eaff637b6200a0c68fab5a6679614147a58": {"id": "ff7b3eaff637b6200a0c68fab5a6679614147a58", "date": 1706049688.0, "description": "- button color uses 'selection' rather than dedicated value\n    - App bar fg color updating correctly\n    - invalid leaf selection color added", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafText.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorMap.kt"]], "author": "smith.quintin@protonmail.com"}, "e860093738eaed77e64252f81625d15f11830a17": {"id": "e860093738eaed77e64252f81625d15f11830a17", "date": 1706045590.0, "description": "readded accidentally deleted line", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "a8d68a607090c73f82d1e0a1f1ffa6a2f7605b0c": {"id": "a8d68a607090c73f82d1e0a1f1ffa6a2f7605b0c", "date": 1706042827.0, "description": "fixed title text loss on orientation change", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "bcf973e224057262c88e5dd94a49dc890ea822ca": {"id": "bcf973e224057262c88e5dd94a49dc890ea822ca", "date": 1706040315.0, "description": "Increase LinkMode options padding (portrait)", "files": [["M", "app/src/main/res/layout/contextmenu_linking.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "5564bf2222469e92ba6f41aff854f9c69eeba915": {"id": "5564bf2222469e92ba6f41aff854f9c69eeba915", "date": 1706040012.0, "description": "Fixed False negatives when comparing LinksLayers", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "f2fe83b7325926fd6fbee68d03a57994d3705295": {"id": "f2fe83b7325926fd6fbee68d03a57994d3705295", "date": 1706039764.0, "description": "Sped up load project menu popup by caching project names in single file", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "b31c516746c0896d9f96aca06651a204f87749f9": {"id": "b31c516746c0896d9f96aca06651a204f87749f9", "date": 1706036814.0, "description": "fixed load menu not closing", "files": [["M", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "ab8325c1ce7b5c83ad180445aa74f746e9b18ecf": {"id": "ab8325c1ce7b5c83ad180445aa74f746e9b18ecf", "date": 1705988284.0, "description": "removed unused code", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "6a1c4e54e5992c04b766bb87f47829c8617ee153": {"id": "6a1c4e54e5992c04b766bb87f47829c8617ee153", "date": 1705988121.0, "description": "fixed table losing visibility on backgrounding app", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "f194b704b2acdf119a3b7628f1a22fa9878652d4": {"id": "f194b704b2acdf119a3b7628f1a22fa9878652d4", "date": 1705972113.0, "description": "remove debug", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganSwitch.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "64fc646752ddc2692b678f809fd6a78fc08bb2d9": {"id": "64fc646752ddc2692b678f809fd6a78fc08bb2d9", "date": 1705966406.0, "description": "minor padding fix", "files": [["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_linking.xml"], ["M", "app/src/main/res/layout/contextmenu_column.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"]], "author": "smith.quintin@protonmail.com"}, "7365551c82e73b5b74eddac99bedcc18d7f278e3": {"id": "7365551c82e73b5b74eddac99bedcc18d7f278e3", "date": 1705965819.0, "description": "fixed cursor wonkiness when restoring editorFragment from viewmodel, not saved state", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "f9c946dcc8beb63ce67e9406b40ce4d82201c02e": {"id": "f9c946dcc8beb63ce67e9406b40ce4d82201c02e", "date": 1705965192.0, "description": "playback device scrolls properly again", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "6de17938ab7d5e46cc7d38b82daf663a19b765f7": {"id": "6de17938ab7d5e46cc7d38b82daf663a19b765f7", "date": 1705964677.0, "description": "put 'make_percussion_visible()' back into Interface layer. will clean it up another time", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "fdb01c179a1f657ee7201fab657ec636043d7a2b": {"id": "fdb01c179a1f657ee7201fab657ec636043d7a2b", "date": 1705963980.0, "description": "fixed state loss issues", "files": [["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "190b3b849451ec085b61a366ed0c279fd5764548": {"id": "190b3b849451ec085b61a366ed0c279fd5764548", "date": 1705961692.0, "description": "some debug code", "files": [["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/CursorLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorViewModel.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "869c8c0e49678aed703ec5e3dea3ac374113c74f": {"id": "869c8c0e49678aed703ec5e3dea3ac374113c74f", "date": 1705896397.0, "description": "cursor layer separated from interface layer", "files": [["M", "app/src/test/java/com/qfs/pagan/LinkLayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/CursorLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/IntentFragmentToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorViewModel.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"]], "author": "smith.quintin@protonmail.com"}, "9652c314e5387ddb5b1b732a1d3b8a3636ae7dac": {"id": "9652c314e5387ddb5b1b732a1d3b8a3636ae7dac", "date": 1705896395.0, "description": "cursor layer separated from interface layer", "files": [["D", "app/src/main/java/com/qfs/pagan/OpusManagerCursor.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/OpusManagerCursor.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/CursorLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "9b9b82f9f43f2259a5a55de688663047e7c0d47a": {"id": "9b9b82f9f43f2259a5a55de688663047e7c0d47a", "date": 1705831000.0, "description": "needs_save() check compares current OpusManager and version loaded from path", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "05f8d666c6a85cc59572a8bf5964c29a44ed59a7": {"id": "05f8d666c6a85cc59572a8bf5964c29a44ed59a7", "date": 1705825667.0, "description": "removed MainActivity ref from colorMap", "files": [["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganSwitch.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganSeekBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganRadioButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorViewModel.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorMap.kt"]], "author": "smith.quintin@protonmail.com"}, "06abbb95908f214b25a74ee4df962fb2b17ade21": {"id": "06abbb95908f214b25a74ee4df962fb2b17ade21", "date": 1705802107.0, "description": "Remembered why I got partway through implementing backup_json in outState and quit: Size limititation\n    leafs check if editor-table is ready when building drawable state", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "c27336bcb70ec22c0286128c2b916eb7a8794e27": {"id": "c27336bcb70ec22c0286128c2b916eb7a8794e27", "date": 1705799462.0, "description": "fixed similar state-loss bug from this morning. looks like i got half-way through implementing backup_json in savedInstanceStats and view_model and stopped", "files": [["D", "app/src/main/java/com/qfs/pagan/PaganDrawerArrowDrawable.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "a97443d5ab19e87899ec4b96ff020d7f6df2e980": {"id": "a97443d5ab19e87899ec4b96ff020d7f6df2e980", "date": 1705788498.0, "description": "tweaked title bar for more consistent navigationIcon coloring", "files": [["M", "app/src/main/res/drawable/baseline_arrow_back_24.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganProgressBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganFragment.kt"], ["A", "app/src/main/java/com/qfs/pagan/PaganDrawerArrowDrawable.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "069458f8f7d0db22b195f013553dcadc549e6951": {"id": "069458f8f7d0db22b195f013553dcadc549e6951", "date": 1705784310.0, "description": "update menu icons when refresh_toolbar() is called", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "364f4bed01d9329e333211fa9ed25f71244b789a": {"id": "364f4bed01d9329e333211fa9ed25f71244b789a", "date": 1705782264.0, "description": "moved some strings to resources", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "314cb7cca586001a585c908efae6e2579cf28e70": {"id": "314cb7cca586001a585c908efae6e2579cf28e70", "date": 1705781772.0, "description": "extracted string resources of color palette labels", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "61fc2abbbe310c214a84e9ba49f3c9ce48746e5c": {"id": "61fc2abbbe310c214a84e9ba49f3c9ce48746e5c", "date": 1705781285.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/45.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "24aa71f54fa544ec7cf3c11f599ad519b2873a90": {"id": "24aa71f54fa544ec7cf3c11f599ad519b2873a90", "date": 1705780800.0, "description": "NumberSelector buttons Monospace typeface", "files": [["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "20458be08ec236f91b30186c84f75d3dec66589a": {"id": "20458be08ec236f91b30186c84f75d3dec66589a", "date": 1705780444.0, "description": "bugfix 44: was losing state if orientation changed in settings", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "701baf9f23235990ae86603cdff1afcb738dd669": {"id": "701baf9f23235990ae86603cdff1afcb738dd669", "date": 1705737257.0, "description": "CornerView Shortcut Button now lookslike button", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/java/com/qfs/pagan/CornerView.kt"]], "author": "smith.quintin@protonmail.com"}, "b7f787b38847d64c7be050df823cab1dfe951955": {"id": "b7f787b38847d64c7be050df823cab1dfe951955", "date": 1705736915.0, "description": "refres toolbar colors every time we update title text", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InlineColorPicker.kt"]], "author": "smith.quintin@protonmail.com"}, "eb235609cced49e597cc24d1d15405dd84911991": {"id": "eb235609cced49e597cc24d1d15405dd84911991", "date": 1705736702.0, "description": "working popup color picker", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout/color_picker.xml"], ["A", "app/src/main/res/layout-land/color_picker.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InlineColorPicker.kt"]], "author": "smith.quintin@protonmail.com"}, "339aa1580e3db6dbb532cff8a79144b5d3d8e153": {"id": "339aa1580e3db6dbb532cff8a79144b5d3d8e153", "date": 1705733245.0, "description": "Moved Palette into ColorMap", "files": [["M", "app/src/main/java/com/qfs/pagan/StdButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganTextView.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganSwitch.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganSeekBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganRadioButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganProgressBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganEditText.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganDrawerLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafText.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InlineColorPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/IconButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/CornerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ConfigImage.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["D", "app/src/main/java/com/qfs/pagan/ColorPalette.kt"], ["A", "app/src/main/java/com/qfs/pagan/ColorMap.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "68ae82293b561d9ad444cecc9a73e10ed591c5a9": {"id": "68ae82293b561d9ad444cecc9a73e10ed591c5a9", "date": 1705732803.0, "description": "allow configuration to hold a palette but not use it. added reset colors button", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/InlineColorPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/HexEditText.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorPalette.kt"]], "author": "smith.quintin@protonmail.com"}, "a134edb9c72c59c42d621d4738dcb410ec47f601": {"id": "a134edb9c72c59c42d621d4738dcb410ec47f601", "date": 1705721188.0, "description": "Bugfix (43): fixed setting wrong column width after line swap", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "d6f2d0053faa8e440bdf6c1c2cac5f1c41c220ba": {"id": "d6f2d0053faa8e440bdf6c1c2cac5f1c41c220ba", "date": 1705705051.0, "description": "Custom Color control *functional*... Need to do picker popup and polish", "files": [["M", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/InlineColorPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/HexEditText.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorPalette.kt"]], "author": "smith.quintin@protonmail.com"}, "9f3b73dd54e03977ba96b8da1ffe5a13d208175d": {"id": "9f3b73dd54e03977ba96b8da1ffe5a13d208175d", "date": 1705692315.0, "description": "Converted ColorPalette to HashMap<enum, Int>", "files": [["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/java/com/qfs/pagan/StdButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganTextView.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganSwitch.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganSeekBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganRadioButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganProgressBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganEditText.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganDrawerLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafText.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InlineColorPicker.kt"], ["M", "app/src/main/java/com/qfs/pagan/IconButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/CornerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ConfigImage.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorPalette.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "e75d7350b43bed26d56e88f392ed3011c50e1eb3": {"id": "e75d7350b43bed26d56e88f392ed3011c50e1eb3", "date": 1705650602.0, "description": "initial rough background color control in settings", "files": [["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/activity_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["A", "app/src/main/java/com/qfs/pagan/InlineColorPicker.kt"], ["A", "app/src/main/java/com/qfs/pagan/HexEditText.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorPalette.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorButton.kt"]], "author": "smith.quintin@protonmail.com"}, "c20ea3e37ca61920722330b53d5fd95ce5ed887b": {"id": "c20ea3e37ca61920722330b53d5fd95ce5ed887b", "date": 1705603074.0, "description": "starting on adding palette options to settings", "files": [["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["A", "app/src/main/res/layout/color_picker_inline.xml"], ["A", "app/src/main/java/com/qfs/pagan/ColorButton.kt"]], "author": "smith.quintin@protonmail.com"}, "1c2175617b5d6589d647e30c65c582703993ed89": {"id": "1c2175617b5d6589d647e30c65c582703993ed89", "date": 1705601694.0, "description": "removed button strokes from palette. fixed number-select alt-style causing palette to not change sometimes", "files": [["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ConfigImage.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorPalette.kt"]], "author": "smith.quintin@protonmail.com"}, "3e66bf90ea3767ec01fa3b87ac540037bb07096f": {"id": "3e66bf90ea3767ec01fa3b87ac540037bb07096f", "date": 1705597639.0, "description": "Removed unused color & attr entries", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/attrs.xml"], ["M", "app/src/main/res/layout/table_column_label.xml"], ["M", "app/src/main/res/drawable/baseline_shortcut_24.xml"], ["M", "app/src/main/res/drawable/baseline_save_alt_24.xml"], ["D", "app/src/main/res/color/numberselector_fg.xml"], ["D", "app/src/main/res/color/numberselector_bg.xml"], ["D", "app/src/main/res/color/numberselector_b_bg.xml"], ["D", "app/src/main/res/color/leaf_fg.xml"], ["D", "app/src/main/res/color/leaf_bg.xml"], ["D", "app/src/main/res/color/label_fg.xml"], ["D", "app/src/main/res/color/label_bg.xml"], ["D", "app/src/main/res/color/button_fg.xml"], ["M", "app/src/main/java/com/qfs/pagan/ColorPalette.kt"]], "author": "smith.quintin@protonmail.com"}, "540fb37dd889a77ab4f067238c6ca4ff7237f1e0": {"id": "540fb37dd889a77ab4f067238c6ca4ff7237f1e0", "date": 1705560201.0, "description": "fixed relative option selector colors", "files": [["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "132180aee9e97ad6af0e67f3a67c6b6ede3bbcc8": {"id": "132180aee9e97ad6af0e67f3a67c6b6ede3bbcc8", "date": 1705558905.0, "description": "- improved leaf coloring logic\n    - replaced state_channel_even w state_alternate\n    - numberSelector buttons stay pressed when active", "files": [["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/drawable/button.xml"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafText.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "db2996721367eb019101b26391ab661d670045f0": {"id": "db2996721367eb019101b26391ab661d670045f0", "date": 1705552628.0, "description": "Button Padding & Spacing", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values/attrs.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_linking.xml"], ["M", "app/src/main/res/layout/contextmenu_column.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["A", "app/src/main/res/drawable/button_shadow.xml"], ["A", "app/src/main/res/drawable/button_icon_pressed.xml"], ["A", "app/src/main/res/drawable/button_icon_default.xml"], ["A", "app/src/main/res/drawable/button_icon.xml"], ["M", "app/src/main/res/drawable/button_default.xml"], ["M", "app/src/main/java/com/qfs/pagan/StdButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/IconButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "b2b4faae8fe07b828fbb00f5d84d86f4343e6b75": {"id": "b2b4faae8fe07b828fbb00f5d84d86f4343e6b75", "date": 1705525711.0, "description": "improved button shape. (padding still missing though)", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/drawable/number_selector_button.xml"], ["A", "app/src/main/res/drawable/button_pressed.xml"], ["A", "app/src/main/res/drawable/button_default.xml"], ["M", "app/src/main/res/drawable/button.xml"], ["M", "app/src/main/java/com/qfs/pagan/StdButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/IconButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "7592e7da372b8e4894301a47618b993baabc083e": {"id": "7592e7da372b8e4894301a47618b993baabc083e", "date": 1705467017.0, "description": "fixed unreliable tinting on column label", "files": [["M", "app/src/main/java/com/qfs/pagan/ColumnLabelViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"]], "author": "smith.quintin@protonmail.com"}, "d63fd733fddcf586553d9505623c8f246580116e": {"id": "d63fd733fddcf586553d9505623c8f246580116e", "date": 1705451709.0, "description": "light color theme tweak", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorPalette.kt"]], "author": "smith.quintin@protonmail.com"}, "900b811770355af016def436baa78ac499370150": {"id": "900b811770355af016def436baa78ac499370150", "date": 1705440082.0, "description": "changed 'remove_channel' X its own string resource", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "1e30b8bd3c8e078f38640fd1ed0fc2062d369bda": {"id": "1e30b8bd3c8e078f38640fd1ed0fc2062d369bda", "date": 1705439397.0, "description": "improved alert dialog layout padding", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "cb1ae27e7cd21141b9829144bd8dd98267c4cb36": {"id": "cb1ae27e7cd21141b9829144bd8dd98267c4cb36", "date": 1705437822.0, "description": "palettes: Handle missed edit text handles, highlights and cursor", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_linking.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganTextView.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganEditText.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "fbbc82255b0aa3f38c57b787b03f08a9002b21b6": {"id": "fbbc82255b0aa3f38c57b787b03f08a9002b21b6", "date": 1705435929.0, "description": "palettes: handled missed radiobutton logic", "files": [["M", "app/src/main/res/layout/contextmenu_linking.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking.xml"], ["A", "app/src/main/java/com/qfs/pagan/PaganRadioButton.kt"]], "author": "smith.quintin@protonmail.com"}, "ea36b6b4fe221160882c788aac14c9ffa919df50": {"id": "ea36b6b4fe221160882c788aac14c9ffa919df50", "date": 1705435339.0, "description": "improved context menu spacing", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_linking.xml"], ["M", "app/src/main/res/layout/contextmenu_column.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/res/drawable/remove_line.xml"], ["M", "app/src/main/res/drawable/remove_beat.xml"], ["M", "app/src/main/res/drawable/insert_line.xml"], ["M", "app/src/main/res/drawable/insert_beat.xml"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "0e825c4944961e8818db1530b5c7969b0f4068ab": {"id": "0e825c4944961e8818db1530b5c7969b0f4068ab", "date": 1705382324.0, "description": "slight adjustment to switch/seekbar colors", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganSwitch.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganSeekBar.kt"]], "author": "smith.quintin@protonmail.com"}, "8b93acfbd1e5e2bdc3bec465283ef5c46d994de6": {"id": "8b93acfbd1e5e2bdc3bec465283ef5c46d994de6", "date": 1705382052.0, "description": "palettes: wasn't done. handled switch, dropdown, titlebar & titlebar icons and improved seekbar", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/app_bar_main.xml"], ["A", "app/src/main/java/com/qfs/pagan/PaganSwitch.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganSeekBar.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorPalette.kt"]], "author": "smith.quintin@protonmail.com"}, "c4d97733e5cc69bf1c98609eb1cd87854e3aadab": {"id": "c4d97733e5cc69bf1c98609eb1cd87854e3aadab", "date": 1705377606.0, "description": "palette-based theming ostensibly finished. still need to tweak the actual colors", "files": [["M", "app/src/main/res/layout/dropdown_menu_item.xml"], ["M", "app/src/main/res/drawable/dropdown_line_gradient.xml"], ["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "1a08381287659ff950d3cc5b7202718466b5a9ac": {"id": "1a08381287659ff950d3cc5b7202718466b5a9ac", "date": 1705376621.0, "description": "palette-based color *almost* complete", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/colors.xml"], ["D", "app/src/main/res/values-night/themes.xml"], ["M", "app/src/main/res/layout/text_name_change.xml"], ["M", "app/src/main/res/layout/dropdown_menu_item.xml"], ["M", "app/src/main/res/layout/dialog_tuning_map.xml"], ["M", "app/src/main/res/layout/dialog_shortcut.xml"], ["M", "app/src/main/res/layout/dialog_menu.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/java/com/qfs/pagan/TuningMapRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganTextView.kt"], ["A", "app/src/main/java/com/qfs/pagan/PaganSeekBar.kt"], ["A", "app/src/main/java/com/qfs/pagan/PaganProgressBar.kt"], ["A", "app/src/main/java/com/qfs/pagan/PaganEditText.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/CornerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "7e00d489f79fa17c172899acde21204f405d9069": {"id": "7e00d489f79fa17c172899acde21204f405d9069", "date": 1705359848.0, "description": "palette: working on popups", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["A", "app/src/main/java/com/qfs/pagan/PaganTextView.kt"], ["A", "app/src/main/java/com/qfs/pagan/PaganDrawerLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["A", "app/src/main/java/com/qfs/pagan/ConfigImage.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorPalette.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "41342bb96025f17a256abcce9590a3b10467faa3": {"id": "41342bb96025f17a256abcce9590a3b10467faa3", "date": 1705355442.0, "description": "palette work: relative option selector", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values-night/themes.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "7af82cb3aeb4d8bb3a1905e4c7303edccad33194": {"id": "7af82cb3aeb4d8bb3a1905e4c7303edccad33194", "date": 1705353060.0, "description": "palette work", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values-night/themes.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_linking.xml"], ["M", "app/src/main/res/layout/contextmenu_column.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["D", "app/src/main/res/drawable/number_selector_button_b.xml"], ["M", "app/src/main/res/drawable/number_selector_button.xml"], ["M", "app/src/main/res/drawable/editor_label.xml"], ["M", "app/src/main/res/drawable/corner_button.xml"], ["D", "app/src/main/res/drawable/button_pressed.xml"], ["D", "app/src/main/res/drawable/button_default.xml"], ["M", "app/src/main/res/drawable/button.xml"], ["A", "app/src/main/java/com/qfs/pagan/StdButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafText.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["A", "app/src/main/java/com/qfs/pagan/IconButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/CornerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorPalette.kt"]], "author": "smith.quintin@protonmail.com"}, "1e619cb7ef3fa027bfba1b4e457107ea3dc80d7c": {"id": "1e619cb7ef3fa027bfba1b4e457107ea3dc80d7c", "date": 1705258647.0, "description": "more palette work", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values-night/themes.xml"], ["M", "app/src/main/res/drawable/editor_label_line.xml"], ["M", "app/src/main/res/drawable/editor_label.xml"], ["D", "app/src/main/res/color/line_label_bg.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorPalette.kt"]], "author": "smith.quintin@protonmail.com"}, "09b6e079ac42eb02c75891a75a649d9e43429b04": {"id": "09b6e079ac42eb02c75891a75a649d9e43429b04", "date": 1705207340.0, "description": "work on palettes", "files": [["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "a478092502e89ac0a63684f8c2776cb620d9353a": {"id": "a478092502e89ac0a63684f8c2776cb620d9353a", "date": 1705190881.0, "description": "work on palettes", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values-night/themes.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout/dropdown_menu_item.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout/beat_node.xml"], ["M", "app/src/main/res/layout/activity_main.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/res/drawable/leaf_facade.xml"], ["M", "app/src/main/res/drawable/leaf.xml"], ["M", "app/src/main/res/drawable/editor_label_line.xml"], ["M", "app/src/main/res/drawable/editor_label.xml"], ["M", "app/src/main/res/drawable/dropdown_line_gradient.xml"], ["M", "app/src/main/res/drawable/corner_button.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafText.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/CornerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColorPalette.kt"]], "author": "smith.quintin@protonmail.com"}, "c65517c533af525fc7e08b9da863c7f127c99938": {"id": "c65517c533af525fc7e08b9da863c7f127c99938", "date": 1705181341.0, "description": "work on custom palettes", "files": [["M", "app/src/main/res/drawable/leaf.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "37f5cd28ccb366cfbdcc051b35089aba0dfe255d": {"id": "37f5cd28ccb366cfbdcc051b35089aba0dfe255d", "date": 1705088885.0, "description": "toying with palette", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/layout/app_bar_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["A", "app/src/main/java/com/qfs/pagan/ColorPalette.kt"]], "author": "smith.quintin@protonmail.com"}, "cebb181c008d64ef442418c7e7d1c5546ec61d24": {"id": "cebb181c008d64ef442418c7e7d1c5546ec61d24", "date": 1705022256.0, "description": "started rough color picker", "files": [["A", "app/src/main/res/layout/color_picker.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "6f57d6c84f7f63e96c00e3a8a8333201dab7068c": {"id": "6f57d6c84f7f63e96c00e3a8a8333201dab7068c", "date": 1704959826.0, "description": "add atom feed to readme", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "648107b26a6d81778a927944b709654f63eff586": {"id": "648107b26a6d81778a927944b709654f63eff586", "date": 1704944178.0, "description": "lint", "files": [["D", "project_activity.mmd"], ["D", "musescore_lib_builder.py"], ["M", "gradlew"], ["M", "gradle/wrapper/gradle-wrapper.properties"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "68afd42a9a8767122d8c3e1b245b135dc2cef91f": {"id": "68afd42a9a8767122d8c3e1b245b135dc2cef91f", "date": 1704786359.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/44.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "1173aeb92d1f33362c1829a6b618b6fa1ef52e32": {"id": "1173aeb92d1f33362c1829a6b618b6fa1ef52e32", "date": 1704784887.0, "description": "fixed undo hangs", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "02638a58750c6891d15d7a73522cba46fdb70a51": {"id": "02638a58750c6891d15d7a73522cba46fdb70a51", "date": 1704749921.0, "description": "Removed redundant functions: overwrite_beat(), replace_beat_tree(), get_beat_tree()", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusManagerCursorLayerUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/LinkLayerUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/BaseLayerUnitTest.kt"], ["M", "app/src/test/java/com/qfs/apres/SoundFontPlayerUnitTest.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/TrivialActionException.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "81e95b0d329cfcfee61cdb974760ec5a7609cbde": {"id": "81e95b0d329cfcfee61cdb974760ec5a7609cbde", "date": 1704666921.0, "description": "squish improvement", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "7435bf598cf5b9e5ee312bc9de967a4a24f38203": {"id": "7435bf598cf5b9e5ee312bc9de967a4a24f38203", "date": 1704666402.0, "description": "squish improvement", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "ee02315e5626639b8732767d65689a4423685f74": {"id": "ee02315e5626639b8732767d65689a4423685f74", "date": 1704662558.0, "description": "*actually* fixed squish function. not in use though", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "3849a3b9da5115fdd2a4e6f92ba861c4fbbf7a9c": {"id": "3849a3b9da5115fdd2a4e6f92ba861c4fbbf7a9c", "date": 1704661957.0, "description": "fixed half-assed logic in previous commit", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "34d796e26dba5181d5e677e05bb317b8ccda0a25": {"id": "34d796e26dba5181d5e677e05bb317b8ccda0a25", "date": 1704661393.0, "description": "squish divides tempo", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "dfad86a02bc69875da26c1bdbc26873002ad55a1": {"id": "dfad86a02bc69875da26c1bdbc26873002ad55a1", "date": 1704661126.0, "description": "Squish function added to BaseLayer", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "9df9b3b4326aa98602f33423eef8801e9ca858e2": {"id": "9df9b3b4326aa98602f33423eef8801e9ca858e2", "date": 1704612504.0, "description": "moved changelog 42 ->43", "files": [["D", "fastlane/metadata/android/en-US/changelogs/42.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/43.txt"]], "author": "smith.quintin@protonmail.com"}, "6439bd0eeed6401baf5e57213453f6ffcc1ba5ce": {"id": "6439bd0eeed6401baf5e57213453f6ffcc1ba5ce", "date": 1704612009.0, "description": "version bump", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "db274cfde079124a46628083562c8a4b1b58f2e5": {"id": "db274cfde079124a46628083562c8a4b1b58f2e5", "date": 1704611663.0, "description": "bugfix: didn't change comparators to reflect changes to equals override", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"]], "author": "smith.quintin@protonmail.com"}, "2fce09ce036dcaee34c91db025d42b22e8b6751f": {"id": "2fce09ce036dcaee34c91db025d42b22e8b6751f", "date": 1704579823.0, "description": "some lint", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Modulator.kt"]], "author": "smith.quintin@protonmail.com"}, "3f98f5e80d0e7087f658264bc2cd98ad722677ef": {"id": "3f98f5e80d0e7087f658264bc2cd98ad722677ef", "date": 1704491264.0, "description": "disabled low pass filter again. still buggy", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Generated.kt"]], "author": "smith.quintin@protonmail.com"}, "35640f424f68c2da1ea58032000f5b4413e12f7b": {"id": "35640f424f68c2da1ea58032000f5b4413e12f7b", "date": 1704481111.0, "description": "handle some errors caused by Device that somehow don't have external files directory", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "872357597261f5aaf63ec80134f0bea201c95c33": {"id": "872357597261f5aaf63ec80134f0bea201c95c33", "date": 1704478292.0, "description": "Version update", "files": [["M", "fastlane/metadata/android/en-US/changelogs/42.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "be0862d59a0ad3373114e441c32fa173903cd68a": {"id": "be0862d59a0ad3373114e441c32fa173903cd68a", "date": 1704478086.0, "description": "Fixed transpose doubling up", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "c85b7063c6f588099e340ba685a4a6d541f0fcf1": {"id": "c85b7063c6f588099e340ba685a4a6d541f0fcf1", "date": 1704430421.0, "description": "defaults applied correctly to existing soundfont generators", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "7ff7e2604d3cc1135a342f73652782bd9f188d82": {"id": "7ff7e2604d3cc1135a342f73652782bd9f188d82", "date": 1704418312.0, "description": "changed attenuation -> initial_attenuation", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "5390ae5a3619dea68b1b774cb464947df3c46cb7": {"id": "5390ae5a3619dea68b1b774cb464947df3c46cb7", "date": 1704417254.0, "description": "removed lfo code, enable lpf", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "800818bdc4a42d5e96832095cc265cb8bd572c3d": {"id": "800818bdc4a42d5e96832095cc265cb8bd572c3d", "date": 1704351788.0, "description": "properly reordered priorities on value generators in sample handle generation", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusManagerCursorLayerUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/LinkLayerUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/HistoryLayerUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/BaseLayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "00251ebfe7ec9d7e15ce8a749b8a32365cc9035f": {"id": "00251ebfe7ec9d7e15ce8a749b8a32365cc9035f", "date": 1704302429.0, "description": "low frequency oscilator and delay implemented in SampleHandle", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "0d75150664791fdfadbc02e38a156527fc104d86": {"id": "0d75150664791fdfadbc02e38a156527fc104d86", "date": 1704300976.0, "description": "Improved link alike. still not perfect but i'm shelving that idea for now", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "63a917d4e6f051a3013cfc339b616a4227dd9650": {"id": "63a917d4e6f051a3013cfc339b616a4227dd9650", "date": 1704235197.0, "description": "first pass at a find_like_range() to find matching ranges", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "4dffd16ea30746833d96dc7677c8906d746bba48": {"id": "4dffd16ea30746833d96dc7677c8906d746bba48", "date": 1704092523.0, "description": "changed notification logo", "files": [["A", "app/src/main/res/drawable/small_logo.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "b0d1c9663868f8eed3f3c2e3f94a793c0c72541d": {"id": "b0d1c9663868f8eed3f3c2e3f94a793c0c72541d", "date": 1704084226.0, "description": "Improved export stability", "files": [["M", "app/src/main/res/layout/fragment_song_config.xml"], ["A", "app/src/main/res/drawable/baseline_cancel_42.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiConverter.kt"]], "author": "smith.quintin@protonmail.com"}, "1dcf77b0692183ad5b55295302c74c46e0a3fc7c": {"id": "1dcf77b0692183ad5b55295302c74c46e0a3fc7c", "date": 1703980048.0, "description": "Rough export progress display shown in sidebar", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "4f4b89aec85169d14dbf4028be69cabdb4d6bfbe": {"id": "4f4b89aec85169d14dbf4028be69cabdb4d6bfbe", "date": 1703974117.0, "description": "swap_lines() replacing move_line()", "files": [["M", "fastlane/metadata/android/en-US/changelogs/42.txt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "17c15fb638604beb6aecaf136ecf423823631d4b": {"id": "17c15fb638604beb6aecaf136ecf423823631d4b", "date": 1703894760.0, "description": "rearrange range selection contextmenu in landscape mode", "files": [["M", "app/src/main/res/layout-land/contextmenu_linking.xml"]], "author": "smith.quintin@protonmail.com"}, "6c224089157d7afbab7b4b6a20672a40836deb17": {"id": "6c224089157d7afbab7b4b6a20672a40836deb17", "date": 1703894620.0, "description": "unset() calls cursor_select", "files": [["A", "fastlane/metadata/android/en-US/changelogs/42.txt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "c0d17081df24fcd16d0c7b6a5b1ad64eea92953a": {"id": "c0d17081df24fcd16d0c7b6a5b1ad64eea92953a", "date": 1703882765.0, "description": "Issues 17 & 18. Soundfont menu now consistent. Long press soundfont button to bring up remove list", "files": [["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "5d6be85b95757557cffec224550b1ec9adaa8bbe": {"id": "5d6be85b95757557cffec224550b1ec9adaa8bbe", "date": 1703879706.0, "description": "Removed unused references to load fragment", "files": [["M", "app/src/main/res/navigation/nav_graph.xml"], ["D", "app/src/main/res/layout/fragment_load.xml"]], "author": "smith.quintin@protonmail.com"}, "8a4d536284ebbeb61b098b51c7c5eaeb9c24441f": {"id": "8a4d536284ebbeb61b098b51c7c5eaeb9c24441f", "date": 1703879628.0, "description": "issue 34: Projects listed in alphabetical order. Also removed Load Fragment and replaced with dialog", "files": [["D", "app/src/main/java/com/qfs/pagan/ProjectToLoadAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["D", "app/src/main/java/com/qfs/pagan/LoadFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "6f2e48a5c52908d2f7c05ea898e6385fd4346497": {"id": "6f2e48a5c52908d2f7c05ea898e6385fd4346497", "date": 1703878439.0, "description": "issue 35: update default values in number input dialog on confirm", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "5ef6f424c25f660c888a7f478be9e5fc18e50729": {"id": "5ef6f424c25f660c888a7f478be9e5fc18e50729", "date": 1703878128.0, "description": "issue 36: Added 'erase selection' option in range context menu", "files": [["M", "app/src/main/res/layout/contextmenu_linking.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking.xml"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "54117d001692233ea6dbaf778bd2485b211302fb": {"id": "54117d001692233ea6dbaf778bd2485b211302fb", "date": 1703792661.0, "description": "version bump", "files": [["M", "fastlane/metadata/android/en-US/changelogs/41.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "865d3024c047087b057b52b1cf29da9e5d10e7c5": {"id": "865d3024c047087b057b52b1cf29da9e5d10e7c5", "date": 1703792449.0, "description": "disconnect/connect feedback device on used", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FiniteMidiDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/VirtualMidiInputDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "b25e7970dcc9ce51a69f647905a471b7e65673ec": {"id": "b25e7970dcc9ce51a69f647905a471b7e65673ec", "date": 1703738383.0, "description": "stop feedback notes before disconnecting", "files": [["M", "app/src/main/java/com/qfs/pagan/MidiFeedbackDispatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "5ebe4d6701a6d94fcb4800a5f3f32e4f6913ccfe": {"id": "5ebe4d6701a6d94fcb4800a5f3f32e4f6913ccfe", "date": 1703733111.0, "description": "stablized playback when [un]plugging midi", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "38bf91348c3790aae5186bd13756aeb78707108b": {"id": "38bf91348c3790aae5186bd13756aeb78707108b", "date": 1703711404.0, "description": "separated midi and soundfont playbacks and implemented playback states. temporarily disabled feedback device", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FiniteMidiDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "03fa65f88835f8d4d36981de5c5b2e95f8842ed6": {"id": "03fa65f88835f8d4d36981de5c5b2e95f8842ed6", "date": 1703704510.0, "description": "working on improving playback states", "files": [["M", "app/src/main/res/menu/main_options_menu.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "6ba42e3c22f7cbc4e6a5728967d3648eab8cb560": {"id": "6ba42e3c22f7cbc4e6a5728967d3648eab8cb560", "date": 1703653094.0, "description": "midi device force stop on device removed", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "9b9e9302dbc25e0092e17d58153a85617fd6a5b1": {"id": "9b9e9302dbc25e0092e17d58153a85617fd6a5b1", "date": 1703532646.0, "description": "changelog", "files": [["A", "fastlane/metadata/android/en-US/changelogs/41.txt"]], "author": "smith.quintin@protonmail.com"}, "8436ed7ce1ae7ec3acad50e5871f7bf5efe607c5": {"id": "8436ed7ce1ae7ec3acad50e5871f7bf5efe607c5", "date": 1703532586.0, "description": "Improved leaf layout behaviour", "files": [["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "6e2e7276535eef26e4cdc31f520cb11e1d70b9ab": {"id": "6e2e7276535eef26e4cdc31f520cb11e1d70b9ab", "date": 1703368996.0, "description": "bugfix: Crash when midi service isn't supported", "files": [["M", "fastlane/metadata/android/en-US/changelogs/40.txt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "84f1d1d35544a691d80f5fe2dedbfad1f75a4ca8": {"id": "84f1d1d35544a691d80f5fe2dedbfad1f75a4ca8", "date": 1703364128.0, "description": "part of previous commit", "files": [["A", "fastlane/metadata/android/en-US/changelogs/40.txt"]], "author": "smith.quintin@protonmail.com"}, "50210be3877791403d238139c37f52b3b22ff99e": {"id": "50210be3877791403d238139c37f52b3b22ff99e", "date": 1703364067.0, "description": "bugfix: crash on apply_undo when unsetting set_tuning_table to a *smaller* radix", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "8b008e945754c0d07b4edbc1ce0d51133c790597": {"id": "8b008e945754c0d07b4edbc1ce0d51133c790597", "date": 1703274396.0, "description": "Copy beat wasn't a full copy", "files": [["M", "fastlane/metadata/android/en-US/changelogs/39.txt"], ["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"]], "author": "smith.quintin@protonmail.com"}, "056323d839a73b81f4d1a34aadea67d8acd4ce36": {"id": "056323d839a73b81f4d1a34aadea67d8acd4ce36", "date": 1703272167.0, "description": "version buump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/39.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "d7cb944e91c49c2ffb541e86512e8343a6cfc478": {"id": "d7cb944e91c49c2ffb541e86512e8343a6cfc478", "date": 1703234367.0, "description": "update Readme", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "b023d3fd34d90adb5f488b18107c7f1a4e01b7a6": {"id": "b023d3fd34d90adb5f488b18107c7f1a4e01b7a6", "date": 1703234147.0, "description": "increased minEms on tuning map numbers. text alignment set to end", "files": [["M", "app/src/main/res/layout/dialog_tuning_map.xml"], ["M", "app/src/main/java/com/qfs/pagan/TuningMapRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"]], "author": "smith.quintin@protonmail.com"}, "8c5955968432c7b2d2d44579a95ac859371baea2": {"id": "8c5955968432c7b2d2d44579a95ac859371baea2", "date": 1703233190.0, "description": "cleaned up tuning table visuals. added transpose control to tuning table", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/dialog_tuning_map.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/TuningMapRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "fe295c13ca55db4c1003b0d8d6bb138fff9e8491": {"id": "fe295c13ca55db4c1003b0d8d6bb138fff9e8491", "date": 1703227060.0, "description": "set_tuning_map fit into the history stack", "files": [["D", "local.properties"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "1bbc939492109f3bf51f987e808727ae8c9c6731": {"id": "1bbc939492109f3bf51f987e808727ae8c9c6731", "date": 1703202703.0, "description": "tuning_map is self consistent with transpose. ie. a transposition will move the first note up by the ratio in the tuning map, but the tuning_map still holds as if the transposed note is at the 0 position", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "98b493af77c444b323860dab6cd9af000dea32ad": {"id": "98b493af77c444b323860dab6cd9af000dea32ad", "date": 1703147265.0, "description": "Disabling Soundfont actually disables the soundfont", "files": [["M", "fastlane/metadata/android/en-US/changelogs/38.txt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "40501f3b04907c7f9b5c4adda4650a320cd365b1": {"id": "40501f3b04907c7f9b5c4adda4650a320cd365b1", "date": 1703144468.0, "description": "fixed midi feedback dispatcher hanging on some notes", "files": [["M", "app/src/main/java/com/qfs/pagan/MidiFeedbackDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "1c7ef149be50a4acd4cc45fa97fcfdd76484efe1": {"id": "1c7ef149be50a4acd4cc45fa97fcfdd76484efe1", "date": 1703142749.0, "description": "try to open output devices on before attempting to play midi or feedback", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "48591511f1bfd2e257b7dc2f60adae01fde8414c": {"id": "48591511f1bfd2e257b7dc2f60adae01fde8414c", "date": 1703137621.0, "description": "Close midi devices onPause()", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "12777be5d47bd9ca2d31f23660993c22c750e8b4": {"id": "12777be5d47bd9ca2d31f23660993c22c750e8b4", "date": 1703133950.0, "description": "update changelog", "files": [["M", "fastlane/metadata/android/en-US/changelogs/38.txt"]], "author": "smith.quintin@protonmail.com"}, "b21122c7398c7a79e7049afdddd44d1794e1d97f": {"id": "b21122c7398c7a79e7049afdddd44d1794e1d97f", "date": 1703133127.0, "description": "Fixed some broken midi behaviour", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "4ee382f9c3804d09923c02eb550db66fb42390a9": {"id": "4ee382f9c3804d09923c02eb550db66fb42390a9", "date": 1703121118.0, "description": "Fixed some broken midi device behaviour", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "f6ac1b149c04e364693b0a4ff2db121c10f74092": {"id": "f6ac1b149c04e364693b0a4ff2db121c10f74092", "date": 1703115408.0, "description": "Rough Tuning Map working", "files": [["A", "local.properties"], ["M", "app/src/main/res/layout/dialog_tuning_map.xml"], ["M", "app/src/main/java/com/qfs/pagan/TuningMapRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/RangedTextWatcher.kt"], ["D", "app/src/main/java/com/qfs/pagan/RangedNumerInput.kt"], ["A", "app/src/main/java/com/qfs/pagan/RangedNumberInput.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "4d0482f2c39251a96488090018183999a79edb98": {"id": "4d0482f2c39251a96488090018183999a79edb98", "date": 1703109705.0, "description": "Creating std RangedNumberInput for Number INputs", "files": [["M", "app/src/main/res/values/attrs.xml"], ["A", "app/src/main/res/layout/dialog_tuning_map.xml"], ["M", "app/src/main/res/layout/dialog_split.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["D", "app/src/main/java/com/qfs/pagan/structure/TuningMapRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["A", "app/src/main/java/com/qfs/pagan/TuningMapRecyclerAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/TuningMapRecycler.kt"], ["A", "app/src/main/java/com/qfs/pagan/RangedTextWatcher.kt"], ["A", "app/src/main/java/com/qfs/pagan/RangedNumerInput.kt"], ["A", "app/src/main/java/com/qfs/pagan/NumeralFilter.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "4c8d6279559ccac65f88262c3339c4afdd9acfdf": {"id": "4c8d6279559ccac65f88262c3339c4afdd9acfdf", "date": 1703027158.0, "description": "started tuning map editor", "files": [["A", "app/src/main/java/com/qfs/pagan/structure/TuningMapRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "5a5d793b669d5471e069c5782a477768b8ec96e5": {"id": "5a5d793b669d5471e069c5782a477768b8ec96e5", "date": 1703024370.0, "description": "play_event using tuning_map", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "ae576624dc4444c3c84d924dc746b6a44a7428ed": {"id": "ae576624dc4444c3c84d924dc746b6a44a7428ed", "date": 1703024006.0, "description": "radix replaced with tuning map", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "a8af18191d3929bc7bf0aae041e54b7cc7ae9ae0": {"id": "a8af18191d3929bc7bf0aae041e54b7cc7ae9ae0", "date": 1702970018.0, "description": "IgnoreUnknownKeys when loading json", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/LoadFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "f9ea2389ab6d579db0580dd23ae5c64e6a108e23": {"id": "f9ea2389ab6d579db0580dd23ae5c64e6a108e23", "date": 1702956376.0, "description": "removed debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "435ebaa5de1fce37c32694fcc7001c22502b113e": {"id": "435ebaa5de1fce37c32694fcc7001c22502b113e", "date": 1702948191.0, "description": "try/catch PaganConfiguration from_path, so if cfg gets corrupted, app still loads", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "6249d4fbc08d15e66a21acf959a9392bb35adf9a": {"id": "6249d4fbc08d15e66a21acf959a9392bb35adf9a", "date": 1702944418.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/38.txt"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "2a7b29eb69ebb01befbf0dbed9bfb2a9993d55c7": {"id": "2a7b29eb69ebb01befbf0dbed9bfb2a9993d55c7", "date": 1702943588.0, "description": "starting on custom tuning", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "adf41445b3c14bf7e96aaf874e6e91e646e7e2a9": {"id": "adf41445b3c14bf7e96aaf874e6e91e646e7e2a9", "date": 1702942273.0, "description": "feedback uses line volume", "files": [["M", "app/src/main/java/com/qfs/pagan/MidiFeedbackDispatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "c38f69382cff3971ba224f8ce388996e433108d6": {"id": "c38f69382cff3971ba224f8ce388996e433108d6", "date": 1702941606.0, "description": "*actually* fixed botched line volume controls", "files": [["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "c71feecc98df506d37e5ad716f96939761b6a3fa": {"id": "c71feecc98df506d37e5ad716f96939761b6a3fa", "date": 1702941080.0, "description": "removed radix from event", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/intermediate_structure_functions.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "7416111e089461baf5bac79f090e5c52e9b51842": {"id": "7416111e089461baf5bac79f090e5c52e9b51842", "date": 1702750995.0, "description": "added changelog", "files": [["A", "fastlane/metadata/android/en-US/changelogs/37.txt"]], "author": "smith.quintin@protonmail.com"}, "608ccb06947462839bf921feb44c9a52eb8bf1ee": {"id": "608ccb06947462839bf921feb44c9a52eb8bf1ee", "date": 1702750699.0, "description": "version bump", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "7a8512470951b713c2f5a30deeeb63a6f0a334bf": {"id": "7a8512470951b713c2f5a30deeeb63a6f0a334bf", "date": 1702750510.0, "description": "fixed botched line volume fix", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "89ee33f37771d323c2baae7e4907112117b09870": {"id": "89ee33f37771d323c2baae7e4907112117b09870", "date": 1702749715.0, "description": "fixed: bad transpose handling", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "86904aac297279d70462085d9bdd3e78dc6fdceb": {"id": "86904aac297279d70462085d9bdd3e78dc6fdceb", "date": 1702748477.0, "description": "feedback transposition fixed", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "1afbce8676c59a5e2f2b8db780deb87f9962b889": {"id": "1afbce8676c59a5e2f2b8db780deb87f9962b889", "date": 1702618410.0, "description": "Urgent bugfix: Midi device playback fixed", "files": [["M", "fastlane/metadata/android/en-US/changelogs/36.txt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "be2bb74913fb55af507823e3b743ed9800eb06b3": {"id": "be2bb74913fb55af507823e3b743ed9800eb06b3", "date": 1702617261.0, "description": "fixed: output device playback wasn't hiding reticle", "files": [["A", "fastlane/metadata/android/en-US/changelogs/36.txt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "f83b741d5ce1ad8bd5e0daf303401ed82ce003af": {"id": "f83b741d5ce1ad8bd5e0daf303401ed82ce003af", "date": 1702614683.0, "description": "increased percussion button size in landscape mode", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "98e320da696adce11e0eff599e14bc8012798de5": {"id": "98e320da696adce11e0eff599e14bc8012798de5", "date": 1702613163.0, "description": "hide line volume & percussion instrument control if no soundfont is set (resolves #22)", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "0c335e2e7ffabcbe61329796adeaca1d2d5513d1": {"id": "0c335e2e7ffabcbe61329796adeaca1d2d5513d1", "date": 1702612091.0, "description": "fixed playback button sometimes getting stuck on (resolves #23)", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FiniteMidiDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "bd29c0aeb480c27933f4077eff6bf03c8a040d4d": {"id": "bd29c0aeb480c27933f4077eff6bf03c8a040d4d", "date": 1702589954.0, "description": "Reduced max width of menu dialog (resolves #21)", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "1274e04291cd2c62f038dd2e042bc62bfd481cb6": {"id": "1274e04291cd2c62f038dd2e042bc62bfd481cb6", "date": 1702587690.0, "description": "i think i fixed a rare crash?", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "0e70769924d116ddcfa84d045d4c3cf01ddc4178": {"id": "0e70769924d116ddcfa84d045d4c3cf01ddc4178", "date": 1702582581.0, "description": "added volume img", "files": [["A", "app/src/main/res/drawable/volume.xml"]], "author": "smith.quintin@protonmail.com"}, "1809a25a3d92e2805e0e43f38c5f1754456cb6ba": {"id": "1809a25a3d92e2805e0e43f38c5f1754456cb6ba", "date": 1702577744.0, "description": "added line volume control popup in landscape", "files": [["A", "app/src/main/res/layout/dialog_line_volume.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "ebceda3d78d87a0b5eba226389bf0548d8bf462d": {"id": "ebceda3d78d87a0b5eba226389bf0548d8bf462d", "date": 1702576410.0, "description": "fix leaf/column misalignments (resolves #1)", "files": [["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "b6653761645f184c2c0cd8d541f4b98194aa8741": {"id": "b6653761645f184c2c0cd8d541f4b98194aa8741", "date": 1702500351.0, "description": "Added issues pagan to Readme", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "ac5b2cfdbc805a5b272469c17c1ab1c7bbb4fab2": {"id": "ac5b2cfdbc805a5b272469c17c1ab1c7bbb4fab2", "date": 1702318518.0, "description": "some lint", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryCache.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/intermediate_structure_functions.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorViewModel.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelPlaceHolder.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "9de3a7364527ee575d38ddf96657314a940d54ff": {"id": "9de3a7364527ee575d38ddf96657314a940d54ff", "date": 1702272686.0, "description": "fixed layout of badges again", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "95c172ed1a0702be89d3443299a35952710bc0e1": {"id": "95c172ed1a0702be89d3443299a35952710bc0e1", "date": 1702272587.0, "description": "fixed layout of badges", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "0d0caa3a72613efb0f2290d89d38e60797011225": {"id": "0d0caa3a72613efb0f2290d89d38e60797011225", "date": 1702271925.0, "description": "added local Google play button to readme.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "aa19d14e98cbc4bf7a7fbdb52c1cae16cb078c08": {"id": "aa19d14e98cbc4bf7a7fbdb52c1cae16cb078c08", "date": 1702271719.0, "description": "added Google play butotn to readme.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "614bb593ce905d7961969ed3fcedc66a0a207c23": {"id": "614bb593ce905d7961969ed3fcedc66a0a207c23", "date": 1701804475.0, "description": "fixed changelog names", "files": [["D", "fastlane/metadata/android/en-US/changelogs/100100.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/9.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/100005.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/8.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/100004.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/7.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/100003.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/6.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/100001.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/5.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/100000.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/4.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/100305.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/35.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/100304.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/34.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/100303.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/33.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/100301.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/31.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/000102.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/3.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/100200.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/28.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/100112.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/21.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/000101.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/2.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/100107.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/17.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/100106.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/16.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/100103.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/13.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/100102.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/12.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/100101.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/10.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/000100.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/1.txt"]], "author": "smith.quintin@protonmail.com"}, "b30eb7f7a5e4f044551d6161a3d5a7eb834405c3": {"id": "b30eb7f7a5e4f044551d6161a3d5a7eb834405c3", "date": 1701737917.0, "description": "version bump", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "9412d4581661493800b73ced7ba7b1dfec7ea5cd": {"id": "9412d4581661493800b73ced7ba7b1dfec7ea5cd", "date": 1701715997.0, "description": "added changelog for 1.3.5", "files": [["A", "fastlane/metadata/android/en-US/changelogs/100305.txt"]], "author": "smith.quintin@protonmail.com"}, "659e518f629281b87d68e3c93f5f3a12f9de30a6": {"id": "659e518f629281b87d68e3c93f5f3a12f9de30a6", "date": 1701715682.0, "description": "bugfix: can't column context menu not showing up without soundfont", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "d0c32745acb04d8da49495f51b3ff822a84d5500": {"id": "d0c32745acb04d8da49495f51b3ff822a84d5500", "date": 1701712130.0, "description": "uncommented a line i commented out to debug a month ago. it may have caused bugs in history stack", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "1ffe05fc51c2187a70aca97576f7b2541328fd05": {"id": "1ffe05fc51c2187a70aca97576f7b2541328fd05", "date": 1701711329.0, "description": "lint", "files": [["M", "app/src/test/java/com/qfs/pagan/HistoryLayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FiniteMidiDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Riff.kt"], ["M", "app/src/main/java/com/qfs/apres/event/NoteOn.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "11425c1b5b4fefe10f2bd444792b2b3312e4db3d": {"id": "11425c1b5b4fefe10f2bd444792b2b3312e4db3d", "date": 1701589383.0, "description": "re-setup config drawer onresume", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "0bac61cb4cabb87511eb2fdb8821c8e6bdc2a407": {"id": "0bac61cb4cabb87511eb2fdb8821c8e6bdc2a407", "date": 1701540990.0, "description": "updated changelog", "files": [["A", "fastlane/metadata/android/en-US/changelogs/100304.txt"]], "author": "smith.quintin@protonmail.com"}, "58fc7d0694c7c8b6949a475e4a5f6b1c258450e2": {"id": "58fc7d0694c7c8b6949a475e4a5f6b1c258450e2", "date": 1701540290.0, "description": "version bump", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "555ea6f3a188b4a90e9aa5b129974526464b8bbb": {"id": "555ea6f3a188b4a90e9aa5b129974526464b8bbb", "date": 1701540257.0, "description": "fixed crash on change soundfont", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "26d1767ca16f60174dd33ab77f2c8a44f4678731": {"id": "26d1767ca16f60174dd33ab77f2c8a44f4678731", "date": 1701507713.0, "description": "added changelog", "files": [["A", "fastlane/metadata/android/en-US/changelogs/100303.txt"]], "author": "smith.quintin@protonmail.com"}, "44e197fb314fb5ed338a82dea49dc018d008d3de": {"id": "44e197fb314fb5ed338a82dea49dc018d008d3de", "date": 1701507105.0, "description": "scroll_to_position() now considers position in addition to row and beat", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "e925b7953dadb8d01c9d15e2d5c4467c1dcd18b2": {"id": "e925b7953dadb8d01c9d15e2d5c4467c1dcd18b2", "date": 1701485501.0, "description": "Version bump", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "f74c66d977730a31add30dccf58f9996e06e5baa": {"id": "f74c66d977730a31add30dccf58f9996e06e5baa", "date": 1701485432.0, "description": "Only restoring activeChannelOptions recyclerView if it's open onResume", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "cbf9a7f51bca8c5b2c8258b6fc55c219bb34cbe2": {"id": "cbf9a7f51bca8c5b2c8258b6fc55c219bb34cbe2", "date": 1701456788.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MidiFeedbackDispatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "b203ad0e7c603a1e0049806750d35471f8ac1ad5": {"id": "b203ad0e7c603a1e0049806750d35471f8ac1ad5", "date": 1701455450.0, "description": "shrunk corner button icon", "files": [["M", "app/src/main/res/values/styles.xml"]], "author": "smith.quintin@protonmail.com"}, "b9594aa95a1cdb38f7521415db1caf75fee35440": {"id": "b9594aa95a1cdb38f7521415db1caf75fee35440", "date": 1701455351.0, "description": "Removed unused code", "files": [["D", "app/src/main/java/com/qfs/pagan/VerticalScrollListener.kt"]], "author": "smith.quintin@protonmail.com"}, "6fce5bb1be229f0f6ff996567f99c43224f2fa30": {"id": "6fce5bb1be229f0f6ff996567f99c43224f2fa30", "date": 1701455147.0, "description": "separated localizable strings", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "f55ca28eaa0ab0a1081c22f6fd1c5206a07f6df0": {"id": "f55ca28eaa0ab0a1081c22f6fd1c5206a07f6df0", "date": 1701453237.0, "description": "removed debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "74fb791b71b12a13a79f94bffebb6d3e63bee406": {"id": "74fb791b71b12a13a79f94bffebb6d3e63bee406", "date": 1701373306.0, "description": "reverting to saving backup to file system since some devices may struggle to hold bigger projects in memory", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "9c98c503b82ae7ece321e06e367b970930a0d13f": {"id": "9c98c503b82ae7ece321e06e367b970930a0d13f", "date": 1701367194.0, "description": "loading reticle blocks clicking", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout/content_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "dceebf01a6e2bfbf742ace9b8a23c65d41cf9f41": {"id": "dceebf01a6e2bfbf742ace9b8a23c65d41cf9f41", "date": 1701365498.0, "description": "version bump", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "d8bf5e5a89393e1db1fc5e6760ba0b609755d0de": {"id": "d8bf5e5a89393e1db1fc5e6760ba0b609755d0de", "date": 1701365292.0, "description": "Moved rcActiveChannels restoration from onViewStateRestored to onResume", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "d5435cc9c49bb1a0647df9553c780847eaab77ae": {"id": "d5435cc9c49bb1a0647df9553c780847eaab77ae", "date": 1701227719.0, "description": "fixed typo in description", "files": [["M", "fastlane/metadata/android/en-US/short_description.txt"], ["M", "fastlane/metadata/android/en-US/full_description.txt"]], "author": "smith.quintin@protonmail.com"}, "bbe462900619e3927c681c720e859686e4ac96d9": {"id": "bbe462900619e3927c681c720e859686e4ac96d9", "date": 1701227068.0, "description": "fixed typo in README.md", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "41763feb622ac637115de4bf5cd34aea83fe05d9": {"id": "41763feb622ac637115de4bf5cd34aea83fe05d9", "date": 1701226055.0, "description": "Name change from 'Opus Editor' to 'Music Sequencer' and fastlane images", "files": [["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/07 - Pagan Opus Editor.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/06 - Pagan Opus Editor.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/05 - Pagan Opus Editor.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/04 - Pagan Opus Editor.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/04 - Pagan Music Sequencer.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/03 - Pagan Opus Editor.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/03 - Pagan Music Sequencer.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/02 - Pagan Opus Editor.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/02 - Pagan Music Sequencer.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/01 - Pagan Opus Editor.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/01 - Pagan Music Sequencer.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/00 - Pagan Opus Editor.png"], ["M", "fastlane/metadata/android/en-US/images/featureGraphic.png"], ["M", "app/src/main/res/values/strings.xml"], ["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "ce1c20c3ee58513f6ee396c97ca1e80ccfcd1329": {"id": "ce1c20c3ee58513f6ee396c97ca1e80ccfcd1329", "date": 1701216076.0, "description": "updated copy", "files": [["M", "fastlane/metadata/android/en-US/title.txt"], ["M", "fastlane/metadata/android/en-US/short_description.txt"], ["M", "fastlane/metadata/android/en-US/full_description.txt"], ["D", "fastlane/metadata/android/en-US/changelogs/100300.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/100301.txt"]], "author": "smith.quintin@protonmail.com"}, "687c71c013ed2a1fcd2ba405cf9c839fc5c3463f": {"id": "687c71c013ed2a1fcd2ba405cf9c839fc5c3463f", "date": 1701195637.0, "description": "version bump", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "443d2d8e24959aecfc851d93452733fe32e9155b": {"id": "443d2d8e24959aecfc851d93452733fe32e9155b", "date": 1701194439.0, "description": "removed artifact comment", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "b56e0db844d77da690ba7fdff7e050759ca9892e": {"id": "b56e0db844d77da690ba7fdff7e050759ca9892e", "date": 1701194306.0, "description": "no longer saving to bkp.json, instead putting the json bytes into view model / savedInstanceState", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorViewModel.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "ebbabf00418e8a628a136ecf62aedb99897d5834": {"id": "ebbabf00418e8a628a136ecf62aedb99897d5834", "date": 1701154265.0, "description": "Channel Recycler View now gets cleared on stop and doesn't get populated until onDrawerOpened", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "c266c3e8e4d9bf0d2d226ade18f461e6bd60b64f": {"id": "c266c3e8e4d9bf0d2d226ade18f461e6bd60b64f", "date": 1701125984.0, "description": "bugfix: crash on disable soundfont", "files": [["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "605befbf434e99c9d4f4beafc67e488da385f5b5": {"id": "605befbf434e99c9d4f4beafc67e488da385f5b5", "date": 1701120912.0, "description": "Version Bump 1.3.0", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "bef3981437b8084e2c31dfdf9b8977e009e9a81b": {"id": "bef3981437b8084e2c31dfdf9b8977e009e9a81b", "date": 1701120853.0, "description": "some spacing", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "8657214bdc9b553f6e60f1ca5fc140dee77268a0": {"id": "8657214bdc9b553f6e60f1ca5fc140dee77268a0", "date": 1701120629.0, "description": "config menu back to actively being updated instead of onDrawer open", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "ab58e2333758df009eb5550d3412f9d2611f4d95": {"id": "ab58e2333758df009eb5550d3412f9d2611f4d95", "date": 1701117074.0, "description": "bugfix: drawer causing crash on load to an opus with < channels", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "8997920a4140aebd1f76e6e692b8e2fc300c6da1": {"id": "8997920a4140aebd1f76e6e692b8e2fc300c6da1", "date": 1701109979.0, "description": "navigationIcon will be redrawn correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LoadFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "93f04413159f62a3f6927f98e53c58c455786be3": {"id": "93f04413159f62a3f6927f98e53c58c455786be3", "date": 1701079803.0, "description": "bugfix: setup_project_config_drawer was being called too often", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "17a0426b96dc0bb33a874bb306dc1d9423931b4d": {"id": "17a0426b96dc0bb33a874bb306dc1d9423931b4d", "date": 1701071337.0, "description": "modified update_title_text to consider active fragment", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "82c3870b74d9ad834a50ba594585424f537fd84a": {"id": "82c3870b74d9ad834a50ba594585424f537fd84a", "date": 1701069371.0, "description": "bugfix: was possible for on_stop to never be called", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FiniteMidiDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "948e7987d55d4f38c2e030feadb5a71d03ff45ac": {"id": "948e7987d55d4f38c2e030feadb5a71d03ff45ac", "date": 1701026924.0, "description": "Check for bad range when copying/moving beat range", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "6522f4253521ffc787b7c115c86267b6bd7680e1": {"id": "6522f4253521ffc787b7c115c86267b6bd7680e1", "date": 1701026346.0, "description": "Fixed how overwrite_beat_range and move_beat_range work", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "e088cd1ed15e69922dc74d13b0c99c3ce57e09f9": {"id": "e088cd1ed15e69922dc74d13b0c99c3ce57e09f9", "date": 1701025808.0, "description": "Created radio group for link/copy/move modes", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/strings.xml"], ["D", "app/src/main/res/values/goateye_background.xml"], ["D", "app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp"], ["D", "app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp"], ["D", "app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp"], ["D", "app/src/main/res/mipmap-xxhdpi/ic_launcher.webp"], ["D", "app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp"], ["D", "app/src/main/res/mipmap-xhdpi/ic_launcher.webp"], ["D", "app/src/main/res/mipmap-mdpi/ic_launcher_round.webp"], ["D", "app/src/main/res/mipmap-mdpi/ic_launcher.webp"], ["D", "app/src/main/res/mipmap-hdpi/ic_launcher_round.webp"], ["D", "app/src/main/res/mipmap-hdpi/ic_launcher.webp"], ["D", "app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml"], ["D", "app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml"], ["M", "app/src/main/res/layout/contextmenu_linking.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "04e7680d74bbea5c110d77726712a98d04296e4b": {"id": "04e7680d74bbea5c110d77726712a98d04296e4b", "date": 1700979149.0, "description": "bugfix: crash on load when make_visible() gets called", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "dbe68714406a29f0620995a8e0e3376b45af0896": {"id": "dbe68714406a29f0620995a8e0e3376b45af0896", "date": 1700955597.0, "description": "Added title messages to be displayed while loading reticle is visible", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "61d78f26c17a3c22b20d569226b2d61a5d40a10a": {"id": "61d78f26c17a3c22b20d569226b2d61a5d40a10a", "date": 1700899805.0, "description": "active midi player slightly less precise but far less fragile", "files": [["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "db8290ab92197ce5d65e62e7980273189391ff9f": {"id": "db8290ab92197ce5d65e62e7980273189391ff9f", "date": 1700890234.0, "description": "ActiveMidiAudioPlayer handles DeadException", "files": [["M", "app/src/main/java/com/qfs/pagan/MidiFeedbackDispatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "43f4a008b433cf67ee57fb8ce8d9b24c60e01cd5": {"id": "43f4a008b433cf67ee57fb8ce8d9b24c60e01cd5", "date": 1700889972.0, "description": "bugfix: export to wav was clipping due to pauses in a song", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "8a98475f28d58206e456a9701ceaddb51c25d9c2": {"id": "8a98475f28d58206e456a9701ceaddb51c25d9c2", "date": 1700887243.0, "description": "added mutex to _midid_events_by_frame.clear()", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "70d760de5662520f6931b3b52c71fc2224f25b30": {"id": "70d760de5662520f6931b3b52c71fc2224f25b30", "date": 1700886228.0, "description": "reset drawer when it gets open instead of as it's relative information changes", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "bff79a84e8cb042bf941b4609cee9a248c08e8a8": {"id": "bff79a84e8cb042bf941b4609cee9a248c08e8a8", "date": 1700873104.0, "description": "scroll to start on load/import/new", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "538359ad79d7d9bbe9929ce50164951f038be9cd": {"id": "538359ad79d7d9bbe9929ce50164951f038be9cd", "date": 1700869329.0, "description": "fixed crash on change radix", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "60b220ad7c467961b8a3654995337cebe2b72396": {"id": "60b220ad7c467961b8a3654995337cebe2b72396", "date": 1700868551.0, "description": "fixed another crash-on-load", "files": [["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "65b445f6a020faacd1602a81e9778672454e2941": {"id": "65b445f6a020faacd1602a81e9778672454e2941", "date": 1700865526.0, "description": "Fixed crashing on load", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "e8ebb7646c92007229f31855208db817505133a7": {"id": "e8ebb7646c92007229f31855208db817505133a7", "date": 1700861080.0, "description": "Fixed scroll position unintentionally carrying to new/imported/loaded project", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorViewModel.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "01e9bb636325786e35a2a73397c95b4aa3733900": {"id": "01e9bb636325786e35a2a73397c95b4aa3733900", "date": 1700784199.0, "description": "allow 2-axis scrolling", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "ebb0e3579d250f32a2b90511fde5b9a45f5da543": {"id": "ebb0e3579d250f32a2b90511fde5b9a45f5da543", "date": 1700775816.0, "description": "fixed main recyclerview scrolling back to start if was aligned with a column", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LoadFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/IntentFragmentToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorViewModel.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FiniteMidiDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "816684f473cb5277507f5c592aa48500d97bbf6c": {"id": "816684f473cb5277507f5c592aa48500d97bbf6c", "date": 1700704497.0, "description": "long click shortcut button jumps to first beat", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "5e25045df24d6b0a5e0daf25affb1ddd81bcace1": {"id": "5e25045df24d6b0a5e0daf25affb1ddd81bcace1", "date": 1700704298.0, "description": "change the notification index which is passed to on_beat()", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FiniteMidiDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "6a93a15129f0b1c99393547608d1906eb74fea66": {"id": "6a93a15129f0b1c99393547608d1906eb74fea66", "date": 1700693304.0, "description": "fixed bug in import_midi causing percussion to be wrong", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "2406d3221b55900d13a8d814657bf9761b1eb460": {"id": "2406d3221b55900d13a8d814657bf9761b1eb460", "date": 1700691896.0, "description": "expository comment", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorViewModel.kt"]], "author": "smith.quintin@protonmail.com"}, "2d9192dc364bbc5539e0f0fabc228ce8cb9a39fb": {"id": "2d9192dc364bbc5539e0f0fabc228ce8cb9a39fb", "date": 1700691661.0, "description": "keep history cache past onStop", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorViewModel.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "487a58fa23018000c617b8b569c53af12a531ff3": {"id": "487a58fa23018000c617b8b569c53af12a531ff3", "date": 1700690674.0, "description": "validate_percussion_visibility() saves configuration", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "53e522435d5104250c1eb85e3255543de3714916": {"id": "53e522435d5104250c1eb85e3255543de3714916", "date": 1700690417.0, "description": "json_load() no longer calls replace_tree() for empty beats", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "8a2feaacc1d727396a42dd7f4b40bdbe063ff7a1": {"id": "8a2feaacc1d727396a42dd7f4b40bdbe063ff7a1", "date": 1700689882.0, "description": "[Hopefully] fixed scroll delay on slow devices", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FiniteMidiDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "1f26590979884b742c7aced6a32c4d28489ea301": {"id": "1f26590979884b742c7aced6a32c4d28489ea301", "date": 1700628795.0, "description": "increased buffer delay on ActiveMidiAudioPlayer", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "9841aa3e7f5898206254063c5d1db85f8236cecb": {"id": "9841aa3e7f5898206254063c5d1db85f8236cecb", "date": 1700618007.0, "description": "Copy/Link Mode", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/contextmenu_linking.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking.xml"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "95668572b1f0f05130bc214445baee6c5769a94d": {"id": "95668572b1f0f05130bc214445baee6c5769a94d", "date": 1700610920.0, "description": "Started work on link/copy mode", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "abaab6263262b60da953c4dcb3b3ecea120379b1": {"id": "abaab6263262b60da953c4dcb3b3ecea120379b1", "date": 1700606856.0, "description": "setup config drawer on resume", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "70117fecf4c9824bb91181b6bb5775ec9bc88dd1": {"id": "70117fecf4c9824bb91181b6bb5775ec9bc88dd1", "date": 1700605785.0, "description": "tweaks dark colors", "files": [["M", "app/src/main/res/values-night/themes.xml"]], "author": "smith.quintin@protonmail.com"}, "e1692eb07839f5fdddaa913eefee4f38fcc6d3a6": {"id": "e1692eb07839f5fdddaa913eefee4f38fcc6d3a6", "date": 1700605614.0, "description": "tweaks dark colors", "files": [["M", "app/src/main/res/values-night/themes.xml"]], "author": "smith.quintin@protonmail.com"}, "99e390d18e0b125abcdf30e758cefd4c1545c4fa": {"id": "99e390d18e0b125abcdf30e758cefd4c1545c4fa", "date": 1700605209.0, "description": "tweak link label and colors", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values-night/themes.xml"], ["M", "app/src/main/res/layout/contextmenu_linking.xml"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "4d3622786073b99d90abcf17ff64de5085012f95": {"id": "4d3622786073b99d90abcf17ff64de5085012f95", "date": 1700591928.0, "description": "tucking editor outline behind negative margins", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"]], "author": "smith.quintin@protonmail.com"}, "ccae5434bc267bb10a661edaf29fa21fe985ec9d": {"id": "ccae5434bc267bb10a661edaf29fa21fe985ec9d", "date": 1700589891.0, "description": "bugfixes: crashing on mixed linking. cells not updating when linking row", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "0d2b83c62e21df0b410de04228e106745bec7627": {"id": "0d2b83c62e21df0b410de04228e106745bec7627", "date": 1700588375.0, "description": "force percussion channel to be visible when Undoing an action that requires it", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "66a8ebfe7c76078e41d7dc8724501937db556723": {"id": "66a8ebfe7c76078e41d7dc8724501937db556723", "date": 1700587092.0, "description": "bugfix: notify editor table of linked beat changes when linking ranges", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "d818db353cb23a3d58ab299698ad873d892dae2a": {"id": "d818db353cb23a3d58ab299698ad873d892dae2a", "date": 1700525944.0, "description": "keep the a row/column selected if row/column was removed so the user doesn't have to keep tapping on the label", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "b0ec03004478bc1c34bcec4f2c46dec5f0106485": {"id": "b0ec03004478bc1c34bcec4f2c46dec5f0106485", "date": 1700523263.0, "description": "changed notification order in apply_and_notify_remaining()", "files": [["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "0b22d182119fa1da3065d0ced4e0a009716db737": {"id": "0b22d182119fa1da3065d0ced4e0a009716db737", "date": 1700522765.0, "description": "clear cursor before removing/inserting channel", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "b1d6d53d7662675aa53e0deb1df981dca957c32e": {"id": "b1d6d53d7662675aa53e0deb1df981dca957c32e", "date": 1700522335.0, "description": "update line labels correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "8cbef203d729f3c408fdf00acd2fac66b08691fc": {"id": "8cbef203d729f3c408fdf00acd2fac66b08691fc", "date": 1700521647.0, "description": "ActiveMidiAudioPlayer working again", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "653c4c1e97c64f6a4ca73c3b69cc5eff2ea4aa65": {"id": "653c4c1e97c64f6a4ca73c3b69cc5eff2ea4aa65", "date": 1700520620.0, "description": "Clear sample release map on wave generator clear()", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "ff9060712a89c1c05ee708ed34f131d19497a5fc": {"id": "ff9060712a89c1c05ee708ed34f131d19497a5fc", "date": 1700520463.0, "description": "Fixed some audible hiccups due to mismatched NoteOffs", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "2304e7861a39bdb9aa6fd947b394900f4fcba033": {"id": "2304e7861a39bdb9aa6fd947b394900f4fcba033", "date": 1700516472.0, "description": "improved playback stopping", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FiniteMidiDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "826b9c840c614a0e80a58f63882399524e810d07": {"id": "826b9c840c614a0e80a58f63882399524e810d07", "date": 1700457446.0, "description": "bugfix: setting radix wasn't updating context menu on non-event leafs", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "accbeab3a0c059bbe4b3166691709025cc6b3644": {"id": "accbeab3a0c059bbe4b3166691709025cc6b3644", "date": 1700457080.0, "description": "update to color schemes. removed divider line between numberselector and added different colors for selectors", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values/attrs.xml"], ["M", "app/src/main/res/values-night/themes.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["A", "app/src/main/res/drawable/number_selector_button_b.xml"], ["A", "app/src/main/res/drawable/number_selector_button.xml"], ["M", "app/src/main/res/drawable/button_default.xml"], ["M", "app/src/main/res/color/numberselector_fg.xml"], ["A", "app/src/main/res/color/numberselector_b_bg.xml"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "133940d8396724a6f523709ec0c47fefa36afe7e": {"id": "133940d8396724a6f523709ec0c47fefa36afe7e", "date": 1700448128.0, "description": "rebuilt a bunch of styles and such", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_linking.xml"], ["M", "app/src/main/res/layout/contextmenu_column.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout/config_active_channel.xml"], ["M", "app/src/main/res/layout/activity_main.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["A", "app/src/main/res/drawable/editor_label_line.xml"], ["M", "app/src/main/res/drawable/editor_label.xml"], ["M", "app/src/main/res/drawable/corner_button.xml"], ["M", "app/src/main/res/drawable/button_pressed.xml"], ["M", "app/src/main/res/drawable/button_default.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "5a3042c402aa4265c7d2ec66adec4f20410556c2": {"id": "5a3042c402aa4265c7d2ec66adec4f20410556c2", "date": 1700337520.0, "description": "cleaning up look and structure of the lines/strokes of leafs and labels", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["D", "app/src/main/res/layout/leaf_relative.xml"], ["D", "app/src/main/res/layout/leaf_percussion.xml"], ["D", "app/src/main/res/layout/leaf_empty.xml"], ["D", "app/src/main/res/layout/leaf_absolute.xml"], ["M", "app/src/main/res/layout/dropdown_menu_item.xml"], ["M", "app/src/main/res/layout/beat_node.xml"], ["A", "app/src/main/res/drawable/leaf.xml"], ["A", "app/src/main/res/drawable/editor_label.xml"], ["A", "app/src/main/res/drawable/corner_button.xml"], ["M", "app/src/main/res/drawable/button_default.xml"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["D", "app/src/main/java/com/qfs/pagan/LeafInnerWrapper.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/CornerView.kt"]], "author": "smith.quintin@protonmail.com"}, "e1aeaea5703799f72df67e7d2e3db86e51187b26": {"id": "e1aeaea5703799f72df67e7d2e3db86e51187b26", "date": 1700292396.0, "description": "cleaned up ui lock", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "aab506d4db85f33e2af2ab1409f7ae69416f42eb": {"id": "aab506d4db85f33e2af2ab1409f7ae69416f42eb", "date": 1700281152.0, "description": "removed debug & unused code", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "60be05d2c7de923a67349af9e614ee5df13fd8e8": {"id": "60be05d2c7de923a67349af9e614ee5df13fd8e8", "date": 1700280785.0, "description": "Handled crash on import/load interrupted by orientation change", "files": [["M", "app/src/main/res/navigation/nav_graph.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LoadFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/LicenseFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorViewModel.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "62270e4a85517848f54aa0704d8a29e44ea5a9ea": {"id": "62270e4a85517848f54aa0704d8a29e44ea5a9ea", "date": 1700243014.0, "description": "bugfix: reorientation while song buffering caused bad state", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/FiniteMidiDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "01fd56bb43c4ee414dfb536f0644d978f0400ab6": {"id": "01fd56bb43c4ee414dfb536f0644d978f0400ab6", "date": 1700206386.0, "description": "version bump", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "851b87ef6012115faf5e1b46c3eeb0d326e95d6b": {"id": "851b87ef6012115faf5e1b46c3eeb0d326e95d6b", "date": 1700205502.0, "description": "split the active/finite midi playback devices since they need different playback loops", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/FiniteMidiDevice.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfontplayer/CachedMidiAudioPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "a79983861dc7ebc804d6311dbf049ebb3bfce851": {"id": "a79983861dc7ebc804d6311dbf049ebb3bfce851", "date": 1700188585.0, "description": "fixed scroll-along alignment", "files": [["M", "app/src/main/res/layout/activity_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/CachedMidiAudioPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "57af7f927bc618b3f7ba7216ca7441236f58e156": {"id": "57af7f927bc618b3f7ba7216ca7441236f58e156", "date": 1700106679.0, "description": "clear wavegenerator after chunk loop instead of after write loop", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "10e8b197ea2ec2685fd19e217bcd60b62c3a8505": {"id": "10e8b197ea2ec2685fd19e217bcd60b62c3a8505", "date": 1700106288.0, "description": "Can no longer multi-tap play/pause. rotating with percussion disabled no longer causes crash", "files": [["A", "app/src/main/res/drawable/baseline_play_disabled_24.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "cdfe689a52e84e28a40f4a70fa14acd273a715b9": {"id": "cdfe689a52e84e28a40f4a70fa14acd273a715b9", "date": 1700089674.0, "description": "undoing a deleted channel restores instrument", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "b25f71012e4a7eb760d1b94e9912e222cc86ba86": {"id": "b25f71012e4a7eb760d1b94e9912e222cc86ba86", "date": 1700080856.0, "description": "handled crash caused by hiding percussion channel", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "82dd4027108a7ea7613a422ead91e4cb2470c093": {"id": "82dd4027108a7ea7613a422ead91e4cb2470c093", "date": 1700075554.0, "description": "Loading reticle showing. working on removing incidental crashes", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "94aeb84a58361f02430ce944381e41d04226a02d": {"id": "94aeb84a58361f02430ce944381e41d04226a02d", "date": 1700038684.0, "description": "re-engineered playback loop", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "dbf80980e028fbc00f19b2d25988814ced2189e2": {"id": "dbf80980e028fbc00f19b2d25988814ced2189e2", "date": 1700027710.0, "description": "InterfaceLayer's access to UI relegated to UI Thread", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "c9daa14429fca0ca4861836d93cb56c7fcbf8d43": {"id": "c9daa14429fca0ca4861836d93cb56c7fcbf8d43", "date": 1699999125.0, "description": "WaveGenerator has dedicated IntArray to reduce memory management", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "6b6eee99ee3d0589b27ab45c5ef7db1777953b40": {"id": "6b6eee99ee3d0589b27ab45c5ef7db1777953b40", "date": 1699993043.0, "description": "removed debug code", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "d09c2f5506f4cc65ded2f19e09b5170bafbcfbaa": {"id": "d09c2f5506f4cc65ded2f19e09b5170bafbcfbaa", "date": 1699992947.0, "description": "fixed feedback device dropping notes", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "c45f61e247a224358c378ba326131a250d7d4de3": {"id": "c45f61e247a224358c378ba326131a250d7d4de3", "date": 1699992245.0, "description": "fixed playback scroll misaligment", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "7a2f4ca45cfba892ac0892a36b2775631df6831c": {"id": "7a2f4ca45cfba892ac0892a36b2775631df6831c", "date": 1699990831.0, "description": "simplified over-engineered playback loop", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "5b7a730a3bf1413da96c4af16b56e5acf8a4e0cd": {"id": "5b7a730a3bf1413da96c4af16b56e5acf8a4e0cd", "date": 1699988734.0, "description": "standard buffer_delay is 1, no reason to change anymore. removed some debug code", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/CachedMidiAudioPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "61f169198c0d3f1f9da647d692128fd480b7f34c": {"id": "61f169198c0d3f1f9da647d692128fd480b7f34c", "date": 1699986887.0, "description": "Massive improvement to generate() speed", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/CachedMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "cec94012892a2abe216fd6e0ebda1957034a98fe": {"id": "cec94012892a2abe216fd6e0ebda1957034a98fe", "date": 1699902584.0, "description": "removed CellPlaceHolder, allow infinite buffer cache limit, fixed Text Coloring on leafs", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/java/com/qfs/pagan/LeafText.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["D", "app/src/main/java/com/qfs/pagan/CellPlaceHolder.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/CachedMidiAudioPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "91a5b31a995f06d435283a1dcfecd5fbe3a8ffdc": {"id": "91a5b31a995f06d435283a1dcfecd5fbe3a8ffdc", "date": 1699854906.0, "description": "Removed LayoutInflater in leafs and switched to LinearLayouts instead of ContraintLayouts", "files": [["M", "app/src/main/res/layout/leaf_absolute.xml"], ["M", "app/src/main/java/com/qfs/pagan/LeafInnerWrapper.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellPlaceHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "de94d69f1ac8da75ee54ab4f8979c7144e48e646": {"id": "de94d69f1ac8da75ee54ab4f8979c7144e48e646", "date": 1699812126.0, "description": "remove/insert cell calls notify all siblings before and after", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "cea0b80b4ca293206804c3f012de39d1f45c3cb0": {"id": "cea0b80b4ca293206804c3f012de39d1f45c3cb0", "date": 1699811222.0, "description": "placeholders for cells and a quick check to see if they need to actually be populated", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["A", "app/src/main/java/com/qfs/pagan/CellPlaceHolder.kt"]], "author": "smith.quintin@protonmail.com"}, "f5c4084042617c800f3bcca5ca6e9d641250dc85": {"id": "f5c4084042617c800f3bcca5ca6e9d641250dc85", "date": 1699768406.0, "description": "update unset button. clear number selector when on empty leaf", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "7a1e1a0de38c551e4c711cea9bb73f884f8b710f": {"id": "7a1e1a0de38c551e4c711cea9bb73f884f8b710f", "date": 1699767351.0, "description": "abandoned gridlayoutmanager. (it's way too slow)", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["A", "app/src/main/java/com/qfs/pagan/ColumnRecyclerViewHolder.kt"], ["A", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["A", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["D", "app/src/main/java/com/qfs/pagan/CellViewHolder.kt"], ["D", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"], ["D", "app/src/main/java/com/qfs/pagan/CellAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "1493edf5e2c7a0c0a71a746bdfaa4039f6f67d72": {"id": "1493edf5e2c7a0c0a71a746bdfaa4039f6f67d72", "date": 1699684842.0, "description": "leaf button widths dictated by weight rather than a set width", "files": [["M", "app/src/main/java/com/qfs/pagan/CellViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "99af6eefd5f80b811c9167c6843da59291dc0c16": {"id": "99af6eefd5f80b811c9167c6843da59291dc0c16", "date": 1699656950.0, "description": "notify_cell_change reduced number of calls to notifyColumn/BeatChanged", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "56a6838a3b7d48f86d94fbc73febdfc539bba288": {"id": "56a6838a3b7d48f86d94fbc73febdfc539bba288", "date": 1699653368.0, "description": "update_cursor call uses invalidation on ALL cursor modes now", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "7c0db4b152e3a7d969bb869091810094c9edc720": {"id": "7c0db4b152e3a7d969bb869091810094c9edc720", "date": 1699652884.0, "description": "Created cache for std/abs offsets in base layer since they need to be called often and are modified relatively seldom", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "9af72787afd4c81dd535e81337545767fe51fc12": {"id": "9af72787afd4c81dd535e81337545767fe51fc12", "date": 1699649036.0, "description": "invalidating instead of rebinding cell in cursor_update()", "files": [["M", "app/src/main/java/com/qfs/pagan/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafInnerWrapper.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "2595000b74c620e76fa85634ef6ea2a50d0227b7": {"id": "2595000b74c620e76fa85634ef6ea2a50d0227b7", "date": 1699582495.0, "description": "Replaced double recycler view with GridLayout RecyclerView and a vertical ScrollView", "files": [["D", "app/src/main/java/com/qfs/pagan/ScrollLockingRecyclerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["D", "app/src/main/java/com/qfs/pagan/HorizontalScrollListener.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "b427002f7ce34a87a3b65cbdc66e36d8975dbcce": {"id": "b427002f7ce34a87a3b65cbdc66e36d8975dbcce", "date": 1699556241.0, "description": "Grid Layout Manager starting to take shape", "files": [["M", "app/src/main/java/com/qfs/pagan/HorizontalScrollListener.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["D", "app/src/main/java/com/qfs/pagan/ColumnRecyclerViewHolder.kt"], ["D", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["D", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["D", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "4adee265d9291d6a71f66747b3a18c32f04d3b1f": {"id": "4adee265d9291d6a71f66747b3a18c32f04d3b1f", "date": 1699548278.0, "description": "attempting gridlayoutmanager", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["A", "app/src/main/java/com/qfs/pagan/CellViewHolder.kt"], ["A", "app/src/main/java/com/qfs/pagan/CellAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "a970889d3bd0b4cafac597cc1299f75f0175b482": {"id": "a970889d3bd0b4cafac597cc1299f75f0175b482", "date": 1699545121.0, "description": "reverted columns to linearlayouts. sort of working", "files": [["M", "app/src/main/java/com/qfs/pagan/MidiFeedbackDispatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafInnerWrapper.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "04a6d9fa89b4eaf419938c4d57582676cb3f2c06": {"id": "04a6d9fa89b4eaf419938c4d57582676cb3f2c06", "date": 1699488760.0, "description": "Reverting columns to linear layouts", "files": [["M", "app/src/main/java/com/qfs/pagan/VerticalScrollListener.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabelViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["D", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabelColumnLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/ColumnLayout.kt"], ["D", "app/src/main/java/com/qfs/pagan/CellRecyclerViewHolder.kt"], ["D", "app/src/main/java/com/qfs/pagan/CellRecyclerLayoutManager.kt"], ["D", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["D", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "1a9e3bbb2076153153a0a47ae0e2024e2091e5bf": {"id": "1a9e3bbb2076153153a0a47ae0e2024e2091e5bf", "date": 1699476707.0, "description": "re-added missing timeout on midi feedback device", "files": [["M", "app/src/main/java/com/qfs/pagan/MidiFeedbackDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "2c95a31daa118d279c720c81615757bbdfe6a15e": {"id": "2c95a31daa118d279c720c81615757bbdfe6a15e", "date": 1699467673.0, "description": "Fixed missing unlink buttons, miscolored leafs when linking, broken linking behaviour", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "ae30fa49d7661c7c8d9eb542e8671f2bcd0211c8": {"id": "ae30fa49d7661c7c8d9eb542e8671f2bcd0211c8", "date": 1699466291.0, "description": "Fixed btnCancel causing crash", "files": [["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking.xml"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "7b199cf0deb303636e39071af9aeedb267745308": {"id": "7b199cf0deb303636e39071af9aeedb267745308", "date": 1699464214.0, "description": "rebuilt MidiFeedbackDispatcher", "files": [["M", "app/src/main/java/com/qfs/pagan/MidiFeedbackDispatcher.kt"]], "author": "smith.quintin@protonmail.com"}, "f513baa992de8a8bcc4413850af5f7efd9c072ba": {"id": "f513baa992de8a8bcc4413850af5f7efd9c072ba", "date": 1699429242.0, "description": "midi feedbackdispatcher alway uses midi2 if not connected", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "b940fea4607f43aed3bd8c8a377ddef13187631b": {"id": "b940fea4607f43aed3bd8c8a377ddef13187631b", "date": 1699429064.0, "description": "fill chunks to buffer delay instead of limit to unpause write", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "c5d3d794b1c0def11a942a3e1cff93f743cd5597": {"id": "c5d3d794b1c0def11a942a3e1cff93f743cd5597", "date": 1699427351.0, "description": "Midi Feedback Dispatcher defaults to Midi 1.0 when connected to device", "files": [["M", "app/src/main/java/com/qfs/pagan/MidiFeedbackDispatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "450e344e9bfcc677c0927a50bf74b4e5262f0dec": {"id": "450e344e9bfcc677c0927a50bf74b4e5262f0dec", "date": 1699421419.0, "description": "fixed rosRelativeOption not being hidden", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "11738cfea0a33ecba0b381e319848043f07560f2": {"id": "11738cfea0a33ecba0b381e319848043f07560f2", "date": 1699419426.0, "description": "speed up contextmenu Changing", "files": [["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/res/layout/contextmenu_linking.xml"], ["M", "app/src/main/res/layout/contextmenu_column.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/contextmenu_row.xml"], ["M", "app/src/main/res/layout-land/contextmenu_linking.xml"], ["M", "app/src/main/res/layout-land/contextmenu_column.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "366054209eeeb35901663a687fd05048028a2fa7": {"id": "366054209eeeb35901663a687fd05048028a2fa7", "date": 1699409556.0, "description": "CellLayout no longer attaching/reattaching in order to get notify_cell_change() to work", "files": [["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "cc37db032f3cfe4d0c4ad30996340ebe0e62ca48": {"id": "cc37db032f3cfe4d0c4ad30996340ebe0e62ca48", "date": 1699409486.0, "description": "fixed bad in_playback() check", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "1cd898cdf204b94819d9dafe223490c58b12a987": {"id": "1cd898cdf204b94819d9dafe223490c58b12a987", "date": 1699409423.0, "description": "sorting midis in get_all_events_grouped() & added check for off-beat timsignature change when importing midi", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "fd045d51cdde36ad0659ee07a1608893c537c19e": {"id": "fd045d51cdde36ad0659ee07a1608893c537c19e", "date": 1699402948.0, "description": "improved, but didn't fix,  midi output songpointer timing", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/apres/VirtualMidiOutputDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/VirtualMidiInputDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "3ed7a97b446e43b9ac450bdfb433d4f30f8efedc": {"id": "3ed7a97b446e43b9ac450bdfb433d4f30f8efedc", "date": 1699380308.0, "description": "Handle spotty audio feedback", "files": [["D", "app/src/main/java/com/qfs/pagan/MidiFeedBackDispatcher.kt"], ["A", "app/src/main/java/com/qfs/pagan/MidiFeedbackDispatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "b029b0d4ddbe660c8febe5cb6dc9844d12f8498c": {"id": "b029b0d4ddbe660c8febe5cb6dc9844d12f8498c", "date": 1699377818.0, "description": "Scrolls on Midi device playback", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "adcc6b8588eff59b8821f6a895799085f9f1c583": {"id": "adcc6b8588eff59b8821f6a895799085f9f1c583", "date": 1699377269.0, "description": "considered leaf state :pressed", "files": [["M", "app/src/main/res/color/leaf_fg.xml"], ["M", "app/src/main/res/color/leaf_bg.xml"], ["M", "app/src/main/res/color/label_fg.xml"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["D", "app/src/main/java/com/qfs/pagan/ColumnPlaceholder.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["D", "app/src/main/java/com/qfs/pagan/CellPlaceHolder.kt"]], "author": "smith.quintin@protonmail.com"}, "f11f0e8e790e269c0570eb6b928e83b4f7d6bfdb": {"id": "f11f0e8e790e269c0570eb6b928e83b4f7d6bfdb", "date": 1699310139.0, "description": "removed usage of Cell/Colum Placeholders in recycler views... works better than ever.", "files": [["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "ac229aed346528cf34a3f521ca6000f00c4f3ae3": {"id": "ac229aed346528cf34a3f521ca6000f00c4f3ae3", "date": 1699309612.0, "description": "added leaf background facade for placeholders", "files": [["M", "app/src/main/res/values/styles.xml"], ["A", "app/src/main/res/drawable/leaf_facade.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellPlaceHolder.kt"]], "author": "smith.quintin@protonmail.com"}, "c0c6d9d6174b75a78826804d570112962dfdaaa3": {"id": "c0c6d9d6174b75a78826804d570112962dfdaaa3", "date": 1699220275.0, "description": "added hamburger to access config drawer", "files": [["M", "app/src/main/res/layout/app_bar_main.xml"], ["A", "app/src/main/res/drawable/hamburger_32.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "ce9ab2d31e8747c8fb8023c835d8eebc0e078b5b": {"id": "ce9ab2d31e8747c8fb8023c835d8eebc0e078b5b", "date": 1699218257.0, "description": "landscapelayout, leaf context menu. wrap content height rather than match_parent", "files": [["M", "app/src/main/res/layout-land/contextmenu_cell.xml"]], "author": "smith.quintin@protonmail.com"}, "dfdacdf24213c21b84e8b64038b1a270043ec83d": {"id": "dfdacdf24213c21b84e8b64038b1a270043ec83d", "date": 1699218221.0, "description": "kludge to prevent crash", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "57452e2889c1dbd1bffa756985106c7d2b245255": {"id": "57452e2889c1dbd1bffa756985106c7d2b245255", "date": 1699215420.0, "description": "update changelog", "files": [["A", "fastlane/metadata/android/en-US/changelogs/100300.txt"]], "author": "smith.quintin@protonmail.com"}, "b4b52f26a83e2b524efa8308e2bbe87bf5186fb5": {"id": "b4b52f26a83e2b524efa8308e2bbe87bf5186fb5", "date": 1699165695.0, "description": "export to project name", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "26ec1d9cb59612b2f560764cb45a23e3c14dcf94": {"id": "26ec1d9cb59612b2f560764cb45a23e3c14dcf94", "date": 1699163092.0, "description": "clear() resets radix", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "e7803f8d0a7d1bb92101a4883340be4224503f6f": {"id": "e7803f8d0a7d1bb92101a4883340be4224503f6f", "date": 1699162086.0, "description": "wrapped generate() / clear() in mutex", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "456eb7b2e0c4827c14440fba47c26bb9062ff053": {"id": "456eb7b2e0c4827c14440fba47c26bb9062ff053", "date": 1699159389.0, "description": "changed export icon", "files": [["M", "app/src/main/res/layout/fragment_song_config.xml"], ["A", "app/src/main/res/drawable/export.xml"]], "author": "smith.quintin@protonmail.com"}, "173d80594cdcff43e67cd33f260fc799f5e53ba0": {"id": "173d80594cdcff43e67cd33f260fc799f5e53ba0", "date": 1699080424.0, "description": "dealt with notifications not always showing", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/CachedMidiAudioPlayer.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "bbe0b819168375cdaf54668cf26d1be6e81b9836": {"id": "bbe0b819168375cdaf54668cf26d1be6e81b9836", "date": 1699074038.0, "description": "notification given correct icons", "files": [["A", "app/src/main/res/drawable/baseline_cancel_24.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "c48551b23bf4558b5c1df7bef40c101e8d8d0a57": {"id": "c48551b23bf4558b5c1df7bef40c101e8d8d0a57", "date": 1699061125.0, "description": "added SET_RADIX to history stack", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "984cafc1f81d2682ff590238e92ca5c7f0373a1a": {"id": "984cafc1f81d2682ff590238e92ca5c7f0373a1a", "date": 1699060553.0, "description": "fixed weird delay in larger song playback", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "b8149014ace1630f7a0518721f9798d682bb2819": {"id": "b8149014ace1630f7a0518721f9798d682bb2819", "date": 1699036578.0, "description": "Hide column context menu during playback", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "f06a567087fcd035f193c14c0094604ffb7ada93": {"id": "f06a567087fcd035f193c14c0094604ffb7ada93", "date": 1699035335.0, "description": "disable midi output when radix != 12", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "e1748d37645b346c48f93b65103c88e487cf4501": {"id": "e1748d37645b346c48f93b65103c88e487cf4501", "date": 1699034795.0, "description": "pressing 'done' in native number pad submits number dialog", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "d0eb1a0162ae202af2bb9ea961ae831d778a75bd": {"id": "d0eb1a0162ae202af2bb9ea961ae831d778a75bd", "date": 1699033278.0, "description": "numberselectors wrap_content vertically in landscape mode", "files": [["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "ddd229ae4b9bd3056c5fdc453c8534fdfb33b84d": {"id": "ddd229ae4b9bd3056c5fdc453c8534fdfb33b84d", "date": 1698995817.0, "description": "hide/show export button when midi & wav export options are available", "files": [["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "d5e9d80a5e7942abfa45a80ab3c58f2f47e8d541": {"id": "d5e9d80a5e7942abfa45a80ab3c58f2f47e8d541", "date": 1698991492.0, "description": "fixed padding on NumberSelector", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout/leaf_percussion.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "00d416f1934e9f6067a9e0c83881a60e42386624": {"id": "00d416f1934e9f6067a9e0c83881a60e42386624", "date": 1698968146.0, "description": "adjusted leaf labels to use base 10 only", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout/leaf_relative.xml"], ["M", "app/src/main/res/layout/leaf_percussion.xml"], ["M", "app/src/main/res/layout/leaf_absolute.xml"]], "author": "smith.quintin@protonmail.com"}, "18cb06ab2c7bfaddbb1ecd3ff69d6eb232ab622d": {"id": "18cb06ab2c7bfaddbb1ecd3ff69d6eb232ab622d", "date": 1698960614.0, "description": "created prefab layouts for leafs instead of farting about with positioning in the class definition", "files": [["A", "app/src/main/res/layout/leaf_relative.xml"], ["A", "app/src/main/res/layout/leaf_percussion.xml"], ["A", "app/src/main/res/layout/leaf_empty.xml"], ["A", "app/src/main/res/layout/leaf_absolute.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["A", "app/src/main/java/com/qfs/pagan/LeafText.kt"], ["A", "app/src/main/java/com/qfs/pagan/LeafInnerWrapper.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "b0e9b17857542a9df03e62d73fa26d1dacf4b189": {"id": "b0e9b17857542a9df03e62d73fa26d1dacf4b189", "date": 1698951345.0, "description": "NumberSelector Columns in reverse order in vertical landscape", "files": [["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "7272ada46bac1404fff9fc22c73a3228841be4dc": {"id": "7272ada46bac1404fff9fc22c73a3228841be4dc", "date": 1698950076.0, "description": "NumberSelector can have multiple rows, and ONLY uses radix-10", "files": [["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "33c24c0f9bafc46acfba7dd92a11f75f81c023a9": {"id": "33c24c0f9bafc46acfba7dd92a11f75f81c023a9", "date": 1698903285.0, "description": "Changed the number dialog to a standard number keypad", "files": [["M", "app/src/main/res/layout/dialog_split.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "72c30f35c74ec6437f1e24092614a998491573d3": {"id": "72c30f35c74ec6437f1e24092614a998491573d3", "date": 1698896443.0, "description": "adjust NoteOn79 Volume to /128 when generating sample handles", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"]], "author": "smith.quintin@protonmail.com"}, "e7fb9a06d3c91a5f6ca3d766e8250eeaa54a4fef": {"id": "e7fb9a06d3c91a5f6ca3d766e8250eeaa54a4fef", "date": 1698885387.0, "description": "changed mime types", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "17bcdec1a95942d0445768fe9afe3a961caaa9d5": {"id": "17bcdec1a95942d0445768fe9afe3a961caaa9d5", "date": 1698871812.0, "description": "custom menu dialog is dismissable", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout/dialog_menu.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "5d32ae46665d13354ef88e8f5ed2dda482dbdb7e": {"id": "5d32ae46665d13354ef88e8f5ed2dda482dbdb7e", "date": 1698866639.0, "description": "Export wav Cancellable from notification", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "195aae797f27396390e035a356fe4d20ea6db2b3": {"id": "195aae797f27396390e035a356fe4d20ea6db2b3", "date": 1698862474.0, "description": "update wave export progress notification onDestroy", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "04c14be6d32e56e018114dfd1b7bc60f5c983757": {"id": "04c14be6d32e56e018114dfd1b7bc60f5c983757", "date": 1698862417.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/apres/VirtualMidiInputDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "01edd68dcd3522d5ca36e6330f5fc8778b2b7424": {"id": "01edd68dcd3522d5ca36e6330f5fc8778b2b7424", "date": 1698858297.0, "description": "attempt at cancel button in notification", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "d2373bb8f795df6f76f138fe51071355f26b4ffe": {"id": "d2373bb8f795df6f76f138fe51071355f26b4ffe", "date": 1698812831.0, "description": "Notification & progress bar with export wav function", "files": [["M", "app/src/main/res/layout/fragment_song_config.xml"], ["A", "app/src/main/res/drawable/baseline_save_alt_24.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/CachedMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "69f92845d41ac81d5ad23560e4f8282d8b17b567": {"id": "69f92845d41ac81d5ad23560e4f8282d8b17b567", "date": 1698789674.0, "description": "separated WaveGenerator from MidiPlaybackDevice by using a new SampleHandleManager class", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/WaveGenerator.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleManager.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/CachedMidiAudioPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "a42ef23604e66da3a74d0047f1bb3f90684c268f": {"id": "a42ef23604e66da3a74d0047f1bb3f90684c268f", "date": 1698691584.0, "description": "export_wav working", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/CachedMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "30fdcc42fbb9bd6e399e75077b6c2f64dedcab34": {"id": "30fdcc42fbb9bd6e399e75077b6c2f64dedcab34", "date": 1698610462.0, "description": "working on wav export", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/CachedMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "858418f75b2171ac45d67b2071b2e7b4dbcf0631": {"id": "858418f75b2171ac45d67b2071b2e7b4dbcf0631", "date": 1698452842.0, "description": "Added support for variable radix", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MidiFeedBackDispatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "c27982ff381cb45cc6c13172f25c89c2c370da39": {"id": "c27982ff381cb45cc6c13172f25c89c2c370da39", "date": 1698434434.0, "description": "initial attempt at exporting wav", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/CachedMidiAudioPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Riff.kt"]], "author": "smith.quintin@protonmail.com"}, "2cef497754ecb4883be2a6fc5e4b300365bc9caa": {"id": "2cef497754ecb4883be2a6fc5e4b300365bc9caa", "date": 1698433670.0, "description": "in the middle of adding NoteOn/Off79 functionality to player", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/VirtualMidiOutputDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "753fafde4e9264db654a64067168b0955497298b": {"id": "753fafde4e9264db654a64067168b0955497298b", "date": 1698380998.0, "description": "created  NoteOn/Off Pitch 7.9", "files": [["A", "app/src/main/java/com/qfs/apres/event2/UniversalMidiEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/event/NoteOn.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "a7d13dd92ecf3ac0aafe09d7be1893ee53cf8355": {"id": "a7d13dd92ecf3ac0aafe09d7be1893ee53cf8355", "date": 1698348033.0, "description": "part of previous commit", "files": [["A", "app/src/main/java/com/qfs/apres/event/ChannelVoiceMessage.kt"]], "author": "smith.quintin@protonmail.com"}, "d2f24b9ed3db2aab2d9f8dac9f8ea71962b93ee7": {"id": "d2f24b9ed3db2aab2d9f8dac9f8ea71962b93ee7", "date": 1698346989.0, "description": "Lint & Created ChannelVoiceMessage super class in prep for midi 2", "files": [["M", "app/src/test/java/com/qfs/apres/SoundFontPlayerUnitTest.kt"], ["M", "app/src/test/java/com/qfs/apres/ApresUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/intermediate_structure_functions.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/incidental_functions.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Volume.kt"], ["M", "app/src/main/java/com/qfs/apres/event/VariableControlChange.kt"], ["M", "app/src/main/java/com/qfs/apres/event/TremuloLevel.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Sustenuto.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundVariation.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundTimbre.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundReleaseTime.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundControl5.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundControl4.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundControl3.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundControl2.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundControl1.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundBrightness.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoundAttack.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SoftPedal.kt"], ["M", "app/src/main/java/com/qfs/apres/event/RegisteredParameterNumber.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ProgramChange.kt"], ["M", "app/src/main/java/com/qfs/apres/event/PortamentoTime.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Portamento.kt"], ["M", "app/src/main/java/com/qfs/apres/event/PolyphonicOperation.kt"], ["M", "app/src/main/java/com/qfs/apres/event/PolyphonicKeyPressure.kt"], ["M", "app/src/main/java/com/qfs/apres/event/PitchWheelChange.kt"], ["M", "app/src/main/java/com/qfs/apres/event/PhaserLevel.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Pan.kt"], ["M", "app/src/main/java/com/qfs/apres/event/OmniOn.kt"], ["M", "app/src/main/java/com/qfs/apres/event/OmniOff.kt"], ["M", "app/src/main/java/com/qfs/apres/event/NoteOn.kt"], ["M", "app/src/main/java/com/qfs/apres/event/NoteOff.kt"], ["M", "app/src/main/java/com/qfs/apres/event/NonRegisteredParameterNumber.kt"], ["M", "app/src/main/java/com/qfs/apres/event/MonophonicOperation.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ModulationWheel.kt"], ["M", "app/src/main/java/com/qfs/apres/event/LocalControl.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Legato.kt"], ["M", "app/src/main/java/com/qfs/apres/event/HoldPedal.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Hold2Pedal.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose8.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose7.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose6.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose5.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose4.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose3.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose2.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose1.kt"], ["M", "app/src/main/java/com/qfs/apres/event/FootPedal.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Expression.kt"], ["M", "app/src/main/java/com/qfs/apres/event/EffectsLevel.kt"], ["M", "app/src/main/java/com/qfs/apres/event/EffectControl2.kt"], ["M", "app/src/main/java/com/qfs/apres/event/EffectControl1.kt"], ["M", "app/src/main/java/com/qfs/apres/event/DataIncrement.kt"], ["M", "app/src/main/java/com/qfs/apres/event/DataEntry.kt"], ["M", "app/src/main/java/com/qfs/apres/event/DataDecrement.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ControlChange.kt"], ["M", "app/src/main/java/com/qfs/apres/event/CompoundEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ChorusLevel.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ChannelPressure.kt"], ["M", "app/src/main/java/com/qfs/apres/event/CelesteLevel.kt"], ["M", "app/src/main/java/com/qfs/apres/event/BreathController.kt"], ["D", "app/src/main/java/com/qfs/apres/event/BankSelectMSB.kt"], ["D", "app/src/main/java/com/qfs/apres/event/BankSelectLSB.kt"], ["M", "app/src/main/java/com/qfs/apres/event/BankSelect.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Balance.kt"], ["M", "app/src/main/java/com/qfs/apres/event/AllSoundOff.kt"], ["M", "app/src/main/java/com/qfs/apres/event/AllNotesOff.kt"], ["M", "app/src/main/java/com/qfs/apres/event/AllControllersOff.kt"]], "author": "smith.quintin@protonmail.com"}, "59121de301018c4c0b2aae4f286abbf0bf951796": {"id": "59121de301018c4c0b2aae4f286abbf0bf951796", "date": 1698292444.0, "description": "fixed potential ConcurrentModificationError", "files": [["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/CachedMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "b3bf5019c25de4cb600113a519243f9e8e651c80": {"id": "b3bf5019c25de4cb600113a519243f9e8e651c80", "date": 1698273729.0, "description": "added border line to context menu", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout-land/fragment_main.xml"]], "author": "smith.quintin@protonmail.com"}, "ab487784cee540775af189e53197e1c366a5790d": {"id": "ab487784cee540775af189e53197e1c366a5790d", "date": 1698265998.0, "description": "bugfix: wasn't removing KEEP_SCREEN_ON flag", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "c8317eed960810f33d0fb3e2c535dc6673143662": {"id": "c8317eed960810f33d0fb3e2c535dc6673143662", "date": 1698265500.0, "description": "bugfix: was crashing on orientation change", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "b7a846d1a9d264ff8ddcbac50a2c81eb1638e4ed": {"id": "b7a846d1a9d264ff8ddcbac50a2c81eb1638e4ed", "date": 1698264681.0, "description": "added special label for percussion channel in config", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "ee927c6bfd618784f32d39703c83d9f697a5e362": {"id": "ee927c6bfd618784f32d39703c83d9f697a5e362", "date": 1698263313.0, "description": "added mutex to Midi Playbace Device", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "0507b0cbc4953b4ad619cd2d80bd0f0d26c7f532": {"id": "0507b0cbc4953b4ad619cd2d80bd0f0d26c7f532", "date": 1698233136.0, "description": "fixed crash when enabling percussion visibility", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellPlaceHolder.kt"]], "author": "smith.quintin@protonmail.com"}, "11cb79670172b4efa763af4b30616947f986af6c": {"id": "11cb79670172b4efa763af4b30616947f986af6c", "date": 1698213442.0, "description": "fixed columns and lines sometimes not refreshing on remove/insert [channel] rows", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "cdc37a6ec2e45f834a72bbbe8e4cc460ee02765c": {"id": "cdc37a6ec2e45f834a72bbbe8e4cc460ee02765c", "date": 1698197109.0, "description": "bugfix: wasn't setting buffer size *in bytes*", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "32ba51b75a33d2cd5abf0df9c20327542748f8ac": {"id": "32ba51b75a33d2cd5abf0df9c20327542748f8ac", "date": 1698187982.0, "description": "changed icons for toggling channels", "files": [["M", "app/src/main/res/layout/config_active_channel.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerViewHolder.kt"]], "author": "smith.quintin@protonmail.com"}, "52b187a58dcb8856f2dccd86fa6afeb5b2e6a6be": {"id": "52b187a58dcb8856f2dccd86fa6afeb5b2e6a6be", "date": 1698169970.0, "description": "Can Toggle Percussion visibility (if empty)", "files": [["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "1f5a26f7dea0e17114ac6ec6b35636b275409aa5": {"id": "1f5a26f7dea0e17114ac6ec6b35636b275409aa5", "date": 1698164709.0, "description": "removed some kludges", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnPlaceholder.kt"]], "author": "smith.quintin@protonmail.com"}, "8cf8d29aad09ef0ec81460909a28529d2ff9d2d8": {"id": "8cf8d29aad09ef0ec81460909a28529d2ff9d2d8", "date": 1698164161.0, "description": "removed a the 10ms delay when rendering cells", "files": [["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellPlaceHolder.kt"]], "author": "smith.quintin@protonmail.com"}, "0a5d75fa5a4ca6359a2e036bc68b23f2afbf4c12": {"id": "0a5d75fa5a4ca6359a2e036bc68b23f2afbf4c12", "date": 1698162078.0, "description": "MidiPlayer send stop event if song ends naturally", "files": [["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "e9915de4977fd2168ba7ca1d639a20e8cdba199f": {"id": "e9915de4977fd2168ba7ca1d639a20e8cdba199f", "date": 1698081658.0, "description": "finished separating feedback device and playback device", "files": [["M", "app/src/main/java/com/qfs/pagan/MidiFeedBackDispatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "19c199c9762cfcdf4a2913fa1140857bb3fd605c": {"id": "19c199c9762cfcdf4a2913fa1140857bb3fd605c", "date": 1698048974.0, "description": "added on_beat_signal callback to MidiPlaybackDevice", "files": [["A", "app/src/main/java/com/qfs/pagan/PaganPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/CachedMidiAudioPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "abf8f211469a00e2e856d31972af2e7a351a06bf": {"id": "abf8f211469a00e2e856d31972af2e7a351a06bf", "date": 1698045765.0, "description": "added on_stop callback to CachedMidiPlayer", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/CachedMidiAudioPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "d1530f4714df985f9b6735d4a6856473664e8605": {"id": "d1530f4714df985f9b6735d4a6856473664e8605", "date": 1698044109.0, "description": "Split SoundfontWavPlayer into CachedMidiAudioPlayer and ActiveMidiAudioPlayer so projects can be pre cached and played with big buffers and feedback can be played with small buffers and minimal delay", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/CachedMidiAudioPlayer.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/ActiveMidiAudioPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/VirtualMidiOutputDevice.kt"]], "author": "smith.quintin@protonmail.com"}, "18a676fdd8033feb9facf49e27456c9ed5190bae": {"id": "18a676fdd8033feb9facf49e27456c9ed5190bae", "date": 1698001444.0, "description": "changelog", "files": [["A", "fastlane/metadata/android/en-US/changelogs/100200.txt"]], "author": "smith.quintin@protonmail.com"}, "f184703ac942cbbfe4fa255019201db8543d65ed": {"id": "f184703ac942cbbfe4fa255019201db8543d65ed", "date": 1697999378.0, "description": "version bump", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "58416a847d6417d2f13db9bd33d3d675a8f49b6b": {"id": "58416a847d6417d2f13db9bd33d3d675a8f49b6b", "date": 1697997590.0, "description": "When Midi device is attached, sound won't play", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "626b4e4f60d09b05ad330fcb573b4f2d7964ef6e": {"id": "626b4e4f60d09b05ad330fcb573b4f2d7964ef6e", "date": 1697954691.0, "description": "removed usage of calc_sample_rate", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "e87b5e1bc9765a5b0ee15a4437ebca877b75438a": {"id": "e87b5e1bc9765a5b0ee15a4437ebca877b75438a", "date": 1697922108.0, "description": "differentiated between input/output MIDI virtual devices", "files": [["M", "app/src/main/java/com/qfs/pagan/MidiFeedBackDispatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["D", "app/src/main/java/com/qfs/apres/VirtualMidiDevice.kt"], ["A", "app/src/main/java/com/qfs/apres/VirtualMidiOutputDevice.kt"], ["A", "app/src/main/java/com/qfs/apres/VirtualMidiInputDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "94db8c564a660b531421cb15eb53d917eb4d7210": {"id": "94db8c564a660b531421cb15eb53d917eb4d7210", "date": 1697921495.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "app/src/main/java/com/qfs/apres/VirtualMidiDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "2f9a17e6bc731eb55376267bd69a6849b1e69c97": {"id": "2f9a17e6bc731eb55376267bd69a6849b1e69c97", "date": 1697919932.0, "description": "removed unused import", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "bb9ac04aca319e96cb89689556903e64b7905829": {"id": "bb9ac04aca319e96cb89689556903e64b7905829", "date": 1697919919.0, "description": "tightened up stopping playback a bit", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "f8e13b209c79312e79d362785808b11521fa55e1": {"id": "f8e13b209c79312e79d362785808b11521fa55e1", "date": 1697914080.0, "description": "don't reduce divisions (when importing midi) if a note is already as short as it needs to be", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "a8ce0c4fea5f367d25ab757fcc3916f15dd1555a": {"id": "a8ce0c4fea5f367d25ab757fcc3916f15dd1555a", "date": 1697913414.0, "description": "Created MidiFeedBackDispatcher to handle input feedback", "files": [["A", "app/src/main/java/com/qfs/pagan/MidiFeedBackDispatcher.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "363442b4e9922940874beca33b2e84b6a8da948e": {"id": "363442b4e9922940874beca33b2e84b6a8da948e", "date": 1697869719.0, "description": "added padding to sample rate slider. increased granularity from 5 to 12", "files": [["M", "app/src/main/res/layout/fragment_global_settings.xml"]], "author": "smith.quintin@protonmail.com"}, "99f6cd1d37625c6ea570f20d08c906dfdea3d88f": {"id": "99f6cd1d37625c6ea570f20d08c906dfdea3d88f", "date": 1697867883.0, "description": "fixed undo crash when undoing a remove on a toplevel split of size 2. removed superfluous dvisions when importing midis", "files": [["M", "app/src/test/java/com/qfs/pagan/HistoryLayerUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/BaseLayerUnitTest.kt"], ["M", "app/src/test/java/com/qfs/apres/SoundFontPlayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "7c945ab887c46aa1680ecf391bac2cd18827c494": {"id": "7c945ab887c46aa1680ecf391bac2cd18827c494", "date": 1697823880.0, "description": "created is_eventless(). started working on removing superfluous divisions when importing midi", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "d0891a972cd43f67b4bec88f12865b874de8f894": {"id": "d0891a972cd43f67b4bec88f12865b874de8f894", "date": 1697822686.0, "description": "drift/delay alignment with playback seems to be right", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "e789386cfd88a7360689a35b80f1562e853da0b2": {"id": "e789386cfd88a7360689a35b80f1562e853da0b2", "date": 1697821756.0, "description": "gone back to the 2-loop model for wave generation. cleaner now", "files": [["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "e5eb8790a861801d864c298255d2dcaa0bae47cd": {"id": "e5eb8790a861801d864c298255d2dcaa0bae47cd", "date": 1697818469.0, "description": "still farting about with write/buffering", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "d08af3c16709db40516ca7d2fabc43a776cff898": {"id": "d08af3c16709db40516ca7d2fabc43a776cff898", "date": 1697739355.0, "description": "adjustable sample rate in settings", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "cbb0feb4a1beec1344023e128323e4468a1e2e4b": {"id": "cbb0feb4a1beec1344023e128323e4468a1e2e4b", "date": 1697737600.0, "description": "built press breakdown function to find max and mode number of pressed notes in a project", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "110d2f9d9af00f168edbfb247140e635f01af947": {"id": "110d2f9d9af00f168edbfb247140e635f01af947", "date": 1697653274.0, "description": "check if playback device is listening AND if virtual input device is playing when scrolling with midi playback", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "cb2ca442fd3d1896d6130393efe12f0dfbe73e72": {"id": "cb2ca442fd3d1896d6130393efe12f0dfbe73e72", "date": 1697653174.0, "description": "forgot to reset slow_pass_count", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "be7464244d0e0b9ef79aab2211835a4fcc0e4ceb": {"id": "be7464244d0e0b9ef79aab2211835a4fcc0e4ceb", "date": 1697652473.0, "description": "moved AllSoundOff handling into WaveGenerator", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "aade25d042f95cd7bc4208fe92a91b111ec0aa39": {"id": "aade25d042f95cd7bc4208fe92a91b111ec0aa39", "date": 1697651671.0, "description": "delay timing worked out", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "fc4d2bcaa666f940e13a7b52420aa0d1506b947c": {"id": "fc4d2bcaa666f940e13a7b52420aa0d1506b947c", "date": 1697615743.0, "description": "first attempt at automatic sample_rate calculation and input_delay handling", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "f1b70a929c73f15de720e5b6275344d1ccb6701c": {"id": "f1b70a929c73f15de720e5b6275344d1ccb6701c", "date": 1697565324.0, "description": "shortcut/playback start from first visible column if nothing selected", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "096805be9f797b67598e5370ba81a0d47633459b": {"id": "096805be9f797b67598e5370ba81a0d47633459b", "date": 1697564487.0, "description": "fixed playback scrolling alignment", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "aed51169f09177b3c1a4ddee1ba513cb90575663": {"id": "aed51169f09177b3c1a4ddee1ba513cb90575663", "date": 1697521016.0, "description": "generate/write timing solved. still need slower devices", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "51e332bfe9ebcc551c5dc70ed97837c0db2440da": {"id": "51e332bfe9ebcc551c5dc70ed97837c0db2440da", "date": 1697483203.0, "description": "reduced playback buffer size", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "b17bb7a90c4764d1782d793ac257edf6e4446ac9": {"id": "b17bb7a90c4764d1782d793ac257edf6e4446ac9", "date": 1697477208.0, "description": "kill soundfontwavplayer after several empty chunks with no input", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "103b1da376996102a3183c870425ed20944260b8": {"id": "103b1da376996102a3183c870425ed20944260b8", "date": 1697397154.0, "description": "replaced stop_forced with enum to differentiate between not playing|playing|stopped|killed.", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "b31676ef62a865e3944b207ac856af5a4a0be4b4": {"id": "b31676ef62a865e3944b207ac856af5a4a0be4b4", "date": 1697360919.0, "description": "midi playback rejib working but dicey", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "7f48f28e7f80c3d516d229e1a85c38deac6d6492": {"id": "7f48f28e7f80c3d516d229e1a85c38deac6d6492", "date": 1697317086.0, "description": "midi stop working better", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "2ef4aa331d94544f1c92fbd6cecf807eb93a5a34": {"id": "2ef4aa331d94544f1c92fbd6cecf807eb93a5a34", "date": 1697305841.0, "description": "Removed usage of playback handle", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "4955350f7acc1ba99f5462ff274bdb00983ebbf7": {"id": "4955350f7acc1ba99f5462ff274bdb00983ebbf7", "date": 1697305768.0, "description": "Changed usage of open_stream()...close_stream to use a lambda wrapper and callback\n    Added mutex on Riff byte reads", "files": [["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Riff.kt"]], "author": "smith.quintin@protonmail.com"}, "3af120489e9c260676b3129f7fbd85e4f8a37a66": {"id": "3af120489e9c260676b3129f7fbd85e4f8a37a66", "date": 1697221516.0, "description": "rejigging the SoundFontWavPlayer to be a passive VirtualMidiDevice", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "75729e929b22a6140efbb8afa18af097aa5099d3": {"id": "75729e929b22a6140efbb8afa18af097aa5099d3", "date": 1697148730.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "1aa5f19c70de8b6831ef94564959e1492c073e18": {"id": "1aa5f19c70de8b6831ef94564959e1492c073e18", "date": 1697148701.0, "description": "bugfix: buffer underflow causing song to stop playback", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "7700af4c9496d358aed95b7d6cd66fa96302cae4": {"id": "7700af4c9496d358aed95b7d6cd66fa96302cae4", "date": 1697136015.0, "description": "bugfix: update_menu_options not being applied on back press", "files": [["M", "app/src/main/java/com/qfs/pagan/PaganFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LoadFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "3d4825295bb433f91b32378996b0f06a64ad973c": {"id": "3d4825295bb433f91b32378996b0f06a64ad973c", "date": 1697135212.0, "description": "removed MidiTest (was for debug) option from main menu", "files": [["M", "app/src/main/res/menu/main_options_menu.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "c5c624d812447250fa0c495b5b3e1c125cf1509c": {"id": "c5c624d812447250fa0c495b5b3e1c125cf1509c", "date": 1697135031.0, "description": "moved MKDirFailedException into ProjectManager from LoadFragment. moved get_project_directory logic into ProjectManager from MainActivity", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LoadFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "eb5ba1657365458f657f2040990dab16b2cfb511": {"id": "eb5ba1657365458f657f2040990dab16b2cfb511", "date": 1697134598.0, "description": "renamed ambiguous function name 'copy' to 'move_to_copy'", "files": [["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "92d94c3b54c48c8885e50ffe7929242129895ea8": {"id": "92d94c3b54c48c8885e50ffe7929242129895ea8", "date": 1697134336.0, "description": "changed property names for RADIX (to radix) and opus_beat_count ( to beat_count)", "files": [["M", "app/src/test/java/com/qfs/pagan/OpusManagerCursorLayerUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/BaseLayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "42bdacbc8f7e6cc8107ef159d1a661b3292264cb": {"id": "42bdacbc8f7e6cc8107ef159d1a661b3292264cb", "date": 1697133582.0, "description": "moved all STATE properties into companion objects", "files": [["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"]], "author": "smith.quintin@protonmail.com"}, "2dded1e27bdeef5c957f8de7a8d857cb99008501": {"id": "2dded1e27bdeef5c957f8de7a8d857cb99008501", "date": 1697133152.0, "description": "Removed done 'TODO' tag", "files": [["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "63c36a116e49435c2924fd965cc3d2c41090c584": {"id": "63c36a116e49435c2924fd965cc3d2c41090c584", "date": 1697133126.0, "description": "added variable radix to NumberSelector. not useable yet", "files": [["M", "app/src/main/res/values/attrs.xml"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "b94b770bd4551205d1eeaa7c41a092a03d7056f5": {"id": "b94b770bd4551205d1eeaa7c41a092a03d7056f5", "date": 1697132867.0, "description": "removed all usage of 'apply'", "files": [["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LoadFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "f757679d29bc6b5a2b6eedcce7e2c9989ca70434": {"id": "f757679d29bc6b5a2b6eedcce7e2c9989ca70434", "date": 1697100122.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LoadFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "042f60481b8a35b552c68ffa7834e9be67ac904e": {"id": "042f60481b8a35b552c68ffa7834e9be67ac904e", "date": 1697053910.0, "description": "fix bad merge", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "ef7ef817dda956d78e8478e9700c10759883d7e4": {"id": "ef7ef817dda956d78e8478e9700c10759883d7e4", "date": 1697051017.0, "description": "lint. forcing underscore prefix on private properties", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/ProjectToLoadAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnPlaceholder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelPlaceHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerLayoutManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellPlaceHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "c6bb1c369a01c478f894302044b761dff85acef4": {"id": "c6bb1c369a01c478f894302044b761dff85acef4", "date": 1697049010.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/event/VariableControlChange.kt"], ["M", "app/src/main/java/com/qfs/apres/event/TuneRequest.kt"], ["M", "app/src/main/java/com/qfs/apres/event/TimeSignature.kt"], ["M", "app/src/main/java/com/qfs/apres/event/TimeCode.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SongSelect.kt"], ["M", "app/src/main/java/com/qfs/apres/event/SongPositionPointer.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Reset.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ProgramChange.kt"], ["M", "app/src/main/java/com/qfs/apres/event/PolyphonicOperation.kt"], ["M", "app/src/main/java/com/qfs/apres/event/PolyphonicKeyPressure.kt"], ["M", "app/src/main/java/com/qfs/apres/event/PitchWheelChange.kt"], ["M", "app/src/main/java/com/qfs/apres/event/OmniOn.kt"], ["M", "app/src/main/java/com/qfs/apres/event/OmniOff.kt"], ["M", "app/src/main/java/com/qfs/apres/event/NoteOn.kt"], ["M", "app/src/main/java/com/qfs/apres/event/NoteOff.kt"], ["M", "app/src/main/java/com/qfs/apres/event/MTCQuarterFrame.kt"], ["M", "app/src/main/java/com/qfs/apres/event/MIDIStop.kt"], ["M", "app/src/main/java/com/qfs/apres/event/MIDIStart.kt"], ["M", "app/src/main/java/com/qfs/apres/event/MIDIContinue.kt"], ["M", "app/src/main/java/com/qfs/apres/event/MIDIClock.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ControlChange.kt"], ["M", "app/src/main/java/com/qfs/apres/event/CompoundEvent.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ChannelPressure.kt"]], "author": "smith.quintin@protonmail.com"}, "11679b104cdd3dc7fac1f4058a8ec1ce9736a596": {"id": "11679b104cdd3dc7fac1f4058a8ec1ce9736a596", "date": 1697048364.0, "description": "made PitchedBuffer repitch-able", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "4834f8099a39575b33e5678bd07f2d80ea0c8356": {"id": "4834f8099a39575b33e5678bd07f2d80ea0c8356", "date": 1697047726.0, "description": "removed usage of 'that'", "files": [["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "7d79a74c1debf05ac6b8588464297570c06f6da5": {"id": "7d79a74c1debf05ac6b8588464297570c06f6da5", "date": 1696989896.0, "description": "increased feedback duration", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "dbd621d6a8f36258eb74a29b06c7645a795f1144": {"id": "dbd621d6a8f36258eb74a29b06c7645a795f1144", "date": 1696989646.0, "description": "Handling plug/unplugging during play", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/VirtualMidiDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "38152f3fe7c2019de534c4b36a216e569444217e": {"id": "38152f3fe7c2019de534c4b36a216e569444217e", "date": 1696959543.0, "description": "fleshed out midi controller a bit. automatically opens connected devices", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/VirtualMidiDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"]], "author": "smith.quintin@protonmail.com"}, "620c4b90a29ac0ffadaed8d4a5944058742e0d78": {"id": "620c4b90a29ac0ffadaed8d4a5944058742e0d78", "date": 1696912872.0, "description": "input ports working", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "01582ebe3fddd03c8839f7b7359f38596e29e169": {"id": "01582ebe3fddd03c8839f7b7359f38596e29e169", "date": 1696910460.0, "description": "starting/rough poc of midi device interface", "files": [["M", "app/src/main/res/menu/main_options_menu.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/MidiController.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "a32f4a03452239ef5f3f8a7be864ce63e50e5f4e": {"id": "a32f4a03452239ef5f3f8a7be864ce63e50e5f4e", "date": 1696649596.0, "description": "version bump", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "45bc13ff679ddf076bac9f528190ddb93764564f": {"id": "45bc13ff679ddf076bac9f528190ddb93764564f", "date": 1696649544.0, "description": "bugfix: 'New Project' not rendering correct when chosen from editor", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "7b1875dd96a612a19c619c48a34c0f551343188e": {"id": "7b1875dd96a612a19c619c48a34c0f551343188e", "date": 1696649503.0, "description": "Show version on landing screen", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "9474b6de5ceecdd974bc89c0e7daade72244b446": {"id": "9474b6de5ceecdd974bc89c0e7daade72244b446", "date": 1696571299.0, "description": "update screenshot", "files": [["M", "fastlane/metadata/android/en-US/images/phoneScreenshots/01 - Pagan Opus Editor.png"]], "author": "smith.quintin@protonmail.com"}, "9ecceb27baa6c0a732be9f1710991f56709f00c6": {"id": "9ecceb27baa6c0a732be9f1710991f56709f00c6", "date": 1696569852.0, "description": "version bump", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "e1fa60563ad34705575ad7c1622f9ca4a015247b": {"id": "e1fa60563ad34705575ad7c1622f9ca4a015247b", "date": 1696568030.0, "description": "added padding to number selector buttons and contentDescriptions to shortcut seekbar", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/CornerView.kt"]], "author": "smith.quintin@protonmail.com"}, "55485e6bfc48df2bfaaac8669ae63086ecb54ab1": {"id": "55485e6bfc48df2bfaaac8669ae63086ecb54ab1", "date": 1696564924.0, "description": "unit change", "files": [["M", "app/src/main/res/layout/dialog_shortcut.xml"]], "author": "smith.quintin@protonmail.com"}, "ccfe038e21fdb8282a39d09d9a95fe52bf7e5bf8": {"id": "ccfe038e21fdb8282a39d09d9a95fe52bf7e5bf8", "date": 1696562472.0, "description": "removed extra screenshots", "files": [["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/10 - Pagan Opus Editor.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/09 - Pagan Opus Editor.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/08 - Pagan Opus Editor.png"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "48391c245f33ee8664e688fbc0531698b6feecf6": {"id": "48391c245f33ee8664e688fbc0531698b6feecf6", "date": 1696562202.0, "description": "screenshots", "files": [["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/4.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/3.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/2.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/10 - Pagan Opus Editor.png"], ["D", "fastlane/metadata/android/en-US/images/phoneScreenshots/1.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/09 - Pagan Opus Editor.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/08 - Pagan Opus Editor.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/07 - Pagan Opus Editor.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/06 - Pagan Opus Editor.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/05 - Pagan Opus Editor.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/04 - Pagan Opus Editor.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/03 - Pagan Opus Editor.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/02 - Pagan Opus Editor.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/01 - Pagan Opus Editor.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/00 - Pagan Opus Editor.png"]], "author": "smith.quintin@protonmail.com"}, "e4d70c2a458fb966a863e7bc4d6bec87244d4bf3": {"id": "e4d70c2a458fb966a863e7bc4d6bec87244d4bf3", "date": 1696559321.0, "description": "default line volume 96", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "4c059179ea9ac4dd1dce6b658f300ec694d2f0a0": {"id": "4c059179ea9ac4dd1dce6b658f300ec694d2f0a0", "date": 1696457604.0, "description": "reordered some history layer tracking to work with the new way remember() works", "files": [["M", "app/src/test/java/com/qfs/pagan/HistoryLayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "bcb1d05e9aaf769a08c8bea60c0c19402fbfa63d": {"id": "bcb1d05e9aaf769a08c8bea60c0c19402fbfa63d", "date": 1696452159.0, "description": "remember() now handles any actions applied before exception thrown", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "39b13c85cd5c25325f40703a11a4774b02e0016e": {"id": "39b13c85cd5c25325f40703a11a4774b02e0016e", "date": 1696415285.0, "description": "removed sloppy code in NumberSelector", "files": [["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "ac2a178899c75f4184b02114ac3c7fbd32a6e5e3": {"id": "ac2a178899c75f4184b02114ac3c7fbd32a6e5e3", "date": 1696403836.0, "description": "changed navigation to use Fragment Id's instead of navigation actions", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LoadFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "fd4deea4403875b113166e98e17f2b1307096b12": {"id": "fd4deea4403875b113166e98e17f2b1307096b12", "date": 1696368237.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/VerticalScrollListener.kt"], ["M", "app/src/main/java/com/qfs/pagan/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeftAlignedLayoutManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnPlaceholder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelPlaceHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerLayoutManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"]], "author": "smith.quintin@protonmail.com"}, "67ec2311194925fc91ad134d96033dee39b2b7b2": {"id": "67ec2311194925fc91ad134d96033dee39b2b7b2", "date": 1696366788.0, "description": "Lint", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"], ["M", "app/src/main/java/com/qfs/apres/incidental_functions.kt"]], "author": "smith.quintin@protonmail.com"}, "fe025330376ff02033e8ac937480a238a1a5ac2e": {"id": "fe025330376ff02033e8ac937480a238a1a5ac2e", "date": 1696366164.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Volume.kt"], ["M", "app/src/main/java/com/qfs/apres/event/RegisteredParameterNumber.kt"], ["M", "app/src/main/java/com/qfs/apres/event/PortamentoTime.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Pan.kt"], ["M", "app/src/main/java/com/qfs/apres/event/NonRegisteredParameterNumber.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose4.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose3.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose2.kt"], ["M", "app/src/main/java/com/qfs/apres/event/GeneralPurpose1.kt"], ["M", "app/src/main/java/com/qfs/apres/event/FootPedal.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Expression.kt"], ["M", "app/src/main/java/com/qfs/apres/event/EffectControl2.kt"], ["M", "app/src/main/java/com/qfs/apres/event/EffectControl1.kt"], ["M", "app/src/main/java/com/qfs/apres/event/DataEntry.kt"], ["M", "app/src/main/java/com/qfs/apres/event/BreathController.kt"], ["M", "app/src/main/java/com/qfs/apres/event/Balance.kt"], ["M", "app/src/main/java/com/qfs/apres/event/ActiveSense.kt"]], "author": "smith.quintin@protonmail.com"}, "a117dc239d348757ac5ca610ab3204edcf9aa6fa": {"id": "a117dc239d348757ac5ca610ab3204edcf9aa6fa", "date": 1696365429.0, "description": "Removed 'import project' from landing page. moved functionality to longClick on 'load project'", "files": [["M", "app/src/main/res/layout/fragment_load.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "01c5c8998a0e30642db9ba74ba8cb89ebd48f75d": {"id": "01c5c8998a0e30642db9ba74ba8cb89ebd48f75d", "date": 1696357300.0, "description": "removed navTo try/catch", "files": [["A", "fastlane/metadata/android/en-US/changelogs/100112.txt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "8586c0b238f4002242ec3d469f67642b51aa4721": {"id": "8586c0b238f4002242ec3d469f67642b51aa4721", "date": 1696317087.0, "description": "bugfix; update lines properly when adding/removing channels", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "33e29191815347505524ad139b9b6b9f207ded08": {"id": "33e29191815347505524ad139b9b6b9f207ded08", "date": 1696313952.0, "description": "added blocker overlay to landscape view", "files": [["M", "app/src/main/res/layout-land/content_main.xml"]], "author": "smith.quintin@protonmail.com"}, "587cefe1416f4d8830b4a6e80638928196e30de9": {"id": "587cefe1416f4d8830b4a6e80638928196e30de9", "date": 1696313027.0, "description": "Landscape Layout", "files": [["A", "app/src/main/res/layout-land/contextmenu_row.xml"], ["A", "app/src/main/res/layout-land/contextmenu_linking.xml"], ["A", "app/src/main/res/layout-land/contextmenu_column.xml"], ["A", "app/src/main/res/drawable/baseline_arrow_back_24.xml"], ["D", "app/src/main/java/com/qfs/pagan/Configuration.kt"], ["A", "app/src/main/java/com/qfs/pagan/PaganConfiguration.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "a581098f62be58c8bce2109e666cb77c26fb7978": {"id": "a581098f62be58c8bce2109e666cb77c26fb7978", "date": 1696294383.0, "description": "Cell Context Menu landscape view", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "5c82153b7316658985b7773513b7a120e5ee13b5": {"id": "5c82153b7316658985b7773513b7a120e5ee13b5", "date": 1696285168.0, "description": "work on landscape layout", "files": [["M", "app/src/main/res/values/styles.xml"], ["A", "app/src/main/res/layout-land/fragment_main.xml"], ["M", "app/src/main/res/layout-land/fragment_landing.xml"], ["A", "app/src/main/res/layout-land/contextmenu_cell.xml"], ["M", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["M", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "41cac312f3667c100c08817fad41933c82fdd141": {"id": "41cac312f3667c100c08817fad41933c82fdd141", "date": 1696272095.0, "description": "try/catch around navTo() to deal with android desktop failing to navigate", "files": [["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "355957d804146fb2fe4f1bf22f617233b9125b9b": {"id": "355957d804146fb2fe4f1bf22f617233b9125b9b", "date": 1696185422.0, "description": "undo 'Always' shows as action", "files": [["M", "app/src/main/res/menu/main_options_menu.xml"]], "author": "smith.quintin@protonmail.com"}, "96741e83793f336dee1ca3c1fbe15b44d56be43b": {"id": "96741e83793f336dee1ca3c1fbe15b44d56be43b", "date": 1696183315.0, "description": "version bump", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "eaa1820dac85a3b065dffc5bbdb36918ddce390a": {"id": "eaa1820dac85a3b065dffc5bbdb36918ddce390a", "date": 1696141366.0, "description": "added double navigating check", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "37253be59c6c65f10efe619be1e7e463474f5380": {"id": "37253be59c6c65f10efe619be1e7e463474f5380", "date": 1696102849.0, "description": "version bump", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "ff191dd459c8aa6fbfb0cc67bc34ae4552736e55": {"id": "ff191dd459c8aa6fbfb0cc67bc34ae4552736e55", "date": 1696102814.0, "description": "fixed crash on attempting to link range horizontally improperly", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "ad30c8cf82591a6b683bd0230a93e9e810ac7fd2": {"id": "ad30c8cf82591a6b683bd0230a93e9e810ac7fd2", "date": 1695943368.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/100107.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "903bc3dba0ac1d3ed03703805d8d979501780efd": {"id": "903bc3dba0ac1d3ed03703805d8d979501780efd", "date": 1695943061.0, "description": "changed kludgy AF 'release_mask' to 'release_size'", "files": [["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "e43c9a0e09987f041110c07470290d448ab1aa26": {"id": "e43c9a0e09987f041110c07470290d448ab1aa26", "date": 1695935609.0, "description": "looking for memory leak", "files": [["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "cd79e7c93dd7183ba3ecb47d57a5cd36fdd81607": {"id": "cd79e7c93dd7183ba3ecb47d57a5cd36fdd81607", "date": 1695920750.0, "description": "hiding playback button when no soundfont enabled", "files": [["D", "app/src/test/java/com/qfs/pagan/MuseScoreTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "d84a62bcaf8a1a461a199fa61d95f739aad4a771": {"id": "d84a62bcaf8a1a461a199fa61d95f739aad4a771", "date": 1695873807.0, "description": "clear cursor selection when navigating back to editor fragment", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "007c13632b2b0ff2a34bcd298ebc3ca7e5cf02d1": {"id": "007c13632b2b0ff2a34bcd298ebc3ca7e5cf02d1", "date": 1695872686.0, "description": "bugfix: misunderstood what finish() did", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "097018e5bd42249e12480a812e80dc189a742237": {"id": "097018e5bd42249e12480a812e80dc189a742237", "date": 1695871916.0, "description": "Pitching seems to be fixed", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "f1d64b38e549c622176c69e5a154169feea811a8": {"id": "f1d64b38e549c622176c69e5a154169feea811a8", "date": 1695847348.0, "description": "added changelog to v1.1.6", "files": [["A", "fastlane/metadata/android/en-US/changelogs/100106.txt"]], "author": "smith.quintin@protonmail.com"}, "a634c053d2736cd9809c22df050c71a1b82f3f3e": {"id": "a634c053d2736cd9809c22df050c71a1b82f3f3e", "date": 1695847216.0, "description": "bugfix: prevented clicking behind drawer", "files": [["M", "app/src/main/res/layout/fragment_song_config.xml"]], "author": "smith.quintin@protonmail.com"}, "eb598911fe44d28bfe01757739c255c52e77da3a": {"id": "eb598911fe44d28bfe01757739c255c52e77da3a", "date": 1695844469.0, "description": "added save_dialog when clicking back on editor", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "ffd358871382fc224166882546f715d63a2c1df7": {"id": "ffd358871382fc224166882546f715d63a2c1df7", "date": 1695843254.0, "description": "added todo", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "a9a0ecd362769928a6f7bb110119692c8f643bc5": {"id": "a9a0ecd362769928a6f7bb110119692c8f643bc5", "date": 1695842834.0, "description": "version bump", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "82d78788c3445d3657aef1696af8a03dc7d547f7": {"id": "82d78788c3445d3657aef1696af8a03dc7d547f7", "date": 1695842515.0, "description": "State persistence. no more crashing on restart after onStop", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "10f7fa539cdc8753f26455439f13ac3c063a3baf": {"id": "10f7fa539cdc8753f26455439f13ac3c063a3baf", "date": 1695831350.0, "description": "removed unnecessary overrides", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelRecycler.kt"]], "author": "smith.quintin@protonmail.com"}, "9682910a8dae59dec87469f7b655c9bf408cd030": {"id": "9682910a8dae59dec87469f7b655c9bf408cd030", "date": 1695793377.0, "description": "state persistence almost working. history stack needs to be handled", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "4859d270edacdde40247becf630948b85a0d8cec": {"id": "4859d270edacdde40247becf630948b85a0d8cec", "date": 1695760853.0, "description": "more work on state persistence", "files": [["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/ChannelOptionRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "5152bdc62034fa3ed13afbe8f80877d53c9b1f29": {"id": "5152bdc62034fa3ed13afbe8f80877d53c9b1f29", "date": 1695752808.0, "description": "working on state persistence", "files": [["M", "build.gradle"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "a2419ca4e3f7f526293af35a6a93f177e2ba2363": {"id": "a2419ca4e3f7f526293af35a6a93f177e2ba2363", "date": 1695752545.0, "description": "version bump", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "d646de5a81d44829394404749d25f5e0ede772c9": {"id": "d646de5a81d44829394404749d25f5e0ede772c9", "date": 1695751101.0, "description": "removed accidental dependency", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "7a2f715056949746f51d9baaf0593028de8151eb": {"id": "7a2f715056949746f51d9baaf0593028de8151eb", "date": 1695674506.0, "description": "update readme", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "d2af33ab9babcda07955d04dff1950fb567aa5af": {"id": "d2af33ab9babcda07955d04dff1950fb567aa5af", "date": 1695672948.0, "description": "bugfix: crashing on remove", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "edc61583cc9739f66bfa1c02189ad2e97a5a5b92": {"id": "edc61583cc9739f66bfa1c02189ad2e97a5a5b92", "date": 1695672895.0, "description": "bugfix: crashing on remove", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "276bae81dd2503bfcaeb659b790d630a16187605": {"id": "276bae81dd2503bfcaeb659b790d630a16187605", "date": 1695617905.0, "description": "added changelog", "files": [["A", "fastlane/metadata/android/en-US/changelogs/100103.txt"]], "author": "smith.quintin@protonmail.com"}, "f9e1081ea9303c30f15ceb74a0460c17f93c1697": {"id": "f9e1081ea9303c30f15ceb74a0460c17f93c1697", "date": 1695617448.0, "description": "changed loop calculation to use floor rather than round", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "e8ebbf99e5bbc7af5a8be800902e2fdb11545a87": {"id": "e8ebbf99e5bbc7af5a8be800902e2fdb11545a87", "date": 1695615636.0, "description": "player considering soundfont pan", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "1470c2944625bec16fdd7ad4e57800653128e606": {"id": "1470c2944625bec16fdd7ad4e57800653128e606", "date": 1695588180.0, "description": "version bump", "files": [["M", "app/src/test/java/com/qfs/apres/SoundFontUnitTest.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "cbae682836d0500886a571313ce0a8b66c692c12": {"id": "cbae682836d0500886a571313ce0a8b66c692c12", "date": 1695587891.0, "description": "Pause playback on drawer open and on pause", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "110b05a021c97b4ba7a1cb5480169865f62c3b6e": {"id": "110b05a021c97b4ba7a1cb5480169865f62c3b6e", "date": 1695585805.0, "description": "removed debug code", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "07053059287c25592965085d4dbcd8735a7237ca": {"id": "07053059287c25592965085d4dbcd8735a7237ca", "date": 1695585779.0, "description": "Got Tuning working (was missing mod_env_pitch)", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "36fc0efc5a80d491efc6a531fee75f3a805dc503": {"id": "36fc0efc5a80d491efc6a531fee75f3a805dc503", "date": 1695497168.0, "description": "attempt at low pass filter", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "959ba3fa9c94cbd70d60f319fde695e94ee42544": {"id": "959ba3fa9c94cbd70d60f319fde695e94ee42544", "date": 1695331111.0, "description": "fixed unit tests", "files": [["M", "app/src/test/java/com/qfs/pagan/HistoryLayerUnitTest.kt"], ["M", "app/src/test/java/com/qfs/apres/ApresUnitTest.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "014e2ecd14da96b054dea19e01ee58129ec21e1f": {"id": "014e2ecd14da96b054dea19e01ee58129ec21e1f", "date": 1695330138.0, "description": "part of previous commit", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "8fd3b61d4cc4866f76d732055f198ebe859fb734": {"id": "8fd3b61d4cc4866f76d732055f198ebe859fb734", "date": 1695329926.0, "description": "improved bad tuning on soundfonts with small loop sizes", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "65934e78432da94296820436c227c0696b98f9d7": {"id": "65934e78432da94296820436c227c0696b98f9d7", "date": 1695324759.0, "description": "attempt at handling lfo", "files": [["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "319d0b06d438b1a2a5c61b1e3507dc15c10be916": {"id": "319d0b06d438b1a2a5c61b1e3507dc15c10be916", "date": 1695239979.0, "description": "Bugfix: apres was accidentally reading MSB events as the compound events", "files": [["M", "app/src/main/java/com/qfs/apres/incidental_functions.kt"]], "author": "smith.quintin@protonmail.com"}, "65c218875ae69054021da89be83746b9aa4c0bf4": {"id": "65c218875ae69054021da89be83746b9aa4c0bf4", "date": 1695238668.0, "description": "Showing the beat number in the shortcut dialog", "files": [["D", "app/src/main/res/layout/playback_popup.xml"], ["A", "app/src/main/res/layout/dialog_shortcut.xml"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "812e3187539aa96e267cd73b48ce37de747ff05a": {"id": "812e3187539aa96e267cd73b48ce37de747ff05a", "date": 1695237489.0, "description": "fixed undo split causing crash", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "91b323afc5c0207a3ca783b790ca8155b814b16d": {"id": "91b323afc5c0207a3ca783b790ca8155b814b16d", "date": 1695236402.0, "description": "Shortcut button cleaned up a bit", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/drawable/baseline_shortcut_24.xml"], ["M", "app/src/main/java/com/qfs/pagan/CornerView.kt"]], "author": "smith.quintin@protonmail.com"}, "de697a4092271958e3dae62fb74676bc96019a26": {"id": "de697a4092271958e3dae62fb74676bc96019a26", "date": 1695233971.0, "description": "removed accidental import", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "ebcd4f791eb93c7be77fd7d305169de8244c1a15": {"id": "ebcd4f791eb93c7be77fd7d305169de8244c1a15", "date": 1695173280.0, "description": "made new max_history_size private", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "06194211e8f69f89e427b2d0466ea96f5203c0ff": {"id": "06194211e8f69f89e427b2d0466ea96f5203c0ff", "date": 1695173146.0, "description": "set max history stack size to 100", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "a4a7a1a9b5784aef4853546afb42bbafe2a5c0bc": {"id": "a4a7a1a9b5784aef4853546afb42bbafe2a5c0bc", "date": 1695172204.0, "description": "Removed playback dialog, replaced with shortcut dialog", "files": [["M", "app/src/test/java/com/qfs/pagan/MuseScoreTest.kt"], ["M", "app/src/main/res/layout/playback_popup.xml"], ["M", "app/src/main/res/layout/content_main.xml"], ["M", "app/src/main/res/drawable/baseline_shortcut_24.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/CornerView.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "b51a891f67eed9a941bf6aee27e29a5f2989cf2c": {"id": "b51a891f67eed9a941bf6aee27e29a5f2989cf2c", "date": 1695162004.0, "description": "rough quick jump button implemented", "files": [["A", "app/src/main/res/drawable/baseline_shortcut_24.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CornerView.kt"]], "author": "smith.quintin@protonmail.com"}, "f114a4f7a6e46100688a26ad65617dc24522efc9": {"id": "f114a4f7a6e46100688a26ad65617dc24522efc9", "date": 1695153323.0, "description": "more work on musescore lib script", "files": [["M", "musescore_lib_builder.py"]], "author": "smith.quintin@protonmail.com"}, "d7d028863f8233943bed9e40051acdb827a0ac49": {"id": "d7d028863f8233943bed9e40051acdb827a0ac49", "date": 1695062522.0, "description": "more work on musescore script", "files": [["M", "musescore_lib_builder.py"]], "author": "smith.quintin@protonmail.com"}, "529402f9788bbf303b1a91c58879bd2c2eeeeac9": {"id": "529402f9788bbf303b1a91c58879bd2c2eeeeac9", "date": 1695020322.0, "description": "work on musescore script. still not working", "files": [["M", "musescore_lib_builder.py"]], "author": "smith.quintin@protonmail.com"}, "88cb024cd3214c8274e2ffac0247cc8220bb5bf6": {"id": "88cb024cd3214c8274e2ffac0247cc8220bb5bf6", "date": 1694929718.0, "description": "default to relative mode being disabled", "files": [["M", "app/src/main/java/com/qfs/pagan/Configuration.kt"]], "author": "smith.quintin@protonmail.com"}, "565bead8c9e2c6f121cd348488d59824acd77482": {"id": "565bead8c9e2c6f121cd348488d59824acd77482", "date": 1694929672.0, "description": "cursor cleared when navigating away and back", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "5d27e91653cf10c41e4b4a02eab5b9723e402e65": {"id": "5d27e91653cf10c41e4b4a02eab5b9723e402e65", "date": 1694929628.0, "description": "fixed history assymetry when linking rows", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "9cbadf4ee0001ee12cdddc2ebdce785d485068c1": {"id": "9cbadf4ee0001ee12cdddc2ebdce785d485068c1", "date": 1694885305.0, "description": "relative mode panel is now toggle-able in config", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/res/layout/config_active_channel.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/Configuration.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellPlaceHolder.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "0ba008dc683a55556bffd8df848e33c9bab7f770": {"id": "0ba008dc683a55556bffd8df848e33c9bab7f770", "date": 1694850364.0, "description": "musescore xml library builder roughly functional", "files": [["M", "musescore_lib_builder.py"], ["A", "app/src/test/java/com/qfs/pagan/MuseScoreTest.kt"]], "author": "smith.quintin@protonmail.com"}, "e8838b7fc33484c173a92028df02b10395d8983b": {"id": "e8838b7fc33484c173a92028df02b10395d8983b", "date": 1694801287.0, "description": "wrote script to build a musescore library from a musescore file", "files": [["A", "musescore_lib_builder.py"]], "author": "smith.quintin@protonmail.com"}, "752c1377bac6526ed87ab50e9183aafd4f2a007d": {"id": "752c1377bac6526ed87ab50e9183aafd4f2a007d", "date": 1694749276.0, "description": "fixed PitchedBuffer for Pitches < 1", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"]], "author": "smith.quintin@protonmail.com"}, "dcb9ea08eecc39c26c5ccec5a637195e4464ecb4": {"id": "dcb9ea08eecc39c26c5ccec5a637195e4464ecb4", "date": 1694726532.0, "description": "Using PitchedBuffer instead of resampling duplicates of same data", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/PitchedBuffer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "d278f0da0f2f6fc8fbccd454d7c61fd691b631de": {"id": "d278f0da0f2f6fc8fbccd454d7c61fd691b631de", "date": 1694721266.0, "description": "added mockk library", "files": [["M", "app/src/test/java/com/qfs/apres/SoundFontUnitTest.kt"], ["A", "app/src/test/java/com/qfs/apres/SoundFontPlayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "b2bd782c1c84b4106cba3cd75f8d0ef6da674358": {"id": "b2bd782c1c84b4106cba3cd75f8d0ef6da674358", "date": 1694663900.0, "description": "fixed new SoundFont Unit Tests", "files": [["M", "app/src/test/java/com/qfs/apres/SoundFontUnitTest.kt"], ["M", "app/src/test/java/com/qfs/apres/ApresUnitTest.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Generator.kt"]], "author": "smith.quintin@protonmail.com"}, "02c07ee9bd5276b77e300b3e760ee63e13d29aa9": {"id": "02c07ee9bd5276b77e300b3e760ee63e13d29aa9", "date": 1694646577.0, "description": "more unit tests for soundfont", "files": [["M", "app/src/test/java/com/qfs/apres/SoundFontUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "1ce42c7235879f1638125026c065cf755065f1ca": {"id": "1ce42c7235879f1638125026c065cf755065f1ca", "date": 1694642762.0, "description": "removed absolute path in soundfontunittest", "files": [["M", "app/src/test/java/com/qfs/apres/SoundFontUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "c859ca334e98448e0e9ba7ff1b60e534360a62c0": {"id": "c859ca334e98448e0e9ba7ff1b60e534360a62c0", "date": 1694639431.0, "description": "Created some (appearently sorely needed) unit tests for soundfont lib.", "files": [["A", "app/src/test/java/com/qfs/apres/SoundFontUnitTest.kt"], ["D", "app/src/test/java/com/qfs/pagan/ApresUnitTest.kt"], ["A", "app/src/test/java/com/qfs/apres/ApresUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "0398b37a6d4880b5d0680a3c761fcbc9dc11fbc6": {"id": "0398b37a6d4880b5d0680a3c761fcbc9dc11fbc6", "date": 1694635198.0, "description": "removed unnecessary local references to MainActivity", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "98bdabe8719fed6b45eb633114efa85eef393a4a": {"id": "98bdabe8719fed6b45eb633114efa85eef393a4a", "date": 1694581968.0, "description": "throw CellDetachedException in get_y() and allow for it in replace()", "files": [["M", "app/src/main/java/com/qfs/pagan/CellRecyclerViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellPlaceHolder.kt"]], "author": "smith.quintin@protonmail.com"}, "a0b1f119a952815b83a0b8a2835cf7ba1028693b": {"id": "a0b1f119a952815b83a0b8a2835cf7ba1028693b", "date": 1694534040.0, "description": "explicitly use 'that'", "files": [["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "b2c12f77fcd757a200b2b0eef202335e2b52317d": {"id": "b2c12f77fcd757a200b2b0eef202335e2b52317d", "date": 1694493444.0, "description": "try/catch cellplaceholder.replace()", "files": [["M", "app/src/main/java/com/qfs/pagan/CellPlaceHolder.kt"]], "author": "smith.quintin@protonmail.com"}, "8fb66a0885355c42ab549029506b27b59d59c930": {"id": "8fb66a0885355c42ab549029506b27b59d59c930", "date": 1694493315.0, "description": "extra layout space on column recycler to reduce blinking", "files": [["M", "app/src/main/java/com/qfs/pagan/LeftAlignedLayoutManager.kt"]], "author": "smith.quintin@protonmail.com"}, "ee4ae4465c6d25c5142c11a683b4944a1a759987": {"id": "ee4ae4465c6d25c5142c11a683b4944a1a759987", "date": 1694482952.0, "description": "Differentiated between a beat changed and a beat highlighted in the ui", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "78738a2dfd5597abad9c17c6754946be28e1bb6d": {"id": "78738a2dfd5597abad9c17c6754946be28e1bb6d", "date": 1694474737.0, "description": ".", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "294612c4e636a8ed512afb1363ded70fc1697294": {"id": "294612c4e636a8ed512afb1363ded70fc1697294", "date": 1694473812.0, "description": "added delay to cellrecycler", "files": [["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellPlaceHolder.kt"]], "author": "smith.quintin@protonmail.com"}, "72006870071bd491c5bcbce9f7e69c530dd9e972": {"id": "72006870071bd491c5bcbce9f7e69c530dd9e972", "date": 1694459193.0, "description": "bugfix: Unlinking range could've caused crash", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "cb2b39d12240c5e177f6d11fb1f6acc0fa479d34": {"id": "cb2b39d12240c5e177f6d11fb1f6acc0fa479d34", "date": 1694376721.0, "description": "removed debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "9e09ea5ea1b9ea80894f8c1f611495501263c344": {"id": "9e09ea5ea1b9ea80894f8c1f611495501263c344", "date": 1694376643.0, "description": "version bump", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "dd2afa33ba7b310c13785ef1f8fb0755351f1423": {"id": "dd2afa33ba7b310c13785ef1f8fb0755351f1423", "date": 1694376565.0, "description": "added v1.1.2 changelog", "files": [["A", "fastlane/metadata/android/en-US/changelogs/100102.txt"]], "author": "smith.quintin@protonmail.com"}, "9c6e7dd9d2a10c0a0aa67bd8543732b4c019c87c": {"id": "9c6e7dd9d2a10c0a0aa67bd8543732b4c019c87c", "date": 1694375051.0, "description": "minor improvement to import_midi", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "6d58c34ad78e7453a09faa704c7b300c414a615b": {"id": "6d58c34ad78e7453a09faa704c7b300c414a615b", "date": 1694307548.0, "description": "removed 'Jump to' button since playback now scrolls", "files": [["M", "app/src/main/res/layout/playback_popup.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "247ffda42511e19ef1fc1f4b74d487ddf71b3594": {"id": "247ffda42511e19ef1fc1f4b74d487ddf71b3594", "date": 1694282246.0, "description": "created LeftAlignedLayoutManager", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["A", "app/src/main/java/com/qfs/pagan/LeftAlignedLayoutManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "f03d4b453bed1cc35670d62d92908f05fccaab5c": {"id": "f03d4b453bed1cc35670d62d92908f05fccaab5c", "date": 1694279650.0, "description": "Config/project files moved from dataDir to externalfilesdir", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "235bb05e1c4bfd17ec41577546b44f7c7a9f3ec8": {"id": "235bb05e1c4bfd17ec41577546b44f7c7a9f3ec8", "date": 1694217367.0, "description": "fixed typo that removed load_json() call", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "72f1e2497d96ca851e96bcf152987ed9d3ef2cba": {"id": "72f1e2497d96ca851e96bcf152987ed9d3ef2cba", "date": 1694194273.0, "description": "New save format. not loading properly", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/LoadFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "66edd11ffaf9701f79bb5330ddfb2b04f7f8d946": {"id": "66edd11ffaf9701f79bb5330ddfb2b04f7f8d946", "date": 1694188396.0, "description": "bugfix: was surpressing ui on link_beat_range_horizontally for a reason that no longer applies", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"]], "author": "smith.quintin@protonmail.com"}, "877e6e0561c2a57ea6e25960df57c294c9bf48cc": {"id": "877e6e0561c2a57ea6e25960df57c294c9bf48cc", "date": 1694188343.0, "description": "bugfix: Crash on scrolling too quickly", "files": [["M", "app/src/main/java/com/qfs/pagan/ColumnPlaceholder.kt"]], "author": "smith.quintin@protonmail.com"}, "a829b98b202ce6a99792ea14965d012e88733f09": {"id": "a829b98b202ce6a99792ea14965d012e88733f09", "date": 1694117018.0, "description": "update changelog", "files": [["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "0f46afe637b77b933bff2d49ff9a37306ca0e418": {"id": "0f46afe637b77b933bff2d49ff9a37306ca0e418", "date": 1694115662.0, "description": "fixed bad copy method when importing sf2", "files": [["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "b156a496094fc90d7f7ae873d303093f3d4b545f": {"id": "b156a496094fc90d7f7ae873d303093f3d4b545f", "date": 1694044344.0, "description": "added a nice gradient line separation on dropdown menu items", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/values/colors.xml"], ["M", "app/src/main/res/values/attrs.xml"], ["M", "app/src/main/res/values-night/themes.xml"], ["A", "app/src/main/res/layout/dropdown_menu_item.xml"], ["M", "app/src/main/res/layout/dialog_menu.xml"], ["A", "app/src/main/res/drawable/dropdown_line_gradient.xml"], ["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "cbfed2009728ad7a3d344ecc0805c1a489d7888b": {"id": "cbfed2009728ad7a3d344ecc0805c1a489d7888b", "date": 1694020982.0, "description": "more tests", "files": [["M", "app/src/test/java/com/qfs/pagan/LinkLayerUnitTest.kt"]], "author": "smith.quintin@protonmail.com"}, "2838bdc2f30166f35a154c1622ab09cedabe39b3": {"id": "2838bdc2f30166f35a154c1622ab09cedabe39b3", "date": 1694020116.0, "description": "Built some tests", "files": [["M", "app/src/test/java/com/qfs/pagan/LinkLayerUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/BaseLayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "9e71adb26391e5d2d4111a1c52b7444b078be9e7": {"id": "9e71adb26391e5d2d4111a1c52b7444b078be9e7", "date": 1693970398.0, "description": "imported midis consider note duration", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "a699c56370881e8463e4acfc1fd35c14e435d997": {"id": "a699c56370881e8463e4acfc1fd35c14e435d997", "date": 1693958562.0, "description": "long click set duration button resets to 1x", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "85a19f7d85b8fac63165cb0e164cef317f71d8e1": {"id": "85a19f7d85b8fac63165cb0e164cef317f71d8e1", "date": 1693958303.0, "description": "removed debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "0a510d2f8ff62464377bbd516b9c1f244e5fd320": {"id": "0a510d2f8ff62464377bbd516b9c1f244e5fd320", "date": 1693957939.0, "description": "added ability to control note duration", "files": [["M", "app/src/main/res/layout/contextmenu_cell.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "fcf2266b229cc5bfac4a992f011f3a1e0eb7470d": {"id": "fcf2266b229cc5bfac4a992f011f3a1e0eb7470d", "date": 1693957928.0, "description": "fixed labels clipping text on relative notes", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "a97c1e7b09c4f5ebc42ccf47e3e521b102d62474": {"id": "a97c1e7b09c4f5ebc42ccf47e3e521b102d62474", "date": 1693938014.0, "description": "moved strings to string resources", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "3d66285af9e37c0230193625341d18267f3f37fa": {"id": "3d66285af9e37c0230193625341d18267f3f37fa", "date": 1693937790.0, "description": "dropdown menu cleaned up. enabled default selection. bolding default selection", "files": [["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout/dialog_menu.xml"], ["M", "app/src/main/java/com/qfs/pagan/VerticalScrollListener.kt"], ["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "be40027b243aae264af3d7bca632af666e7a8ed1": {"id": "be40027b243aae264af3d7bca632af666e7a8ed1", "date": 1693856670.0, "description": "using recycler view and alertdialog instead of standard popup menu", "files": [["M", "app/src/main/res/layout/dialog_menu.xml"], ["A", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "710b4f8a9598ed8e9fe0ce5f428d5a3acb82b591": {"id": "710b4f8a9598ed8e9fe0ce5f428d5a3acb82b591", "date": 1693689161.0, "description": "build generic menu popup with recyclerview to replace built-in popupmenu", "files": [["A", "app/src/main/res/layout/dialog_menu.xml"], ["A", "app/src/main/java/com/qfs/pagan/PopupMenuRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnPlaceholder.kt"]], "author": "smith.quintin@protonmail.com"}, "380ae99b73729b30c5e9c20c199132ec0ca53702": {"id": "380ae99b73729b30c5e9c20c199132ec0ca53702", "date": 1693553006.0, "description": "set background color of column placeholders to match background", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnPlaceholder.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"]], "author": "smith.quintin@protonmail.com"}, "b869852b1f9e92e8d9feecfbe13824f2c5b645e5": {"id": "b869852b1f9e92e8d9feecfbe13824f2c5b645e5", "date": 1693547312.0, "description": "removed item animations on channel selection recycler", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "852474e7f4a01ad52668e7df9287f7e5e48ba730": {"id": "852474e7f4a01ad52668e7df9287f7e5e48ba730", "date": 1693100388.0, "description": "fixed hanging on restoring stale sessions", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "9b550871597aed5f58e7d45048b59222c1bad6ba": {"id": "9b550871597aed5f58e7d45048b59222c1bad6ba", "date": 1692995089.0, "description": "replaced strings with enums for setFragmentResultListener calls", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LoadFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"], ["A", "app/src/main/java/com/qfs/pagan/IntentFragmentToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "326a6c92af356bdb21d36b07d1bac0bd73712f30": {"id": "326a6c92af356bdb21d36b07d1bac0bd73712f30", "date": 1692912068.0, "description": "bugfix: cursor wasn't diving to the first leaf after removing a tree", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "7a54e06136e05844a3512c84c4be51f7b362927e": {"id": "7a54e06136e05844a3512c84c4be51f7b362927e", "date": 1692911377.0, "description": "midi generation considers OpusEvent.duration though it is not used yet", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "a05c30f87e163c69882c33799f16b3c4bfcc9e65": {"id": "a05c30f87e163c69882c33799f16b3c4bfcc9e65", "date": 1692911040.0, "description": "separated OpusTree and OpusEvent classes into their own files", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/structure.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/OpusTree.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/OpusEvent.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "9145177290230b9c0cf388ffc741b04333704f7d": {"id": "9145177290230b9c0cf388ffc741b04333704f7d", "date": 1692910507.0, "description": "bugfix: simple check when setting soundfont", "files": [["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Riff.kt"]], "author": "smith.quintin@protonmail.com"}, "ef55573e9f7f58ff4d5ae0d8e5096a09279bb217": {"id": "ef55573e9f7f58ff4d5ae0d8e5096a09279bb217", "date": 1692839671.0, "description": "removed no longer used build.gradle dependency de.undercouch.download", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "e52b4d98f98a47c258f1476afee0d25ebb5bb557": {"id": "e52b4d98f98a47c258f1476afee0d25ebb5bb557", "date": 1692838770.0, "description": "update targetSdk", "files": [["M", "app/src/main/AndroidManifest.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "f033071eb4399e767b23dd5d9b1fc08a784900eb": {"id": "f033071eb4399e767b23dd5d9b1fc08a784900eb", "date": 1692811171.0, "description": "fixed alignment adjustment causing crash occasionally at the cost of equally occasional misalignments", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"]], "author": "smith.quintin@protonmail.com"}, "dd76936ea0c9a20c90a01fc22715470461d6a3b7": {"id": "dd76936ea0c9a20c90a01fc22715470461d6a3b7", "date": 1692766484.0, "description": "bugfix: add/remove channel no longer breaking links", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "b8a1de70ff6495ada6491a07c5947956747fb79e": {"id": "b8a1de70ff6495ada6491a07c5947956747fb79e", "date": 1692762845.0, "description": "bugfix: undoing line inserted by move_line no longer crashes", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "8ace71bcf8c4509d5f38bc9bff888df5715992ec": {"id": "8ace71bcf8c4509d5f38bc9bff888df5715992ec", "date": 1692755743.0, "description": "bugfix: crash on deleting last beat", "files": [["M", "fastlane/metadata/android/en-US/changelogs/100101.txt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "a6974948af4649da69d51be14fe9d006ea498a9e": {"id": "a6974948af4649da69d51be14fe9d006ea498a9e", "date": 1692754018.0, "description": "fixed crash on note playback sometimes", "files": [["M", "fastlane/metadata/android/en-US/changelogs/100101.txt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "060adfc6cb2b7bcc4f606eb0d50565fcd6203cc6": {"id": "060adfc6cb2b7bcc4f606eb0d50565fcd6203cc6", "date": 1692738766.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/100101.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "1053b7c999774a8700cb898e4cb82de6abcc0e1b": {"id": "1053b7c999774a8700cb898e4cb82de6abcc0e1b", "date": 1692738562.0, "description": "fixed jumpiness and label desynchronization", "files": [["M", "app/src/main/java/com/qfs/pagan/VerticalScrollListener.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnPlaceholder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelPlaceHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerViewHolder.kt"], ["A", "app/src/main/java/com/qfs/pagan/CellRecyclerLayoutManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "786ed343691e5a7df24535a178b630d6775e0671": {"id": "786ed343691e5a7df24535a178b630d6775e0671", "date": 1692583467.0, "description": "fixed column labels and columns desynchronizing when changing a partially visible cell", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "7ab8612b508018205610ff245907b920a3c3e5f4": {"id": "7ab8612b508018205610ff245907b920a3c3e5f4", "date": 1692378153.0, "description": "thickened line on bottom of editor table", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout/contextmenu_row.xml"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnPlaceholder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"]], "author": "smith.quintin@protonmail.com"}, "3639d2cd6c42c0f42b2f6d4d50544a8210ab6a52": {"id": "3639d2cd6c42c0f42b2f6d4d50544a8210ab6a52", "date": 1692301567.0, "description": "alternating colors between channels", "files": [["M", "project_activity.mmd"], ["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/attrs.xml"], ["M", "app/src/main/res/values-night/themes.xml"], ["A", "app/src/main/res/color/line_label_bg.xml"], ["M", "app/src/main/res/color/leaf_fg.xml"], ["M", "app/src/main/res/color/leaf_bg.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"]], "author": "smith.quintin@protonmail.com"}, "d7dc60c2b978cdb05b174fcc87c3b0bc67dc3e34": {"id": "d7dc60c2b978cdb05b174fcc87c3b0bc67dc3e34", "date": 1692138609.0, "description": "lint & attempting to kdoc", "files": [["A", "project_activity.mmd"], ["M", "app/src/test/java/com/qfs/pagan/OpusManagerCursorLayerUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/BaseLayerUnitTest.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/LinksLayer.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryLayer.kt"], ["D", "app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/BaseLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "30e62f260433880ebba5e229995c0e3c835ccb78": {"id": "30e62f260433880ebba5e229995c0e3c835ccb78", "date": 1692069642.0, "description": "removed unused INTERNET permission", "files": [["M", "app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "c75e38b77e3f8192a8ada7f984d8ecc413577705": {"id": "c75e38b77e3f8192a8ada7f984d8ecc413577705", "date": 1692033838.0, "description": "moved strings into string resources. linted", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/fragment_song_config.xml"], ["M", "app/src/main/res/layout/fragment_license.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/res/layout/fragment_global_settings.xml"], ["D", "app/src/main/java/com/qfs/pagan/TestLayoutManager.kt"], ["D", "app/src/main/java/com/qfs/pagan/PositionNode.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LoadFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/Configuration.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnPlaceholder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelPlaceHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "2272e33cbb394f2268c621595d6e9eebe44bbd98": {"id": "2272e33cbb394f2268c621595d6e9eebe44bbd98", "date": 1692002543.0, "description": "created settings button on landing page", "files": [["M", "app/src/main/res/layout/fragment_landing.xml"], ["A", "app/src/main/res/layout-land/fragment_landing.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "b02ea27041889dccfc2169ec6e613e7ecb1c473d": {"id": "b02ea27041889dccfc2169ec6e613e7ecb1c473d", "date": 1692000835.0, "description": "bugfix: improved file name parsing when importing midis and soundfonts", "files": [["D", "app/src/test/java/com/qfs/pagan/CursorLayerUnitTest.kt"], ["A", "app/src/test/java/com/qfs/pagan/OpusManagerCursorLayerUnitTest.kt"], ["D", "app/src/main/java/com/qfs/pagan/Cursor.kt"], ["A", "app/src/main/java/com/qfs/pagan/OpusManagerCursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"]], "author": "smith.quintin@protonmail.com"}, "b122def6a0f9cd16e52141590eb60fac58830d06": {"id": "b122def6a0f9cd16e52141590eb60fac58830d06", "date": 1691999055.0, "description": "changed process for downloading sf2 on landing page", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/navigation/nav_graph.xml"], ["M", "app/src/main/res/layout/fragment_landing.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "1395ff77f2545f5f3b0f0f2298ba88952f2cc440": {"id": "1395ff77f2545f5f3b0f0f2298ba88952f2cc440", "date": 1691995407.0, "description": "bugfix: history breaking links on (un)inserting line", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "43a1223421c282e03fa484e69822aaf8fad162f8": {"id": "43a1223421c282e03fa484e69822aaf8fad162f8", "date": 1691988542.0, "description": "updated version code", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "6ee2826fc41bc9c097b5a8fd93ad0a64c391bb0b": {"id": "6ee2826fc41bc9c097b5a8fd93ad0a64c391bb0b", "date": 1691988246.0, "description": "version bump", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "e4e6cba1fecb845b51a9b32631d87707f826bd85": {"id": "e4e6cba1fecb845b51a9b32631d87707f826bd85", "date": 1691988140.0, "description": "updated some tests. removed deprecated", "files": [["M", "app/src/test/java/com/qfs/pagan/HistoryLayerUnitTest.kt"], ["D", "app/src/test/java/com/qfs/pagan/FlagLayerUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/BaseLayerUnitTest.kt"], ["M", "app/src/test/java/com/qfs/pagan/ApresUnitTest.kt"], ["D", "app/src/test/java/com/qfs/pagan/AbsoluteValueLayerUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "b1aa9476a14c19421b9e1f954dc466d1d6fe22f8": {"id": "b1aa9476a14c19421b9e1f954dc466d1d6fe22f8", "date": 1691986477.0, "description": "fixed columns disappearing if updated and only populated by leafs", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnPlaceholder.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "add8bfc7bca4397a207bbebe326c4433245d13c5": {"id": "add8bfc7bca4397a207bbebe326c4433245d13c5", "date": 1691975368.0, "description": "update changelog", "files": [["M", "fastlane/metadata/android/en-US/changelogs/100100.txt"]], "author": "smith.quintin@protonmail.com"}, "9d3f009966006594652fbd11e0c0763fd54a017f": {"id": "9d3f009966006594652fbd11e0c0763fd54a017f", "date": 1691975186.0, "description": "changed process of downloading Fluid GM soundfont", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/values/attrs.xml"], ["M", "app/src/main/res/values-night/themes.xml"], ["M", "app/src/main/res/navigation/nav_graph.xml"], ["D", "app/src/main/res/layout/fragment_settings.xml"], ["A", "app/src/main/res/layout/fragment_global_settings.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["D", "app/src/main/java/com/qfs/pagan/SettingsFragment.kt"], ["A", "app/src/main/java/com/qfs/pagan/GlobalSettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"]], "author": "smith.quintin@protonmail.com"}, "470479e83937e5c54a071746abc26553b8dc4f30": {"id": "470479e83937e5c54a071746abc26553b8dc4f30", "date": 1691866064.0, "description": "handle cursor selection AFTER undo is call instead of after every operation therein", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "ec2ec56ca5de9bb27570493ccb2f76eb9e9cb00e": {"id": "ec2ec56ca5de9bb27570493ccb2f76eb9e9cb00e", "date": 1691860291.0, "description": "bugfix: handle missing instruments more gracefully", "files": [["A", "fastlane/metadata/android/en-US/changelogs/100100.txt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "28dab20df0584d83648433b9844cc6a65f2414e5": {"id": "28dab20df0584d83648433b9844cc6a65f2414e5", "date": 1691855426.0, "description": "fixed soundfont selection menu", "files": [["M", "app/src/main/java/com/qfs/pagan/SettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "5cd6399fe880e4b129499866539a470683a00f7c": {"id": "5cd6399fe880e4b129499866539a470683a00f7c", "date": 1691816311.0, "description": "using cursor_select_column() toscroll in playbacks dialog", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "009995c0d521da894ab311d92b1a60d9cbaaa4a9": {"id": "009995c0d521da894ab311d92b1a60d9cbaaa4a9", "date": 1691772066.0, "description": "removed some debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LoadFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "b8599386f4a6b6021a29faa2fd90d2a55e8a9c87": {"id": "b8599386f4a6b6021a29faa2fd90d2a55e8a9c87", "date": 1691771962.0, "description": "fixed height not adjusting to a project with more lines than the previous", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelRecycler.kt"]], "author": "smith.quintin@protonmail.com"}, "652a864162483860fd0b32670844eb2fc94ace9c": {"id": "652a864162483860fd0b32670844eb2fc94ace9c", "date": 1691770521.0, "description": "clearing cursor before row/column removal/insertion", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "533778a01756a69dcecdaa0e342d133d867227d8": {"id": "533778a01756a69dcecdaa0e342d133d867227d8", "date": 1691733567.0, "description": "fixed crash on navigating BACK to editor fragment", "files": [["M", "app/src/main/res/navigation/nav_graph.xml"], ["M", "app/src/main/java/com/qfs/pagan/VerticalScrollListener.kt"], ["A", "app/src/main/java/com/qfs/pagan/TestLayoutManager.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LoadFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["A", "app/src/main/java/com/qfs/pagan/EditorViewModel.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/CornerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "39d85b1628f59f3243cf9b82f9140bc267452ceb": {"id": "39d85b1628f59f3243cf9b82f9140bc267452ceb", "date": 1691601967.0, "description": "fixed table getting clipped when loading/import a project with more lines than the previous", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "46289666d042876879e443798993dbd3cdd87e56": {"id": "46289666d042876879e443798993dbd3cdd87e56", "date": 1691599830.0, "description": "scroll_to_position only scrolls to when position isn't already visible", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "c0caf9bc3343fcc793217ff97bb6b4575df5020f": {"id": "c0caf9bc3343fcc793217ff97bb6b4575df5020f", "date": 1691564095.0, "description": "fixed jittering", "files": [["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellPlaceHolder.kt"]], "author": "smith.quintin@protonmail.com"}, "d8e41dea58f5831726b16defbf466dfe5240fde7": {"id": "d8e41dea58f5831726b16defbf466dfe5240fde7", "date": 1691555875.0, "description": "fixed line label updates", "files": [["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellPlaceHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "7d1fb9117ca05ec4427f008d30a86c5caff22591": {"id": "7d1fb9117ca05ec4427f008d30a86c5caff22591", "date": 1691549492.0, "description": "more alignment fixes", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"]], "author": "smith.quintin@protonmail.com"}, "03fd5cd7e5aca8543f6426fe5f0682916c51850f": {"id": "03fd5cd7e5aca8543f6426fe5f0682916c51850f", "date": 1691529260.0, "description": "i *think* i fixed columnHeaders falling out of alignment", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["A", "app/src/main/java/com/qfs/pagan/ColumnLabelPlaceHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"]], "author": "smith.quintin@protonmail.com"}, "d7e193d66f73b29ab4f4667f1009d05028a8129b": {"id": "d7e193d66f73b29ab4f4667f1009d05028a8129b", "date": 1691515164.0, "description": "fixed missing setup() call on new projects", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "cb0eff889c6ae0d6c192cf35e432a08457a1ff6f": {"id": "cb0eff889c6ae0d6c192cf35e432a08457a1ff6f", "date": 1691514896.0, "description": "fixed recycler views recycling views even though they were set not to", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/ColumnPlaceholder.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["A", "app/src/main/java/com/qfs/pagan/CellPlaceHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "df8685085f564ff6dd668728c6ec55a41e13ab9a": {"id": "df8685085f564ff6dd668728c6ec55a41e13ab9a", "date": 1691384245.0, "description": "made columns and cells not reyclable", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["A", "app/src/main/java/com/qfs/pagan/CornerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "fc468f7673297ac30499c1954d089c84293b920d": {"id": "fc468f7673297ac30499c1954d089c84293b920d", "date": 1691305040.0, "description": "more quirk fixes. scrolllistener improved.", "files": [["M", "app/src/main/res/values/styles.xml"], ["A", "app/src/main/java/com/qfs/pagan/ScrollLockingRecyclerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/HorizontalScrollListener.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"]], "author": "smith.quintin@protonmail.com"}, "ce6b56c42b0403aebc8f3d574c30c055eb8c4893": {"id": "ce6b56c42b0403aebc8f3d574c30c055eb8c4893", "date": 1691214282.0, "description": "context menu changing no longer depends on kludge to correctly size the recyclers", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "app/src/main/java/com/qfs/pagan/VerticalScrollListener.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/Cursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "4952a8eaabe52f85dcd6fadb2b0070743c400f13": {"id": "4952a8eaabe52f85dcd6fadb2b0070743c400f13", "date": 1691047546.0, "description": "cursor highlighting working", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["D", "app/src/main/java/com/qfs/pagan/HoriztonalScrollListener.kt"], ["A", "app/src/main/java/com/qfs/pagan/HorizontalScrollListener.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/Cursor.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "5ccff00132f8df28ed7caf1fd63c8b7e7d0cb8ca": {"id": "5ccff00132f8df28ed7caf1fd63c8b7e7d0cb8ca", "date": 1690992132.0, "description": "column labels rendering correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "d218b95c4f0bc8946e1e989008396c1b7f8ae35e": {"id": "d218b95c4f0bc8946e1e989008396c1b7f8ae35e", "date": 1690955899.0, "description": "columnlabels temporarily disabled, column sizing functional", "files": [["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"]], "author": "smith.quintin@protonmail.com"}, "ec87ec1b1d861de345e45ed376eacb7c70eec48b": {"id": "ec87ec1b1d861de345e45ed376eacb7c70eec48b", "date": 1690859186.0, "description": "rebuild of layout mostly coming together", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["A", "app/src/main/java/com/qfs/pagan/VerticalScrollListener.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabelViewHolder.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabelView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["A", "app/src/main/java/com/qfs/pagan/HoriztonalScrollListener.kt"], ["A", "app/src/main/java/com/qfs/pagan/EditorTable.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["D", "app/src/main/java/com/qfs/pagan/ColumnViewHolder.kt"], ["A", "app/src/main/java/com/qfs/pagan/ColumnRecyclerViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["A", "app/src/main/java/com/qfs/pagan/ColumnLabelViewHolder.kt"], ["A", "app/src/main/java/com/qfs/pagan/ColumnLabelView.kt"], ["A", "app/src/main/java/com/qfs/pagan/ColumnLabelRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["D", "app/src/main/java/com/qfs/pagan/CellViewHolder.kt"], ["A", "app/src/main/java/com/qfs/pagan/CellRecyclerViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"], ["D", "app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"], ["D", "app/src/main/java/com/qfs/pagan/BeatCellAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "fa9315811098bb7e5219e0c468b164f006fe9de7": {"id": "fa9315811098bb7e5219e0c468b164f006fe9de7", "date": 1690694088.0, "description": "horizontal scrolling and sizing working. using opus_manager to build drawableState instead of manually set booleans", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnViewHolder.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/CellLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/BeatCellAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "357a34a6c9810414f116e8a7123ddb61dca1abb7": {"id": "357a34a6c9810414f116e8a7123ddb61dca1abb7", "date": 1690608820.0, "description": "rebuilding Editor RecyclerView Adapters", "files": [["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["A", "app/src/main/java/com/qfs/pagan/ColumnViewHolder.kt"], ["A", "app/src/main/java/com/qfs/pagan/ColumnRecyclerAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/ColumnRecycler.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/CellViewHolder.kt"], ["A", "app/src/main/java/com/qfs/pagan/CellRecyclerAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/CellRecycler.kt"], ["A", "app/src/main/java/com/qfs/pagan/CellLayout.kt"], ["M", "app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/BeatCellAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "9b0f0fcbe1ab7778c9e8e979483bd0e5ea9e70f6": {"id": "9b0f0fcbe1ab7778c9e8e979483bd0e5ea9e70f6", "date": 1690480071.0, "description": "columns showing correct content", "files": [["M", "app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/BeatCellAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "4e20a1cf6b655346779533b4d864fb6ece3c7a8e": {"id": "4e20a1cf6b655346779533b4d864fb6ece3c7a8e", "date": 1690439130.0, "description": "centered leafs instead of only having padding on the end", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/BeatCellAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "3e38ed9c1748967ac1ea7b5a8095509acaa8f3f4": {"id": "3e38ed9c1748967ac1ea7b5a8095509acaa8f3f4", "date": 1690413783.0, "description": "leaf weight problem worked out", "files": [["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/BeatCellAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "730e1fdf0836ba1d8c683d38b2ca37a893f12ddf": {"id": "730e1fdf0836ba1d8c683d38b2ca37a893f12ddf", "date": 1690351541.0, "description": "column and leaf sizing seems to be worked out. label sizing and quirks still in progress", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"], ["M", "app/src/main/java/com/qfs/pagan/BeatCellAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "ce031cb235029b8911d6746af67ee2b62773dc9f": {"id": "ce031cb235029b8911d6746af67ee2b62773dc9f", "date": 1690264108.0, "description": "converted Table to use RecyclerViews for both Columns AND Lines. still in progress", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/BeatCellAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "eb97c035b46ce53c15de8fce322fe20fe4d9a1e3": {"id": "eb97c035b46ce53c15de8fce322fe20fe4d9a1e3", "date": 1690174473.0, "description": "added tlog() for ease of debugging", "files": [["M", "app/src/main/java/com/qfs/pagan/intermediate_structure_functions.kt"]], "author": "smith.quintin@protonmail.com"}, "8d77fe7a85615c755b1a9d108253285c02b3c4de": {"id": "8d77fe7a85615c755b1a9d108253285c02b3c4de", "date": 1690061560.0, "description": "playback dialog more stable", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "e8e1720e49cca5d32b6b3ccd753f92cf0de3cf20": {"id": "e8e1720e49cca5d32b6b3ccd753f92cf0de3cf20", "date": 1689956647.0, "description": "Limited percussion note index floor to 27. fixed drum issues related to mutliple soundfonts", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "9a85c49bbeabb5cac087b68b61902ed107b8042e": {"id": "9a85c49bbeabb5cac087b68b61902ed107b8042e", "date": 1689918087.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/100005.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "30cce2312fa2a96e73702bb96c3e76e9d9580aa6": {"id": "30cce2312fa2a96e73702bb96c3e76e9d9580aa6", "date": 1689917846.0, "description": "save config after downloading fluid", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "b5fab669d0738413748b4f5ee0651d190bc523f5": {"id": "b5fab669d0738413748b4f5ee0651d190bc523f5", "date": 1689896064.0, "description": "Fluid no longer packaged as an asset. there is an option to download it though. And option to change and import soundfonts added", "files": [["M", "app/src/main/java/com/qfs/pagan/SettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"], ["A", "app/src/main/java/com/qfs/pagan/Configuration.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "901d6d5c0dc6b013f0d2594401fbc26d8ae17544": {"id": "901d6d5c0dc6b013f0d2594401fbc26d8ae17544", "date": 1689835519.0, "description": "multiple soundfont support in progress", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/navigation/nav_graph.xml"], ["M", "app/src/main/res/menu/main_options_menu.xml"], ["D", "app/src/main/res/layout/fragment_config.xml"], ["A", "app/src/main/res/layout/fragment_song_config.xml"], ["A", "app/src/main/res/layout/fragment_settings.xml"], ["M", "app/src/main/res/layout/fragment_license.xml"], ["M", "app/src/main/res/layout/activity_main.xml"], ["A", "app/src/main/java/com/qfs/pagan/SettingsFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfont/Riff.kt"], ["M", "app/src/main/AndroidManifest.xml"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "063ccc0b2c782060dfa9bff7c753c8dbb04f9e09": {"id": "063ccc0b2c782060dfa9bff7c753c8dbb04f9e09", "date": 1689697207.0, "description": "lint; restructured apres soundfont", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["D", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont/sfSampleType.kt"], ["D", "app/src/main/java/com/qfs/apres/SoundFont.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont/SoundFont.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont/Sample.kt"], ["D", "app/src/main/java/com/qfs/apres/riffreader/Riff.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont/Riff.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont/PresetInstrument.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont/Preset.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont/Modulator.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont/InstrumentSample.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont/Instrument.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont/Generator.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfont/Generated.kt"], ["D", "app/src/main/java/com/qfs/apres/apres.kt"], ["A", "app/src/main/java/com/qfs/apres/incidental_functions.kt"], ["M", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "c50ad85ce8b74a2d1aad84f82a20c4d25d908465": {"id": "c50ad85ce8b74a2d1aad84f82a20c4d25d908465", "date": 1689696474.0, "description": "lint; restructured apres", "files": [["M", "app/src/test/java/com/qfs/pagan/ApresUnitTest.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "app/src/main/java/com/qfs/pagan/intermediate_structure_functions.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["D", "app/src/main/java/com/qfs/pagan/MIDIScroller.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["D", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontWavPlayer.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontWavPlayer.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/SoundFontPlayer.kt"], ["D", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandleGenerator.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandleGenerator.kt"], ["D", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandle.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/SampleHandle.kt"], ["D", "app/src/main/java/com/qfs/apres/SoundFontPlayer/MIDIPlaybackDevice.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/MidiPlaybackDevice.kt"], ["D", "app/src/main/java/com/qfs/apres/SoundFontPlayer/AudioTrackHandle.kt"], ["A", "app/src/main/java/com/qfs/apres/soundfontplayer/AudioTrackHandle.kt"], ["A", "app/src/main/java/com/qfs/apres/event/Volume.kt"], ["A", "app/src/main/java/com/qfs/apres/event/VariableControlChange.kt"], ["A", "app/src/main/java/com/qfs/apres/event/TuneRequest.kt"], ["A", "app/src/main/java/com/qfs/apres/event/TremuloLevel.kt"], ["A", "app/src/main/java/com/qfs/apres/event/TrackName.kt"], ["A", "app/src/main/java/com/qfs/apres/event/TimeSignature.kt"], ["A", "app/src/main/java/com/qfs/apres/event/TimeCode.kt"], ["A", "app/src/main/java/com/qfs/apres/event/Text.kt"], ["A", "app/src/main/java/com/qfs/apres/event/SystemExclusive.kt"], ["A", "app/src/main/java/com/qfs/apres/event/Sustenuto.kt"], ["A", "app/src/main/java/com/qfs/apres/event/SoundVariation.kt"], ["A", "app/src/main/java/com/qfs/apres/event/SoundTimbre.kt"], ["A", "app/src/main/java/com/qfs/apres/event/SoundReleaseTime.kt"], ["A", "app/src/main/java/com/qfs/apres/event/SoundControl5.kt"], ["A", "app/src/main/java/com/qfs/apres/event/SoundControl4.kt"], ["A", "app/src/main/java/com/qfs/apres/event/SoundControl3.kt"], ["A", "app/src/main/java/com/qfs/apres/event/SoundControl2.kt"], ["A", "app/src/main/java/com/qfs/apres/event/SoundControl1.kt"], ["A", "app/src/main/java/com/qfs/apres/event/SoundBrightness.kt"], ["A", "app/src/main/java/com/qfs/apres/event/SoundAttack.kt"], ["A", "app/src/main/java/com/qfs/apres/event/SongSelect.kt"], ["A", "app/src/main/java/com/qfs/apres/event/SongPositionPointer.kt"], ["A", "app/src/main/java/com/qfs/apres/event/SoftPedal.kt"], ["A", "app/src/main/java/com/qfs/apres/event/SetTempo.kt"], ["A", "app/src/main/java/com/qfs/apres/event/SequencerSpecific.kt"], ["A", "app/src/main/java/com/qfs/apres/event/SequenceNumber.kt"], ["A", "app/src/main/java/com/qfs/apres/event/SMPTEOffset.kt"], ["A", "app/src/main/java/com/qfs/apres/event/Reset.kt"], ["A", "app/src/main/java/com/qfs/apres/event/RegisteredParameterNumber.kt"], ["A", "app/src/main/java/com/qfs/apres/event/ProgramChange.kt"], ["A", "app/src/main/java/com/qfs/apres/event/PortamentoTime.kt"], ["A", "app/src/main/java/com/qfs/apres/event/Portamento.kt"], ["A", "app/src/main/java/com/qfs/apres/event/PolyphonicOperation.kt"], ["A", "app/src/main/java/com/qfs/apres/event/PolyphonicKeyPressure.kt"], ["A", "app/src/main/java/com/qfs/apres/event/PitchWheelChange.kt"], ["A", "app/src/main/java/com/qfs/apres/event/PhaserLevel.kt"], ["A", "app/src/main/java/com/qfs/apres/event/Pan.kt"], ["A", "app/src/main/java/com/qfs/apres/event/OmniOn.kt"], ["A", "app/src/main/java/com/qfs/apres/event/OmniOff.kt"], ["A", "app/src/main/java/com/qfs/apres/event/NoteOn.kt"], ["A", "app/src/main/java/com/qfs/apres/event/NoteOff.kt"], ["A", "app/src/main/java/com/qfs/apres/event/NonRegisteredParameterNumber.kt"], ["A", "app/src/main/java/com/qfs/apres/event/MonophonicOperation.kt"], ["A", "app/src/main/java/com/qfs/apres/event/ModulationWheel.kt"], ["A", "app/src/main/java/com/qfs/apres/event/MetaEvent.kt"], ["A", "app/src/main/java/com/qfs/apres/event/Marker.kt"], ["A", "app/src/main/java/com/qfs/apres/event/MTCQuarterFrame.kt"], ["A", "app/src/main/java/com/qfs/apres/event/MIDIStop.kt"], ["A", "app/src/main/java/com/qfs/apres/event/MIDIStart.kt"], ["A", "app/src/main/java/com/qfs/apres/event/MIDIEvent.kt"], ["A", "app/src/main/java/com/qfs/apres/event/MIDIContinue.kt"], ["A", "app/src/main/java/com/qfs/apres/event/MIDIClock.kt"], ["A", "app/src/main/java/com/qfs/apres/event/Lyric.kt"], ["A", "app/src/main/java/com/qfs/apres/event/LocalControl.kt"], ["A", "app/src/main/java/com/qfs/apres/event/Legato.kt"], ["A", "app/src/main/java/com/qfs/apres/event/KeySignature.kt"], ["A", "app/src/main/java/com/qfs/apres/event/InstrumentName.kt"], ["A", "app/src/main/java/com/qfs/apres/event/HoldPedal.kt"], ["A", "app/src/main/java/com/qfs/apres/event/Hold2Pedal.kt"], ["A", "app/src/main/java/com/qfs/apres/event/GeneralPurpose8.kt"], ["A", "app/src/main/java/com/qfs/apres/event/GeneralPurpose7.kt"], ["A", "app/src/main/java/com/qfs/apres/event/GeneralPurpose6.kt"], ["A", "app/src/main/java/com/qfs/apres/event/GeneralPurpose5.kt"], ["A", "app/src/main/java/com/qfs/apres/event/GeneralPurpose4.kt"], ["A", "app/src/main/java/com/qfs/apres/event/GeneralPurpose3.kt"], ["A", "app/src/main/java/com/qfs/apres/event/GeneralPurpose2.kt"], ["A", "app/src/main/java/com/qfs/apres/event/GeneralPurpose1.kt"], ["A", "app/src/main/java/com/qfs/apres/event/FootPedal.kt"], ["A", "app/src/main/java/com/qfs/apres/event/Expression.kt"], ["A", "app/src/main/java/com/qfs/apres/event/EndOfTrack.kt"], ["A", "app/src/main/java/com/qfs/apres/event/EffectsLevel.kt"], ["A", "app/src/main/java/com/qfs/apres/event/EffectControl2.kt"], ["A", "app/src/main/java/com/qfs/apres/event/EffectControl1.kt"], ["A", "app/src/main/java/com/qfs/apres/event/DataIncrement.kt"], ["A", "app/src/main/java/com/qfs/apres/event/DataEntry.kt"], ["A", "app/src/main/java/com/qfs/apres/event/DataDecrement.kt"], ["A", "app/src/main/java/com/qfs/apres/event/CuePoint.kt"], ["A", "app/src/main/java/com/qfs/apres/event/CopyRightNotice.kt"], ["A", "app/src/main/java/com/qfs/apres/event/ControlChange.kt"], ["A", "app/src/main/java/com/qfs/apres/event/CompoundEvent.kt"], ["A", "app/src/main/java/com/qfs/apres/event/ChorusLevel.kt"], ["A", "app/src/main/java/com/qfs/apres/event/ChannelPressure.kt"], ["A", "app/src/main/java/com/qfs/apres/event/ChannelPrefix.kt"], ["A", "app/src/main/java/com/qfs/apres/event/CelesteLevel.kt"], ["A", "app/src/main/java/com/qfs/apres/event/BreathController.kt"], ["A", "app/src/main/java/com/qfs/apres/event/BankSelectMSB.kt"], ["A", "app/src/main/java/com/qfs/apres/event/BankSelectLSB.kt"], ["A", "app/src/main/java/com/qfs/apres/event/BankSelect.kt"], ["A", "app/src/main/java/com/qfs/apres/event/Balance.kt"], ["A", "app/src/main/java/com/qfs/apres/event/AllSoundOff.kt"], ["A", "app/src/main/java/com/qfs/apres/event/AllNotesOff.kt"], ["A", "app/src/main/java/com/qfs/apres/event/AllControllersOff.kt"], ["A", "app/src/main/java/com/qfs/apres/event/ActiveSense.kt"], ["M", "app/src/main/java/com/qfs/apres/apres.kt"], ["A", "app/src/main/java/com/qfs/apres/VirtualMidiDevice.kt"], ["D", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontPlayer.kt"], ["A", "app/src/main/java/com/qfs/apres/MidiPlayer.kt"], ["A", "app/src/main/java/com/qfs/apres/MidiController.kt"], ["A", "app/src/main/java/com/qfs/apres/Midi.kt"]], "author": "smith.quintin@protonmail.com"}, "95c084aac92e7e7d2e274db4d1e5143b9f621f67": {"id": "95c084aac92e7e7d2e274db4d1e5143b9f621f67", "date": 1689693558.0, "description": "release sample data when an instrument is changed", "files": [["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandleGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "d8e918332c19544d9294617d27e3b75ff95d71ec": {"id": "d8e918332c19544d9294617d27e3b75ff95d71ec", "date": 1689612178.0, "description": "soundfont player considering attenuation", "files": [["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "35304a7903b9400e134fff0f9b7133e2171a0209": {"id": "35304a7903b9400e134fff0f9b7133e2171a0209", "date": 1689483204.0, "description": "version bump", "files": [["M", "fastlane/metadata/android/en-US/changelogs/100004.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "dfee685bd834f42a7bc4c263400fded150081cf8": {"id": "dfee685bd834f42a7bc4c263400fded150081cf8", "date": 1689479919.0, "description": "bugfix: play/pause button playing twice (instead of pausing) towards end of playback", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontWavPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "8a58ba43b1c82de49c901613de6c43d3a7dab7c4": {"id": "8a58ba43b1c82de49c901613de6c43d3a7dab7c4", "date": 1689460490.0, "description": "property access syntax", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "5b857bb6cc4f027000cd4d78ae774a69f6475a39": {"id": "5b857bb6cc4f027000cd4d78ae774a69f6475a39", "date": 1689385769.0, "description": "screen will be kept on during playback", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "f4c2c81504912d2c530b89a58f9c7fe57ce9a2b9": {"id": "f4c2c81504912d2c530b89a58f9c7fe57ce9a2b9", "date": 1689351828.0, "description": "update full_description", "files": [["M", "fastlane/metadata/android/en-US/full_description.txt"]], "author": "smith.quintin@protonmail.com"}, "6cb17346f0e204fae30f85cbf9198f4872ac8aec": {"id": "6cb17346f0e204fae30f85cbf9198f4872ac8aec", "date": 1689351574.0, "description": "update change log", "files": [["A", "fastlane/metadata/android/en-US/changelogs/100004.txt"]], "author": "smith.quintin@protonmail.com"}, "9fa94932952c267f2c84f1a80ff14537d111e805": {"id": "9fa94932952c267f2c84f1a80ff14537d111e805", "date": 1689351224.0, "description": "bugfix: hitting the back arrow when loading project was returning to the landing screen", "files": [["M", "app/src/main/res/navigation/nav_graph.xml"]], "author": "smith.quintin@protonmail.com"}, "fc2b1f6568963d8322bf6762130f3cdfc7d65747": {"id": "fc2b1f6568963d8322bf6762130f3cdfc7d65747", "date": 1689264468.0, "description": "version bump. update changelog", "files": [["M", "fastlane/metadata/android/en-US/changelogs/100003.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "207638393282fedd242d92c13b4bba591608dd6c": {"id": "207638393282fedd242d92c13b4bba591608dd6c", "date": 1689263961.0, "description": "bugfixes: removing and undoing remove on a line with a linked beat on it wasn't restoring links. Moving a line with a linked beat was crashing", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"]], "author": "smith.quintin@protonmail.com"}, "1c21e95aee11c3b9bd227ffc058ff088f1d4311f": {"id": "1c21e95aee11c3b9bd227ffc058ff088f1d4311f", "date": 1689226153.0, "description": "each beat view displays subdivisions flatly in order to reduce extra viewgroups. subsequently adjusted line widths", "files": [["A", "fastlane/metadata/android/en-US/changelogs/100003.txt"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values/dimens.xml"], ["M", "app/src/main/res/layout/tree_node.xml"], ["M", "app/src/main/res/layout/fragment_main.xml"], ["M", "app/src/main/res/layout/beat_node.xml"], ["A", "app/src/main/java/com/qfs/pagan/PositionNode.kt"], ["M", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "e0987514f4cad5928b51aa224d57e2977390b6a7": {"id": "e0987514f4cad5928b51aa224d57e2977390b6a7", "date": 1689173955.0, "description": "added missing icon to fastlane data", "files": [["A", "fastlane/metadata/android/en-US/images/icon.png"]], "author": "smith.quintin@protonmail.com"}, "c0d7fd0e34b4ed108cc9d5936c93d4d7625aa9e7": {"id": "c0d7fd0e34b4ed108cc9d5936c93d4d7625aa9e7", "date": 1689092053.0, "description": "update readme", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "3b597bd0678b9bc49d8a541f7bf1fc76e49185c6": {"id": "3b597bd0678b9bc49d8a541f7bf1fc76e49185c6", "date": 1689054184.0, "description": "closing InputStream of .sf2 when it's not in use", "files": [["M", "gradlew"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/riffreader/Riff.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "1612fff326b5f392eb01fd17267c80f57bcacb65": {"id": "1612fff326b5f392eb01fd17267c80f57bcacb65", "date": 1688959078.0, "description": "ignore uninitializedPrpertyAccessException in unlockDrawer", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "9ddff8c00e710abcda1ed8317e705acbc458f02e": {"id": "9ddff8c00e710abcda1ed8317e705acbc458f02e", "date": 1688777261.0, "description": "versionCode++", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "a6969134530f3db07b5c25112cc0468a537e2b91": {"id": "a6969134530f3db07b5c25112cc0468a537e2b91", "date": 1688769187.0, "description": "version bump", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "367a248a70b08445857addf2f5e087e8899c1905": {"id": "367a248a70b08445857addf2f5e087e8899c1905", "date": 1688764882.0, "description": "raised minSdk so i don't have to deal with sdk 28 break (will deal with later)", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "eb6daec84972b598f7557922e88b84cd7f5b048d": {"id": "eb6daec84972b598f7557922e88b84cd7f5b048d", "date": 1688686115.0, "description": "version bump", "files": [["A", "fastlane/metadata/android/en-US/changelogs/100001.txt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "e516f459711388396ed475ab6da032674be3aed5": {"id": "e516f459711388396ed475ab6da032674be3aed5", "date": 1688685790.0, "description": "content descriptions for line/column.", "files": [["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "defe077436ebd7905dea8167f441dbba42bb3f41": {"id": "defe077436ebd7905dea8167f441dbba42bb3f41", "date": 1688684488.0, "description": "added some contentDescriptions", "files": [["M", "app/src/main/res/values/strings.xml"], ["M", "app/src/main/res/layout/contextmenu_cell.xml"]], "author": "smith.quintin@protonmail.com"}, "fa76c98e28b52b9d1ca7ad9038113f9af6ed4e9d": {"id": "fa76c98e28b52b9d1ca7ad9038113f9af6ed4e9d", "date": 1688680475.0, "description": "bugfix: accidentally inserting 1 less when inserting at top-level (caused crash when inserting 1)", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "d570f20e46fafc4f7d7f17ee0b97a944171a92ba": {"id": "d570f20e46fafc4f7d7f17ee0b97a944171a92ba", "date": 1688677789.0, "description": "removed debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "636604b8fb9d2cb51dabb2a448680f4c2d210ed8": {"id": "636604b8fb9d2cb51dabb2a448680f4c2d210ed8", "date": 1688677728.0, "description": "bugfix: popups potentially causing crash", "files": [["M", "app/src/main/res/values/themes.xml"], ["M", "app/src/main/res/values/styles.xml"], ["M", "app/src/main/res/values-night/themes.xml"], ["M", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "3be78ebafecb4edcc44bd9e8473ac761c6aee9fe": {"id": "3be78ebafecb4edcc44bd9e8473ac761c6aee9fe", "date": 1688660675.0, "description": "fixed typo on landing page", "files": [["M", "app/src/main/res/values/strings.xml"]], "author": "smith.quintin@protonmail.com"}, "271e00a7a36aa7de12befb97d8c7bb3b6f741891": {"id": "271e00a7a36aa7de12befb97d8c7bb3b6f741891", "date": 1688570024.0, "description": "changelog", "files": [["A", "fastlane/metadata/android/en-US/changelogs/100000.txt"]], "author": "smith.quintin@protonmail.com"}, "57fae2539dc7ffb8c417dd7cfa9831507f5619b3": {"id": "57fae2539dc7ffb8c417dd7cfa9831507f5619b3", "date": 1688569659.0, "description": "bugfix: was forgetting to release audiotrack on stop", "files": [["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "0df6d4379a018b9237786f4d7e426d43c1146115": {"id": "0df6d4379a018b9237786f4d7e426d43c1146115", "date": 1688537033.0, "description": "version bump", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "c47faf8f569087048df30d3cfdeeadc1d7585b84": {"id": "c47faf8f569087048df30d3cfdeeadc1d7585b84", "date": 1688535417.0, "description": "solved audio clipping", "files": [["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "5ec19430fcb9a8c9603dd23d12577c23ac4f2979": {"id": "5ec19430fcb9a8c9603dd23d12577c23ac4f2979", "date": 1688435885.0, "description": "bugfix: projects without at least one non-percussion channel being treated as corrupt", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "53a05ac9d9b9035f142ff10ee99f82fd492ed5cb": {"id": "53a05ac9d9b9035f142ff10ee99f82fd492ed5cb", "date": 1688360336.0, "description": "bugfix: moving line didn't create line label ass needed", "files": [["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "2549f55ffa868fcfbf3a7f9d4c54b1c4a087afd4": {"id": "2549f55ffa868fcfbf3a7f9d4c54b1c4a087afd4", "date": 1688358353.0, "description": "fixed some history stack logic regarding new channels and lines", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "6972fb2f0d3e8c0a2d1472dca58a83287dd59919": {"id": "6972fb2f0d3e8c0a2d1472dca58a83287dd59919", "date": 1688281990.0, "description": "bugfix: move_line & remove_line crashing sometimes", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "cb654dcbe3be0867f2df83789ef338dfcfb27160": {"id": "cb654dcbe3be0867f2df83789ef338dfcfb27160", "date": 1688248693.0, "description": "removed main & load fragment default text", "files": [["M", "app/src/main/res/values/strings.xml"]], "author": "smith.quintin@protonmail.com"}, "b2f5db77753e4199b20687ecd8506afbf72959c8": {"id": "b2f5db77753e4199b20687ecd8506afbf72959c8", "date": 1688247653.0, "description": "notify soundfont player when adding instrument", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "36e1e432ce5cf16b196cb39c0fb5fa74f9a1d59b": {"id": "36e1e432ce5cf16b196cb39c0fb5fa74f9a1d59b", "date": 1688234174.0, "description": "removed failed attempt to show loading reticle on import_midi", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "c966bfaa7fcbccd5e1082932d0ec7d12104067ed": {"id": "c966bfaa7fcbccd5e1082932d0ec7d12104067ed", "date": 1688195871.0, "description": "fixed buggy navigation", "files": [["D", "app/src/main/res/navigation/nav_graph_b.xml"], ["M", "app/src/main/res/navigation/nav_graph.xml"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "750eda5c7106287c746afe99874f99fda49bb1a5": {"id": "750eda5c7106287c746afe99874f99fda49bb1a5", "date": 1688162006.0, "description": "Bad presets default to yamaha piano", "files": [["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontWavPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "cb1e6110c11b639eeeb036d882ff4419c293e0f2": {"id": "cb1e6110c11b639eeeb036d882ff4419c293e0f2", "date": 1688161468.0, "description": "fixed audio clipping", "files": [["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "c79579f9a31039d57df320deb2c8f256b0783800": {"id": "c79579f9a31039d57df320deb2c8f256b0783800", "date": 1688151544.0, "description": "play/pause button shows correct icon when song naturally ends", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "5d25b3bf727246ff2f88a2aeee92de8f5ef08dec": {"id": "5d25b3bf727246ff2f88a2aeee92de8f5ef08dec", "date": 1688150353.0, "description": "playback & audio feedback working. Shelved active midi interface.", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandleGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "cbad7247c28ff27f3e05b0b5245ab9864a7b04d2": {"id": "cbad7247c28ff27f3e05b0b5245ab9864a7b04d2", "date": 1688106417.0, "description": "trying to get minimal active playback working on SoundFontWavPlayer", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "3b4e5ba094184a5ea2518cb345c7d584095d53c8": {"id": "3b4e5ba094184a5ea2518cb345c7d584095d53c8", "date": 1688013526.0, "description": "playback progressbar and play/pause improved", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "e45817cf0410dbd0b648ad6418d1b3d3f2bd2ca4": {"id": "e45817cf0410dbd0b648ad6418d1b3d3f2bd2ca4", "date": 1687976950.0, "description": "loading presets. play/pause functional", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "5b381dc9cf15d5999e5cbf50ff1fba426562f8de": {"id": "5b381dc9cf15d5999e5cbf50ff1fba426562f8de", "date": 1687974631.0, "description": "refill buffer queue upon depletion instead of limping along", "files": [["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "0d86aa4926cd70bc9856cec6887ee6600d9cf053": {"id": "0d86aa4926cd70bc9856cec6887ee6600d9cf053", "date": 1687930763.0, "description": "Overhauling soundfontplayer", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["A", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontWavPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/MIDIPlaybackDevice.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/AudioTrackHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "6b0cbe7ddc56c05fc66370614700eb77f6166e02": {"id": "6b0cbe7ddc56c05fc66370614700eb77f6166e02", "date": 1687758522.0, "description": "version bump", "files": [["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "7bd85cc70aa9f4a23f6d0bd2178e5d9834840713": {"id": "7bd85cc70aa9f4a23f6d0bd2178e5d9834840713", "date": 1687757369.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "6c2a2c5358ac38d49f255f7d4948e91c4eb17e37": {"id": "6c2a2c5358ac38d49f255f7d4948e91c4eb17e37", "date": 1687757224.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/apres/riffreader/Riff.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/AudioTrackHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "a507fdfa4d8ed751ea2802b976477645ce2fe6e0": {"id": "a507fdfa4d8ed751ea2802b976477645ce2fe6e0", "date": 1687676899.0, "description": "changelog", "files": [["A", "fastlane/metadata/android/en-US/changelogs/000102.txt"]], "author": "smith.quintin@protonmail.com"}, "726eeba877293d16b0dc59bd8110931a0b1dbe97": {"id": "726eeba877293d16b0dc59bd8110931a0b1dbe97", "date": 1687663811.0, "description": "fixed underrunning issue", "files": [["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "e4602347f084c9f8065863968832ce9c013bb131": {"id": "e4602347f084c9f8065863968832ce9c013bb131", "date": 1687661220.0, "description": "timing solved. underunning still an issue with many (~100+) samples", "files": [["M", "app/src/main/java/com/qfs/apres/apres.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "4b94a48dadee300ccca89c09bfdce041a0935f54": {"id": "4b94a48dadee300ccca89c09bfdce041a0935f54", "date": 1687589790.0, "description": "timing seems to be worked out. still working on samples not being released", "files": [["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "19192d043ceab29b2096ef9deb890707d7528b96": {"id": "19192d043ceab29b2096ef9deb890707d7528b96", "date": 1687497096.0, "description": "fixed places where i was treating buffer size as it were in bytes rather than frames", "files": [["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "0bca4546f3e4ecde4fd356233ef39589721b29b4": {"id": "0bca4546f3e4ecde4fd356233ef39589721b29b4", "date": 1687494896.0, "description": "realized i've been treating sample_rate as number of bytes per second rather than frames", "files": [["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandleGenerator.kt"]], "author": "smith.quintin@protonmail.com"}, "2775687e9923f917be979b5c00f89c42cf7dc142": {"id": "2775687e9923f917be979b5c00f89c42cf7dc142", "date": 1687281931.0, "description": "reverted gradle rollback", "files": [["M", "gradle/wrapper/gradle-wrapper.properties"]], "author": "smith.quintin@protonmail.com"}, "04e68f3cc7c49ad5c4957d0f08e4ac5d14c8baa7": {"id": "04e68f3cc7c49ad5c4957d0f08e4ac5d14c8baa7", "date": 1687281736.0, "description": "added privacy policy for google play store", "files": [["A", "privacy_policy"]], "author": "smith.quintin@protonmail.com"}, "2c5712e380d82dacb462ac35204bcc8af7b699ad": {"id": "2c5712e380d82dacb462ac35204bcc8af7b699ad", "date": 1687277923.0, "description": "reverted to gradle 7.5 for fdroid", "files": [["M", "gradle/wrapper/gradle-wrapper.properties"]], "author": "smith.quintin@protonmail.com"}, "3c939cfe8eb52762e95a27e107c8bda4d35b8539": {"id": "3c939cfe8eb52762e95a27e107c8bda4d35b8539", "date": 1687018144.0, "description": "updated version", "files": [["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "229917497e600fdb430eb38e2df409db394b6021": {"id": "229917497e600fdb430eb38e2df409db394b6021", "date": 1686945992.0, "description": "removed a poorly thought-out  import_midi(...)", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "69c414a62d6b4bd438c418bb508acb2e449405fc": {"id": "69c414a62d6b4bd438c418bb508acb2e449405fc", "date": 1686813440.0, "description": "update change log", "files": [["A", "fastlane/metadata/android/en-US/changelogs/000101.txt"]], "author": "smith.quintin@protonmail.com"}, "dc3c59dc178a548ac0cf3e11d15dad172230a0f5": {"id": "dc3c59dc178a548ac0cf3e11d15dad172230a0f5", "date": 1686813204.0, "description": "fixed large delay at beginning of exported midi", "files": [["M", "app/src/main/java/com/qfs/apres/apres.kt"]], "author": "smith.quintin@protonmail.com"}, "eb41d5d6d8c9fb20c2d1d0df35e6e837a44097e4": {"id": "eb41d5d6d8c9fb20c2d1d0df35e6e837a44097e4", "date": 1686808845.0, "description": "stil not perfect, but improved timing", "files": [["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandleGenerator.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandle.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "8c0e25640e02c3a89d4e5108fc8fe5e1c1775e8a": {"id": "8c0e25640e02c3a89d4e5108fc8fe5e1c1775e8a", "date": 1686764598.0, "description": "bugfix: removing last leaf in tree causing crash", "files": [["M", "app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "f2c9afb66f33539d58a668d3af00f57c9e32460e": {"id": "f2c9afb66f33539d58a668d3af00f57c9e32460e", "date": 1686632005.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"]], "author": "smith.quintin@protonmail.com"}, "8382a91a746107bee4a20a19ad0ce214670648d0": {"id": "8382a91a746107bee4a20a19ad0ce214670648d0", "date": 1686588736.0, "description": "removed debug code", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"]], "author": "smith.quintin@protonmail.com"}, "ea8ba4653520dc7bc016dc649525cbd2ee315c1e": {"id": "ea8ba4653520dc7bc016dc649525cbd2ee315c1e", "date": 1686507155.0, "description": "HistoryNodes use HistoryToken enums instead of strings", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/HistoryToken.kt"], ["M", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/apres/riffreader/Riff.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "19b100a1253386678371070129f0005ec6595f1a": {"id": "19b100a1253386678371070129f0005ec6595f1a", "date": 1686417561.0, "description": "bugfix: get_first_event_tree_position() may not have been getting the *first*", "files": [["M", "app/src/main/java/com/qfs/pagan/structure/structure.kt"]], "author": "smith.quintin@protonmail.com"}, "41dcbdf18de8b6bb863021fad1a1b73eb4d149a2": {"id": "41dcbdf18de8b6bb863021fad1a1b73eb4d149a2", "date": 1686358078.0, "description": "updated gradle", "files": [["M", "gradle/wrapper/gradle-wrapper.properties"], ["M", "build.gradle"]], "author": "smith.quintin@protonmail.com"}, "253bafb368d4513552d27d35238826800ddda1ba": {"id": "253bafb368d4513552d27d35238826800ddda1ba", "date": 1686350206.0, "description": "readme update. added link to apk. added gradle sha256. updated gradle", "files": [["M", "gradlew.bat"], ["M", "gradlew"], ["M", "gradle/wrapper/gradle-wrapper.properties"], ["M", "gradle/wrapper/gradle-wrapper.jar"], ["M", "gradle.properties"], ["M", "build.gradle"], ["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "5bd5214d0a4e3a567403982647103ea3261eac34": {"id": "5bd5214d0a4e3a567403982647103ea3261eac34", "date": 1686326719.0, "description": "lint", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "99bc48ccf9998223454b145f5fbca0a70a56edf2": {"id": "99bc48ccf9998223454b145f5fbca0a70a56edf2", "date": 1686169414.0, "description": "bugfix: wan't importing bank/program correctly", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "a5149253d9d85ed40834009334eed75cd733a361": {"id": "a5149253d9d85ed40834009334eed75cd733a361", "date": 1685760146.0, "description": "specified 'project maintainer' in bmac button", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "d4f4faf68e671868b2624a69d1b412f38e395f06": {"id": "d4f4faf68e671868b2624a69d1b412f38e395f06", "date": 1685760068.0, "description": "added bmac button to readme", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "88ad29f35ef47277970cf73937a27c7c579a85b7": {"id": "88ad29f35ef47277970cf73937a27c7c579a85b7", "date": 1685746575.0, "description": "accidentally had invalid midi feedback in the wrong place", "files": [["M", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "a627d5ece6439b2a2d6220ad25524d3a30c71030": {"id": "a627d5ece6439b2a2d6220ad25524d3a30c71030", "date": 1685746528.0, "description": "Lint. created checked_cast function", "files": [["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["M", "app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "app/src/main/java/com/qfs/pagan/intermediate_structure_functions.kt"], ["M", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["M", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"], ["M", "app/src/main/java/com/qfs/apres/apres.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontPlayer.kt"], ["M", "app/src/main/java/com/qfs/apres/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "4419a9813c5bf361b9ff8c6cfa1888d076ff9ee7": {"id": "4419a9813c5bf361b9ff8c6cfa1888d076ff9ee7", "date": 1685744661.0, "description": "removed unused Complex class", "files": [["D", "app/src/main/java/com/qfs/apres/Complex.kt"]], "author": "smith.quintin@protonmail.com"}, "f8d560f9791ffa9f53fa6f6fbcfdc4b042d5c26a": {"id": "f8d560f9791ffa9f53fa6f6fbcfdc4b042d5c26a", "date": 1685735276.0, "description": "update featureGraphic in fastlane", "files": [["M", "fastlane/metadata/android/en-US/images/featureGraphic.png"]], "author": "smith.quintin@protonmail.com"}, "7db0269d209d42e57bea77799853ccca4b4e15e4": {"id": "7db0269d209d42e57bea77799853ccca4b4e15e4", "date": 1685727086.0, "description": "fixed typo in readme", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "1725fcd4ae6e062bf53944407df7499e9f2ffdb0": {"id": "1725fcd4ae6e062bf53944407df7499e9f2ffdb0", "date": 1685727001.0, "description": "fixed typo in readme", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "91a973420ec1a3663a54804a289cbcb620666e25": {"id": "91a973420ec1a3663a54804a289cbcb620666e25", "date": 1685726879.0, "description": "update readme", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "6190b97a7d4e05f9dc625eb3ce3c9b640a4a9ae0": {"id": "6190b97a7d4e05f9dc625eb3ce3c9b640a4a9ae0", "date": 1685723156.0, "description": "changed fastlane first version", "files": [["D", "fastlane/metadata/android/en-US/changelogs/100000.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/000100.txt"]], "author": "smith.quintin@protonmail.com"}, "59cbb5661a3ec8a6822bba174e9394c5da5eb20a": {"id": "59cbb5661a3ec8a6822bba174e9394c5da5eb20a", "date": 1685723062.0, "description": "Removed non-android code. Will keep separate repos for separate platforms", "files": [["D", "src/wrecked_elements.py"], ["D", "src/tests/test_opustree.py"], ["D", "src/tests/test_opusmanager_layer_history.py"], ["D", "src/tests/test_opusmanager_layer_cursor.py"], ["D", "src/tests/test_opusmanager_layer_base.py"], ["D", "src/opusmanager/structures.py"], ["D", "src/opusmanager/miditree.py"], ["D", "src/opusmanager/layer_playback.py"], ["D", "src/opusmanager/layer_links.py"], ["D", "src/opusmanager/layer_history.py"], ["D", "src/opusmanager/layer_flag.py"], ["D", "src/opusmanager/layer_cursor.py"], ["D", "src/opusmanager/layer_base.py"], ["D", "src/opusmanager/errors.py"], ["D", "src/opusmanager/__init__.py"], ["D", "src/interactor.py"], ["D", "src/event_register.py"], ["D", "src/display.py"], ["D", "src/control.py"], ["D", "src/commandinterface.py"], ["D", "src/__init__.py"], ["D", "setup.py"], ["D", "kotlin/settings.gradle"], ["A", "settings.gradle"], ["D", "kotlin/gradlew.bat"], ["A", "gradlew.bat"], ["D", "kotlin/gradlew"], ["A", "gradlew"], ["D", "kotlin/gradle/wrapper/gradle-wrapper.properties"], ["A", "gradle/wrapper/gradle-wrapper.properties"], ["D", "kotlin/gradle/wrapper/gradle-wrapper.jar"], ["A", "gradle/wrapper/gradle-wrapper.jar"], ["D", "kotlin/gradle.properties"], ["A", "gradle.properties"], ["D", "buildscript.py"], ["D", "kotlin/build.gradle"], ["A", "build.gradle"], ["D", "kotlin/app/src/test/java/com/qfs/pagan/StructureUnitTest.kt"], ["A", "app/src/test/java/com/qfs/pagan/StructureUnitTest.kt"], ["D", "kotlin/app/src/test/java/com/qfs/pagan/LinkLayerUnitTest.kt"], ["A", "app/src/test/java/com/qfs/pagan/LinkLayerUnitTest.kt"], ["D", "kotlin/app/src/test/java/com/qfs/pagan/HistoryLayerUnitTest.kt"], ["A", "app/src/test/java/com/qfs/pagan/HistoryLayerUnitTest.kt"], ["D", "kotlin/app/src/test/java/com/qfs/pagan/FlagLayerUnitTest.kt"], ["A", "app/src/test/java/com/qfs/pagan/FlagLayerUnitTest.kt"], ["D", "kotlin/app/src/test/java/com/qfs/pagan/CursorLayerUnitTest.kt"], ["A", "app/src/test/java/com/qfs/pagan/CursorLayerUnitTest.kt"], ["D", "kotlin/app/src/test/java/com/qfs/pagan/BaseLayerUnitTest.kt"], ["A", "app/src/test/java/com/qfs/pagan/BaseLayerUnitTest.kt"], ["D", "kotlin/app/src/test/java/com/qfs/pagan/ApresUnitTest.kt"], ["A", "app/src/test/java/com/qfs/pagan/ApresUnitTest.kt"], ["D", "kotlin/app/src/test/java/com/qfs/pagan/AbsoluteValueLayerUnitTest.kt"], ["A", "app/src/test/java/com/qfs/pagan/AbsoluteValueLayerUnitTest.kt"], ["D", "kotlin/app/src/main/res/xml/data_extraction_rules.xml"], ["A", "app/src/main/res/xml/data_extraction_rules.xml"], ["D", "kotlin/app/src/main/res/xml/backup_rules.xml"], ["A", "app/src/main/res/xml/backup_rules.xml"], ["D", "kotlin/app/src/main/res/values/themes.xml"], ["A", "app/src/main/res/values/themes.xml"], ["D", "kotlin/app/src/main/res/values/styles.xml"], ["A", "app/src/main/res/values/styles.xml"], ["D", "kotlin/app/src/main/res/values/strings.xml"], ["A", "app/src/main/res/values/strings.xml"], ["D", "kotlin/app/src/main/res/values/logo_background.xml"], ["A", "app/src/main/res/values/logo_background.xml"], ["D", "kotlin/app/src/main/res/values/goateye_background.xml"], ["A", "app/src/main/res/values/goateye_background.xml"], ["D", "kotlin/app/src/main/res/values/dimens.xml"], ["A", "app/src/main/res/values/dimens.xml"], ["D", "kotlin/app/src/main/res/values/colors.xml"], ["A", "app/src/main/res/values/colors.xml"], ["D", "kotlin/app/src/main/res/values/attrs.xml"], ["A", "app/src/main/res/values/attrs.xml"], ["D", "kotlin/app/src/main/res/values-night/themes.xml"], ["A", "app/src/main/res/values-night/themes.xml"], ["D", "kotlin/app/src/main/res/navigation/nav_graph_b.xml"], ["A", "app/src/main/res/navigation/nav_graph_b.xml"], ["D", "kotlin/app/src/main/res/navigation/nav_graph.xml"], ["A", "app/src/main/res/navigation/nav_graph.xml"], ["D", "kotlin/app/src/main/res/mipmap-xxxhdpi/logo_round.png"], ["A", "app/src/main/res/mipmap-xxxhdpi/logo_round.png"], ["D", "kotlin/app/src/main/res/mipmap-xxxhdpi/logo.png"], ["A", "app/src/main/res/mipmap-xxxhdpi/logo.png"], ["D", "kotlin/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp"], ["A", "app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp"], ["D", "kotlin/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp"], ["A", "app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp"], ["D", "kotlin/app/src/main/res/mipmap-xxhdpi/logo_round.png"], ["A", "app/src/main/res/mipmap-xxhdpi/logo_round.png"], ["D", "kotlin/app/src/main/res/mipmap-xxhdpi/logo.png"], ["A", "app/src/main/res/mipmap-xxhdpi/logo.png"], ["D", "kotlin/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp"], ["A", "app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp"], ["D", "kotlin/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp"], ["A", "app/src/main/res/mipmap-xxhdpi/ic_launcher.webp"], ["D", "kotlin/app/src/main/res/mipmap-xhdpi/logo_round.png"], ["A", "app/src/main/res/mipmap-xhdpi/logo_round.png"], ["D", "kotlin/app/src/main/res/mipmap-xhdpi/logo.png"], ["A", "app/src/main/res/mipmap-xhdpi/logo.png"], ["D", "kotlin/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp"], ["A", "app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp"], ["D", "kotlin/app/src/main/res/mipmap-xhdpi/ic_launcher.webp"], ["A", "app/src/main/res/mipmap-xhdpi/ic_launcher.webp"], ["D", "kotlin/app/src/main/res/mipmap-mdpi/logo_round.png"], ["A", "app/src/main/res/mipmap-mdpi/logo_round.png"], ["D", "kotlin/app/src/main/res/mipmap-mdpi/logo.png"], ["A", "app/src/main/res/mipmap-mdpi/logo.png"], ["D", "kotlin/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp"], ["A", "app/src/main/res/mipmap-mdpi/ic_launcher_round.webp"], ["D", "kotlin/app/src/main/res/mipmap-mdpi/ic_launcher.webp"], ["A", "app/src/main/res/mipmap-mdpi/ic_launcher.webp"], ["D", "kotlin/app/src/main/res/mipmap-hdpi/logo_round.png"], ["A", "app/src/main/res/mipmap-hdpi/logo_round.png"], ["D", "kotlin/app/src/main/res/mipmap-hdpi/logo.png"], ["A", "app/src/main/res/mipmap-hdpi/logo.png"], ["D", "kotlin/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp"], ["A", "app/src/main/res/mipmap-hdpi/ic_launcher_round.webp"], ["D", "kotlin/app/src/main/res/mipmap-hdpi/ic_launcher.webp"], ["A", "app/src/main/res/mipmap-hdpi/ic_launcher.webp"], ["D", "kotlin/app/src/main/res/mipmap-anydpi-v26/logo_round.xml"], ["A", "app/src/main/res/mipmap-anydpi-v26/logo_round.xml"], ["D", "kotlin/app/src/main/res/mipmap-anydpi-v26/logo.xml"], ["A", "app/src/main/res/mipmap-anydpi-v26/logo.xml"], ["D", "kotlin/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml"], ["A", "app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml"], ["D", "kotlin/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml"], ["A", "app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml"], ["D", "kotlin/app/src/main/res/menu/percussion_instruments.xml"], ["A", "app/src/main/res/menu/percussion_instruments.xml"], ["D", "kotlin/app/src/main/res/menu/main_options_menu.xml"], ["A", "app/src/main/res/menu/main_options_menu.xml"], ["D", "kotlin/app/src/main/res/menu/channel_instruments.xml"], ["A", "app/src/main/res/menu/channel_instruments.xml"], ["D", "kotlin/app/src/main/res/layout/tree_node.xml"], ["A", "app/src/main/res/layout/tree_node.xml"], ["D", "kotlin/app/src/main/res/layout/text_name_change.xml"], ["A", "app/src/main/res/layout/text_name_change.xml"], ["D", "kotlin/app/src/main/res/layout/table_row.xml"], ["A", "app/src/main/res/layout/table_row.xml"], ["D", "kotlin/app/src/main/res/layout/table_column_label.xml"], ["A", "app/src/main/res/layout/table_column_label.xml"], ["D", "kotlin/app/src/main/res/layout/playback_popup.xml"], ["A", "app/src/main/res/layout/playback_popup.xml"], ["D", "kotlin/app/src/main/res/layout/loadmenu_item.xml"], ["A", "app/src/main/res/layout/loadmenu_item.xml"], ["D", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["A", "app/src/main/res/layout/fragment_main.xml"], ["D", "kotlin/app/src/main/res/layout/fragment_load.xml"], ["A", "app/src/main/res/layout/fragment_load.xml"], ["D", "kotlin/app/src/main/res/layout/fragment_license.xml"], ["A", "app/src/main/res/layout/fragment_license.xml"], ["D", "kotlin/app/src/main/res/layout/fragment_landing.xml"], ["A", "app/src/main/res/layout/fragment_landing.xml"], ["D", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["A", "app/src/main/res/layout/fragment_config.xml"], ["D", "kotlin/app/src/main/res/layout/dialog_split.xml"], ["A", "app/src/main/res/layout/dialog_split.xml"], ["D", "kotlin/app/src/main/res/layout/contextmenu_row.xml"], ["A", "app/src/main/res/layout/contextmenu_row.xml"], ["D", "kotlin/app/src/main/res/layout/contextmenu_linking.xml"], ["A", "app/src/main/res/layout/contextmenu_linking.xml"], ["D", "kotlin/app/src/main/res/layout/contextmenu_column.xml"], ["A", "app/src/main/res/layout/contextmenu_column.xml"], ["D", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["A", "app/src/main/res/layout/contextmenu_cell.xml"], ["D", "kotlin/app/src/main/res/layout/content_main.xml"], ["A", "app/src/main/res/layout/content_main.xml"], ["D", "kotlin/app/src/main/res/layout/config_active_channel.xml"], ["A", "app/src/main/res/layout/config_active_channel.xml"], ["D", "kotlin/app/src/main/res/layout/beat_node.xml"], ["A", "app/src/main/res/layout/beat_node.xml"], ["D", "kotlin/app/src/main/res/layout/app_bar_main.xml"], ["A", "app/src/main/res/layout/app_bar_main.xml"], ["D", "kotlin/app/src/main/res/layout/activity_main.xml"], ["A", "app/src/main/res/layout/activity_main.xml"], ["D", "kotlin/app/src/main/res/layout-land/content_main.xml"], ["A", "app/src/main/res/layout-land/content_main.xml"], ["D", "kotlin/app/src/main/res/font/fira_code.ttf"], ["A", "app/src/main/res/font/fira_code.ttf"], ["D", "kotlin/app/src/main/res/drawable/unset.xml"], ["A", "app/src/main/res/drawable/unset.xml"], ["D", "kotlin/app/src/main/res/drawable/unlinkall.xml"], ["A", "app/src/main/res/drawable/unlinkall.xml"], ["D", "kotlin/app/src/main/res/drawable/unlink.xml"], ["A", "app/src/main/res/drawable/unlink.xml"], ["D", "kotlin/app/src/main/res/drawable/split.xml"], ["A", "app/src/main/res/drawable/split.xml"], ["D", "kotlin/app/src/main/res/drawable/settings_50.xml"], ["A", "app/src/main/res/drawable/settings_50.xml"], ["D", "kotlin/app/src/main/res/drawable/set_percussion.xml"], ["A", "app/src/main/res/drawable/set_percussion.xml"], ["D", "kotlin/app/src/main/res/drawable/remove_line.xml"], ["A", "app/src/main/res/drawable/remove_line.xml"], ["D", "kotlin/app/src/main/res/drawable/remove_beat.xml"], ["A", "app/src/main/res/drawable/remove_beat.xml"], ["D", "kotlin/app/src/main/res/drawable/remove.xml"], ["A", "app/src/main/res/drawable/remove.xml"], ["D", "kotlin/app/src/main/res/drawable/midi_logo.xml"], ["A", "app/src/main/res/drawable/midi_logo.xml"], ["D", "kotlin/app/src/main/res/drawable/logo_foreground.xml"], ["A", "app/src/main/res/drawable/logo_foreground.xml"], ["D", "kotlin/app/src/main/res/drawable/insert_line.xml"], ["A", "app/src/main/res/drawable/insert_line.xml"], ["D", "kotlin/app/src/main/res/drawable/insert_beat.xml"], ["A", "app/src/main/res/drawable/insert_beat.xml"], ["D", "kotlin/app/src/main/res/drawable/insert.xml"], ["A", "app/src/main/res/drawable/insert.xml"], ["D", "kotlin/app/src/main/res/drawable/ic_launcher_background.xml"], ["A", "app/src/main/res/drawable/ic_launcher_background.xml"], ["D", "kotlin/app/src/main/res/drawable/ic_baseline_undo_24.xml"], ["A", "app/src/main/res/drawable/ic_baseline_undo_24.xml"], ["D", "kotlin/app/src/main/res/drawable/ic_baseline_save_24.xml"], ["A", "app/src/main/res/drawable/ic_baseline_save_24.xml"], ["D", "kotlin/app/src/main/res/drawable/ic_baseline_play_arrow_24.xml"], ["A", "app/src/main/res/drawable/ic_baseline_play_arrow_24.xml"], ["D", "kotlin/app/src/main/res/drawable/ic_baseline_pause_24.xml"], ["A", "app/src/main/res/drawable/ic_baseline_pause_24.xml"], ["D", "kotlin/app/src/main/res/drawable/ic_baseline_delete_24.xml"], ["A", "app/src/main/res/drawable/ic_baseline_delete_24.xml"], ["D", "kotlin/app/src/main/res/drawable/ic_baseline_content_copy_24.xml"], ["A", "app/src/main/res/drawable/ic_baseline_content_copy_24.xml"], ["D", "kotlin/app/src/main/res/drawable/ic_baseline_close_24.xml"], ["A", "app/src/main/res/drawable/ic_baseline_close_24.xml"], ["D", "kotlin/app/src/main/res/drawable/button_pressed.xml"], ["A", "app/src/main/res/drawable/button_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/button_default.xml"], ["A", "app/src/main/res/drawable/button_default.xml"], ["D", "kotlin/app/src/main/res/drawable/button.xml"], ["A", "app/src/main/res/drawable/button.xml"], ["D", "kotlin/app/src/main/res/drawable-v24/ic_launcher_foreground.xml"], ["A", "app/src/main/res/drawable-v24/ic_launcher_foreground.xml"], ["D", "kotlin/app/src/main/res/color/numberselector_fg.xml"], ["A", "app/src/main/res/color/numberselector_fg.xml"], ["D", "kotlin/app/src/main/res/color/numberselector_bg.xml"], ["A", "app/src/main/res/color/numberselector_bg.xml"], ["D", "kotlin/app/src/main/res/color/leaf_fg.xml"], ["A", "app/src/main/res/color/leaf_fg.xml"], ["D", "kotlin/app/src/main/res/color/leaf_bg.xml"], ["A", "app/src/main/res/color/leaf_bg.xml"], ["D", "kotlin/app/src/main/res/color/label_fg.xml"], ["A", "app/src/main/res/color/label_fg.xml"], ["D", "kotlin/app/src/main/res/color/label_bg.xml"], ["A", "app/src/main/res/color/label_bg.xml"], ["D", "kotlin/app/src/main/res/color/button_fg.xml"], ["A", "app/src/main/res/color/button_fg.xml"], ["D", "kotlin/app/src/main/logo-playstore.png"], ["A", "app/src/main/logo-playstore.png"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/structure/structure.kt"], ["A", "app/src/main/java/com/qfs/pagan/structure/structure.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["A", "app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/intermediate_structure_functions.kt"], ["A", "app/src/main/java/com/qfs/pagan/intermediate_structure_functions.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["A", "app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/ProjectToLoadAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/ProjectToLoadAdapter.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["A", "app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/PaganFragment.kt"], ["A", "app/src/main/java/com/qfs/pagan/PaganFragment.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["A", "app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["A", "app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/MIDIScroller.kt"], ["A", "app/src/main/java/com/qfs/pagan/MIDIScroller.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/LoadFragment.kt"], ["A", "app/src/main/java/com/qfs/pagan/LoadFragment.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["A", "app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/LicenseFragment.kt"], ["A", "app/src/main/java/com/qfs/pagan/LicenseFragment.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["A", "app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"], ["A", "app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["A", "app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["A", "app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/Cursor.kt"], ["A", "app/src/main/java/com/qfs/pagan/Cursor.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"], ["A", "app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"], ["D", "kotlin/app/src/main/java/com/qfs/apres/riffreader/Riff.kt"], ["A", "app/src/main/java/com/qfs/apres/riffreader/Riff.kt"], ["D", "kotlin/app/src/main/java/com/qfs/apres/apres.kt"], ["A", "app/src/main/java/com/qfs/apres/apres.kt"], ["D", "kotlin/app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontPlayer.kt"], ["A", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontPlayer.kt"], ["D", "kotlin/app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandleGenerator.kt"], ["A", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandleGenerator.kt"], ["D", "kotlin/app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandle.kt"], ["A", "app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandle.kt"], ["D", "kotlin/app/src/main/java/com/qfs/apres/SoundFontPlayer/MIDIPlaybackDevice.kt"], ["A", "app/src/main/java/com/qfs/apres/SoundFontPlayer/MIDIPlaybackDevice.kt"], ["D", "kotlin/app/src/main/java/com/qfs/apres/SoundFontPlayer/AudioTrackHandle.kt"], ["A", "app/src/main/java/com/qfs/apres/SoundFontPlayer/AudioTrackHandle.kt"], ["D", "kotlin/app/src/main/java/com/qfs/apres/SoundFont.kt"], ["A", "app/src/main/java/com/qfs/apres/SoundFont.kt"], ["D", "kotlin/app/src/main/java/com/qfs/apres/Complex.kt"], ["A", "app/src/main/java/com/qfs/apres/Complex.kt"], ["D", "kotlin/app/src/main/goateye-playstore.png"], ["A", "app/src/main/goateye-playstore.png"], ["D", "kotlin/app/src/main/assets/SFLicense.txt"], ["A", "app/src/main/assets/SFLicense.txt"], ["D", "kotlin/app/src/main/assets/LICENSE"], ["A", "app/src/main/assets/LICENSE"], ["D", "kotlin/app/src/main/AndroidManifest.xml"], ["A", "app/src/main/AndroidManifest.xml"], ["D", "kotlin/app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"], ["A", "app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"], ["D", "kotlin/app/src/androidTest/java/com/qfs/pagan/ExampleInstrumentedTest.kt"], ["A", "app/src/androidTest/java/com/qfs/pagan/ExampleInstrumentedTest.kt"], ["D", "kotlin/app/proguard-rules.pro"], ["A", "app/proguard-rules.pro"], ["D", "kotlin/app/build.gradle"], ["A", "app/build.gradle"], ["D", "kotlin/app/.gitignore"], ["A", "app/.gitignore"]], "author": "smith.quintin@protonmail.com"}, "82663891ab3c7178e97ad997f9caa4fefe78e7b6": {"id": "82663891ab3c7178e97ad997f9caa4fefe78e7b6", "date": 1685692583.0, "description": "kotlin; giving up on 1.0.0 release. settling for 0.1.0", "files": [["M", "kotlin/app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "6ef7b36dc3a38e5164a6a4f7b6addc8f04a1c588": {"id": "6ef7b36dc3a38e5164a6a4f7b6addc8f04a1c588", "date": 1685685854.0, "description": "kotlin; open new file when attempting to import bad midi from landing page", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/apres/apres.kt"]], "author": "smith.quintin@protonmail.com"}, "0d9c87269acde15f54f77cd4a3aa00fa2e63a324": {"id": "0d9c87269acde15f54f77cd4a3aa00fa2e63a324", "date": 1685684432.0, "description": "kotlin; moved delays into SampleHandle objects for safety's sake", "files": [["M", "kotlin/app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandle.kt"], ["M", "kotlin/app/src/main/java/com/qfs/apres/SoundFontPlayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "5dcf0cb8f519c71cece847b44a3088d7e33bf8c1": {"id": "5dcf0cb8f519c71cece847b44a3088d7e33bf8c1", "date": 1685600980.0, "description": "fastlane data", "files": [["A", "fastlane/metadata/android/en-US/title.txt"], ["A", "fastlane/metadata/android/en-US/short_description.txt"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/4.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/3.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/2.png"], ["A", "fastlane/metadata/android/en-US/images/phoneScreenshots/1.png"], ["A", "fastlane/metadata/android/en-US/images/featureGraphic.png"], ["A", "fastlane/metadata/android/en-US/full_description.txt"], ["A", "fastlane/metadata/android/en-US/changelogs/100000.txt"]], "author": "smith.quintin@protonmail.com"}, "64155c82ebff6fdb871386015dd0c09c2f73f91e": {"id": "64155c82ebff6fdb871386015dd0c09c2f73f91e", "date": 1685585947.0, "description": "kotlin; fixed remove() when linked in history stack", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "7a9d5779f40278ab6b4978d34bde2abbd47d5d85": {"id": "7a9d5779f40278ab6b4978d34bde2abbd47d5d85", "date": 1685567374.0, "description": "kotlin; column labels update correctly on beat insert/remove", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "59998aa67a1310e5886e9bc05318235bb61812ea": {"id": "59998aa67a1310e5886e9bc05318235bb61812ea", "date": 1685564728.0, "description": "kotlin; fixed new relative notes accidentally inferreding octave/offset from previous note", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "2208b0984e4c3e3b48fce2f2fb5c945be06d39c9": {"id": "2208b0984e4c3e3b48fce2f2fb5c945be06d39c9", "date": 1685564415.0, "description": "kotlin; fixed crash on load-project", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "49d84f39e9dd5f0cfbfc50415dfbe5f5b60d1e55": {"id": "49d84f39e9dd5f0cfbfc50415dfbe5f5b60d1e55", "date": 1685550317.0, "description": "kotlin; line instrument chooser now using correct list of names for label", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "0ae0b2973a6ec9359ead5d75394e2d3a7f8e08e4": {"id": "0ae0b2973a6ec9359ead5d75394e2d3a7f8e08e4", "date": 1685548933.0, "description": "kotlin; fixed line label liminimal space problem", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "63ce0c68f2ef01bb77d886cc5313247051ca0288": {"id": "63ce0c68f2ef01bb77d886cc5313247051ca0288", "date": 1685548575.0, "description": "kotlin; fixed massive slow down when inserting multiple lines", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "835580a5ee63ba90affd2a5a40a70521cc7aa748": {"id": "835580a5ee63ba90affd2a5a40a70521cc7aa748", "date": 1685548155.0, "description": "kotlin; fixed columns and column labels not being updated in between being recycled and destroyed", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "dd125f5b104cf90327ded5fe919b46054f6ba404": {"id": "dd125f5b104cf90327ded5fe919b46054f6ba404", "date": 1685469032.0, "description": "kotlin; fixed removing last line crash", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "9f71bf51570900b4ee379d2f65a3a22f8971b75d": {"id": "9f71bf51570900b4ee379d2f65a3a22f8971b75d", "date": 1685417592.0, "description": "kotlin; removed debug code", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "9e2301bf121412b6fc553c5dae1464c60d2afb48": {"id": "9e2301bf121412b6fc553c5dae1464c60d2afb48", "date": 1685417448.0, "description": "kotlin; removed 'Nothing to be done' msg on empty undo stack", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "fdfea929b6960b621a8f38219f8117a27d18c950": {"id": "fdfea929b6960b621a8f38219f8117a27d18c950", "date": 1685390747.0, "description": "kotlin; fixed some impport_midi bugs caused by making the percussion channel persistent", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "81c9407c74a50db7280c1396dda9aaaa482ed64b": {"id": "81c9407c74a50db7280c1396dda9aaaa482ed64b", "date": 1685356968.0, "description": "kotlin; drum channel locked in place", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "bc8b7105244e4a73134ea9ab848476a8a28a0001": {"id": "bc8b7105244e4a73134ea9ab848476a8a28a0001", "date": 1685336740.0, "description": "kotlin; using bank AND program in soundfont", "files": [["M", "kotlin/app/src/test/java/com/qfs/pagan/ApresUnitTest.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/intermediate_structure_functions.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/MIDIScroller.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/Cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/apres/riffreader/Riff.kt"], ["A", "kotlin/app/src/main/java/com/qfs/apres/riffreader/Riff.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/apres/apres.kt"], ["A", "kotlin/app/src/main/java/com/qfs/apres/apres.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/SoundFontPlayer.kt"], ["A", "kotlin/app/src/main/java/com/qfs/apres/SoundFontPlayer/SoundFontPlayer.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/SampleHandleGenerator.kt"], ["A", "kotlin/app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandleGenerator.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/SampleHandle.kt"], ["A", "kotlin/app/src/main/java/com/qfs/apres/SoundFontPlayer/SampleHandle.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/MIDIPlaybackDevice.kt"], ["A", "kotlin/app/src/main/java/com/qfs/apres/SoundFontPlayer/MIDIPlaybackDevice.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/AudioTrackHandle.kt"], ["A", "kotlin/app/src/main/java/com/qfs/apres/SoundFontPlayer/AudioTrackHandle.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFont.kt"], ["A", "kotlin/app/src/main/java/com/qfs/apres/SoundFont.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/apres/Complex.kt"], ["A", "kotlin/app/src/main/java/com/qfs/apres/Complex.kt"]], "author": "smith.quintin@protonmail.com"}, "f9249b8fb5775ee376a08d8cc0b04ff7dc8d3caa": {"id": "f9249b8fb5775ee376a08d8cc0b04ff7dc8d3caa", "date": 1685302744.0, "description": "kotlin; removed bottom padding", "files": [["M", "kotlin/app/src/main/res/layout/content_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "622003aa03ac9560cc7a8c5f927ae129c11a45bf": {"id": "622003aa03ac9560cc7a8c5f927ae129c11a45bf", "date": 1685302285.0, "description": "kotlin; removed minimum duration kludge", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/SampleHandle.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "0d3dd590860ec52140e316cc0d5144db3036b36f": {"id": "0d3dd590860ec52140e316cc0d5144db3036b36f", "date": 1685301914.0, "description": "kotlin; fixed removing a leaf crashing", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "7502880cd43b852849305ee4adc419c26672811f": {"id": "7502880cd43b852849305ee4adc419c26672811f", "date": 1685258439.0, "description": "kotlin; picked better colours for linked beats", "files": [["M", "kotlin/app/src/main/res/values/themes.xml"], ["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/attrs.xml"], ["M", "kotlin/app/src/main/res/values-night/themes.xml"], ["D", "kotlin/app/src/main/res/drawable/numberselector_selected_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/numberselector_selected.xml"], ["D", "kotlin/app/src/main/res/drawable/numberselector_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/numberselector_enabled.xml"], ["D", "kotlin/app/src/main/res/drawable/numberselector.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf_invalid.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf_focused_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf_focused.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf_default.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf_active_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf_active_focused_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf_active_focused.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf_active.xml"], ["D", "kotlin/app/src/main/res/drawable/label_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/label_focused_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/label_focused.xml"], ["D", "kotlin/app/src/main/res/drawable/label_default.xml"], ["D", "kotlin/app/src/main/res/drawable/label_button.xml"], ["M", "kotlin/app/src/main/res/color/numberselector_fg.xml"], ["A", "kotlin/app/src/main/res/color/numberselector_bg.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf_button.xml"], ["A", "kotlin/app/src/main/res/color/leaf_bg.xml"], ["A", "kotlin/app/src/main/res/color/label_bg.xml"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "228c9ad824fb13923289671793398b23f9544476": {"id": "228c9ad824fb13923289671793398b23f9544476", "date": 1685205671.0, "description": "kotlin; fixed  cursor highlighting issues", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "52c46360e684fa02bbb809064b4db8e35a46bef9": {"id": "52c46360e684fa02bbb809064b4db8e35a46bef9", "date": 1685162302.0, "description": "kotlin; clear contextmenu on load/import/new", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "8d5ebcd94f37653da371dd633e11ccf92262fee8": {"id": "8d5ebcd94f37653da371dd633e11ccf92262fee8", "date": 1685161939.0, "description": "kotlin; colour revamp", "files": [["M", "kotlin/app/src/main/res/values/themes.xml"], ["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/dimens.xml"], ["M", "kotlin/app/src/main/res/values/colors.xml"], ["M", "kotlin/app/src/main/res/values/attrs.xml"], ["M", "kotlin/app/src/main/res/values-night/themes.xml"], ["M", "kotlin/app/src/main/res/layout/playback_popup.xml"], ["A", "kotlin/app/src/main/res/color/label_fg.xml"], ["M", "kotlin/app/src/main/res/color/button_fg.xml"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "f6f8ec856dba0eb070e4dd1d4302ca52f1c9c413": {"id": "f6f8ec856dba0eb070e4dd1d4302ca52f1c9c413", "date": 1685059715.0, "description": "kotlin; removed debug code", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/MIDIPlaybackDevice.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/Cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "7b0e103dfc0b91448ded58f83d46ffb804ca2bc9": {"id": "7b0e103dfc0b91448ded58f83d46ffb804ca2bc9", "date": 1685056845.0, "description": "kotlin; column labels highlighting", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "262b869d674b42a1b414d5e12ab47da749ee9a34": {"id": "262b869d674b42a1b414d5e12ab47da749ee9a34", "date": 1685055690.0, "description": "kotlin; line labels hightlighting", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["A", "kotlin/app/src/main/res/drawable/label_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/label_focused_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/label_focused.xml"], ["A", "kotlin/app/src/main/res/drawable/label_default.xml"], ["M", "kotlin/app/src/main/res/drawable/label_button.xml"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "5ce9af22dfc2f8435cfcd5345ee3778e35861201": {"id": "5ce9af22dfc2f8435cfcd5345ee3778e35861201", "date": 1685053352.0, "description": "kotlin; set_channel_instrument history_stack fixed", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"]], "author": "smith.quintin@protonmail.com"}, "938314f10ede3e0a18a7b2ed1d29656283fc1acc": {"id": "938314f10ede3e0a18a7b2ed1d29656283fc1acc", "date": 1684955680.0, "description": "kotlin; links are moved when lines are inserted/removed/moved", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"]], "author": "smith.quintin@protonmail.com"}, "36ad32be2535ccbc3c0842b6bb76a3b30dc31853": {"id": "36ad32be2535ccbc3c0842b6bb76a3b30dc31853", "date": 1684905887.0, "description": "kotlin; fixed asynchronous timing problems in sound font player", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/SampleHandle.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/MIDIPlaybackDevice.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "bd418dc86178d8cb1158ec27a7ebbcdb40ca2add": {"id": "bd418dc86178d8cb1158ec27a7ebbcdb40ca2add", "date": 1684793024.0, "description": "kotlin; more improvements to soundfont player", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/AudioTrackHandle.kt"]], "author": "smith.quintin@protonmail.com"}, "d33793145c67f4e682a97f918ceadb2837f48765": {"id": "d33793145c67f4e682a97f918ceadb2837f48765", "date": 1684733912.0, "description": "kotlin; check in optionsMenu has been initialized", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/AudioTrackHandle.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "cc84df2fc63a19bc9dab0312aa559b35362563bd": {"id": "cc84df2fc63a19bc9dab0312aa559b35362563bd", "date": 1684731937.0, "description": "kotlin; timing fix and restructure on soundfontplayer", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/apres.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/SoundFontPlayer.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/SampleHandleGenerator.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/SampleHandle.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/MIDIPlaybackDevice.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer/AudioTrackHandle.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/MIDIScroller.kt"]], "author": "smith.quintin@protonmail.com"}, "0eb3c79c7e091bf50d3900f120351f7f915ed03a": {"id": "0eb3c79c7e091bf50d3900f120351f7f915ed03a", "date": 1684621323.0, "description": "kotlin; added join_decay_position so notes don\\'t get cut off before playing", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "f84ea9fb95b6502d2481e0b27895b5d9d130418a": {"id": "f84ea9fb95b6502d2481e0b27895b5d9d130418a", "date": 1684557961.0, "description": "gradle script downloads to absolute path", "files": [["M", "kotlin/app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "ee3d6787b7eeb8d00da531613dda3a8d86d1dba7": {"id": "ee3d6787b7eeb8d00da531613dda3a8d86d1dba7", "date": 1684468131.0, "description": "kotlin; gradle will download the soundfont on build if needed instead of tracking it in git", "files": [["M", "kotlin/app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "0447a3d2c04f91b54850b8c384360cf22a16c1fb": {"id": "0447a3d2c04f91b54850b8c384360cf22a16c1fb", "date": 1684359335.0, "description": "kotlin; update references to gpl to gpl 3", "files": [["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"], ["M", "kotlin/app/src/main/assets/LICENSE"]], "author": "smith.quintin@protonmail.com"}, "b85c6a7fd8e33cd01d1fc24db8bbca50995f7341": {"id": "b85c6a7fd8e33cd01d1fc24db8bbca50995f7341", "date": 1684358433.0, "description": "update license to gpl3", "files": [["M", "LICENSE"]], "author": "smith.quintin@protonmail.com"}, "1952ea75092b87ba2f25c59146c569008d6c1fed": {"id": "1952ea75092b87ba2f25c59146c569008d6c1fed", "date": 1684283933.0, "description": "kotlin switched goateye with more plain icon", "files": [["A", "kotlin/app/src/main/res/values/logo_background.xml"], ["A", "kotlin/app/src/main/res/mipmap-xxxhdpi/logo_round.png"], ["A", "kotlin/app/src/main/res/mipmap-xxxhdpi/logo.png"], ["D", "kotlin/app/src/main/res/mipmap-xxxhdpi/goateye_round.png"], ["D", "kotlin/app/src/main/res/mipmap-xxxhdpi/goateye_foreground.png"], ["D", "kotlin/app/src/main/res/mipmap-xxxhdpi/goateye.png"], ["A", "kotlin/app/src/main/res/mipmap-xxhdpi/logo_round.png"], ["A", "kotlin/app/src/main/res/mipmap-xxhdpi/logo.png"], ["D", "kotlin/app/src/main/res/mipmap-xxhdpi/goateye_round.png"], ["D", "kotlin/app/src/main/res/mipmap-xxhdpi/goateye_foreground.png"], ["D", "kotlin/app/src/main/res/mipmap-xxhdpi/goateye.png"], ["A", "kotlin/app/src/main/res/mipmap-xhdpi/logo_round.png"], ["A", "kotlin/app/src/main/res/mipmap-xhdpi/logo.png"], ["D", "kotlin/app/src/main/res/mipmap-xhdpi/goateye_round.png"], ["D", "kotlin/app/src/main/res/mipmap-xhdpi/goateye_foreground.png"], ["D", "kotlin/app/src/main/res/mipmap-xhdpi/goateye.png"], ["A", "kotlin/app/src/main/res/mipmap-mdpi/logo_round.png"], ["A", "kotlin/app/src/main/res/mipmap-mdpi/logo.png"], ["D", "kotlin/app/src/main/res/mipmap-mdpi/goateye_round.png"], ["D", "kotlin/app/src/main/res/mipmap-mdpi/goateye_foreground.png"], ["D", "kotlin/app/src/main/res/mipmap-mdpi/goateye.png"], ["A", "kotlin/app/src/main/res/mipmap-hdpi/logo_round.png"], ["A", "kotlin/app/src/main/res/mipmap-hdpi/logo.png"], ["D", "kotlin/app/src/main/res/mipmap-hdpi/goateye_round.png"], ["D", "kotlin/app/src/main/res/mipmap-hdpi/goateye_foreground.png"], ["D", "kotlin/app/src/main/res/mipmap-hdpi/goateye.png"], ["D", "kotlin/app/src/main/res/mipmap-anydpi-v26/goateye_round.xml"], ["A", "kotlin/app/src/main/res/mipmap-anydpi-v26/logo_round.xml"], ["D", "kotlin/app/src/main/res/mipmap-anydpi-v26/goateye.xml"], ["A", "kotlin/app/src/main/res/mipmap-anydpi-v26/logo.xml"], ["A", "kotlin/app/src/main/res/drawable/logo_foreground.xml"], ["D", "kotlin/app/src/main/res/drawable/goateye_background.xml"], ["A", "kotlin/app/src/main/logo-playstore.png"], ["M", "kotlin/app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "76c4767c95b3ba9dbb5c2562d425e8e72e301052": {"id": "76c4767c95b3ba9dbb5c2562d425e8e72e301052", "date": 1684272466.0, "description": "created goateye logo", "files": [["A", "kotlin/app/src/main/res/values/goateye_background.xml"], ["A", "kotlin/app/src/main/res/mipmap-xxxhdpi/goateye_round.png"], ["A", "kotlin/app/src/main/res/mipmap-xxxhdpi/goateye_foreground.png"], ["A", "kotlin/app/src/main/res/mipmap-xxxhdpi/goateye.png"], ["A", "kotlin/app/src/main/res/mipmap-xxhdpi/goateye_round.png"], ["A", "kotlin/app/src/main/res/mipmap-xxhdpi/goateye_foreground.png"], ["A", "kotlin/app/src/main/res/mipmap-xxhdpi/goateye.png"], ["A", "kotlin/app/src/main/res/mipmap-xhdpi/goateye_round.png"], ["A", "kotlin/app/src/main/res/mipmap-xhdpi/goateye_foreground.png"], ["A", "kotlin/app/src/main/res/mipmap-xhdpi/goateye.png"], ["A", "kotlin/app/src/main/res/mipmap-mdpi/goateye_round.png"], ["A", "kotlin/app/src/main/res/mipmap-mdpi/goateye_foreground.png"], ["A", "kotlin/app/src/main/res/mipmap-mdpi/goateye.png"], ["A", "kotlin/app/src/main/res/mipmap-hdpi/goateye_round.png"], ["A", "kotlin/app/src/main/res/mipmap-hdpi/goateye_foreground.png"], ["A", "kotlin/app/src/main/res/mipmap-hdpi/goateye.png"], ["A", "kotlin/app/src/main/res/mipmap-anydpi-v26/goateye_round.xml"], ["A", "kotlin/app/src/main/res/mipmap-anydpi-v26/goateye.xml"], ["A", "kotlin/app/src/main/res/drawable/goateye_background.xml"], ["A", "kotlin/app/src/main/goateye-playstore.png"], ["M", "kotlin/app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "cf3e90cf30cc2239c4404b0827d1eb151753b6a3": {"id": "cf3e90cf30cc2239c4404b0827d1eb151753b6a3", "date": 1684262730.0, "description": "kotlin; timing improvement", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "416589556506fbc37c933f8d38b773b9e56b1446": {"id": "416589556506fbc37c933f8d38b773b9e56b1446", "date": 1684258395.0, "description": "kotlin; set offset/octave implicitly on initial note set", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "kotlin/app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "fc198d3572f400992b7c7f233c22fb1c52665fb6": {"id": "fc198d3572f400992b7c7f233c22fb1c52665fb6", "date": 1684256097.0, "description": "kotlin tightened up timing by removing the wait on the Mutex", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "692c3356b9320ce08217a8fdca3f4a85c1203198": {"id": "692c3356b9320ce08217a8fdca3f4a85c1203198", "date": 1684174023.0, "description": "kotlin; timing fixed. need to fix noteoffs being missed now", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "3664e67a495b9836b59876f88fab37963f648a39": {"id": "3664e67a495b9836b59876f88fab37963f648a39", "date": 1684119033.0, "description": "kotlin; fixed bad range highlighting", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "500a53f1c70722b413b7aa579ed8cccc2a77e9b6": {"id": "500a53f1c70722b413b7aa579ed8cccc2a77e9b6", "date": 1684117324.0, "description": "kotlin; re-added mistakenly removed MIDIScroller", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/MIDIScroller.kt"]], "author": "smith.quintin@protonmail.com"}, "830078981948031a17486f1bce150e67793f5c1c": {"id": "830078981948031a17486f1bce150e67793f5c1c", "date": 1684116463.0, "description": "kotlin; midi playback device notified of instruments on new/load/import. midi percussion correctly saved & loaded", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "a34036f4177d880b891bf8aabe1900f531c390e2": {"id": "a34036f4177d880b891bf8aabe1900f531c390e2", "date": 1684108468.0, "description": "kotlin; fixed some broken imports", "files": [["M", "kotlin/settings.gradle"], ["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/LineLabelRecyclerView.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/LineLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "4507b5ef152dc5e768fac1bed3cfadb8663c2998": {"id": "4507b5ef152dc5e768fac1bed3cfadb8663c2998", "date": 1684046562.0, "description": "kotlin; lint", "files": [["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/riffreader/Riff.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFont.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["D", "kotlin/app/src/main/java/com/qfs/pagan/MIDIScroller.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/LoadFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/LineLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/Cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "5c55cdc36878a63112c9eed8475addbb82b90df7": {"id": "5c55cdc36878a63112c9eed8475addbb82b90df7", "date": 1683917458.0, "description": "kotlin; clear() wasn't resetting tempo and transpose", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "ec7fbeda05247e455764e9f2b914e2d62ba6657c": {"id": "ec7fbeda05247e455764e9f2b914e2d62ba6657c", "date": 1683881986.0, "description": "kotlin; disable by-column-linking", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "2baae904e89a4278860be51886fb0861b26b68d5": {"id": "2baae904e89a4278860be51886fb0861b26b68d5", "date": 1683881894.0, "description": "kotlin; fixed 'remove all' button behavior for CursorMode.Single", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "464823871853a41ba33b05488c50f02d247be371": {"id": "464823871853a41ba33b05488c50f02d247be371", "date": 1683881747.0, "description": "kotlin; fixed link_range_horizontally logic", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "10d49be93d0e77bd487dd556e0e639305b1a4e36": {"id": "10d49be93d0e77bd487dd556e0e639305b1a4e36", "date": 1683872442.0, "description": "kotlin; added overwrite_beat_range, link_beat_range_horizontally", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/LineLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/Cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "4c67ea0204960acd2ac6f6081c9a10582b02d643": {"id": "4c67ea0204960acd2ac6f6081c9a10582b02d643", "date": 1683749636.0, "description": "kotlin; prevent attempts at removing only beat", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "6970eced9cd51e8deae341d34ea3cbab97fceba8": {"id": "6970eced9cd51e8deae341d34ea3cbab97fceba8", "date": 1683748174.0, "description": "kotlin; cursor correctly applies to remove() and its reversal", "files": [["M", "kotlin/gradle/wrapper/gradle-wrapper.properties"], ["M", "kotlin/build.gradle"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "04b52ab33a3b2b496854a3e67744dce7ef1d0cd2": {"id": "04b52ab33a3b2b496854a3e67744dce7ef1d0cd2", "date": 1683700548.0, "description": "kotlin; update leaf labels on set/unset percussion channel", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "97ebbd92153451a755ceac8cdf0d958cfa1c34d1": {"id": "97ebbd92153451a755ceac8cdf0d958cfa1c34d1", "date": 1683699990.0, "description": "kotlin; clear contextmenu when setting/unsetting percussion channel", "files": [["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/LineLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "ec8f11a71557916ebe23d95107a29b9fee402d46": {"id": "ec8f11a71557916ebe23d95107a29b9fee402d46", "date": 1683690399.0, "description": "kotlin; percussion lines don't change instruments (intentional) but the lines themselves still mobile", "files": [["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/LineLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"], ["M", "kotlin/app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "6b3e820ed95152cdf5a232c8f49542bc2973cde3": {"id": "6b3e820ed95152cdf5a232c8f49542bc2973cde3", "date": 1683669659.0, "description": "kotlin; don't play invalid events on touch", "files": [["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["M", "kotlin/app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"], ["M", "kotlin/app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "6ee7f5174328ef2c14b178a60d0ab9ef0e2530d7": {"id": "6ee7f5174328ef2c14b178a60d0ab9ef0e2530d7", "date": 1683601849.0, "description": "kotlin; loop_points considered correctly in sound font", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "9e60c8f0a38d723578221bce5ef10d5670a2d32b": {"id": "9e60c8f0a38d723578221bce5ef10d5670a2d32b", "date": 1683601429.0, "description": "May need complex numbers and an FFT function in the future", "files": [["A", "kotlin/app/src/main/java/com/qfs/pagan/apres/Complex.kt"]], "author": "smith.quintin@protonmail.com"}, "8b2b4457460bd39cbefed423a5e1d5b7153fad68": {"id": "8b2b4457460bd39cbefed423a5e1d5b7153fad68", "date": 1683516491.0, "description": "kotlin; fixed link_row and link_column functions", "files": [["M", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"]], "author": "smith.quintin@protonmail.com"}, "ccb327742800f828974e3253b91f6d6fad7894c1": {"id": "ccb327742800f828974e3253b91f6d6fad7894c1", "date": 1683514470.0, "description": "kotlin; Rename to Pagan", "files": [["D", "kotlin/app/src/test/java/com/qfs/radixulous/StructureUnitTest.kt"], ["A", "kotlin/app/src/test/java/com/qfs/pagan/StructureUnitTest.kt"], ["D", "kotlin/app/src/test/java/com/qfs/radixulous/LinkLayerUnitTest.kt"], ["A", "kotlin/app/src/test/java/com/qfs/pagan/LinkLayerUnitTest.kt"], ["D", "kotlin/app/src/test/java/com/qfs/radixulous/HistoryLayerUnitTest.kt"], ["A", "kotlin/app/src/test/java/com/qfs/pagan/HistoryLayerUnitTest.kt"], ["D", "kotlin/app/src/test/java/com/qfs/radixulous/FlagLayerUnitTest.kt"], ["A", "kotlin/app/src/test/java/com/qfs/pagan/FlagLayerUnitTest.kt"], ["D", "kotlin/app/src/test/java/com/qfs/radixulous/CursorLayerUnitTest.kt"], ["A", "kotlin/app/src/test/java/com/qfs/pagan/CursorLayerUnitTest.kt"], ["D", "kotlin/app/src/test/java/com/qfs/radixulous/BaseLayerUnitTest.kt"], ["A", "kotlin/app/src/test/java/com/qfs/pagan/BaseLayerUnitTest.kt"], ["D", "kotlin/app/src/test/java/com/qfs/radixulous/ApresUnitTest.kt"], ["A", "kotlin/app/src/test/java/com/qfs/pagan/ApresUnitTest.kt"], ["D", "kotlin/app/src/test/java/com/qfs/radixulous/AbsoluteValueLayerUnitTest.kt"], ["A", "kotlin/app/src/test/java/com/qfs/pagan/AbsoluteValueLayerUnitTest.kt"], ["M", "kotlin/app/src/main/res/values/themes.xml"], ["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/res/values-night/themes.xml"], ["M", "kotlin/app/src/main/res/navigation/nav_graph_b.xml"], ["M", "kotlin/app/src/main/res/navigation/nav_graph.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/res/layout/app_bar_main.xml"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/TimeableLayoutManager.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/TempNameFragment.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/structure/structure.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_links.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_history.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_cursor.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/layer_base.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/OpusChannel.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/JSONObjects.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/opusmanager/JSONObjects.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/intermediate_structure_functions.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/intermediate_structure_functions.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/apres/riffreader/Riff.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/apres/riffreader/Riff.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/apres/apres.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFontPlayer.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFont.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/apres/SoundFont.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/RelativeOptionSelector.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/RelativeOptionSelector.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectToLoadAdapter.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/ProjectToLoadAdapter.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectManager.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/ProjectManager.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/PaganFragment.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/NumberSelector.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/MainActivity.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/MIDIScroller.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/MIDIScroller.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/LoadFragment.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/LineLabelAdapter.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/LineLabelAdapter.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/LicenseFragment.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/LicenseFragment.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/LeafButton.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/LeafButton.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/LandingPageFragment.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/LandingPageFragment.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/InterfaceLayer.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/EditorFragment.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/Cursor.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/Cursor.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/ColumnLabelAdapter.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/ColumnLabelAdapter.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/ChannelOptionAdapter.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/ChannelOptionAdapter.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"], ["A", "kotlin/app/src/main/java/com/qfs/pagan/BeatColumnAdapter.kt"], ["M", "kotlin/app/src/main/AndroidManifest.xml"], ["D", "kotlin/app/src/androidTest/java/com/qfs/radixulous/MainActivityTest.kt"], ["A", "kotlin/app/src/androidTest/java/com/qfs/pagan/MainActivityTest.kt"], ["D", "kotlin/app/src/androidTest/java/com/qfs/radixulous/ExampleInstrumentedTest.kt"], ["A", "kotlin/app/src/androidTest/java/com/qfs/pagan/ExampleInstrumentedTest.kt"], ["M", "kotlin/app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "094f0efa3463a4258e5c08ce81f0b717749f97d8": {"id": "094f0efa3463a4258e5c08ce81f0b717749f97d8", "date": 1683512643.0, "description": "kotlin; added license fragment", "files": [["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/res/navigation/nav_graph.xml"], ["A", "kotlin/app/src/main/res/layout/fragment_license.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/LicenseFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LandingPageFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"], ["A", "kotlin/app/src/main/assets/LICENSE"]], "author": "smith.quintin@protonmail.com"}, "812a56ff50ed4f605460238850a4f5397a7af066": {"id": "812a56ff50ed4f605460238850a4f5397a7af066", "date": 1683506472.0, "description": "kotlin; unlink_pool wasn't refreshing labels", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "3a7e3bf0f3d23caa66657b5fcd13bc40cbe8ef7f": {"id": "3a7e3bf0f3d23caa66657b5fcd13bc40cbe8ef7f", "date": 1683503638.0, "description": "kotlin; selects the correct position after linking", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LineLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ColumnLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "cdb856df338213801120d228027b1e7c23e1c877": {"id": "cdb856df338213801120d228027b1e7c23e1c877", "date": 1683499596.0, "description": "kotlin; not showing feedback on back links and improved checks on link ranges", "files": [["M", "kotlin/app/src/main/res/layout/contextmenu_linking.xml"], ["A", "kotlin/app/src/main/res/drawable/unlinkall.xml"], ["A", "kotlin/app/src/main/res/drawable/unlink.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "8a6e252b89a31fb5133d035ff73c9e0ff66cdefe": {"id": "8a6e252b89a31fb5133d035ff73c9e0ff66cdefe", "date": 1683491530.0, "description": "kotlin; check btnChoosePercussion Exists before using it", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "c06a30aac0316af748b4edb3278915a48c657c99": {"id": "c06a30aac0316af748b4edb3278915a48c657c99", "date": 1683490253.0, "description": "kotlin; added slight delay to noteOns in attempt to improve timing", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "fb81cd90069bb8fd5e73cd6d7ca3de39b5c7a5ff": {"id": "fb81cd90069bb8fd5e73cd6d7ca3de39b5c7a5ff", "date": 1683487374.0, "description": "kotlin; specified most generic Exception calls", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/riffreader/Riff.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFont.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/RelativeOptionSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/Cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "9979b5f2bf6e79d28a5de962f07cc4f081404023": {"id": "9979b5f2bf6e79d28a5de962f07cc4f081404023", "date": 1683483858.0, "description": "kotlin; linking and it's history stack fixed", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "2a83d4bce4d9281c6bb2e994add094439e6c6058": {"id": "2a83d4bce4d9281c6bb2e994add094439e6c6058", "date": 1683442822.0, "description": "kotlin; fixed history stack bug", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "db9997f2240b8eb748a4d2f32d2579cde5d98978": {"id": "db9997f2240b8eb748a4d2f32d2579cde5d98978", "date": 1683414588.0, "description": "kotlin; removed debug code", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "35c4bec0f42b2ff10a93b4b660ed3d77cc6b5545": {"id": "35c4bec0f42b2ff10a93b4b660ed3d77cc6b5545", "date": 1683414535.0, "description": "kotlin; import/export projects", "files": [["M", "kotlin/app/src/main/res/menu/main_options_menu.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_landing.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LandingPageFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "5bbc184b54888eebd9953e4332fe7ff1622763aa": {"id": "5bbc184b54888eebd9953e4332fe7ff1622763aa", "date": 1683354162.0, "description": "kotlin; removed debug code", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"]], "author": "smith.quintin@protonmail.com"}, "ac09b8ad8d1d11a08d998fa1a1fed1b6a03b440b": {"id": "ac09b8ad8d1d11a08d998fa1a1fed1b6a03b440b", "date": 1683354042.0, "description": "kotlin; fixed link_beat_range overwriting the wrong cells", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "8a936b3351d4d09c2505138f39d9383b2c66146e": {"id": "8a936b3351d4d09c2505138f39d9383b2c66146e", "date": 1683353810.0, "description": "kotlin; fixed linking bugs recently introduced", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "a35890895768ca1927910557dc88d49b9df04abc": {"id": "a35890895768ca1927910557dc88d49b9df04abc", "date": 1683329970.0, "description": "kotlin; undo stack complete (afaik)", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "2837b548eae0ece60ecce5a7c67112d133222ac2": {"id": "2837b548eae0ece60ecce5a7c67112d133222ac2", "date": 1683272101.0, "description": "kotlin; rebuilt move_line history stack", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "840669483369216c2a6a37054d1d9d73f051b91c": {"id": "840669483369216c2a6a37054d1d9d73f051b91c", "date": 1683268325.0, "description": "kotlin; tweeking move_line logic", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LineLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "ab0d5340c34645e267c424663756f89b385bff60": {"id": "ab0d5340c34645e267c424663756f89b385bff60", "date": 1683182282.0, "description": "kotlin; Separated Cursor. Removed CursorLayer. sanitized ui updating a lot", "files": [["M", "kotlin/app/src/main/res/layout/contextmenu_row.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_column.xml"], ["A", "kotlin/app/src/main/res/drawable/remove_line.xml"], ["A", "kotlin/app/src/main/res/drawable/remove_beat.xml"], ["A", "kotlin/app/src/main/res/drawable/insert_line.xml"], ["A", "kotlin/app/src/main/res/drawable/insert_beat.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LineLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/Cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ColumnLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ChannelOptionAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "946b2bbab92a66bc1e7cf633859d9deba5fccb8d": {"id": "946b2bbab92a66bc1e7cf633859d9deba5fccb8d", "date": 1683075908.0, "description": "kotlin; scrollTo on insert/remove beat", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["M", "kotlin/app/src/main/res/layout/beat_node.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LineLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "1947500a1b07a4b85d116875592a26c6f0d050ae": {"id": "1947500a1b07a4b85d116875592a26c6f0d050ae", "date": 1683055454.0, "description": "kotlin; tweeked colors", "files": [["M", "kotlin/app/src/main/res/values/themes.xml"], ["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/attrs.xml"], ["M", "kotlin/app/src/main/res/values-night/themes.xml"], ["M", "kotlin/app/src/main/res/layout/tree_node.xml"], ["D", "kotlin/app/src/main/res/layout/table_line_label.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["M", "kotlin/app/src/main/res/layout/beat_node.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LineLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "7d6286e216d00228ca7e64a4e27881b58d190395": {"id": "7d6286e216d00228ca7e64a4e27881b58d190395", "date": 1683047890.0, "description": "kotlin; fixed awkward margins", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/dimens.xml"], ["M", "kotlin/app/src/main/res/layout/tree_node.xml"], ["M", "kotlin/app/src/main/res/layout/beat_node.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_button.xml"], ["A", "kotlin/app/src/main/res/drawable/label_button.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LineLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LeafButton.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ColumnLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "ebc9bd600387cb348dd80866a285c0419acc7bfa": {"id": "ebc9bd600387cb348dd80866a285c0419acc7bfa", "date": 1683010731.0, "description": "kotlin; fixed linking awkwardness in interface layer", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ColumnLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "9e22636da052fdf7a51324dbc7eff0a4e576f02b": {"id": "9e22636da052fdf7a51324dbc7eff0a4e576f02b", "date": 1683000563.0, "description": "kotlin; added tempo/tranpose control to history stack", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ColumnLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "ea4c128d22c52d2f8935e0c5d0967ce88e8095a5": {"id": "ea4c128d22c52d2f8935e0c5d0967ce88e8095a5", "date": 1682984068.0, "description": "kotlin; ui wasn't updating correct when move_line()", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "f32c92400caf5fccca7e208e0e152014f6f1582b": {"id": "f32c92400caf5fccca7e208e0e152014f6f1582b", "date": 1682978893.0, "description": "kotlin; set_percussion_event wasn't updating ui", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "017fbd643a6414ccf8aaf4a0db6db2f01947428f": {"id": "017fbd643a6414ccf8aaf4a0db6db2f01947428f", "date": 1682973162.0, "description": "kotlin; soundfontplayer taking into account offset between pressing a note and the time it takes to finish writing the current buffer", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "78bf8d0f645430a6fd1abd3ac0b2ea6c6b782c4d": {"id": "78bf8d0f645430a6fd1abd3ac0b2ea6c6b782c4d", "date": 1682959361.0, "description": "kotlin; removed some extraneous imports and variable", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectToLoadAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectManager.kt"]], "author": "smith.quintin@protonmail.com"}, "b7021684de9d73df1891a04f3a310f53cad90018": {"id": "b7021684de9d73df1891a04f3a310f53cad90018", "date": 1682959267.0, "description": "kotlin; cleaned up ui start up process", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectToLoadAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "08c42bf54c7efd8f45397a9badb7c4ff88c5ec7b": {"id": "08c42bf54c7efd8f45397a9badb7c4ff88c5ec7b", "date": 1682918645.0, "description": "kotlin; fixing bugs from flaglayer removal", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "95b7063a2095e94231eb12fabea6c216257c4021": {"id": "95b7063a2095e94231eb12fabea6c216257c4021", "date": 1682836034.0, "description": "kotlin; put play_event call in thread. added ui updates to button clicks where needed", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ChannelOptionAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "2b5988a175d96a7a8744ed28b037eb9e0e8e1bef": {"id": "2b5988a175d96a7a8744ed28b037eb9e0e8e1bef", "date": 1682831365.0, "description": "kotlin; improved the logic of the add channel button & new_channel", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "6d074623104e7fc203a579adc9b264cfcfc90536": {"id": "6d074623104e7fc203a579adc9b264cfcfc90536", "date": 1682830946.0, "description": "kotlin; fixed push_new_channel history stack problem", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "0fa60798c6c7b0fa0a661d31a21740c7eb1e82f7": {"id": "0fa60798c6c7b0fa0a661d31a21740c7eb1e82f7", "date": 1682795234.0, "description": "kotlin; clearing channel adapter on clear", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"]], "author": "smith.quintin@protonmail.com"}, "83a201e8ff334b26537f57b9620c9065b6293310": {"id": "83a201e8ff334b26537f57b9620c9065b6293310", "date": 1682794700.0, "description": "kotlin; removed FlagLayer, replaced with better InterfaceLayer with direct control over activity", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LineLabelAdapter.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/InterfaceLayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ChannelOptionAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "3390e9807b588e9eebc39a30480cf45aa81a6ce2": {"id": "3390e9807b588e9eebc39a30480cf45aa81a6ce2", "date": 1682735898.0, "description": "kotlin; moved project name into project json file", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/JSONObjects.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectToLoadAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectManager.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "0fc5e3f20baaccd89f4ee45f7c29164f33c9f0ef": {"id": "0fc5e3f20baaccd89f4ee45f7c29164f33c9f0ef", "date": 1682700286.0, "description": "kotlin; hide 'load project' options when no projects  exist", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectManager.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LandingPageFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "962baad2346ace0110eec8838f54b22872539f06": {"id": "962baad2346ace0110eec8838f54b22872539f06", "date": 1682699704.0, "description": "kotlin; replaced open/close_multi & lock/unlock with remember() & forget() in HistoryLayer", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"]], "author": "smith.quintin@protonmail.com"}, "fa3a319e492748481cece91404e503153b07b09c": {"id": "fa3a319e492748481cece91404e503153b07b09c", "date": 1682698546.0, "description": "kotlin; swapped cursor & history layers  (finally)", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "b41e97588b3d28db0f2bec8064b14e734f5b7f37": {"id": "b41e97588b3d28db0f2bec8064b14e734f5b7f37", "date": 1682655795.0, "description": "kotlin; updated some unittests to reflect changes to replace_tree(). fixed cancel_multi since it failed the unittest", "files": [["M", "kotlin/app/src/test/java/com/qfs/radixulous/BaseLayerUnitTest.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_blocker.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_absolute_value_cache.kt"]], "author": "smith.quintin@protonmail.com"}, "149b21c7b99b38b3bc1310a3f86f62228e5cf420": {"id": "149b21c7b99b38b3bc1310a3f86f62228e5cf420", "date": 1682637233.0, "description": "kotlin: (Much needed feature creep) added line volume control", "files": [["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_row.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/JSONObjects.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "bea3f6e73ea7c158e82707cc269aa83d0a7ac2af": {"id": "bea3f6e73ea7c158e82707cc269aa83d0a7ac2af", "date": 1682614960.0, "description": "kotlin; lint", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "2951731b0392a3135914ad1705a9d20168954652": {"id": "2951731b0392a3135914ad1705a9d20168954652", "date": 1682614400.0, "description": "kotlin; added land-scape layout to remove padding at bottom", "files": [["A", "kotlin/app/src/main/res/layout-land/content_main.xml"]], "author": "smith.quintin@protonmail.com"}, "33383a504ed918329b71d2d5fd34e9107cee177e": {"id": "33383a504ed918329b71d2d5fd34e9107cee177e", "date": 1682613465.0, "description": "kotlin; added loading reticule on play_midi. seems to stop initial bursting", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "3af9962853528fbe83f3d8294cc7aee05c38d1c3": {"id": "3af9962853528fbe83f3d8294cc7aee05c38d1c3", "date": 1682613093.0, "description": "kotlin; added minimum duration to sample handles to deal with high tempos (may undo)", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "7d183f138efd881e84fcb4d7e6538b0d7ce408fc": {"id": "7d183f138efd881e84fcb4d7e6538b0d7ce408fc", "date": 1682611692.0, "description": "kotlin; another attempt at preventing the playback dialog from  playing mutliple times", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "73dfc716eb68d997bb7c59d3bef2cd90a4502805": {"id": "73dfc716eb68d997bb7c59d3bef2cd90a4502805", "date": 1682558702.0, "description": "kotlin; massive improvement to SoundFont", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/riffreader/Riff.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFont.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "d13e9376cc6edd777235f9afc73f1bf9fd9e3e2f": {"id": "d13e9376cc6edd777235f9afc73f1bf9fd9e3e2f", "date": 1682533150.0, "description": "kotlin; fixed bug in new_channel history stack", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "2de2a7dbebdb5e91d10d8a867a9e8d318dce6184": {"id": "2de2a7dbebdb5e91d10d8a867a9e8d318dce6184", "date": 1682527889.0, "description": "kotlin; fixed import midi bug", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"]], "author": "smith.quintin@protonmail.com"}, "8d0e9f9d902005f4ab34cc4273880bbf2528446c": {"id": "8d0e9f9d902005f4ab34cc4273880bbf2528446c", "date": 1682524730.0, "description": "kotlin; fixed bad history stack on insert_after", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"]], "author": "smith.quintin@protonmail.com"}, "3752b76f1028e1a250d686ad1f97b52bd381cfea": {"id": "3752b76f1028e1a250d686ad1f97b52bd381cfea", "date": 1682524430.0, "description": "kotlin; popup number selector remembers last choice", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "ab951e7ccec5320c01f6b1c8685599f1b246c7c1": {"id": "ab951e7ccec5320c01f6b1c8685599f1b246c7c1", "date": 1682492137.0, "description": "kotlin; changed longclick on remove button to remove a tree's divisions", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "cdd14379d3372c2bc37cd1125ed783e444d58942": {"id": "cdd14379d3372c2bc37cd1125ed783e444d58942", "date": 1682458968.0, "description": "kotlin; playback control more relaiably stops when tracking", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "a2ce8e4d78d8e544a2f8fb5b035769ae7766890e": {"id": "a2ce8e4d78d8e544a2f8fb5b035769ae7766890e", "date": 1682442516.0, "description": "kotlin; caching SampleHandles to reduce time spent resampling", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "ffe92985d0601af4db1947f7d3fb2af5c729bc65": {"id": "ffe92985d0601af4db1947f7d3fb2af5c729bc65", "date": 1682398687.0, "description": "kotlin; automatic gain control", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "589cebf57509eae56100d3ada15d359283ae479d": {"id": "589cebf57509eae56100d3ada15d359283ae479d", "date": 1682316339.0, "description": "kotlin; failed attempt at volume normalization", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "8d3ef3f305c40dc1f019829489109bde1e1a05c8": {"id": "8d3ef3f305c40dc1f019829489109bde1e1a05c8", "date": 1682232011.0, "description": "kotlin; polished playback dialog", "files": [["M", "kotlin/app/src/main/res/layout/playback_popup.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "752df88c561241ce2c1980d78d4a8997757004d9": {"id": "752df88c561241ce2c1980d78d4a8997757004d9", "date": 1682223078.0, "description": "kotlin; accidentally fixed SoundFontPlayer breaking after a bit. also added timeout to Mutex", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "581bd09f9bdc624b6b47a24f4fd4ecd41ad97561": {"id": "581bd09f9bdc624b6b47a24f4fd4ecd41ad97561", "date": 1682183091.0, "description": "kotlin; fixed crash on self-linking beat", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "d831ad64b9414e06270baa5fb2a87a654cca5a8f": {"id": "d831ad64b9414e06270baa5fb2a87a654cca5a8f", "date": 1682182618.0, "description": "kotlin; fixed linking breaking history", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LeafButton.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "02a10efef7bcc90764f4896e190883ff75c11555": {"id": "02a10efef7bcc90764f4896e190883ff75c11555", "date": 1682103717.0, "description": "kotlin; has_changed_since_save() added. Save dialog doesn't popup when doesn't need to save", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "4ca7b5fd6d74cec847231e56724194644f9bdcf3": {"id": "4ca7b5fd6d74cec847231e56724194644f9bdcf3", "date": 1682101751.0, "description": "kotlin; refresh contextMenu when setting percussion instrument", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "b627b4524b9ababc23cc50c493ebcaeabb24a9c0": {"id": "b627b4524b9ababc23cc50c493ebcaeabb24a9c0", "date": 1682041609.0, "description": "kotlin; using playback dialog instead of scrolling along the work area", "files": [["A", "kotlin/app/src/main/res/layout/playback_popup.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/MIDIScroller.kt"]], "author": "smith.quintin@protonmail.com"}, "b433c0b3ae36f73a74323c555f52b448a2716607": {"id": "b433c0b3ae36f73a74323c555f52b448a2716607", "date": 1681970910.0, "description": "kotlin; fixed bug in apres. wasn't effectively updating fallback byte when reading in midi", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"]], "author": "smith.quintin@protonmail.com"}, "a45520f51e4b09e4a5401f7f9a70d27524152bda": {"id": "a45520f51e4b09e4a5401f7f9a70d27524152bda", "date": 1681966647.0, "description": "kotlin; differentiating octave/offset on leaf labels view font sizes", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "fe8ad8393e5de4450544131cd6f7b93258d9681f": {"id": "fe8ad8393e5de4450544131cd6f7b93258d9681f", "date": 1681963360.0, "description": "kotlin; added save dialog warning on new/import/load options", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "67f676f1e84f750c32c6d70f9bd63e8adfc0c8ef": {"id": "67f676f1e84f750c32c6d70f9bd63e8adfc0c8ef", "date": 1681958781.0, "description": "kotlin; added minwidth to config drawer", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "b6dfe2ed430dfc6bddf0a6639898d901aeef93c6": {"id": "b6dfe2ed430dfc6bddf0a6639898d901aeef93c6", "date": 1681954805.0, "description": "kotlin; prioritize song position pointers", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"]], "author": "smith.quintin@protonmail.com"}, "621846c24a3981693754500d9369903d5ba41bdf": {"id": "621846c24a3981693754500d9369903d5ba41bdf", "date": 1681950374.0, "description": "kotlin; removed some debug code", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "c4ccaa483db41cfda39b0e70b867d658c1baf951": {"id": "c4ccaa483db41cfda39b0e70b867d658c1baf951", "date": 1681950173.0, "description": "kotlin;  klugey fix for first item not being rendered onresume after navigating away and back", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "d4564331177e5567279d76e45975704064c22567": {"id": "d4564331177e5567279d76e45975704064c22567", "date": 1681834236.0, "description": "kotlin; fixed 'improper' calling of requestLayout warning", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "155b5fd7d70570a0925d067c864790df4cbb76b8": {"id": "155b5fd7d70570a0925d067c864790df4cbb76b8", "date": 1681787583.0, "description": "kotlin; removed excess code", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"]], "author": "smith.quintin@protonmail.com"}, "b73b7b580e1ed54ab735b47aedd66e439f07e6b0": {"id": "b73b7b580e1ed54ab735b47aedd66e439f07e6b0", "date": 1681787541.0, "description": "kotlin; fixed bad line of code breaking scrolling when initiated on the Column Label", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "ae1c16509d00f9af5233194004c8fc9fca0db9c4": {"id": "ae1c16509d00f9af5233194004c8fc9fca0db9c4", "date": 1681757373.0, "description": "kotlin; sorted NoteOn/NoteOff in midi player get_events_grouped sort noteOffs don't immediately turn on non-corresponding noteOns", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"]], "author": "smith.quintin@protonmail.com"}, "9846973ec28da60aa3c4aff3b5d93329b945f493": {"id": "9846973ec28da60aa3c4aff3b5d93329b945f493", "date": 1681754697.0, "description": "kotlin; fixed zombie notes/midi timing", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "954cc81fe472cf5eeff1dc154d265c764a56e482": {"id": "954cc81fe472cf5eeff1dc154d265c764a56e482", "date": 1681672406.0, "description": "kotlin; fixed vol_env_[attack, hod, decay, release] values", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "e6937d4fa7ed31281156e9c46ce810b8b99c586c": {"id": "e6937d4fa7ed31281156e9c46ce810b8b99c586c", "date": 1681625778.0, "description": "removed some debug code", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "572487ee1d9e29db7cefba35b31f7f6fdcb95566": {"id": "572487ee1d9e29db7cefba35b31f7f6fdcb95566", "date": 1681625748.0, "description": "kotlin; fixed bad loop points causing bad noise", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "de4f8c1daad1f7adc8e44933b6c917d236656537": {"id": "de4f8c1daad1f7adc8e44933b6c917d236656537", "date": 1681538954.0, "description": "kotlin; fixed some notes not being played in playback", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "b96c34349cd70b1ddbeada7a06870e9b4eafe9ca": {"id": "b96c34349cd70b1ddbeada7a06870e9b4eafe9ca", "date": 1681419167.0, "description": "kotlin; fixed audio stopping", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "94d0db46b9f329065d573d992157c52e0492ad4e": {"id": "94d0db46b9f329065d573d992157c52e0492ad4e", "date": 1681410298.0, "description": "kotlin; audio delay & release envelopes are now considered", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "c2fbfef1a4f2f6522a0de676b9bd1488dd52cae1": {"id": "c2fbfef1a4f2f6522a0de676b9bd1488dd52cae1", "date": 1681366753.0, "description": "kotlin; volume is still naive. but less so, doesn't warble", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "bc9bb427684322d6f9315e84a7b217937c0c8ff6": {"id": "bc9bb427684322d6f9315e84a7b217937c0c8ff6", "date": 1681363786.0, "description": "kotlin; sound VASTLY improved. still using naive volume control. that needs to be fixed", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "1e637d6363656d05158f08a1ad7e7383a6affb44": {"id": "1e637d6363656d05158f08a1ad7e7383a6affb44", "date": 1681274298.0, "description": "kotlin fixed blocking... Still crackly AF though", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "90cf68417c4d6b921cac0ac96410b36cf9b29d90": {"id": "90cf68417c4d6b921cac0ac96410b36cf9b29d90", "date": 1681194722.0, "description": "kotlin; added some debug code while trying to find why audio is blocking", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "ea01e09defc5881e0ea9ea18033d1c81f31572bf": {"id": "ea01e09defc5881e0ea9ea18033d1c81f31572bf", "date": 1681096508.0, "description": "kotlin; scratchy audio but kinda working", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/riffreader/Riff.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "161a94ecc5bd69021585cd638bde2e169f26796a": {"id": "161a94ecc5bd69021585cd638bde2e169f26796a", "date": 1681020071.0, "description": "kotlin; working on SoundFontPlayer rebuild", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "198289f3b154d8d7cdf8fa825e479341b4031e91": {"id": "198289f3b154d8d7cdf8fa825e479341b4031e91", "date": 1680934519.0, "description": "kotlin; rebuilding SoundFontPlayer", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "9383bb42e5edf3139c67ea1313646260f43ebe15": {"id": "9383bb42e5edf3139c67ea1313646260f43ebe15", "date": 1680835189.0, "description": "kotlin; Solved the fucking quantization problem", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "6cb5b47eabbee989038d7bae62a25f2985031f6d": {"id": "6cb5b47eabbee989038d7bae62a25f2985031f6d", "date": 1680762812.0, "description": "kotlin; starting quantization", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "bb77a28f004429a635bbdff12468da414f19625a": {"id": "bb77a28f004429a635bbdff12468da414f19625a", "date": 1680663840.0, "description": "kotlin; fixed leads and the like not playing", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "e3654440ebb3886e720e300e70894a91ac1ec70e": {"id": "e3654440ebb3886e720e300e70894a91ac1ec70e", "date": 1680655420.0, "description": "kotlin; fixed main fragment not updating title when cancelling load", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "e3c9c5a52de5106b6858920e9694bf8d29f0ac36": {"id": "e3c9c5a52de5106b6858920e9694bf8d29f0ac36", "date": 1680649699.0, "description": "kotlin; improvements to midi import", "files": [["M", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/intermediate_structure_functions.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "bf3f83fa64025e5e807ebcdd891bd82d1d3c877b": {"id": "bf3f83fa64025e5e807ebcdd891bd82d1d3c877b", "date": 1680582583.0, "description": "kotlin; giving up on attempt at timeable scroll", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/TimeableLayoutManager.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "ed43a35d100156bd1ab041269e8a3bc4d068030e": {"id": "ed43a35d100156bd1ab041269e8a3bc4d068030e", "date": 1680493914.0, "description": "kotlin; working on timeable smooth scroll", "files": [["A", "kotlin/app/src/main/java/com/qfs/radixulous/TimeableLayoutManager.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ColumnLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "692d6d59ebfc2b01b294dbe7e67809ff5e261257": {"id": "692d6d59ebfc2b01b294dbe7e67809ff5e261257", "date": 1680383517.0, "description": "kotlin; fixed linking issues in relation to relative notes. fixed tree.copy() assigning *Same* event to tree's copy", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_absolute_value_cache.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectManager.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "b02a390e959421bc11569fac2be336953828fbfc": {"id": "b02a390e959421bc11569fac2be336953828fbfc", "date": 1680333035.0, "description": "kotlin; fixed concurrentmodifcationException when clearing all links", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"]], "author": "smith.quintin@protonmail.com"}, "fd2f0b74e5b324898b89ba702dc1222be2087de3": {"id": "fd2f0b74e5b324898b89ba702dc1222be2087de3", "date": 1680332297.0, "description": "kotlin; part of previous commit", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"]], "author": "smith.quintin@protonmail.com"}, "4760e9640b4ce2dca9efafdb5bcde8acb5008b3b": {"id": "4760e9640b4ce2dca9efafdb5bcde8acb5008b3b", "date": 1680330818.0, "description": "kotlin; fixed linking beats & its history-layer", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_landing.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "cb8f1a8367e7cf71e13da8108e4f0104371dcb32": {"id": "cb8f1a8367e7cf71e13da8108e4f0104371dcb32", "date": 1680230598.0, "description": "kotlin; improved stopping", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/string_funcs.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/intermediate_structure_functions.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LineLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "f9978446c39169b177f02c7812ad7f991e8f434d": {"id": "f9978446c39169b177f02c7812ad7f991e8f434d", "date": 1680215225.0, "description": "kotlin; so much lint. removed unused classes", "files": [["M", "kotlin/app/src/main/res/navigation/nav_graph.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["D", "kotlin/app/src/main/res/layout/fragment_front.xml"], ["A", "kotlin/app/src/main/res/layout/fragment_landing.xml"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/event_register.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/ViewCache.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/TempNameFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/RelativeOptionSelector.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/RangeFilter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectManager.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/RowLabelAdapter.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/LineLabelAdapter.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/FrontFragment.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/LandingPageFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ChannelOptionAdapter.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/OpusManagerAdapter.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/BeatColumnAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "2ff9473f0086a40a4555b60b4afb948267d0edd4": {"id": "2ff9473f0086a40a4555b60b4afb948267d0edd4", "date": 1680111621.0, "description": "kotlin; added transpose option. fixed drawer locking incorrectly", "files": [["M", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/JSONObjects.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "4c1cd274c3ab0ef51521f8ace0c7af7b287e1910": {"id": "4c1cd274c3ab0ef51521f8ace0c7af7b287e1910", "date": 1680109166.0, "description": "kotlin; was accidentally inserting SongPositionPointers at the beginning of every beat for each line", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"]], "author": "smith.quintin@protonmail.com"}, "cdbce7cadabf2e07493d8222ac12eda9ae4fa28c": {"id": "cdbce7cadabf2e07493d8222ac12eda9ae4fa28c", "date": 1680069729.0, "description": "kotlin; linked scrolling on playback and stop_playback to midi events", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "459bdfdf4aba4320c9079320e40ac46af16a319d": {"id": "459bdfdf4aba4320c9079320e40ac46af16a319d", "date": 1679979508.0, "description": "kotlin; icon toggles on sercussion set/unset", "files": [["A", "kotlin/app/src/main/res/drawable/set_percussion.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "7feecf8f9f7e72ec754a43236cb2892f72fbc009": {"id": "7feecf8f9f7e72ec754a43236cb2892f72fbc009", "date": 1679977981.0, "description": "kotlin; added percussion label, fixed relativeoptionselector behaviour", "files": [["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/res/values/dimens.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "45367a5b538b9b379ee599be4e8905cbf66c1a31": {"id": "45367a5b538b9b379ee599be4e8905cbf66c1a31", "date": 1679969562.0, "description": "kotlin; fixed silent/quiet percussion", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "8733e2b7929b5eaada81ee77b6b3bae63d409f04": {"id": "8733e2b7929b5eaada81ee77b6b3bae63d409f04", "date": 1679944902.0, "description": "kotlin; bugfix - was adjusting midi channels on channel remove", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "054d2b919c6a3e89633f32e13a082a8253313655": {"id": "054d2b919c6a3e89633f32e13a082a8253313655", "date": 1679895152.0, "description": "kotlin; soundfontplayer filters instruments when getting sample", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "154138c5e9a019e6bb4263ef9b2fbee8fcb8474f": {"id": "154138c5e9a019e6bb4263ef9b2fbee8fcb8474f", "date": 1679771098.0, "description": "kotlin; validation checks", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/RelativeOptionSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/OpusManagerAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "f5390b2bbe0925a0a0a1701619d836f9f7c38271": {"id": "f5390b2bbe0925a0a0a1701619d836f9f7c38271", "date": 1679770075.0, "description": "kotlin; solved relative option selector", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/RelativeOptionSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "eca6d37debd7d84c7c0269cb634788ed9fb4a7ea": {"id": "eca6d37debd7d84c7c0269cb634788ed9fb4a7ea", "date": 1679686486.0, "description": "kotlin; work on relative option picker conversion", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/RelativeOptionSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "1963ff94141388eb8b3d7a73647cfa3c757658fd": {"id": "1963ff94141388eb8b3d7a73647cfa3c757658fd", "date": 1679611891.0, "description": "kotlin; *actually* fixed the row labels' events being intercepted by the parent recycler view", "files": [["M", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/RowLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "4a860d7a8e931e13aad249b90a42ee28a24a7b5d": {"id": "4a860d7a8e931e13aad249b90a42ee28a24a7b5d", "date": 1679610624.0, "description": "kotlin;  fixed leaf button child views blocking touch events", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "d1218d67990630c9a1ada0c0520603c6948b4b2f": {"id": "d1218d67990630c9a1ada0c0520603c6948b4b2f", "date": 1679603807.0, "description": "kotlin; changed relative leaf layout", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "fa76c4d2c684c3b68f70394c65088d72143d3fdd": {"id": "fa76c4d2c684c3b68f70394c65088d72143d3fdd", "date": 1679601286.0, "description": "kotlin; preventing empty lines from being moved", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "99d4254a9e9fd11911ed5b71161b863f54f2d2df": {"id": "99d4254a9e9fd11911ed5b71161b863f54f2d2df", "date": 1679601109.0, "description": "kotlin; fixed row labels not always dragging AND dragging locking up", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/RowLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "34bb0ef3ee916d178ed6ad43a0e207852c25f6dd": {"id": "34bb0ef3ee916d178ed6ad43a0e207852c25f6dd", "date": 1679551735.0, "description": "kotlin; scrolling *improved?* on play back", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/OpusManagerAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "fa149a1fc5ef5757ee351103dad42198f458b140": {"id": "fa149a1fc5ef5757ee351103dad42198f458b140", "date": 1679545409.0, "description": "kotlin; was a bug in moving move_line", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "1bb481ab4ac0368ab552aa4cc12dfe8c426c4a8e": {"id": "1bb481ab4ac0368ab552aa4cc12dfe8c426c4a8e", "date": 1679523024.0, "description": "kotlin; part of previous bugfix", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "a92f71e264a37e75e5093c88c4a8d176b54e1b9c": {"id": "a92f71e264a37e75e5093c88c4a8d176b54e1b9c", "date": 1679522684.0, "description": "kotlin; fixed stupid bug where clicking 'ok' to change name causes the RecyclerView to need a refresh", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ChannelOptionAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "cbaf218f209d2e872c86185feaa4f650683d5ddd": {"id": "cbaf218f209d2e872c86185feaa4f650683d5ddd", "date": 1679520255.0, "description": "kotlin; fixed set_cursor not updating beats just out of view", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/OpusManagerAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "61b020675fb0317301fa3c0b7ec6080f8596fb08": {"id": "61b020675fb0317301fa3c0b7ec6080f8596fb08", "date": 1679518167.0, "description": "kotlin; removed debug", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/string_funcs.kt"]], "author": "smith.quintin@protonmail.com"}, "6ec648d3513332e9aba82865946031b4488d02ca": {"id": "6ec648d3513332e9aba82865946031b4488d02ca", "date": 1679518102.0, "description": "kotlin; fixed subdividing breaking on laod", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/string_funcs.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"]], "author": "smith.quintin@protonmail.com"}, "e4c366bea777758a4f34517494087cd24291206e": {"id": "e4c366bea777758a4f34517494087cd24291206e", "date": 1679515894.0, "description": "kotlin; fixed move_line undo", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/OpusManagerAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "218d48051d9d05fc3cdadec3cd9f93de813b4335": {"id": "218d48051d9d05fc3cdadec3cd9f93de813b4335", "date": 1679469832.0, "description": "kotlin; shitty solution to RecyclerView not rendering first visible beat if its not completely visible (scroll to beginning)", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/OpusManagerAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "e2d5e9088f6980154414d5249c199ee466076731": {"id": "e2d5e9088f6980154414d5249c199ee466076731", "date": 1679467284.0, "description": "kotlin; refresh recyclerviews *almost* correctly onResume", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_absolute_value_cache.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/RowLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectToLoadAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/OpusManagerAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "417a762f63e1f0446c571b5a6130fcb60b8e2492": {"id": "417a762f63e1f0446c571b5a6130fcb60b8e2492", "date": 1679348119.0, "description": "kotlin; only notifying visible items in recycler view when line is removed", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/OpusManagerAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "78bd37eafb1f4f589f7c7d477016d277843d6e54": {"id": "78bd37eafb1f4f589f7c7d477016d277843d6e54", "date": 1679347625.0, "description": "kotlin; dragging a line to an empty line replaces the empty line instead of inserting", "files": [["M", "kotlin/app/src/test/java/com/qfs/radixulous/BaseLayerUnitTest.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/RowLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "3062618ad8afc63d1aeaa47aacb4a612aa192e37": {"id": "3062618ad8afc63d1aeaa47aacb4a612aa192e37", "date": 1679287860.0, "description": "kotlin; improved linking process and backend", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/OpusManagerAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "6fd34890a12d48c5953df2fdcd0912ba151cc8a4": {"id": "6fd34890a12d48c5953df2fdcd0912ba151cc8a4", "date": 1679278974.0, "description": "kotlin; bugfixes", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_absolute_value_cache.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/RowLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/OpusManagerAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "f4f3bcd9e4c8b0a0bbfbb566729bfa432d7daa39": {"id": "f4f3bcd9e4c8b0a0bbfbb566729bfa432d7daa39", "date": 1679161303.0, "description": "kotlin; fixed crash on import_midi with fewer lines than cursor position", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"]], "author": "smith.quintin@protonmail.com"}, "e06448595a1d46f4cdb4d97706e282c1b5791acf": {"id": "e06448595a1d46f4cdb4d97706e282c1b5791acf", "date": 1679120219.0, "description": "kotlin; line swapping fixed", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/RowLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "230333ce3ee70e847a0300b9773f06a9d8a1fa3d": {"id": "230333ce3ee70e847a0300b9773f06a9d8a1fa3d", "date": 1679077610.0, "description": "kotlin; setcontextmenu on leaf click", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/OpusManagerAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "4e81fb489323f3cff37550feb73a39acc30f6678": {"id": "4e81fb489323f3cff37550feb73a39acc30f6678", "date": 1679027444.0, "description": "kotlin; fixed cursor highlighting problems", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/string_funcs.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/RowLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/OpusManagerAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "df79bc9246a72b26557229ba9f6f45485c04e42a": {"id": "df79bc9246a72b26557229ba9f6f45485c04e42a", "date": 1678955674.0, "description": "kotlin; fixed clear_singles()", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"]], "author": "smith.quintin@protonmail.com"}, "9e205dc43462661a716af56ee722c6ab95846156": {"id": "9e205dc43462661a716af56ee722c6ab95846156", "date": 1678945237.0, "description": "kotlin; update_leaf_labels fixed", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "6bd556a863f647c84f194f0f8422fed2b37f63e9": {"id": "6bd556a863f647c84f194f0f8422fed2b37f63e9", "date": 1678942749.0, "description": "kotlin; recyclerview conversion done", "files": [["M", "kotlin/app/src/main/res/layout/table_column_label.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/OpusManagerAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "7d4e2d31e4d7ef0396d5804e5dde0f9aabf2ffe9": {"id": "7d4e2d31e4d7ef0396d5804e5dde0f9aabf2ffe9", "date": 1678862875.0, "description": "kotlin; reverted to recyclerview for column labels due to innacurracy of calculateHorizontalOffset()", "files": [["M", "kotlin/app/src/main/res/layout/table_line_label.xml"], ["M", "kotlin/app/src/main/res/layout/table_column_label.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/RowLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/OpusManagerAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "35b1b32e88b7e5ad61e115f7bf4e7c43ce779710": {"id": "35b1b32e88b7e5ad61e115f7bf4e7c43ce779710", "date": 1678776162.0, "description": "kotlin; almost done converting to recyclerviews", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/layout/table_column_label.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/RowLabelAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/OpusManagerAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "0d6dd8132fb60ff5b8f35430ae60776f19950b44": {"id": "0d6dd8132fb60ff5b8f35430ae60776f19950b44", "date": 1678690309.0, "description": "kotlin; more work on recycler conversion", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/layout/tree_node.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["M", "kotlin/app/src/main/res/layout/beat_node.xml"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/BeatAdapter.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/OpusManagerAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LeafButton.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/ColumnLabelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "ab6a5848e7c7dd78f3583b1b43df73300efa9f6b": {"id": "ab6a5848e7c7dd78f3583b1b43df73300efa9f6b", "date": 1678603858.0, "description": "kotlin; still converting to recyclerview", "files": [["M", "kotlin/app/src/main/res/layout/tree_node.xml"], ["M", "kotlin/app/src/main/res/layout/table_column_label.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["M", "kotlin/app/src/main/res/layout/beat_node.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LeafButton.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/BeatAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "6c78b9169f260b3f261dc9759cbc25ae99a681fa": {"id": "6c78b9169f260b3f261dc9759cbc25ae99a681fa", "date": 1678520684.0, "description": "kotlin; working on converting beat table to RecyclerView", "files": [["M", "kotlin/app/src/main/res/menu/main_options_menu.xml"], ["M", "kotlin/app/src/main/res/layout/tree_node.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_row.xml"], ["A", "kotlin/app/src/main/res/drawable/ic_baseline_undo_24.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFont.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/ChannelOptionAdapter.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/BeatAdapter.kt"], ["M", "kotlin/app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "4c815ad1ff8e8dec189467456bf746bf50cb16a0": {"id": "4c815ad1ff8e8dec189467456bf746bf50cb16a0", "date": 1678431431.0, "description": "kotlin; drag/drop on lines. history handling improved", "files": [["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_absolute_value_cache.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "11fd08a96d0cf5730353fbe4c765ff236c8b60ce": {"id": "11fd08a96d0cf5730353fbe4c765ff236c8b60ce", "date": 1678347578.0, "description": "kotlin; changed references to 'Kotlin' to 'Radixulous'", "files": [["M", "kotlin/app/src/main/res/values/themes.xml"], ["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/res/values-night/themes.xml"], ["M", "kotlin/app/src/main/res/layout/app_bar_main.xml"], ["M", "kotlin/app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "3c62950adc0dd4c50263880784d80f63ce32d471": {"id": "3c62950adc0dd4c50263880784d80f63ce32d471", "date": 1678346809.0, "description": "kotlin; midi_import, setting title/path correctly", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "19a21367fdc9d96871a63e52280448df1199f4c3": {"id": "19a21367fdc9d96871a63e52280448df1199f4c3", "date": 1678345150.0, "description": "kotlin; midi importing and draggable leafs", "files": [["M", "kotlin/app/src/main/res/layout/fragment_front.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/FrontFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "03d9480b03f74d3d9be03da02f79a8b8b3c5fc43": {"id": "03d9480b03f74d3d9be03da02f79a8b8b3c5fc43", "date": 1678304778.0, "description": "kotlin; import_midi functional", "files": [["M", "kotlin/app/src/test/java/com/qfs/radixulous/StructureUnitTest.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/string_funcs.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "ee650b8cf0ec53136eebabe033386f1d7d38a72e": {"id": "ee650b8cf0ec53136eebabe033386f1d7d38a72e", "date": 1678260446.0, "description": "kotlin; import_midi() ui working. still a bug in the algorithm", "files": [["M", "kotlin/app/src/main/res/menu/main_options_menu.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/string_funcs.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "df15ab391c01d12496db17cd20aebf0c59bf67a4": {"id": "df15ab391c01d12496db17cd20aebf0c59bf67a4", "date": 1678174151.0, "description": "kotlin; fixed bugs in apres", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"]], "author": "smith.quintin@protonmail.com"}, "285b049a8d5cd399fa8542ac765e1695aa295036": {"id": "285b049a8d5cd399fa8542ac765e1695aa295036", "date": 1678088516.0, "description": "kotlin; re-fixed text display on percussion/nonpercussion on leafs", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "6174c95a5c230042038b754b3e712a61ce75db0c": {"id": "6174c95a5c230042038b754b3e712a61ce75db0c", "date": 1678087208.0, "description": "kotlin; scrolls to cursor position", "files": [["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_row.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/res/layout/content_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_absolute_value_cache.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFont.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LeafButton.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/FrontFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "487f9783fd2b9564f057a56f08e00720954d8acd": {"id": "487f9783fd2b9564f057a56f08e00720954d8acd", "date": 1677957571.0, "description": "kotlin; licenses and soundfont", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_front.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/FrontFragment.kt"], ["A", "kotlin/app/src/main/assets/SFLicense.txt"]], "author": "smith.quintin@protonmail.com"}, "982c59cc3ceb389338c5a995ac485088df2a2807": {"id": "982c59cc3ceb389338c5a995ac485088df2a2807", "date": 1677918014.0, "description": "kotlin; soundfontplayer considering instrumentSample samplemode", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "9788593b31dec678a523b2f5aa9abb2636ba8670": {"id": "9788593b31dec678a523b2f5aa9abb2636ba8670", "date": 1677914685.0, "description": "kotlin; using fluidsynth soundfont. soundfont player considers InstrumentSample's root key", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "ed52b886042a5786adb802e6c5335da81377019a": {"id": "ed52b886042a5786adb802e6c5335da81377019a", "date": 1677828495.0, "description": "kotlin; work on soundfont", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFont.kt"]], "author": "smith.quintin@protonmail.com"}, "bbd5d4913594e1b28d4cb70bfb386d2696106165": {"id": "bbd5d4913594e1b28d4cb70bfb386d2696106165", "date": 1677743788.0, "description": "kotlin; working on soundfont improvement", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFont.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "9afe7b71a0702374980d7d30827c7411b08fa1fc": {"id": "9afe7b71a0702374980d7d30827c7411b08fa1fc", "date": 1677660599.0, "description": "kotlin; save button in config menu works", "files": [["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "fcb10c9eb0e1da26111cf961bd4c012c57addda7": {"id": "fcb10c9eb0e1da26111cf961bd4c012c57addda7", "date": 1677660050.0, "description": "kotlin; svg colors", "files": [["M", "kotlin/app/src/main/res/values/themes.xml"], ["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values-night/themes.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["M", "kotlin/app/src/main/res/layout/app_bar_main.xml"], ["A", "kotlin/app/src/main/res/drawable/ic_baseline_delete_24.xml"], ["A", "kotlin/app/src/main/res/drawable/ic_baseline_content_copy_24.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "c6878c92d267501eba65afc87803006aa80d6f34": {"id": "c6878c92d267501eba65afc87803006aa80d6f34", "date": 1677657583.0, "description": "kot", "files": [["M", "kotlin/app/src/main/res/values/themes.xml"], ["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/dimens.xml"], ["M", "kotlin/app/src/main/res/values/attrs.xml"], ["M", "kotlin/app/src/main/res/values-night/themes.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/res/layout/config_active_channel.xml"], ["M", "kotlin/app/src/main/res/layout/app_bar_main.xml"], ["A", "kotlin/app/src/main/res/drawable/unset.xml"], ["A", "kotlin/app/src/main/res/drawable/split.xml"], ["A", "kotlin/app/src/main/res/drawable/remove.xml"], ["A", "kotlin/app/src/main/res/drawable/midi_logo.xml"], ["A", "kotlin/app/src/main/res/drawable/insert.xml"], ["A", "kotlin/app/src/main/res/drawable/ic_baseline_save_24.xml"], ["M", "kotlin/app/src/main/res/drawable/button_pressed.xml"], ["M", "kotlin/app/src/main/res/drawable/button_default.xml"], ["M", "kotlin/app/src/main/res/drawable/button.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "3b2f213ebe166bb83c80a2ef66689869209f9c3d": {"id": "3b2f213ebe166bb83c80a2ef66689869209f9c3d", "date": 1677571019.0, "description": "kotlin; tweaks to colors and config layout", "files": [["M", "kotlin/app/src/main/res/values/themes.xml"], ["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/dimens.xml"], ["M", "kotlin/app/src/main/res/values/attrs.xml"], ["M", "kotlin/app/src/main/res/values-night/themes.xml"], ["M", "kotlin/app/src/main/res/layout/loadmenu_item.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_row.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_column.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/res/drawable/numberselector.xml"], ["A", "kotlin/app/src/main/res/color/numberselector_fg.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "36595a8573fd51951203e7014cc15985a46f0ffa": {"id": "36595a8573fd51951203e7014cc15985a46f0ffa", "date": 1677560684.0, "description": "kotlin; removed debug code", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "1b80bee4be3095b2083fdd4bc0ab0419147be0e5": {"id": "1b80bee4be3095b2083fdd4bc0ab0419147be0e5", "date": 1677560647.0, "description": "kotlin; front page and navigation", "files": [["M", "kotlin/app/src/main/res/values/strings.xml"], ["A", "kotlin/app/src/main/res/navigation/nav_graph_b.xml"], ["M", "kotlin/app/src/main/res/navigation/nav_graph.xml"], ["A", "kotlin/app/src/main/res/layout/fragment_front.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/FrontFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "56654e84558fa2f2c11034465834099770be2b55": {"id": "56654e84558fa2f2c11034465834099770be2b55", "date": 1677537607.0, "description": "kotlin; bugfix; titles not getting set on load", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectManager.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "e5bc7f4841cf0db3f492cf8918b287dc639cd9dd": {"id": "e5bc7f4841cf0db3f492cf8918b287dc639cd9dd", "date": 1677536504.0, "description": "kotlin; i *think* audiotracks are getting released after use now", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "9cf99ae546a900bfe12f2bb37515b723f4744b45": {"id": "9cf99ae546a900bfe12f2bb37515b723f4744b45", "date": 1677479236.0, "description": "kotlin; fixed off-by-one issues with midi instruments", "files": [["M", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "aee0003baca62eaad9a24a547b093c125e2d57f2": {"id": "aee0003baca62eaad9a24a547b093c125e2d57f2", "date": 1677436502.0, "description": "kotlin; bugfix; replace_tree() forgot to remove parent when replacing beats", "files": [["M", "kotlin/app/src/test/java/com/qfs/radixulous/BaseLayerUnitTest.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "bc2572fdc327a7c8adb3751cccb3411a8615d443": {"id": "bc2572fdc327a7c8adb3751cccb3411a8615d443", "date": 1677434355.0, "description": "kotlin; screen can rotate without restarting/crashing", "files": [["M", "kotlin/app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "f843afb6ac670986b69817bc976f743477913a59": {"id": "f843afb6ac670986b69817bc976f743477913a59", "date": 1677381125.0, "description": "kotlin; loading progressbar", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "420977848f9c8de9b6b21bda131d5a112fb76396": {"id": "420977848f9c8de9b6b21bda131d5a112fb76396", "date": 1677356732.0, "description": "kotlin; bugfix - was pushing original beatkeys/positions to history stack", "files": [["M", "kotlin/app/src/test/java/com/qfs/radixulous/HistoryLayerUnitTest.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "5f42ee57be71fc0029484609e7732470fe6e6719": {"id": "5f42ee57be71fc0029484609e7732470fe6e6719", "date": 1677279010.0, "description": "kotlin; some history layer unit tests and corresponding fixes", "files": [["M", "kotlin/app/src/test/java/com/qfs/radixulous/HistoryLayerUnitTest.kt"], ["M", "kotlin/app/src/test/java/com/qfs/radixulous/BaseLayerUnitTest.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "5548b09de68d081701cd20f783d0af22e8b24713": {"id": "5548b09de68d081701cd20f783d0af22e8b24713", "date": 1677226494.0, "description": "kotlin; bugfix - save broken", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectManager.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "3089cae2cd21ff797d0edefe1800b5da5c3cb766": {"id": "3089cae2cd21ff797d0edefe1800b5da5c3cb766", "date": 1677225666.0, "description": "kotlin; when unsetting percussion channel, midi_channel is set to next available instead of 0", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "1d816db8b8d20dac27fb7caa969401cfcd22a638": {"id": "1d816db8b8d20dac27fb7caa969401cfcd22a638", "date": 1677224781.0, "description": "kotlin; fixed the bugs found by unit testing so far", "files": [["M", "kotlin/app/src/test/java/com/qfs/radixulous/BaseLayerUnitTest.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "fabcd268cbb32d4a74c2c1bce3c38ec5f90ac740": {"id": "fabcd268cbb32d4a74c2c1bce3c38ec5f90ac740", "date": 1677223488.0, "description": "kotlin; added tests for base layer", "files": [["M", "kotlin/app/src/test/java/com/qfs/radixulous/LinkLayerUnitTest.kt"], ["M", "kotlin/app/src/test/java/com/qfs/radixulous/HistoryLayerUnitTest.kt"], ["M", "kotlin/app/src/test/java/com/qfs/radixulous/FlagLayerUnitTest.kt"], ["M", "kotlin/app/src/test/java/com/qfs/radixulous/CursorLayerUnitTest.kt"], ["M", "kotlin/app/src/test/java/com/qfs/radixulous/BaseLayerUnitTest.kt"], ["M", "kotlin/app/src/test/java/com/qfs/radixulous/AbsoluteValueLayerUnitTest.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"]], "author": "smith.quintin@protonmail.com"}, "514a50541ed4fb57047ed0eaee8889cf93fc3731": {"id": "514a50541ed4fb57047ed0eaee8889cf93fc3731", "date": 1677133475.0, "description": "kotlin; setting up unittests, mostly just empty functions at the moment", "files": [["A", "kotlin/app/src/test/java/com/qfs/radixulous/LinkLayerUnitTest.kt"], ["M", "kotlin/app/src/test/java/com/qfs/radixulous/HistoryLayerUnitTest.kt"], ["A", "kotlin/app/src/test/java/com/qfs/radixulous/FlagLayerUnitTest.kt"], ["A", "kotlin/app/src/test/java/com/qfs/radixulous/CursorLayerUnitTest.kt"], ["M", "kotlin/app/src/test/java/com/qfs/radixulous/BaseLayerUnitTest.kt"], ["A", "kotlin/app/src/test/java/com/qfs/radixulous/AbsoluteValueLayerUnitTest.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "1a3a8a5839a2ac1c1160840d8c88a0261ac21c57": {"id": "1a3a8a5839a2ac1c1160840d8c88a0261ac21c57", "date": 1677123405.0, "description": "kotlin; fixed undoing set_event() bug. Also scroll back to start if playback'd all the way through the song", "files": [["M", "kotlin/app/src/test/java/com/qfs/radixulous/BaseLayerUnitTest.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "bd58dbc9268c10b1c51f39c39ef358ebf076d0e6": {"id": "bd58dbc9268c10b1c51f39c39ef358ebf076d0e6", "date": 1677087291.0, "description": "kotlin; viewcache removes empty channels on detachLine()", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ViewCache.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LeafButton.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "a850d48a261c5c4f21e1a1424556ccf9aef71c2a": {"id": "a850d48a261c5c4f21e1a1424556ccf9aef71c2a", "date": 1677053947.0, "description": "kotlin; call tick immediately on remove/insert channel", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "a94df3515c915b60ca04e6042681c31ed78a2227": {"id": "a94df3515c915b60ca04e6042681c31ed78a2227", "date": 1677050595.0, "description": "kotlin; fixed unapply_focus", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "bfd5aa9445bf96c2fa628749ca3c63d8509a962b": {"id": "bfd5aa9445bf96c2fa628749ca3c63d8509a962b", "date": 1677042367.0, "description": "kotlin; converted ViewCache to use BeatKeys as positioning instead of y/x offsets. Not sure what i was thinking in the first place", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ViewCache.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "d89ad4269212cc267469ac4527cfac7f2f46e1f1": {"id": "d89ad4269212cc267469ac4527cfac7f2f46e1f1", "date": 1676951992.0, "description": "kotlin; Converted tempo input to NumberPicker popup", "files": [["M", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "a06622bd144d88760aa3d2fd1c179e233a99a2a5": {"id": "a06622bd144d88760aa3d2fd1c179e233a99a2a5", "date": 1676878078.0, "description": "kotlin; coverted longclick dialog number inputs to NumberPickers", "files": [["M", "kotlin/app/src/main/res/layout/dialog_split.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFont.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectManager.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "0f8cde7b745178cac1adb5b0e30e39c1e44443c5": {"id": "0f8cde7b745178cac1adb5b0e30e39c1e44443c5", "date": 1676867538.0, "description": "kotlin; bugfix conversion error from previous commit", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "e36e1ce7aef026f0e3d26602bfe076fdb8799d07": {"id": "e36e1ce7aef026f0e3d26602bfe076fdb8799d07", "date": 1676866708.0, "description": "kotlin; reorganized soundfont/apres/riff. fixed asTimecent() in generator and added volume shaper", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/apres/riffreader/Riff.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/apres.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/apres/apres.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/SFPlayer.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFontPlayer.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/Riff.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/apres/SoundFont.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/OpusBranchLayout.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "817d32a60a8add02ec0876245ae787fa0eaca90f": {"id": "817d32a60a8add02ec0876245ae787fa0eaca90f", "date": 1676837992.0, "description": "kotlin; added lock to link_layer so actions don't profilerate further than one link", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"]], "author": "smith.quintin@protonmail.com"}, "4f6d2a414558e739164363a8e47b26b7ef19f280": {"id": "4f6d2a414558e739164363a8e47b26b7ef19f280", "date": 1676775541.0, "description": "kotlin; using relative paths", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectManager.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "f0ccfe52f046d91d90e5ed7824289a36b80edb1c": {"id": "f0ccfe52f046d91d90e5ed7824289a36b80edb1c", "date": 1676746154.0, "description": "kotlin; long-click on certain buttons to bring up a number input dialog", "files": [["A", "kotlin/app/src/main/res/layout/dialog_split.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/SFPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "c84f2237c1822a386a050c1afed01cc8cb2d57a8": {"id": "c84f2237c1822a386a050c1afed01cc8cb2d57a8", "date": 1676687005.0, "description": "kotlin; update line labels when closing drawer", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "32b4928a67c787b4e5e9bf344a654de15d7753c5": {"id": "32b4928a67c787b4e5e9bf344a654de15d7753c5", "date": 1676682582.0, "description": "kotlin; channel Recycler View updating correctly", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "0a92ce385ba8c5278a8553afadc69dbae6933db4": {"id": "0a92ce385ba8c5278a8553afadc69dbae6933db4", "date": 1676677485.0, "description": "kotlin; bugfix; broke absolute validation", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_absolute_value_cache.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "147c70f25d8bf61bcd1b76ba6549987b7bc3c0a2": {"id": "147c70f25d8bf61bcd1b76ba6549987b7bc3c0a2", "date": 1676673039.0, "description": "kotlin; fixed improper use of requestLayout() in RelativeOptionSelector", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/RelativeOptionSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "2502a25dc9493aedef44e5dc053ee2b5f9e42a48": {"id": "2502a25dc9493aedef44e5dc053ee2b5f9e42a48", "date": 1676672664.0, "description": "kotlin; fixed improper use of requestLayout()", "files": [["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "86bd6ff1c7f8646833f1c41b7cff908ac240359c": {"id": "86bd6ff1c7f8646833f1c41b7cff908ac240359c", "date": 1676621357.0, "description": "kotlin; leaf invalidation. tweaked the tick process, now FIFO", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_absolute_value_cache.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "10a261c44836300fdb240fb18a47f80979e7c2cc": {"id": "10a261c44836300fdb240fb18a47f80979e7c2cc", "date": 1676585158.0, "description": "kotlin; absolute value validation and visual feedback thereof", "files": [["M", "kotlin/app/src/main/res/values/themes.xml"], ["M", "kotlin/app/src/main/res/values/attrs.xml"], ["M", "kotlin/app/src/main/res/values-night/themes.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf_invalid.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_button.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_absolute_value_cache.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LeafButton.kt"]], "author": "smith.quintin@protonmail.com"}, "c37b100f5eca1c152a146681f2a0a71a3b2b0593": {"id": "c37b100f5eca1c152a146681f2a0a71a3b2b0593", "date": 1676572841.0, "description": "kotlin; absolute value cache layer ostensibly working", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_blocker.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_absolute_value_cache.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "467f2db4ea9fbc093e70136a7ac28d497a8f3f24": {"id": "467f2db4ea9fbc093e70136a7ac28d497a8f3f24", "date": 1676532617.0, "description": "kotlin; initial work on absolute value cache layer", "files": [["M", "kotlin/app/src/main/res/values/attrs.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_absolute_value_cache.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "d7eb7baca09325ee33c7c4edc6b1e4ed4ed165db": {"id": "d7eb7baca09325ee33c7c4edc6b1e4ed4ed165db", "date": 1676450153.0, "description": "kotlin; range filter on tempo entry. fixed audio feedback for numberselectors", "files": [["A", "kotlin/app/src/main/java/com/qfs/radixulous/RangeFilter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "f093bae07687ca6a96bac32c468c3879841ef60c": {"id": "f093bae07687ca6a96bac32c468c3879841ef60c", "date": 1676441551.0, "description": "kotlin; set normal_padding dimen variable instead of using 2dp everywhere", "files": [["M", "kotlin/app/src/main/res/values/dimens.xml"], ["M", "kotlin/app/src/main/res/layout/table_line_label.xml"], ["M", "kotlin/app/src/main/res/layout/table_column_label.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/res/layout/config_active_channel.xml"], ["M", "kotlin/app/src/main/res/layout/beat_node.xml"]], "author": "smith.quintin@protonmail.com"}, "24472a607c3087c53fa6e3468401b9646b575f41": {"id": "24472a607c3087c53fa6e3468401b9646b575f41", "date": 1676439837.0, "description": "kotlin; updated color schemes, added padding to buttons, added margin to number selectors", "files": [["M", "kotlin/app/src/main/res/values/themes.xml"], ["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/colors.xml"], ["M", "kotlin/app/src/main/res/values/attrs.xml"], ["M", "kotlin/app/src/main/res/values-night/themes.xml"], ["M", "kotlin/app/src/main/res/layout/table_line_label.xml"], ["M", "kotlin/app/src/main/res/layout/table_column_label.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["A", "kotlin/app/src/main/res/drawable/numberselector_selected_pressed.xml"], ["M", "kotlin/app/src/main/res/drawable/numberselector_selected.xml"], ["M", "kotlin/app/src/main/res/drawable/numberselector_pressed.xml"], ["M", "kotlin/app/src/main/res/drawable/numberselector_enabled.xml"], ["M", "kotlin/app/src/main/res/drawable/numberselector.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_pressed.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_focused_pressed.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_focused.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_default.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_active_pressed.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_active_focused_pressed.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_active_focused.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_active.xml"], ["M", "kotlin/app/src/main/res/drawable/button_pressed.xml"], ["M", "kotlin/app/src/main/res/drawable/button_default.xml"], ["D", "kotlin/app/src/main/res/drawable/beat_node_background.xml"], ["A", "kotlin/app/src/main/res/color/leaf_fg.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/RelativeOptionSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "3f06b89cc0ee2a9ec42a68955a3c2e1636879791": {"id": "3f06b89cc0ee2a9ec42a68955a3c2e1636879791", "date": 1676314098.0, "description": "kotlin; added settings icon to config drawer. found out about colorstatelists and implemented for button foreground", "files": [["M", "kotlin/app/src/main/res/values/themes.xml"], ["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/colors.xml"], ["M", "kotlin/app/src/main/res/values/attrs.xml"], ["M", "kotlin/app/src/main/res/values-night/themes.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["A", "kotlin/app/src/main/res/drawable/settings_50.xml"], ["A", "kotlin/app/src/main/res/color/button_fg.xml"]], "author": "smith.quintin@protonmail.com"}, "2ff475c828c047681a656f249c06fb4cfc79f634": {"id": "2ff475c828c047681a656f249c06fb4cfc79f634", "date": 1676267695.0, "description": "kotlin; various UI improvements. delete_project has a dialog now. NumberSelector simplified a bit. Config menu cleaned up", "files": [["M", "kotlin/app/src/main/res/values/themes.xml"], ["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/colors.xml"], ["M", "kotlin/app/src/main/res/values/attrs.xml"], ["M", "kotlin/app/src/main/res/values-night/themes.xml"], ["M", "kotlin/app/src/main/res/layout/tree_node.xml"], ["M", "kotlin/app/src/main/res/layout/table_line_label.xml"], ["M", "kotlin/app/src/main/res/layout/table_column_label.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/res/layout/config_active_channel.xml"], ["M", "kotlin/app/src/main/res/layout/beat_node.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["A", "kotlin/app/src/main/res/drawable/numberselector_selected.xml"], ["A", "kotlin/app/src/main/res/drawable/numberselector_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_middle_enabled.xml"], ["A", "kotlin/app/src/main/res/drawable/numberselector_enabled.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_end.xml"], ["A", "kotlin/app/src/main/res/drawable/numberselector.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_start_selected.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_start_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_start_enabled.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_start.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_middle_selected.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_middle_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_middle.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_end_selected.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_end_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_end_enabled.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_pressed.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_focused_pressed.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_focused.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_default.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_active_pressed.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_active_focused_pressed.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_active_focused.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_active.xml"], ["A", "kotlin/app/src/main/res/drawable/button_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/button_default.xml"], ["M", "kotlin/app/src/main/res/drawable/button.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/RelativeOptionSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "53533905b00bc97642467c5a83f74c76031e7a11": {"id": "53533905b00bc97642467c5a83f74c76031e7a11", "date": 1676192466.0, "description": "kotlin; delete button functional again. still needs dialog. ProjectManager now uses json format", "files": [["M", "kotlin/app/src/main/res/values/colors.xml"], ["A", "kotlin/app/src/main/res/drawable/beat_node_background.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/RelativeOptionSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectManager.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "230baeaabfc25df0cfcfdf46c5c89c1745af9c91": {"id": "230baeaabfc25df0cfcfdf46c5c89c1745af9c91", "date": 1676182416.0, "description": "kotlin; LeafButton created to replace user of general TextView for Leafs", "files": [["M", "kotlin/app/src/main/res/values/themes.xml"], ["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/colors.xml"], ["M", "kotlin/app/src/main/res/values/attrs.xml"], ["M", "kotlin/app/src/main/res/values-night/themes.xml"], ["M", "kotlin/app/src/main/res/layout/tree_node.xml"], ["M", "kotlin/app/src/main/res/layout/table_line_label.xml"], ["D", "kotlin/app/src/main/res/layout/leaf.xml"], ["M", "kotlin/app/src/main/res/layout/beat_node.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf_focused_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf_focused.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf_enabled.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf_default.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_button.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_active_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf_active_focused_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf_active_focused.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf_active_enabled.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_active.xml"], ["D", "kotlin/app/src/main/res/drawable/focus_leaf_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/focus_leaf_enabled.xml"], ["D", "kotlin/app/src/main/res/drawable/focus_leaf_active_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/focus_leaf_active_enabled.xml"], ["D", "kotlin/app/src/main/res/drawable/focus_leaf_active.xml"], ["D", "kotlin/app/src/main/res/drawable/focus_leaf.xml"], ["M", "kotlin/app/src/main/res/drawable/button.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/LeafButton.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "a7501a70d14de5bf71c16ba41f9ee6799af42ecb": {"id": "a7501a70d14de5bf71c16ba41f9ee6799af42ecb", "date": 1676072499.0, "description": "kotlin; made improvements to RelativeOptionSelector (same as NumberSelector)", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/RelativeOptionSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"]], "author": "smith.quintin@protonmail.com"}, "4a0cecc9fc59434d0499652be61d435bfe03dc16": {"id": "4a0cecc9fc59434d0499652be61d435bfe03dc16", "date": 1676008940.0, "description": "kotlin; improved NumberSelector widget", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/attrs.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_start_selected.xml"], ["M", "kotlin/app/src/main/res/drawable/ns_start.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_selected_start_enabled.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_selected_start.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_selected_middle_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_selected_middle_enabled.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_selected_middle.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_selected_end_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_selected_end_enabled.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_selected_end.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_middle_selected.xml"], ["M", "kotlin/app/src/main/res/drawable/ns_middle_enabled.xml"], ["M", "kotlin/app/src/main/res/drawable/ns_middle.xml"], ["D", "kotlin/app/src/main/res/drawable/ns_selected_start_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_end_selected.xml"], ["M", "kotlin/app/src/main/res/drawable/ns_end.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/RelativeOptionSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "2932e3c53c1b602db8a486fbd13673fac7dfff5e": {"id": "2932e3c53c1b602db8a486fbd13673fac7dfff5e", "date": 1675932025.0, "description": "kotlin; changed back to manually sizing beats and subdivisions thereof", "files": [["M", "kotlin/app/src/main/res/values/colors.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/OpusBranchLayout.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "7faee79be775ea1b1fc7df8689d49a383681850e": {"id": "7faee79be775ea1b1fc7df8689d49a383681850e", "date": 1675910832.0, "description": "kotlin; finished removing to to handle leaf view resizing", "files": [["M", "kotlin/app/src/main/res/values/themes.xml"], ["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/colors.xml"], ["M", "kotlin/app/src/main/res/values/attrs.xml"], ["M", "kotlin/app/src/main/res/values-night/themes.xml"], ["M", "kotlin/app/src/main/res/layout/tree_node.xml"], ["M", "kotlin/app/src/main/res/layout/table_row.xml"], ["M", "kotlin/app/src/main/res/layout/table_line_label.xml"], ["M", "kotlin/app/src/main/res/layout/table_column_label.xml"], ["M", "kotlin/app/src/main/res/layout/leaf.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["A", "kotlin/app/src/main/res/layout/beat_node.xml"], ["M", "kotlin/app/src/main/res/drawable/ns_selected_start_pressed.xml"], ["M", "kotlin/app/src/main/res/drawable/ns_selected_start_enabled.xml"], ["M", "kotlin/app/src/main/res/drawable/ns_selected_middle_pressed.xml"], ["M", "kotlin/app/src/main/res/drawable/ns_selected_middle_enabled.xml"], ["M", "kotlin/app/src/main/res/drawable/ns_selected_end_pressed.xml"], ["M", "kotlin/app/src/main/res/drawable/ns_selected_end_enabled.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf_reflection_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf_reflection_enabled.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf_reflection.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf_reflected_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf_reflected_enabled.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf_reflected.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_enabled.xml"], ["D", "kotlin/app/src/main/res/drawable/leaf.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf_button.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_active_enabled.xml"], ["D", "kotlin/app/src/main/res/drawable/focus_leaf_reflection_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/focus_leaf_reflection_enabled.xml"], ["D", "kotlin/app/src/main/res/drawable/focus_leaf_reflection.xml"], ["D", "kotlin/app/src/main/res/drawable/focus_leaf_reflected_pressed.xml"], ["D", "kotlin/app/src/main/res/drawable/focus_leaf_reflected_enabled.xml"], ["D", "kotlin/app/src/main/res/drawable/focus_leaf_reflected.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ViewCache.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "1e6c3e7e9d37627b7f650600c73dbf822192eefa": {"id": "1e6c3e7e9d37627b7f650600c73dbf822192eefa", "date": 1675841533.0, "description": "kotlin; moved tick to activity. removing need to handle leaf view resizing", "files": [["A", "kotlin/app/src/main/res/layout/tree_node.xml"], ["A", "kotlin/app/src/main/res/layout/table_row.xml"], ["A", "kotlin/app/src/main/res/layout/leaf.xml"], ["D", "kotlin/app/src/main/res/layout/item_opustree.xml"], ["D", "kotlin/app/src/main/res/layout/item_opusbutton.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ViewCache.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "3b32d9da5abee4629180233ed243f29318e2047f": {"id": "3b32d9da5abee4629180233ed243f29318e2047f", "date": 1675756685.0, "description": "kotlin; playback no longer crashing. still needs cleanup", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "2c555af1a5f25d0c049db6dee1caeeed26115b10": {"id": "2c555af1a5f25d0c049db6dee1caeeed26115b10", "date": 1675755281.0, "description": "kotlin; moved playback out of fragment to MainACtivity. still crashes", "files": [["D", "kotlin/app/src/main/res/layout/channel_instrument_option.xml"], ["D", "kotlin/app/src/main/res/layout/button_standard.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectManager.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "a39f9313d310d0bed13701af44ff42af15196dfe": {"id": "a39f9313d310d0bed13701af44ff42af15196dfe", "date": 1675660945.0, "description": "kotlin; lint", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "a833d4469023e80c92f50a4cbad7a07a0264f682": {"id": "a833d4469023e80c92f50a4cbad7a07a0264f682", "date": 1675583249.0, "description": "kotlin; moved config to drawer", "files": [["M", "kotlin/app/src/main/res/values/themes.xml"], ["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/attrs.xml"], ["M", "kotlin/app/src/main/res/values-night/themes.xml"], ["M", "kotlin/app/src/main/res/layout/loadmenu_item.xml"], ["M", "kotlin/app/src/main/res/layout/item_opusbutton.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_row.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_column.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/res/layout/content_main.xml"], ["M", "kotlin/app/src/main/res/layout/config_active_channel.xml"], ["D", "kotlin/app/src/main/res/layout/channel_ctrl.xml"], ["A", "kotlin/app/src/main/res/layout/app_bar_main.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/ConfigFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"], ["M", "kotlin/app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "4b0ff3b4fae1842fd21498423fd44ca67551c659": {"id": "4b0ff3b4fae1842fd21498423fd44ca67551c659", "date": 1675540495.0, "description": "kotlin; dedicated playback button", "files": [["M", "kotlin/app/src/main/res/menu/main_options_menu.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_column.xml"], ["A", "kotlin/app/src/main/res/drawable/ic_baseline_play_arrow_24.xml"], ["A", "kotlin/app/src/main/res/drawable/ic_baseline_pause_24.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "98f89754b14632f7749486f1ee043503a85c6fce": {"id": "98f89754b14632f7749486f1ee043503a85c6fce", "date": 1675473287.0, "description": "kotlin; bugfixes in remove_at_cursor() and added missing load_json functionality to layer_links", "files": [["M", "kotlin/app/src/main/res/layout/loadmenu_item.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectToLoadAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "d4259ffde245d143f5fdc1bfc0ef45c417b60c8e": {"id": "d4259ffde245d143f5fdc1bfc0ef45c417b60c8e", "date": 1675448750.0, "description": "kotlin; saving/loading functional. moved 'project_name' to a single json file instead of keeping it in saved opus tile", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/JSONObjects.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/SFPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectToLoadAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ConfigFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "ee703c8f144ba01148d2397d47e6735c42ddcc46": {"id": "ee703c8f144ba01148d2397d47e6735c42ddcc46", "date": 1675367181.0, "description": "kotlin; Json loading working", "files": [["M", "kotlin/app/src/main/res/layout/loadmenu_item.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_load.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectToLoadAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "9bf98ba09793f9ea48a73aa6d993fe7590bded13": {"id": "9bf98ba09793f9ea48a73aa6d993fe7590bded13", "date": 1675324659.0, "description": "kotlin; serialization plugin applied", "files": [["M", "kotlin/build.gradle"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"], ["M", "kotlin/app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "7c6f69fe182f566cf63d8f1ae138989f9ef1be36": {"id": "7c6f69fe182f566cf63d8f1ae138989f9ef1be36", "date": 1675288859.0, "description": "kotlin; removed usage of kotlinx.android.synthetic", "files": [["M", "kotlin/build.gradle"], ["M", "kotlin/app/src/main/res/layout/contextmenu_row.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ConfigFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"], ["M", "kotlin/app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "7abce17bf8392f8e37832f3ea69387ea0a1be557": {"id": "7abce17bf8392f8e37832f3ea69387ea0a1be557", "date": 1675186765.0, "description": "kotlin; fixed some missing is_percussion() checks. auto-setting midi channel when adding opus channels", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "aff88f85eb885015c217f042c5db92db01758e47": {"id": "aff88f85eb885015c217f042c5db92db01758e47", "date": 1675149212.0, "description": "kotlin; config, instrument chooser improvements. percussion toggling", "files": [["M", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["M", "kotlin/app/src/main/res/layout/config_active_channel.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ViewCache.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ConfigFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "078f35a0c0096f9bca07f6c8505585b7945ad17d": {"id": "078f35a0c0096f9bca07f6c8505585b7945ad17d", "date": 1675063395.0, "description": "kotlin; refactored channels into list rather than array of size 16", "files": [["M", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_row.xml"], ["A", "kotlin/app/src/main/res/layout/config_active_channel.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_blocker.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/OpusChannel.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ConfigFragment.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/ActiveChannelAdapter.kt"]], "author": "smith.quintin@protonmail.com"}, "af3bb6129bc92d3221cc6b4536a55718493e0192": {"id": "af3bb6129bc92d3221cc6b4536a55718493e0192", "date": 1674952458.0, "description": "kotlin; improved config page", "files": [["M", "kotlin/app/src/main/res/menu/main_options_menu.xml"], ["A", "kotlin/app/src/main/res/layout/text_name_change.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/ProjectManager.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ConfigFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "da5736b7bb731a1a56cc3b8f6d3c6113cfe3a27c": {"id": "da5736b7bb731a1a56cc3b8f6d3c6113cfe3a27c", "date": 1674905815.0, "description": "kotlin; export midi working again", "files": [["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ConfigFragment.kt"], ["M", "kotlin/app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "7660bb82e54e6240316782c8004e6759934a8292": {"id": "7660bb82e54e6240316782c8004e6759934a8292", "date": 1674843653.0, "description": "kotlin; config fragment cleaned up. undo button working", "files": [["M", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/ConfigFragment.kt"]], "author": "smith.quintin@protonmail.com"}, "e0f2275fecfbf22fd9a5c07fe8daa83592efe763": {"id": "e0f2275fecfbf22fd9a5c07fe8daa83592efe763", "date": 1674803071.0, "description": "kotlin; fragment navigation and callbacks working *correctly*", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/res/navigation/nav_graph.xml"], ["M", "kotlin/app/src/main/res/layout/loadmenu_item.xml"], ["M", "kotlin/app/src/main/res/layout/fragment_load.xml"], ["A", "kotlin/app/src/main/res/layout/fragment_config.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/ConfigFragment.kt"], ["M", "kotlin/app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "b865f46b63380de91b8327b50307df46de3f72ae": {"id": "b865f46b63380de91b8327b50307df46de3f72ae", "date": 1674710362.0, "description": "kotlin; starting to separate into fragments instead of shitty popups", "files": [["M", "kotlin/app/src/main/res/values/themes.xml"], ["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/res/values-night/themes.xml"], ["A", "kotlin/app/src/main/res/navigation/nav_graph.xml"], ["D", "kotlin/app/src/main/res/menu/options_menu.xml"], ["A", "kotlin/app/src/main/res/menu/main_options_menu.xml"], ["D", "kotlin/app/src/main/res/layout/load_project.xml"], ["A", "kotlin/app/src/main/res/layout/fragment_main.xml"], ["A", "kotlin/app/src/main/res/layout/fragment_load.xml"], ["A", "kotlin/app/src/main/res/layout/content_main.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/ViewCache.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/MainFragment.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/LoadFragment.kt"], ["M", "kotlin/app/src/main/AndroidManifest.xml"], ["M", "kotlin/app/build.gradle"]], "author": "smith.quintin@protonmail.com"}, "4d3d9b73496d7da028efb8a30755b64e3378a139": {"id": "4d3d9b73496d7da028efb8a30755b64e3378a139", "date": 1674600049.0, "description": "kotlin; update column header sizes on beat change", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "b36c6846c8b1a5dc7748b0b066ec3fa628b8312b": {"id": "b36c6846c8b1a5dc7748b0b066ec3fa628b8312b", "date": 1674599355.0, "description": "kotlin; fixed odd behaviour when removing a line. disabled unset/remove buttons as necessary", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "70d0ff72b890be511e69936223985e37d9d67bd2": {"id": "70d0ff72b890be511e69936223985e37d9d67bd2", "date": 1674547455.0, "description": "kotlin; generalized cached cursor to a list of focused leafs", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "0130c402e8ab104404d68fec2bdc58b0c9cb14b8": {"id": "0130c402e8ab104404d68fec2bdc58b0c9cb14b8", "date": 1674504093.0, "description": "kotlin; considering linked beats when setting relative selector range and options", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "ff26978462e6c970daf5ed0a5397d43c66743ce0": {"id": "ff26978462e6c970daf5ed0a5397d43c66743ce0", "date": 1674503088.0, "description": "kotlin; prevent self-linking a beat", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"]], "author": "smith.quintin@protonmail.com"}, "212adcc0e25721a5cb4426a8d895033fca5c83a8": {"id": "212adcc0e25721a5cb4426a8d895033fca5c83a8", "date": 1674502975.0, "description": "kotlin; improved link handling. starting to ignore link heirarchy. facade working but need to remove usage of linked_beat_map v inv_linked_beat_map in favour of one map for each network", "files": [["M", "kotlin/app/src/main/res/layout/contextmenu_linking.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "9e6013130dcbea25bd43a5390d57f915a5c04c85": {"id": "9e6013130dcbea25bd43a5390d57f915a5c04c85", "date": 1674419194.0, "description": "kotlin; swapped stack order of Flag/Link Layers in order to allow flagging of unlink_beat", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "c54ecb32ab634c0189ea74991c2a92fecf51a3b3": {"id": "c54ecb32ab634c0189ea74991c2a92fecf51a3b3", "date": 1674326880.0, "description": "kotlin; multi-linking. still needs to be grouped together in history", "files": [["M", "kotlin/app/src/main/res/drawable/leaf_reflection.xml"], ["M", "kotlin/app/src/main/res/drawable/leaf_reflected.xml"], ["M", "kotlin/app/src/main/res/drawable/focus_leaf_reflection.xml"], ["M", "kotlin/app/src/main/res/drawable/focus_leaf_reflected.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "09c3faf916dc18e0eb54f371e00a7304979981ce": {"id": "09c3faf916dc18e0eb54f371e00a7304979981ce", "date": 1674286077.0, "description": "kotlin; bugfix: wasn't detaching leaf wrappers properly", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/layout/item_opusbutton.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_row.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_column.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["A", "kotlin/app/src/main/res/drawable/button.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/SFPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "6e70176db1d289424b8b33d7182d1b222bbd72e9": {"id": "6e70176db1d289424b8b33d7182d1b222bbd72e9", "date": 1674267043.0, "description": "kotlin; number selector button styles [shitty but] implemented", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_start_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_start_enabled.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_start.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_selected_start_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_selected_start_enabled.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_selected_start.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_selected_middle_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_selected_middle_enabled.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_selected_middle.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_selected_end_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_selected_end_enabled.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_selected_end.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_middle_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_middle_enabled.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_middle.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_end_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_end_enabled.xml"], ["A", "kotlin/app/src/main/res/drawable/ns_end.xml"], ["D", "kotlin/app/src/main/res/drawable/button.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/RelativeOptionSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "32eca1f30f9231ca168848f2ae7607cfeacf070c": {"id": "32eca1f30f9231ca168848f2ae7607cfeacf070c", "date": 1674239242.0, "description": "kotlin; bugfix: check if lines are changed before redrawing labels on tick", "files": [["M", "kotlin/app/src/main/res/drawable/focus_leaf.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "4893f84ef5ff631429af715942c52b398d00a7a1": {"id": "4893f84ef5ff631429af715942c52b398d00a7a1", "date": 1674184987.0, "description": "kotlin; setup leaf-button drawables", "files": [["M", "kotlin/app/src/main/res/values/styles.xml"], ["M", "kotlin/app/src/main/res/values/colors.xml"], ["M", "kotlin/app/src/main/res/layout/item_opusbutton.xml"], ["M", "kotlin/app/src/main/res/layout/channel_ctrl.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf_reflection_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf_reflection_enabled.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf_reflection.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf_reflected_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf_reflected_enabled.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf_reflected.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf_enabled.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf_active_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf_active_enabled.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf_active.xml"], ["A", "kotlin/app/src/main/res/drawable/leaf.xml"], ["A", "kotlin/app/src/main/res/drawable/focus_leaf_reflection_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/focus_leaf_reflection_enabled.xml"], ["A", "kotlin/app/src/main/res/drawable/focus_leaf_reflection.xml"], ["A", "kotlin/app/src/main/res/drawable/focus_leaf_reflected_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/focus_leaf_reflected_enabled.xml"], ["A", "kotlin/app/src/main/res/drawable/focus_leaf_reflected.xml"], ["A", "kotlin/app/src/main/res/drawable/focus_leaf_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/focus_leaf_enabled.xml"], ["A", "kotlin/app/src/main/res/drawable/focus_leaf_active_pressed.xml"], ["A", "kotlin/app/src/main/res/drawable/focus_leaf_active_enabled.xml"], ["A", "kotlin/app/src/main/res/drawable/focus_leaf_active.xml"], ["A", "kotlin/app/src/main/res/drawable/focus_leaf.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "7800966ac42a7e722b1302a26d0d65101ce001ed": {"id": "7800966ac42a7e722b1302a26d0d65101ce001ed", "date": 1674072795.0, "description": "kotlin; soundfonts. presets ordered correctly", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/SFPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/Riff.kt"]], "author": "smith.quintin@protonmail.com"}, "3447e7418348fc5daea1ba3814383ed694a8dd41": {"id": "3447e7418348fc5daea1ba3814383ed694a8dd41", "date": 1674002288.0, "description": "kotlin; soundfont pitch corrections being applied", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/SFPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/Riff.kt"]], "author": "smith.quintin@protonmail.com"}, "161a8035fd64ff0a079616c2c10ea3bd221ae7aa": {"id": "161a8035fd64ff0a079616c2c10ea3bd221ae7aa", "date": 1674000026.0, "description": "kotlin; midi play back *functional*. audio works. need to handle pitch shifting now", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/SFPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "6764fe05897fc74942b3e669201228ceb1568824": {"id": "6764fe05897fc74942b3e669201228ceb1568824", "date": 1673917213.0, "description": "kotlin; soundfont playback *improved* working on sample looping before noteoff is sent", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/SFPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "e5af9977c0362a01ce7629f6d97c53a364aae80c": {"id": "e5af9977c0362a01ce7629f6d97c53a364aae80c", "date": 1673851907.0, "description": "kotlin; applying preset zones correctly now", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/Riff.kt"]], "author": "smith.quintin@protonmail.com"}, "69a4356286fc88f2062931ec351e70c9a3a310c9": {"id": "69a4356286fc88f2062931ec351e70c9a3a310c9", "date": 1673851255.0, "description": "kotlin; applying instrument zones correctly to instruments. still need to do the same with presets", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/Riff.kt"]], "author": "smith.quintin@protonmail.com"}, "fa7738123693e54754060a5b103a39ec90eb3e5c": {"id": "fa7738123693e54754060a5b103a39ec90eb3e5c", "date": 1673764373.0, "description": "kotlin; Soundfonts STARTING to work", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/SFPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/Riff.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "7a8ed0ab98aea2a6e91576bdc87d159b2bcb2c8a": {"id": "7a8ed0ab98aea2a6e91576bdc87d159b2bcb2c8a", "date": 1673737331.0, "description": "kotlin; Soundfont class, moved almost all initialization into get functions to reduce load time", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/SFPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/Riff.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "34bc2ac2976d0d9d6ed0ecb324b606534c7f7475": {"id": "34bc2ac2976d0d9d6ed0ecb324b606534c7f7475", "date": 1673641973.0, "description": "kotlin; handled JVM converting bytes to signed integers (the fucker)", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/SFPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/Riff.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "c82700d67f651f1a093a7bf4cbaeb200d4161812": {"id": "c82700d67f651f1a093a7bf4cbaeb200d4161812", "date": 1673593976.0, "description": "kotlin; refactor Riff Reader/Soundfont to hand limited RAM", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/SFPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/Riff.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "6f5338866bed31976bcb9fd0ffc038bdec495863": {"id": "6f5338866bed31976bcb9fd0ffc038bdec495863", "date": 1673503507.0, "description": "kotlin; lint", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/Riff.kt"]], "author": "smith.quintin@protonmail.com"}, "02482888aa882bd21d158d7477d2d3d9abe0e21f": {"id": "02482888aa882bd21d158d7477d2d3d9abe0e21f", "date": 1673477014.0, "description": "kotlin; soundfont generators complete", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/Riff.kt"]], "author": "smith.quintin@protonmail.com"}, "c877cdd7d1ff00e51dbc483dfb229c5bb88283aa": {"id": "c877cdd7d1ff00e51dbc483dfb229c5bb88283aa", "date": 1673420980.0, "description": "kotlin; defining generators in soundfonts", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/Riff.kt"]], "author": "smith.quintin@protonmail.com"}, "d807c76c4b69bd3109cb489f911a4f4eb39a1324": {"id": "d807c76c4b69bd3109cb489f911a4f4eb39a1324", "date": 1673334179.0, "description": "kotin; more work on soundfont reader. reading the file all understood now need to handle reading in the modulation/generation values", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/Riff.kt"]], "author": "smith.quintin@protonmail.com"}, "e8aee3df932c4203312c2f031bef8e2d3daba7df": {"id": "e8aee3df932c4203312c2f031bef8e2d3daba7df", "date": 1673287442.0, "description": "kotlin; more work on riff/soundfont reader handling modulators", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/Riff.kt"]], "author": "smith.quintin@protonmail.com"}, "16a696c6d849b35fa18fe44f9b8be5fbf153e10a": {"id": "16a696c6d849b35fa18fe44f9b8be5fbf153e10a", "date": 1673247877.0, "description": "kotlin; work on riff/soundfont reader", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/Riff.kt"]], "author": "smith.quintin@protonmail.com"}, "2b1d1aa977d2bd0b06668f9b6acbac2786316161": {"id": "2b1d1aa977d2bd0b06668f9b6acbac2786316161", "date": 1673159687.0, "description": "kotlin; leafs display in a different color", "files": [["M", "kotlin/app/src/main/res/values/colors.xml"], ["D", "kotlin/app/src/main/res/layout/numberline_item.xml"], ["D", "kotlin/app/src/main/res/layout/numberline.xml"], ["M", "kotlin/app/src/main/res/layout/item_opusbutton.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_row.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_column.xml"], ["A", "kotlin/app/src/main/res/drawable/button.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "20b7e6c6136e5d1647ab8e16aae6d5a197b37e67": {"id": "20b7e6c6136e5d1647ab8e16aae6d5a197b37e67", "date": 1673159585.0, "description": "started riff/soundfont reader", "files": [["A", "kotlin/app/src/main/java/com/qfs/radixulous/Riff.kt"]], "author": "smith.quintin@protonmail.com"}, "aa44368158eb53b5eefe2b822c21a7ec1b4fdd40": {"id": "aa44368158eb53b5eefe2b822c21a7ec1b4fdd40", "date": 1673040420.0, "description": "kotlin; bugfix: unset on leaf sometimes failing", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/RelativeOptionSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "d284650fe3c44bdccdad414ca8968266090cb30a": {"id": "d284650fe3c44bdccdad414ca8968266090cb30a", "date": 1673038617.0, "description": "kotlin; improvements to midi playback (still need soundfont playback but midi playback works). AND *fixed* Numberselector losing centering onLayout", "files": [["M", "kotlin/app/src/main/res/layout/channel_ctrl.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/SFPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "01031b4b15b0023a0db146cc758d066859313b85": {"id": "01031b4b15b0023a0db146cc758d066859313b85", "date": 1672984994.0, "description": "kotlin; working on audio playback", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/SFPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "36caf28fa543f744755043eea60d6f552f3639e9": {"id": "36caf28fa543f744755043eea60d6f552f3639e9", "date": 1672860024.0, "description": "kotlin; added color for reflectED beat", "files": [["M", "kotlin/app/src/main/res/values/colors.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "a2a2b4e2016cae7bab2aeec0cbc91733cea03572": {"id": "a2a2b4e2016cae7bab2aeec0cbc91733cea03572", "date": 1672859368.0, "description": "kotlin; fixed linking resizing the target beat", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "7b9fe10062aff0cd14736d2311f8b1208cf3f7e9": {"id": "7b9fe10062aff0cd14736d2311f8b1208cf3f7e9", "date": 1672818999.0, "description": "kotlin; created RelativeOptionSelector, improved relative note picking", "files": [["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_blocker.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/RelativeOptionSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "16f107f33d7d72a4b73ba0c1f5e936a8a41a3905": {"id": "16f107f33d7d72a4b73ba0c1f5e936a8a41a3905", "date": 1672773483.0, "description": "kotlin; moved midi export function into opusmanager object. having it externally was lossy", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/string_funcs.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "86f7b08f2700ea4c74901cb20db6cc12e9c102ef": {"id": "86f7b08f2700ea4c74901cb20db6cc12e9c102ef", "date": 1672722069.0, "description": "kotlin; fixed tree_to_midi()", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/string_funcs.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "dacb1acaf970ab3e9e0061f8ff67c56ba073110d": {"id": "dacb1acaf970ab3e9e0061f8ff67c56ba073110d", "date": 1672642518.0, "description": "kotlin; tree_to_midi() adds 21 to event.note", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/string_funcs.kt"]], "author": "smith.quintin@protonmail.com"}, "b003fd2952636fb8317fc972c8217b183881825c": {"id": "b003fd2952636fb8317fc972c8217b183881825c", "date": 1672641625.0, "description": "kotlin; bugfix, crashing when trying to use relative mode with leafs between preceding absolute value", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "ba5164044aee792d2cb0f6e30b520405fd8dad9b": {"id": "ba5164044aee792d2cb0f6e30b520405fd8dad9b", "date": 1672641013.0, "description": "kotlin; added leaf fg", "files": [["M", "kotlin/app/src/main/res/values/colors.xml"], ["M", "kotlin/app/src/main/res/layout/item_opusbutton.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "0c9a9ffe0d0dbf9d85f4895df8f3c3f7acf89b7c": {"id": "0c9a9ffe0d0dbf9d85f4895df8f3c3f7acf89b7c", "date": 1672636394.0, "description": "kotlin; adjusted available options on absolute note picker", "files": [["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/string_funcs.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "32344a1760cc78a5224b16e929afb4d8cc7c200d": {"id": "32344a1760cc78a5224b16e929afb4d8cc7c200d", "date": 1672635616.0, "description": "kotlin; relative number selectors/mode buttons dis/appear based on availability", "files": [["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "d97330bb20d5191de0b3fcfa488f74c08b271596": {"id": "d97330bb20d5191de0b3fcfa488f74c08b271596", "date": 1672556808.0, "description": "kotlin; midi export", "files": [["A", "kotlin/app/src/main/res/values/styles.xml"], ["A", "kotlin/app/src/main/res/values/dimens.xml"], ["M", "kotlin/app/src/main/res/layout/item_opusbutton.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_column.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "c936e3065c2deb7f99b5224f8292fc7beb1c8616": {"id": "c936e3065c2deb7f99b5224f8292fc7beb1c8616", "date": 1672514284.0, "description": "kotlin; load project menu cleaned up a bit", "files": [["A", "kotlin/app/src/main/res/layout/loadmenu_item.xml"], ["M", "kotlin/app/src/main/res/layout/load_project.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["A", "kotlin/app/src/main/res/drawable/ic_baseline_close_24.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "25f3e3e8905de3e5bc73f6bc62fba7a7548c998d": {"id": "25f3e3e8905de3e5bc73f6bc62fba7a7548c998d", "date": 1672477507.0, "description": "kotlin; replaced seekbars with numberselectors", "files": [["M", "kotlin/app/src/main/res/values/attrs.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "5f5a3a6942a10afca701c341059fae842a9d38f6": {"id": "5f5a3a6942a10afca701c341059fae842a9d38f6", "date": 1672427969.0, "description": "kotlin; NumberSelector View", "files": [["A", "kotlin/app/src/main/res/values/attrs.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/NumberSelector.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "2a856ce39975daaee72a1d0b2998f0ad83e48c71": {"id": "2a856ce39975daaee72a1d0b2998f0ad83e48c71", "date": 1672343452.0, "description": "kotlin; fixed column headers not shrinking", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/SFPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "bd2d05231210403197b9ea250e04a0443f689a6d": {"id": "bd2d05231210403197b9ea250e04a0443f689a6d", "date": 1672276231.0, "description": "kotlin; filled out onMessageReceive Caller-backer", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres.kt"]], "author": "smith.quintin@protonmail.com"}, "d2340438d661f4334889d27941933f2c984765e0": {"id": "d2340438d661f4334889d27941933f2c984765e0", "date": 1672197979.0, "description": "kotlin; started Midi player (for playback)", "files": [["M", "kotlin/app/src/main/res/layout/numberline_item.xml"], ["M", "kotlin/app/src/main/res/layout/numberline.xml"], ["M", "kotlin/app/src/main/res/layout/button_standard.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/SFPlayer.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "3db5699a1aa744a7840aac7cd2a1d20bc227828d": {"id": "3db5699a1aa744a7840aac7cd2a1d20bc227828d", "date": 1672197977.0, "description": "kotlin; started Midi player (for playback)", "files": [["A", "kotlin/app/src/main/java/com/qfs/radixulous/SFPlayer.kt"]], "author": "smith.quintin@protonmail.com"}, "6c6c66015ec65036d7d9aa406f1c8b5d1840940e": {"id": "6c6c66015ec65036d7d9aa406f1c8b5d1840940e", "date": 1672118218.0, "description": "kotlin; styled cell context menu buttons", "files": [["M", "kotlin/app/src/main/res/values/colors.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_column.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["A", "kotlin/app/src/main/res/layout/button_standard.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres.kt"]], "author": "smith.quintin@protonmail.com"}, "3e7075f1c3566f3038b7ec796315b438dc0fc331": {"id": "3e7075f1c3566f3038b7ec796315b438dc0fc331", "date": 1672042911.0, "description": "kotlin; removed unused svgs", "files": [["D", "kotlin/app/src/main/res/drawable/ring.xml"], ["D", "kotlin/app/src/main/res/drawable/radio_pow_on.xml"], ["D", "kotlin/app/src/main/res/drawable/radio_pow_off.xml"], ["D", "kotlin/app/src/main/res/drawable/radio_pow.xml"], ["D", "kotlin/app/src/main/res/drawable/radio_minus_on.xml"], ["D", "kotlin/app/src/main/res/drawable/radio_minus_off.xml"], ["D", "kotlin/app/src/main/res/drawable/radio_minus.xml"], ["D", "kotlin/app/src/main/res/drawable/radio_log_on.xml"], ["D", "kotlin/app/src/main/res/drawable/radio_log_off.xml"], ["D", "kotlin/app/src/main/res/drawable/radio_log.xml"], ["D", "kotlin/app/src/main/res/drawable/radio_add_on.xml"], ["D", "kotlin/app/src/main/res/drawable/radio_add_off.xml"], ["D", "kotlin/app/src/main/res/drawable/radio_add.xml"]], "author": "smith.quintin@protonmail.com"}, "886e3dd53705ba7a3cef4453e20106ed2fc016de": {"id": "886e3dd53705ba7a3cef4453e20106ed2fc016de", "date": 1672042868.0, "description": "kotlin; improved appearence of relative radiobuttons", "files": [["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/res/values/colors.xml"], ["D", "kotlin/app/src/main/res/layout/table_cell_label.xml"], ["A", "kotlin/app/src/main/res/layout/table_line_label.xml"], ["A", "kotlin/app/src/main/res/layout/table_column_label.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["A", "kotlin/app/src/main/res/drawable/ring.xml"], ["A", "kotlin/app/src/main/res/drawable/radio_pow_on.xml"], ["A", "kotlin/app/src/main/res/drawable/radio_pow_off.xml"], ["A", "kotlin/app/src/main/res/drawable/radio_pow.xml"], ["A", "kotlin/app/src/main/res/drawable/radio_minus_on.xml"], ["A", "kotlin/app/src/main/res/drawable/radio_minus_off.xml"], ["A", "kotlin/app/src/main/res/drawable/radio_minus.xml"], ["A", "kotlin/app/src/main/res/drawable/radio_log_on.xml"], ["A", "kotlin/app/src/main/res/drawable/radio_log_off.xml"], ["A", "kotlin/app/src/main/res/drawable/radio_log.xml"], ["A", "kotlin/app/src/main/res/drawable/radio_add_on.xml"], ["A", "kotlin/app/src/main/res/drawable/radio_add_off.xml"], ["A", "kotlin/app/src/main/res/drawable/radio_add.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "a29c9e9dabe8284435c18ab5f86dd03712cd088c": {"id": "a29c9e9dabe8284435c18ab5f86dd03712cd088c", "date": 1671956779.0, "description": "kotlin; appearance tweaks", "files": [["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/res/values/colors.xml"], ["M", "kotlin/app/src/main/res/layout/table_cell_label.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "f0b77aafb759ad7b65a5f23fe4c4b549fc00f3a2": {"id": "f0b77aafb759ad7b65a5f23fe4c4b549fc00f3a2", "date": 1671909559.0, "description": "kotlin; lint", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "f69b3633a0b79553860ff85843f520376844329b": {"id": "f69b3633a0b79553860ff85843f520376844329b", "date": 1671906888.0, "description": "storing channels with 10-radix suffix", "files": [["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "c1d8e28f2a01970bfbbe78623685c7e18df5aeb7": {"id": "c1d8e28f2a01970bfbbe78623685c7e18df5aeb7", "date": 1671861352.0, "description": "cleaned up generics and removed MIDITree class in python", "files": [["M", "src/opusmanager/structures.py"], ["M", "src/opusmanager/miditree.py"], ["M", "src/opusmanager/layer_flag.py"], ["M", "src/opusmanager/layer_cursor.py"], ["M", "src/opusmanager/layer_base.py"], ["M", "src/event_register.py"], ["M", "kotlin/app/src/main/res/values/colors.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/string_funcs.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "cbf66eaabf672ad5519e19b7bb413312885a104d": {"id": "cbf66eaabf672ad5519e19b7bb413312885a104d", "date": 1671774452.0, "description": "kotlin; static table headers and line labels", "files": [["M", "kotlin/app/src/main/res/layout/table_cell_label.xml"], ["M", "kotlin/app/src/main/res/layout/load_project.xml"], ["M", "kotlin/app/src/main/res/layout/channel_ctrl.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "76eb6d50a0b9ee046f4a43fcb24a04cd1dcefc7a": {"id": "76eb6d50a0b9ee046f4a43fcb24a04cd1dcefc7a", "date": 1671649916.0, "description": "kotlin; export_midi() working", "files": [["A", "kotlin/app/src/test/java/com/qfs/radixulous/StructureUnitTest.kt"], ["M", "kotlin/app/src/test/java/com/qfs/radixulous/BaseLayerUnitTest.kt"], ["A", "kotlin/app/src/test/java/com/qfs/radixulous/ApresUnitTest.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/string_funcs.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "4e379c8aefff3d7a4b40825826bfad3a9d528af9": {"id": "4e379c8aefff3d7a4b40825826bfad3a9d528af9", "date": 1671611642.0, "description": "kotlin; fixed bug in structure's reduce()", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"]], "author": "smith.quintin@protonmail.com"}, "3f5870f15d592102206c4bf6ca398415e3d85657": {"id": "3f5870f15d592102206c4bf6ca398415e3d85657", "date": 1671511847.0, "description": "kotlin; exporting *starting* to work", "files": [["M", "kotlin/app/src/main/res/menu/options_menu.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/string_funcs.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "895469cef6535fd4d898483fbddce9eb7cb6a573": {"id": "895469cef6535fd4d898483fbddce9eb7cb6a573", "date": 1671432079.0, "description": "kotlin; relative leaf sizing", "files": [["M", "kotlin/app/src/main/res/layout/item_opustree.xml"], ["M", "kotlin/app/src/main/res/layout/item_opusbutton.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/string_funcs.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "cf1fa271b3d83dac279972bce3c11f1753a0b76d": {"id": "cf1fa271b3d83dac279972bce3c11f1753a0b76d", "date": 1671326335.0, "description": "kotlin; can pick instruments/drums", "files": [["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/res/layout/item_opusbutton.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_row.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["A", "kotlin/app/src/main/res/font/fira_code.ttf"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/LoadActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "b255afaf3f93ac80d58e64211677270147ba2bff": {"id": "b255afaf3f93ac80d58e64211677270147ba2bff", "date": 1671258426.0, "description": "kotin; percussion controls, instrument menus, relative conversions", "files": [["M", "kotlin/app/src/main/res/values/strings.xml"], ["A", "kotlin/app/src/main/res/menu/percussion_instruments.xml"], ["A", "kotlin/app/src/main/res/menu/channel_instruments.xml"], ["A", "kotlin/app/src/main/res/layout/load_project.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_row.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["A", "kotlin/app/src/main/res/layout/channel_instrument_option.xml"], ["M", "kotlin/app/src/main/res/layout/channel_ctrl.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/LoadActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "09d653fd745c27520845a4cd870a14bf1264d694": {"id": "09d653fd745c27520845a4cd870a14bf1264d694", "date": 1671166175.0, "description": "Relative/Absolute toggle", "files": [["M", "kotlin/app/src/main/res/values/strings.xml"], ["A", "kotlin/app/src/main/res/layout/numberline.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/res/layout/channel_ctrl.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "24b3ef4fa892f8ed09284036ad64577b6581a9c4": {"id": "24b3ef4fa892f8ed09284036ad64577b6581a9c4", "date": 1671070857.0, "description": "kotlin; more bugfixes for undo functionality. undo button in actionbar rather than drop down. lint", "files": [["M", "kotlin/app/src/main/res/values/strings.xml"], ["M", "kotlin/app/src/main/res/menu/options_menu.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "8a59340e681973f3b6b2ce3b9fc24f1b7c0dc2e0": {"id": "8a59340e681973f3b6b2ce3b9fc24f1b7c0dc2e0", "date": 1671035326.0, "description": "kotlin; fixed crash on new/remove lines sometimes", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "89ad7fa9292c5f0535913aac224636ba733fd042": {"id": "89ad7fa9292c5f0535913aac224636ba733fd042", "date": 1670992523.0, "description": "kotlin; refactored history layer. fixed setup_repopulate.", "files": [["M", "kotlin/app/src/test/java/com/qfs/radixulous/HistoryLayerUnitTest.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "163e9df7d559e375707c3f9eaecb2ea24bf09ca8": {"id": "163e9df7d559e375707c3f9eaecb2ea24bf09ca8", "date": 1670914698.0, "description": "kotlin; started refactoring historylayer", "files": [["A", "kotlin/app/src/test/java/com/qfs/radixulous/HistoryLayerUnitTest.kt"], ["D", "kotlin/app/src/test/java/com/qfs/radixulous/ExampleUnitTest.kt"], ["A", "kotlin/app/src/test/java/com/qfs/radixulous/BaseLayerUnitTest.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "22b2065f8f73270a968e7fd93934b8d9bbbe47f7": {"id": "22b2065f8f73270a968e7fd93934b8d9bbbe47f7", "date": 1670812939.0, "description": "kotlin; undo option and linting", "files": [["M", "kotlin/app/src/main/res/menu/options_menu.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["A", "kotlin/app/src/androidTest/java/com/qfs/radixulous/MainActivityTest.kt"]], "author": "smith.quintin@protonmail.com"}, "f5021e45be0e6667d137136e4d1b37940de51907": {"id": "f5021e45be0e6667d137136e4d1b37940de51907", "date": 1670737301.0, "description": "re-coupled FlagLayer", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "e3830a4e1c7a2316118956ee861cff04abbe0d71": {"id": "e3830a4e1c7a2316118956ee861cff04abbe0d71", "date": 1670694642.0, "description": "using regex to parse JSON", "files": [["M", "kotlin/build.gradle"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "c66156c7fb8a6e6e5b511fbae0e4c0c1ea1cc360": {"id": "c66156c7fb8a6e6e5b511fbae0e4c0c1ea1cc360", "date": 1670692493.0, "description": "layer_base save() and layer_linked() save & load", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "a3c05b37a4d98fc208936bb718fb0e907bcfa98e": {"id": "a3c05b37a4d98fc208936bb718fb0e907bcfa98e", "date": 1670651036.0, "description": "kotlin; link behaviour", "files": [["M", "kotlin/app/src/main/res/values/colors.xml"], ["A", "kotlin/app/src/main/res/menu/options_menu.xml"], ["A", "kotlin/app/src/main/res/layout/contextmenu_linking.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "5ac515158d5596b7e8b7c258b377921f285f4ae4": {"id": "5ac515158d5596b7e8b7c258b377921f285f4ae4", "date": 1670561654.0, "description": "kotlin; can load folders", "files": [["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/string_funcs.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "47f0cbe79c2c3e138dee145b9fe02ee868985a55": {"id": "47f0cbe79c2c3e138dee145b9fe02ee868985a55", "date": 1670473741.0, "description": "to/from midi functionality. structure.split()", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/string_funcs.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/apres.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["M", "kotlin/app/src/main/AndroidManifest.xml"]], "author": "smith.quintin@protonmail.com"}, "633efda5805c4159391c03aae0e311c7811e1c6f": {"id": "633efda5805c4159391c03aae0e311c7811e1c6f", "date": 1670465946.0, "description": "bugfix: noticed typo in miditree.py", "files": [["M", "src/opusmanager/miditree.py"]], "author": "smith.quintin@protonmail.com"}, "0f306826e58793d784923072d073d0e2d814f94e": {"id": "0f306826e58793d784923072d073d0e2d814f94e", "date": 1670259639.0, "description": "kotlin; channel menu functionality", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "c38f109991d9e363014f0ceb42e3eb7ea8a4afb5": {"id": "c38f109991d9e363014f0ceb42e3eb7ea8a4afb5", "date": 1670219288.0, "description": "kotlin; created rough popupWindow from channel control. no functionality yet", "files": [["A", "kotlin/app/src/main/res/layout/channel_ctrl.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "f90d251b7572ecd4dea683cf382bdae2c4f966ac": {"id": "f90d251b7572ecd4dea683cf382bdae2c4f966ac", "date": 1670105815.0, "description": "added cursor position to cache. handled rendering of channel 9's label", "files": [["M", "kotlin/app/src/main/res/values/colors.xml"], ["M", "kotlin/app/src/main/res/layout/item_opusbutton.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "80d4597cdbdee90b26a838c7eadb7c1cb1ff3b0d": {"id": "80d4597cdbdee90b26a838c7eadb7c1cb1ff3b0d", "date": 1670043814.0, "description": "Moved cache and related functions to dedicated object", "files": [["M", "kotlin/app/src/main/res/layout/table_cell_label.xml"], ["M", "kotlin/app/src/main/res/layout/item_opusbutton.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "f7054bf4d7acebe16fef8ba6d0123373e2d01f5d": {"id": "f7054bf4d7acebe16fef8ba6d0123373e2d01f5d", "date": 1670037161.0, "description": "kotlin; another caching fix. layout fuckery", "files": [["D", "kotlin/app/src/main/res/layout/item_opusbeat.xml"], ["A", "kotlin/app/src/main/res/layout/numberline_item.xml"], ["M", "kotlin/app/src/main/res/layout/item_opustree.xml"], ["M", "kotlin/app/src/main/res/layout/item_opusbutton.xml"], ["M", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "67bd5fd7649ccf51ba4dbc8d98723db7b0936803": {"id": "67bd5fd7649ccf51ba4dbc8d98723db7b0936803", "date": 1669997737.0, "description": "kotlin; changed set_cursor_position to update_cursor_position", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "91390b2483bb4f7d965b5a4e879d7ce3229b3e71": {"id": "91390b2483bb4f7d965b5a4e879d7ce3229b3e71", "date": 1669962327.0, "description": "kotlin; more fixes to caching system. [rough] remove/insert beat functionality", "files": [["M", "kotlin/app/src/main/res/layout/contextmenu_column.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "5f0a4fe5a34f703d3f5c421066be5cd32a5becbc": {"id": "5f0a4fe5a34f703d3f5c421066be5cd32a5becbc", "date": 1669876120.0, "description": "kotlin; improved caching system", "files": [["M", "kotlin/app/src/main/res/layout/contextmenu_row.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "92c52f2ed7520f06e419440f2289689a532eb8f6": {"id": "92c52f2ed7520f06e419440f2289689a532eb8f6", "date": 1669825837.0, "description": "kotlin; fixed logic issues in opusmanager", "files": [["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "cae8bcca32bef4bc55a85e76a65ffeb7f8006af8": {"id": "cae8bcca32bef4bc55a85e76a65ffeb7f8006af8", "date": 1669774306.0, "description": "kotlin; rough beat cell context menu, split(), unset() and remove()", "files": [["M", "kotlin/app/src/main/res/layout/item_opusbutton.xml"], ["M", "kotlin/app/src/main/res/layout/item_opusbeat.xml"], ["A", "kotlin/app/src/main/res/layout/contextmenu_row.xml"], ["A", "kotlin/app/src/main/res/layout/contextmenu_column.xml"], ["A", "kotlin/app/src/main/res/layout/contextmenu_cell.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/string_funcs.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "ff7b91fefeb702cb76e0f36758a4697ffff8e2fb": {"id": "ff7b91fefeb702cb76e0f36758a4697ffff8e2fb", "date": 1669694289.0, "description": "kotlin; added row/column labels and placeholder context menu", "files": [["A", "kotlin/app/src/main/res/layout/table_cell_label.xml"], ["M", "kotlin/app/src/main/res/layout/item_opustree.xml"], ["A", "kotlin/app/src/main/res/layout/item_opusbutton.xml"], ["A", "kotlin/app/src/main/res/layout/item_opusbeat.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "bb68f0d31624be0b5ad27a77a0bfa7180a4673cf": {"id": "bb68f0d31624be0b5ad27a77a0bfa7180a4673cf", "date": 1669658736.0, "description": "kotlin; Converted to TableLayout", "files": [["M", "kotlin/app/src/main/res/layout/item_opustree.xml"], ["D", "kotlin/app/src/main/res/layout/item_opusline.xml"], ["M", "kotlin/app/src/main/res/layout/activity_main.xml"], ["D", "kotlin/app/src/main/java/com/qfs/radixulous/OpusLineAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "23f861038c9f53ded3edd31cbce3f981306f8772": {"id": "23f861038c9f53ded3edd31cbce3f981306f8772", "date": 1669607719.0, "description": "kotlin; Associated OpusLineAdapter with OpusManager Class instead of list of list of opusTrees. added placeholder functionality to leafs", "files": [["M", "kotlin/app/src/main/res/layout/item_opustree.xml"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/OpusLineAdapter.kt"], ["M", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"]], "author": "smith.quintin@protonmail.com"}, "5547ace5eb509d8b161b9c090d00d2ba306190a9": {"id": "5547ace5eb509d8b161b9c090d00d2ba306190a9", "date": 1669523861.0, "description": "kotlin: building/learning to build the visual interface", "files": [["A", "kotlin/settings.gradle"], ["A", "kotlin/gradlew.bat"], ["A", "kotlin/gradlew"], ["A", "kotlin/gradle/wrapper/gradle-wrapper.properties"], ["A", "kotlin/gradle/wrapper/gradle-wrapper.jar"], ["A", "kotlin/gradle.properties"], ["A", "kotlin/build.gradle"], ["A", "kotlin/app/src/test/java/com/qfs/radixulous/ExampleUnitTest.kt"], ["A", "kotlin/app/src/main/res/xml/data_extraction_rules.xml"], ["A", "kotlin/app/src/main/res/xml/backup_rules.xml"], ["A", "kotlin/app/src/main/res/values/themes.xml"], ["A", "kotlin/app/src/main/res/values/strings.xml"], ["A", "kotlin/app/src/main/res/values/colors.xml"], ["A", "kotlin/app/src/main/res/values-night/themes.xml"], ["A", "kotlin/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp"], ["A", "kotlin/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp"], ["A", "kotlin/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp"], ["A", "kotlin/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp"], ["A", "kotlin/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp"], ["A", "kotlin/app/src/main/res/mipmap-xhdpi/ic_launcher.webp"], ["A", "kotlin/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp"], ["A", "kotlin/app/src/main/res/mipmap-mdpi/ic_launcher.webp"], ["A", "kotlin/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp"], ["A", "kotlin/app/src/main/res/mipmap-hdpi/ic_launcher.webp"], ["A", "kotlin/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml"], ["A", "kotlin/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml"], ["A", "kotlin/app/src/main/res/layout/item_opustree.xml"], ["A", "kotlin/app/src/main/res/layout/item_opusline.xml"], ["A", "kotlin/app/src/main/res/layout/activity_main.xml"], ["A", "kotlin/app/src/main/res/drawable/ic_launcher_background.xml"], ["A", "kotlin/app/src/main/res/drawable-v24/ic_launcher_foreground.xml"], ["D", "kotlin/app/src/main/kotlin/radixulous/app/structure.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/structure/structure.kt"], ["D", "kotlin/app/src/main/kotlin/radixulous/app/string_funcs.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/string_funcs.kt"], ["D", "kotlin/app/src/main/kotlin/radixulous/app/opusmanager/layer_links.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_links.kt"], ["D", "kotlin/app/src/main/kotlin/radixulous/app/opusmanager/layer_history.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_history.kt"], ["D", "kotlin/app/src/main/kotlin/radixulous/app/opusmanager/layer_flag.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_flag.kt"], ["D", "kotlin/app/src/main/kotlin/radixulous/app/opusmanager/layer_cursor.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_cursor.kt"], ["D", "kotlin/app/src/main/kotlin/radixulous/app/opusmanager/layer_base.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/opusmanager/layer_base.kt"], ["D", "kotlin/app/src/main/kotlin/radixulous/app/event_register.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/event_register.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/OpusLineAdapter.kt"], ["A", "kotlin/app/src/main/java/com/qfs/radixulous/MainActivity.kt"], ["A", "kotlin/app/src/main/AndroidManifest.xml"], ["A", "kotlin/app/src/androidTest/java/com/qfs/radixulous/ExampleInstrumentedTest.kt"], ["A", "kotlin/app/proguard-rules.pro"], ["A", "kotlin/app/build.gradle"], ["A", "kotlin/app/.gitignore"]], "author": "smith.quintin@protonmail.com"}, "0df23ffc34a3a7d39f78ad1490a6681219dbc691": {"id": "0df23ffc34a3a7d39f78ad1490a6681219dbc691", "date": 1669266432.0, "description": "kotlin; updated remove/split functions", "files": [["M", "kotlin/app/src/main/kotlin/radixulous/app/structure.kt"], ["M", "kotlin/app/src/main/kotlin/radixulous/app/opusmanager/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "ff3aa7d2c658e6f0f4092424d89d2af444550673": {"id": "ff3aa7d2c658e6f0f4092424d89d2af444550673", "date": 1669264931.0, "description": "kotlin: Changed datatype on channel lines", "files": [["M", "src/opusmanager/layer_base.py"], ["M", "kotlin/app/src/main/kotlin/radixulous/app/string_funcs.kt"], ["D", "kotlin/app/src/main/kotlin/radixulous/app/layer_links.kt"], ["A", "kotlin/app/src/main/kotlin/radixulous/app/opusmanager/layer_links.kt"], ["D", "kotlin/app/src/main/kotlin/radixulous/app/layer_history.kt"], ["A", "kotlin/app/src/main/kotlin/radixulous/app/opusmanager/layer_history.kt"], ["D", "kotlin/app/src/main/kotlin/radixulous/app/layer_flag.kt"], ["A", "kotlin/app/src/main/kotlin/radixulous/app/opusmanager/layer_flag.kt"], ["D", "kotlin/app/src/main/kotlin/radixulous/app/layer_cursor.kt"], ["A", "kotlin/app/src/main/kotlin/radixulous/app/opusmanager/layer_cursor.kt"], ["D", "kotlin/app/src/main/kotlin/radixulous/app/layer_base.kt"], ["A", "kotlin/app/src/main/kotlin/radixulous/app/opusmanager/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "c997828ff5275ed376ea41d1eca4b607d4a02ea1": {"id": "c997828ff5275ed376ea41d1eca4b607d4a02ea1", "date": 1669260346.0, "description": "updated tests to reflect modifications to channels' lines data type", "files": [["M", "src/tests/test_opustree.py"], ["M", "src/tests/test_opusmanager_layer_history.py"], ["M", "src/tests/test_opusmanager_layer_cursor.py"], ["M", "src/tests/test_opusmanager_layer_base.py"], ["M", "src/opusmanager/layer_flag.py"], ["M", "src/opusmanager/layer_cursor.py"], ["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "e602d2fcd48f3fa00db19ba8483c6f349c710be8": {"id": "e602d2fcd48f3fa00db19ba8483c6f349c710be8", "date": 1669245725.0, "description": "handled special case of splitting beat/beat's only leaf", "files": [["M", "src/opusmanager/layer_cursor.py"]], "author": "smith.quintin@protonmail.com"}, "69b178aa954b406b7a0748b88a8679e7f23fe7b3": {"id": "69b178aa954b406b7a0748b88a8679e7f23fe7b3", "date": 1669243200.0, "description": "bugfix: remove() broken", "files": [["M", "src/opusmanager/structures.py"], ["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "5d7e55fd533d3a4445ee07ccfb45297767b4e1b9": {"id": "5d7e55fd533d3a4445ee07ccfb45297767b4e1b9", "date": 1669225038.0, "description": "string interpreter now only sees each beat as a MIDITree rather than the full line", "files": [["M", "src/opusmanager/miditree.py"], ["M", "src/opusmanager/layer_base.py"], ["M", "src/display.py"]], "author": "smith.quintin@protonmail.com"}, "85f569e06cbd5e55e28fa42550d7ed7d8f303fcc": {"id": "85f569e06cbd5e55e28fa42550d7ed7d8f303fcc", "date": 1669221220.0, "description": "unlink_beats now gets visual update", "files": [["M", "src/opusmanager/layer_links.py"], ["M", "src/opusmanager/layer_flag.py"]], "author": "smith.quintin@protonmail.com"}, "61e0e1abdc7e663314f50cae89a63950078e2805": {"id": "61e0e1abdc7e663314f50cae89a63950078e2805", "date": 1669190686.0, "description": "fixed remove() crashing on last element", "files": [["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "5939fde409f7ef35af784c9ff6086ee7af66d78c": {"id": "5939fde409f7ef35af784c9ff6086ee7af66d78c", "date": 1669188597.0, "description": "Changed lines from MIDITrees to List[MidiTree] where the MIDITrees are the beats", "files": [["M", "src/opusmanager/layer_links.py"], ["M", "src/opusmanager/layer_history.py"], ["M", "src/opusmanager/layer_flag.py"], ["M", "src/opusmanager/layer_cursor.py"], ["M", "src/opusmanager/layer_base.py"], ["M", "src/display.py"]], "author": "smith.quintin@protonmail.com"}, "3a151be98b34544e331d25b5caef9df4b4d71378": {"id": "3a151be98b34544e331d25b5caef9df4b4d71378", "date": 1669176450.0, "description": "fixed weird jumping in cursor_move left/right methods. reordered layers", "files": [["D", "tests/test_opustree.py"], ["A", "src/tests/test_opustree.py"], ["D", "tests/test_opusmanager_layer_history.py"], ["A", "src/tests/test_opusmanager_layer_history.py"], ["D", "tests/test_opusmanager_layer_cursor.py"], ["A", "src/tests/test_opusmanager_layer_cursor.py"], ["D", "tests/test_opusmanager_layer_base.py"], ["A", "src/tests/test_opusmanager_layer_base.py"], ["M", "src/opusmanager/miditree.py"], ["M", "src/opusmanager/layer_links.py"], ["M", "src/opusmanager/layer_history.py"], ["M", "src/opusmanager/layer_flag.py"], ["M", "src/opusmanager/layer_cursor.py"], ["M", "src/opusmanager/layer_base.py"], ["M", "src/opusmanager/__init__.py"], ["M", "src/display.py"], ["M", "kotlin/app/src/main/kotlin/radixulous/app/structure.kt"], ["M", "kotlin/app/src/main/kotlin/radixulous/app/string_funcs.kt"], ["M", "kotlin/app/src/main/kotlin/radixulous/app/layer_links.kt"], ["M", "kotlin/app/src/main/kotlin/radixulous/app/layer_history.kt"], ["M", "kotlin/app/src/main/kotlin/radixulous/app/layer_flag.kt"], ["M", "kotlin/app/src/main/kotlin/radixulous/app/layer_cursor.kt"], ["M", "kotlin/app/src/main/kotlin/radixulous/app/layer_base.kt"], ["A", "kotlin/app/src/main/kotlin/radixulous/app/event_register.kt"]], "author": "smith.quintin@protonmail.com"}, "494282cc102d041349443b83de1e321bf17c6887": {"id": "494282cc102d041349443b83de1e321bf17c6887", "date": 1669050593.0, "description": "kotlin; to/from string functions", "files": [["A", "kotlin/app/src/main/kotlin/radixulous/app/string_funcs.kt"]], "author": "smith.quintin@protonmail.com"}, "df561ca722d693f06ba87667e6d65782addb1543": {"id": "df561ca722d693f06ba87667e6d65782addb1543", "date": 1669050558.0, "description": "bugfix: was accidentally setting percussion instrument as event instead of note", "files": [["M", "src/control.py"]], "author": "smith.quintin@protonmail.com"}, "0e55a92c5ed87a109d1c5615ac779fc42af5a2c2": {"id": "0e55a92c5ed87a109d1c5615ac779fc42af5a2c2", "date": 1669050514.0, "description": "lint", "files": [["M", "src/opusmanager/miditree.py"]], "author": "smith.quintin@protonmail.com"}, "08ab4803a86b40d74716455b94576366bae79ba7": {"id": "08ab4803a86b40d74716455b94576366bae79ba7", "date": 1668990754.0, "description": "reordered flag/link layers", "files": [["M", "src/opusmanager/layer_links.py"], ["M", "src/opusmanager/layer_history.py"], ["M", "src/opusmanager/layer_flag.py"], ["M", "src/display.py"]], "author": "smith.quintin@protonmail.com"}, "e1526206794f484c3faed927447c7274e04a4e55": {"id": "e1526206794f484c3faed927447c7274e04a4e55", "date": 1668983540.0, "description": "bugfix: empty beats' rects not being built properly", "files": [["M", "src/opusmanager/miditree.py"], ["M", "src/opusmanager/layer_base.py"], ["M", "src/event_register.py"], ["M", "src/display.py"], ["M", "kotlin/app/src/main/kotlin/radixulous/app/layer_flag.kt"]], "author": "smith.quintin@protonmail.com"}, "09f3edf766dbfba5af4322f08ee954ab0336de33": {"id": "09f3edf766dbfba5af4322f08ee954ab0336de33", "date": 1668967292.0, "description": "fixed tests", "files": [["M", "tests/test_opusmanager_layer_history.py"], ["M", "tests/test_opusmanager_layer_cursor.py"], ["M", "tests/test_opusmanager_layer_base.py"], ["M", "src/opusmanager/layer_playback.py"], ["M", "src/opusmanager/layer_history.py"]], "author": "smith.quintin@protonmail.com"}, "01c035666837bae941b8b4fec7fb71248f9a50bb": {"id": "01c035666837bae941b8b4fec7fb71248f9a50bb", "date": 1668893675.0, "description": "part of previous commit", "files": [["A", "src/event_register.py"]], "author": "smith.quintin@protonmail.com"}, "0953b57b7e223501a9ef0a27bb022634debe17e6": {"id": "0953b57b7e223501a9ef0a27bb022634debe17e6", "date": 1668893515.0, "description": "separated EventRegister from CursorLayer", "files": [["M", "src/opusmanager/layer_links.py"], ["M", "src/opusmanager/layer_history.py"], ["M", "src/opusmanager/layer_flag.py"], ["M", "src/opusmanager/layer_cursor.py"], ["M", "src/opusmanager/layer_base.py"], ["M", "src/control.py"]], "author": "smith.quintin@protonmail.com"}, "54497b557c26674ce7e7f5525d3b8e3f1d132fc5": {"id": "54497b557c26674ce7e7f5525d3b8e3f1d132fc5", "date": 1668891025.0, "description": "separated command_interface out of layer_command", "files": [["M", "src/opusmanager/__init__.py"], ["M", "src/display.py"], ["M", "src/control.py"], ["D", "src/opusmanager/layer_command.py"], ["A", "src/commandinterface.py"], ["M", "src/__init__.py"]], "author": "smith.quintin@protonmail.com"}, "9cf8c4cb10e80a978f2e50e870788a8c49dcb2b5": {"id": "9cf8c4cb10e80a978f2e50e870788a8c49dcb2b5", "date": 1668833663.0, "description": "kotlin; cursor layer", "files": [["M", "src/opusmanager/layer_cursor.py"], ["A", "kotlin/app/src/main/kotlin/radixulous/app/layer_cursor.kt"]], "author": "smith.quintin@protonmail.com"}, "3de37d6d5edf3e6d5c6f323e004534391c1c088a": {"id": "3de37d6d5edf3e6d5c6f323e004534391c1c088a", "date": 1668745235.0, "description": "lint", "files": [["M", "src/opusmanager/layer_links.py"], ["M", "src/opusmanager/layer_flag.py"], ["M", "kotlin/app/src/main/kotlin/radixulous/app/structure.kt"], ["M", "kotlin/app/src/main/kotlin/radixulous/app/layer_links.kt"], ["M", "kotlin/app/src/main/kotlin/radixulous/app/layer_history.kt"], ["M", "kotlin/app/src/main/kotlin/radixulous/app/layer_flag.kt"], ["M", "kotlin/app/src/main/kotlin/radixulous/app/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "cb6134ecd21fda5558fc43db718e522a1852149f": {"id": "cb6134ecd21fda5558fc43db718e522a1852149f", "date": 1668705262.0, "description": "kotlin: LinksLayer", "files": [["A", "kotlin/app/src/main/kotlin/radixulous/app/layer_links.kt"]], "author": "smith.quintin@protonmail.com"}, "c370dd3607fb0f5bfc19d33802c4ade6b6216c52": {"id": "c370dd3607fb0f5bfc19d33802c4ade6b6216c52", "date": 1668619347.0, "description": "typing typo fix", "files": [["M", "src/opusmanager/layer_flag.py"]], "author": "smith.quintin@protonmail.com"}, "33003fbf1808156500df959e1fac060cd80f981d": {"id": "33003fbf1808156500df959e1fac060cd80f981d", "date": 1668619322.0, "description": "kotlin: FlagLayer logic", "files": [["A", "kotlin/app/src/main/kotlin/radixulous/app/layer_flag.kt"]], "author": "smith.quintin@protonmail.com"}, "440285edfe9c0f4d71473ba936a98827af468ba9": {"id": "440285edfe9c0f4d71473ba936a98827af468ba9", "date": 1668616098.0, "description": "lint", "files": [["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "32d2ee6ed1a8bd1fe3e04085f9b1f93d83a275b3": {"id": "32d2ee6ed1a8bd1fe3e04085f9b1f93d83a275b3", "date": 1668572743.0, "description": "kotlin; HistoryLayer logic", "files": [["M", "kotlin/app/src/main/kotlin/radixulous/app/structure.kt"], ["A", "kotlin/app/src/main/kotlin/radixulous/app/layer_history.kt"]], "author": "smith.quintin@protonmail.com"}, "914cf381fe085ec31bd4232106914152bd332b2e": {"id": "914cf381fe085ec31bd4232106914152bd332b2e", "date": 1668561440.0, "description": "added logic to *most* of layer_base.kt", "files": [["M", "kotlin/app/src/main/kotlin/radixulous/app/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "89e4a3d7a81c9ac1a64da854232d194013cc0110": {"id": "89e4a3d7a81c9ac1a64da854232d194013cc0110", "date": 1668479278.0, "description": "Fixed tests to reflect 'grouping' -> 'tree' name change", "files": [["A", "tests/test_opustree.py"], ["M", "tests/test_opusmanager_layer_history.py"], ["M", "tests/test_opusmanager_layer_cursor.py"], ["M", "tests/test_opusmanager_layer_base.py"], ["D", "test_grouping.py"], ["M", "src/opusmanager/structures.py"], ["M", "src/opusmanager/miditree.py"], ["M", "src/opusmanager/layer_history.py"], ["M", "src/opusmanager/layer_cursor.py"], ["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "f47a1defe19dcf575e6450cf587eebbfe19ba500": {"id": "f47a1defe19dcf575e6450cf587eebbfe19ba500", "date": 1668450412.0, "description": "added kotlin app file structure", "files": [["D", "kotlin/structure.kt"], ["A", "kotlin/app/src/main/kotlin/radixulous/app/structure.kt"], ["A", "kotlin/app/src/main/kotlin/radixulous/app/layer_base.kt"]], "author": "smith.quintin@protonmail.com"}, "35c8ac1412b59dd4d15be8cdafb81f417486f935": {"id": "35c8ac1412b59dd4d15be8cdafb81f417486f935", "date": 1668450372.0, "description": "updated tests to reflect name change of OpusTree", "files": [["M", "tests/test_opusmanager_layer_history.py"], ["M", "tests/test_opusmanager_layer_cursor.py"], ["M", "tests/test_opusmanager_layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "d25fa35143321c4535091e2ec6643b2f410fe061": {"id": "d25fa35143321c4535091e2ec6643b2f410fe061", "date": 1668384760.0, "description": "cleaned up usage of 'clear_events()'", "files": [["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "6f45aa8fdea0f559579d30db9f0c2506a089b032": {"id": "6f45aa8fdea0f559579d30db9f0c2506a089b032", "date": 1668378075.0, "description": "Changed 'grouping' to 'tree'", "files": [["M", "src/opusmanager/structures.py"], ["D", "src/opusmanager/mgrouping.py"], ["A", "src/opusmanager/miditree.py"], ["M", "src/opusmanager/layer_links.py"], ["M", "src/opusmanager/layer_history.py"], ["M", "src/opusmanager/layer_flag.py"], ["M", "src/opusmanager/layer_cursor.py"], ["M", "src/opusmanager/layer_base.py"], ["M", "src/display.py"], ["M", "src/control.py"]], "author": "smith.quintin@protonmail.com"}, "263c3d2ac83a4e91925bfb3b71f0c8563a3b6915": {"id": "263c3d2ac83a4e91925bfb3b71f0c8563a3b6915", "date": 1668270613.0, "description": "Moved kotlin out of src", "files": [["D", "src/kotlin/structure.kt"], ["A", "kotlin/structure.kt"]], "author": "smith.quintin@protonmail.com"}, "a06903f5e83d20f0ddfe1bfff8200615126596cb": {"id": "a06903f5e83d20f0ddfe1bfff8200615126596cb", "date": 1668270575.0, "description": "lint", "files": [["M", "src/kotlin/structure.kt"]], "author": "smith.quintin@protonmail.com"}, "4b4d0e7732eca6c4060ecd76978840103262d88d": {"id": "4b4d0e7732eca6c4060ecd76978840103262d88d", "date": 1668270563.0, "description": "Moved kotlin to specific folder in src", "files": [["D", "src/structure.kt"], ["A", "src/kotlin/structure.kt"]], "author": "smith.quintin@protonmail.com"}, "63eb57193e9674a4509e390aad6f18130dc186bf": {"id": "63eb57193e9674a4509e390aad6f18130dc186bf", "date": 1668234163.0, "description": "kotlin structure class written. may still need tweeks", "files": [["M", "src/structure.kt"]], "author": "smith.quintin@protonmail.com"}, "7c24051f0c3a29db27a84ee5db7246eed25bbaa1": {"id": "7c24051f0c3a29db27a84ee5db7246eed25bbaa1", "date": 1668208521.0, "description": "Started kotlin version", "files": [["M", "tests/test_opusmanager_layer_cursor.py"], ["A", "src/structure.kt"]], "author": "smith.quintin@protonmail.com"}, "06324599d1474ddb30be234a914a2ea4342f683a": {"id": "06324599d1474ddb30be234a914a2ea4342f683a", "date": 1668127115.0, "description": "bugfix: accidentally passing list instead of tuple in setup_repopulate", "files": [["M", "tests/test_opusmanager_layer_cursor.py"], ["M", "src/opusmanager/layer_history.py"]], "author": "smith.quintin@protonmail.com"}, "4e2ab681dc7ffd20e529bdc6fe13ff58cdca83b2": {"id": "4e2ab681dc7ffd20e529bdc6fe13ff58cdca83b2", "date": 1668125871.0, "description": "Re-ordered layers", "files": [["M", "tests/test_opusmanager_layer_cursor.py"], ["M", "src/opusmanager/layer_history.py"], ["M", "src/opusmanager/layer_flag.py"], ["M", "src/opusmanager/layer_cursor.py"]], "author": "smith.quintin@protonmail.com"}, "589692b16a138f8dcda61e51109aa420708ac732": {"id": "589692b16a138f8dcda61e51109aa420708ac732", "date": 1668124280.0, "description": "fixed tests to reflect recent change split_grouping()", "files": [["M", "tests/test_opusmanager_layer_history.py"], ["M", "tests/test_opusmanager_layer_cursor.py"], ["M", "tests/test_opusmanager_layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "1fcd92d7dba88ffe01bebab4cfd0f92c39e30064": {"id": "1fcd92d7dba88ffe01bebab4cfd0f92c39e30064", "date": 1668120471.0, "description": "bugfix: move_left() jumping to start of beat sometimes", "files": [["M", "src/opusmanager/layer_cursor.py"]], "author": "smith.quintin@protonmail.com"}, "4c1f3aaaa4a465f5f54e95ef9f7535b57def3f13": {"id": "4c1f3aaaa4a465f5f54e95ef9f7535b57def3f13", "date": 1668115084.0, "description": "special case for split_grouping when splitting a beat's only grouping", "files": [["M", "tests/test_opusmanager_layer_cursor.py"], ["M", "src/opusmanager/mgrouping.py"], ["M", "src/opusmanager/layer_cursor.py"], ["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "b37f79f5b081d9e3d7545f9b9e25c8efdbea72ff": {"id": "b37f79f5b081d9e3d7545f9b9e25c8efdbea72ff", "date": 1668099369.0, "description": "added cursor tests", "files": [["A", "tests/test_opusmanager_layer_cursor.py"], ["M", "src/opusmanager/layer_cursor.py"]], "author": "smith.quintin@protonmail.com"}, "30cd25ff5b8668986531fa42941616feb1f80c9c": {"id": "30cd25ff5b8668986531fa42941616feb1f80c9c", "date": 1668095801.0, "description": "tests: opusmanager.history_layer", "files": [["M", "tests/test_opusmanager_layer_history.py"], ["M", "src/opusmanager/layer_history.py"], ["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "5a0cfc62a09d12f50a4ea38ef1e3c03490d746a2": {"id": "5a0cfc62a09d12f50a4ea38ef1e3c03490d746a2", "date": 1668012056.0, "description": "Added tests for history layer", "files": [["A", "tests/test_opusmanager_layer_history.py"], ["M", "tests/test_opusmanager_layer_base.py"], ["M", "src/opusmanager/layer_history.py"]], "author": "smith.quintin@protonmail.com"}, "63533e4e141074d7d26ed91ca27392ddf25c08fc": {"id": "63533e4e141074d7d26ed91ca27392ddf25c08fc", "date": 1668008535.0, "description": "Added tests", "files": [["M", "tests/test_opusmanager_layer_base.py"], ["M", "src/opusmanager/layer_history.py"], ["D", "__main__.py"]], "author": "smith.quintin@protonmail.com"}, "2c05e2e7d2a2366b41080f1f971135b9a709474e": {"id": "2c05e2e7d2a2366b41080f1f971135b9a709474e", "date": 1667841680.0, "description": "Separated linked beats into LinksLayer", "files": [["M", "tests/test_opusmanager_layer_base.py"], ["A", "src/opusmanager/layer_links.py"], ["M", "src/opusmanager/layer_flag.py"], ["M", "src/opusmanager/layer_cursor.py"], ["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "d0264e307d6e6ff853cb14339720cc73b1ab4ae7": {"id": "d0264e307d6e6ff853cb14339720cc73b1ab4ae7", "date": 1667760598.0, "description": "Using crap 'matches()' function to compare mgroupings. Will come back and replace with __eq__", "files": [["M", "tests/test_opusmanager_layer_base.py"], ["M", "src/opusmanager/mgrouping.py"], ["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "0763a8c9617c2112834a54df75f5512519962e93": {"id": "0763a8c9617c2112834a54df75f5512519962e93", "date": 1667757484.0, "description": "moved line_count()", "files": [["M", "src/opusmanager/layer_cursor.py"], ["M", "src/opusmanager/layer_base.py"], ["M", "src/display.py"]], "author": "smith.quintin@protonmail.com"}, "0ef50f9cccebc69428a9d62735caf86e6dd9c506": {"id": "0ef50f9cccebc69428a9d62735caf86e6dd9c506", "date": 1667666195.0, "description": "added tests", "files": [["M", "tests/test_opusmanager_layer_base.py"], ["M", "src/opusmanager/layer_history.py"], ["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "b4f52f786c95531ca48a5690f0828b7cafe96bb8": {"id": "b4f52f786c95531ca48a5690f0828b7cafe96bb8", "date": 1667581294.0, "description": "added tests. changed set_event(..) signature", "files": [["A", "tests/test_opusmanager_layer_base.py"], ["M", "src/opusmanager/layer_playback.py"], ["M", "src/opusmanager/layer_history.py"], ["M", "src/opusmanager/layer_flag.py"], ["M", "src/opusmanager/layer_cursor.py"], ["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "80d8037fd8184d0299a134b22b81c5f8a6bd0c72": {"id": "80d8037fd8184d0299a134b22b81c5f8a6bd0c72", "date": 1667576178.0, "description": "bugfix: to_midi() wasn't reducing to their lowest forms (notes were shorter than they should've been)", "files": [["M", "src/opusmanager/mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "31e3236d11b7804f5e6f3007d9c6657d3d4a69e1": {"id": "31e3236d11b7804f5e6f3007d9c6657d3d4a69e1", "date": 1667529711.0, "description": "bugfix: jump command crashing", "files": [["M", "src/opusmanager/layer_cursor.py"], ["M", "src/control.py"]], "author": "smith.quintin@protonmail.com"}, "07b93800b9e0347e6163ea1848eabb6e4b4cedb6": {"id": "07b93800b9e0347e6163ea1848eabb6e4b4cedb6", "date": 1667498331.0, "description": "bugfixes from previous commit", "files": [["M", "src/opusmanager/layer_history.py"], ["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "aaaad85b38dc0727c1dfb9564c08d9ece9aa3e79": {"id": "aaaad85b38dc0727c1dfb9564c08d9ece9aa3e79", "date": 1667497740.0, "description": "removed consideration of display order until cursor layer", "files": [["M", "src/opusmanager/layer_history.py"], ["M", "src/opusmanager/layer_flag.py"], ["M", "src/opusmanager/layer_cursor.py"], ["M", "src/opusmanager/layer_command.py"], ["M", "src/opusmanager/layer_base.py"], ["M", "src/opusmanager/errors.py"], ["M", "src/interactor.py"], ["M", "src/display.py"], ["A", "src/control.py"]], "author": "smith.quintin@protonmail.com"}, "a2a6bcc23d5cfd2e52ca3731a6d7e6380f7fec54": {"id": "a2a6bcc23d5cfd2e52ca3731a6d7e6380f7fec54", "date": 1667321571.0, "description": "Lint", "files": [["M", "src/opusmanager/layer_flag.py"], ["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "8e10b012e8587ed46f068cd4b897808030ec5a5d": {"id": "8e10b012e8587ed46f068cd4b897808030ec5a5d", "date": 1667317649.0, "description": "replaced missing kill_flag in command layer", "files": [["M", "src/opusmanager/layer_command.py"], ["M", "src/display.py"]], "author": "smith.quintin@protonmail.com"}, "8724d07ab7e3a21032ffc54df5844c91e7f1632d": {"id": "8724d07ab7e3a21032ffc54df5844c91e7f1632d", "date": 1667315168.0, "description": "sorted methods in base layer", "files": [["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "0746de70246a76919b1330b9a20eb86d63a18176": {"id": "0746de70246a76919b1330b9a20eb86d63a18176", "date": 1667256948.0, "description": "added DEFAULT PERCUSSION constant and undo-ability to set_percussion_instrument()", "files": [["M", "src/opusmanager/layer_playback.py"], ["M", "src/opusmanager/layer_history.py"], ["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "8058a3b4ea2bf2031d996bf151f1b124f4f3b769": {"id": "8058a3b4ea2bf2031d996bf151f1b124f4f3b769", "date": 1667156342.0, "description": "changed how percussion is controlled", "files": [["M", "src/opusmanager/layer_flag.py"], ["M", "src/opusmanager/layer_cursor.py"], ["M", "src/opusmanager/layer_command.py"], ["M", "src/opusmanager/layer_base.py"], ["M", "src/display.py"]], "author": "smith.quintin@protonmail.com"}, "80f6c9eb4312e14e77f8b1ac58e8080bcf7113bf": {"id": "80f6c9eb4312e14e77f8b1ac58e8080bcf7113bf", "date": 1667099035.0, "description": "version bump", "files": [["M", "src/__init__.py"], ["M", "setup.py"]], "author": "smith.quintin@protonmail.com"}, "9a82fcb0db7031005220de6da3ea9d0ad78fd993": {"id": "9a82fcb0db7031005220de6da3ea9d0ad78fd993", "date": 1667065832.0, "description": "renamed InteractionLayer to CommandLayer", "files": [["D", "src/opusmanager/layer_interaction.py"], ["A", "src/opusmanager/layer_command.py"], ["M", "src/opusmanager/__init__.py"]], "author": "smith.quintin@protonmail.com"}, "485f9fb1c1fccac640f8635deb43235fab5982b5": {"id": "485f9fb1c1fccac640f8635deb43235fab5982b5", "date": 1667065749.0, "description": "separated interaction layer so that the OpusManager can be input-device-agnostic like it is GUI agnostic.", "files": [["M", "src/opusmanager/layer_interaction.py"], ["M", "src/opusmanager/layer_cursor.py"], ["D", "src/opusmanager/interactor.py"], ["A", "src/interactor.py"], ["D", "src/editorenvironment.py"], ["A", "src/display.py"], ["M", "src/__init__.py"]], "author": "smith.quintin@protonmail.com"}, "be99d006f0615da2c667033e0347b098bdd9ec8f": {"id": "be99d006f0615da2c667033e0347b098bdd9ec8f", "date": 1667062499.0, "description": "lint", "files": [["M", "src/opusmanager/layer_history.py"], ["M", "src/opusmanager/layer_cursor.py"], ["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "16d59d4651beb817f5289214c1fea2103e5a3aab": {"id": "16d59d4651beb817f5289214c1fea2103e5a3aab", "date": 1667057668.0, "description": "Lint", "files": [["M", "src/opusmanager/layer_flag.py"]], "author": "smith.quintin@protonmail.com"}, "a42c08f80722b1b9317a963cf666ad9b3820d52a": {"id": "a42c08f80722b1b9317a963cf666ad9b3820d52a", "date": 1667003542.0, "description": "turned new/load into class methods", "files": [["M", "src/opusmanager/layer_interaction.py"], ["M", "src/opusmanager/layer_flag.py"], ["M", "src/opusmanager/layer_cursor.py"], ["M", "src/opusmanager/layer_base.py"], ["M", "src/editorenvironment.py"], ["M", "src/__init__.py"]], "author": "smith.quintin@protonmail.com"}, "20b8b37c641afa217fcca88b97572220dd2eef15": {"id": "20b8b37c641afa217fcca88b97572220dd2eef15", "date": 1666975938.0, "description": "Lint", "files": [["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "f5337e146f2c504d1e8e4d7041f9613062651856": {"id": "f5337e146f2c504d1e8e4d7041f9613062651856", "date": 1666975507.0, "description": "Lint", "files": [["A", "src/opusmanager/layer_playback.py"], ["M", "src/opusmanager/layer_interaction.py"], ["M", "src/opusmanager/layer_flag.py"], ["M", "src/opusmanager/layer_cursor.py"], ["M", "src/opusmanager/layer_base.py"], ["A", "src/opusmanager/errors.py"]], "author": "smith.quintin@protonmail.com"}, "5129acdb541748456492543d9714988c095963c8": {"id": "5129acdb541748456492543d9714988c095963c8", "date": 1666889342.0, "description": "bugfix: exporting to midi, starting on a relative note failed", "files": [["M", "src/opusmanager/mgrouping.py"], ["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "f137f94b6504cd7cf160cb4ba81ea1238a4975e4": {"id": "f137f94b6504cd7cf160cb4ba81ea1238a4975e4", "date": 1666887626.0, "description": "static kwargs so i can run commands with piece-specific defaults", "files": [["M", "src/opusmanager/mgrouping.py"], ["M", "src/opusmanager/layer_interaction.py"], ["M", "src/opusmanager/layer_base.py"]], "author": "smith.quintin@protonmail.com"}, "7fed3fa3543c5304b59d542ce21012b1e7c0d95f": {"id": "7fed3fa3543c5304b59d542ce21012b1e7c0d95f", "date": 1666843816.0, "description": "bugfix: cursor_left() and cursor_right() were skipping over beat contents", "files": [["M", "src/opusmanager/layer_cursor.py"]], "author": "smith.quintin@protonmail.com"}, "ae61777566400d4c27e5f35fef0d1598847ac8ff": {"id": "ae61777566400d4c27e5f35fef0d1598847ac8ff", "date": 1666841257.0, "description": "bugfix: insert_beat_at_cursor() throwing error", "files": [["M", "src/opusmanager/layer_cursor.py"]], "author": "smith.quintin@protonmail.com"}, "000cdfab78a510a8d0f639f8079d35f957c37f24": {"id": "000cdfab78a510a8d0f639f8079d35f957c37f24", "date": 1666840816.0, "description": "bugfix: crash on start. was using wrong index in settle() function (formerly adjust())", "files": [["M", "src/opusmanager/mgrouping.py"], ["M", "src/opusmanager/layer_cursor.py"]], "author": "smith.quintin@protonmail.com"}, "c397a30f15c5370424fe0862e7b47bd4fde977d2": {"id": "c397a30f15c5370424fe0862e7b47bd4fde977d2", "date": 1666818692.0, "description": "Split OpusManager into layers. moved cursor into CursorLayer", "files": [["D", "src/structures.py"], ["A", "src/opusmanager/structures.py"], ["D", "src/mgrouping.py"], ["A", "src/opusmanager/mgrouping.py"], ["A", "src/opusmanager/layer_interaction.py"], ["A", "src/opusmanager/layer_history.py"], ["A", "src/opusmanager/layer_flag.py"], ["A", "src/opusmanager/layer_cursor.py"], ["A", "src/opusmanager/layer_base.py"], ["D", "src/interactor.py"], ["A", "src/opusmanager/interactor.py"], ["A", "src/opusmanager/__init__.py"], ["D", "src/opusmanager.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "4fcf6d6f0579db00cd7cce8e470d3cfdb9079251": {"id": "4fcf6d6f0579db00cd7cce8e470d3cfdb9079251", "date": 1666738507.0, "description": "ranges as arguments\n    remove extra whitespace on register when calling run()", "files": [["M", "src/structures.py"], ["M", "src/opusmanager.py"]], "author": "smith.quintin@protonmail.com"}, "92ed0fcc5362d75b0b2aecbb614f7b6096544019": {"id": "92ed0fcc5362d75b0b2aecbb614f7b6096544019", "date": 1666668727.0, "description": "bugfix: couldn't save while editing a folder", "files": [["M", "src/opusmanager.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "91eb341dcc53c132990190dd1cda43d8fb9abc30": {"id": "91eb341dcc53c132990190dd1cda43d8fb9abc30", "date": 1666648970.0, "description": "auto-resizing", "files": [["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "06ead83c663de102a48183d406c749c91332e629": {"id": "06ead83c663de102a48183d406c749c91332e629", "date": 1666648185.0, "description": "bugfix: insert_beat(..) wonky", "files": [["M", "src/structures.py"], ["M", "src/opusmanager.py"], ["M", "src/mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "451ae11813804c7addfc67a991dfde18b7a74544": {"id": "451ae11813804c7addfc67a991dfde18b7a74544", "date": 1666590467.0, "description": "bugfix: inserting new beat breaking", "files": [["M", "src/opusmanager.py"]], "author": "smith.quintin@protonmail.com"}, "bb2f9b286882e225d45802dc5859697100eacf25": {"id": "bb2f9b286882e225d45802dc5859697100eacf25", "date": 1666568143.0, "description": "remove debug code", "files": [["M", "src/opusmanager.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "3ad74911d62c7e68c11d8a4b626b97abef05f1dd": {"id": "3ad74911d62c7e68c11d8a4b626b97abef05f1dd", "date": 1666567443.0, "description": "bugfix: resizing multiple beats at once broken. cursor positioning should always require 3 coordinates.", "files": [["M", "src/opusmanager.py"], ["M", "src/mgrouping.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "ae9b86ce49050f17fc24b458d378dff5fbfa3c2e": {"id": "ae9b86ce49050f17fc24b458d378dff5fbfa3c2e", "date": 1666455738.0, "description": "bugfix: to_string()  & clear_singles() weren't behaving correctly", "files": [["M", "src/structures.py"], ["M", "src/opusmanager.py"], ["M", "src/mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "a2f90a67de369b040a65f25e6780a27645ba25a3": {"id": "a2f90a67de369b040a65f25e6780a27645ba25a3", "date": 1666366737.0, "description": "Link beat ranges", "files": [["M", "src/opusmanager.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "b7d1382ef1ae298deccfb2881ea15a5f3f69cec9": {"id": "b7d1382ef1ae298deccfb2881ea15a5f3f69cec9", "date": 1666363762.0, "description": "linked beats get saved", "files": [["M", "src/opusmanager.py"]], "author": "smith.quintin@protonmail.com"}, "8bb4c54063b5da976b79faeb5d8880cbdb6ea647": {"id": "8bb4c54063b5da976b79faeb5d8880cbdb6ea647", "date": 1666281335.0, "description": "beat linking", "files": [["M", "src/opusmanager.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "82e2c01ce85a1004ed700fc36b77274ac84b1b28": {"id": "82e2c01ce85a1004ed700fc36b77274ac84b1b28", "date": 1666211166.0, "description": "update readme", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "fd507cde0ad632a7ed38ca47362088e0ff7c3ef1": {"id": "fd507cde0ad632a7ed38ca47362088e0ff7c3ef1", "date": 1666211092.0, "description": "added badges to readme", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "115b932d0b4c173449dfd72f1f00015b7ac738f9": {"id": "115b932d0b4c173449dfd72f1f00015b7ac738f9", "date": 1666201317.0, "description": "added 'jump_to_beat(..)'", "files": [["M", "src/opusmanager.py"]], "author": "smith.quintin@protonmail.com"}, "c7dbaf885b74da1a578cd925c58d00372ffa6376": {"id": "c7dbaf885b74da1a578cd925c58d00372ffa6376", "date": 1666200508.0, "description": "Label channel 9 as 'PS' and prevent relative notes on channel 9", "files": [["M", "src/opusmanager.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "c516a20b59f7fd9a33fa562748f095ab4addf71b": {"id": "c516a20b59f7fd9a33fa562748f095ab4addf71b", "date": 1666200083.0, "description": "update readme", "files": [["M", "src/__init__.py"], ["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "3447a1dca92c975346a9143fae5b4033786e9cd3": {"id": "3447a1dca92c975346a9143fae5b4033786e9cd3", "date": 1666199026.0, "description": "Update readme", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "10bcf0e7ad2957fe586d6c7dde2b152692425e52": {"id": "10bcf0e7ad2957fe586d6c7dde2b152692425e52", "date": 1666198803.0, "description": "Name Change", "files": [["M", "src/__init__.py"], ["M", "setup.py"], ["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "cee5f3cdff3c03cc1f7d1fd8ef34f589ba7c2049": {"id": "cee5f3cdff3c03cc1f7d1fd8ef34f589ba7c2049", "date": 1666198736.0, "description": "Name Change", "files": [["M", "buildscript.py"]], "author": "smith.quintin@protonmail.com"}, "0b1caaec6433159e634ede7b2b4ab57a5d5a4cc2": {"id": "0b1caaec6433159e634ede7b2b4ab57a5d5a4cc2", "date": 1666142561.0, "description": "README update", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "40a41dff4247b01546c6e3cea7f11cc18613ebdc": {"id": "40a41dff4247b01546c6e3cea7f11cc18613ebdc", "date": 1666142360.0, "description": "README change", "files": [["M", "src/opusmanager.py"], ["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "81b7c6f4214f0b54162c870cfe193684b4783b37": {"id": "81b7c6f4214f0b54162c870cfe193684b4783b37", "date": 1666135815.0, "description": "command run() arg checking", "files": [["M", "src/opusmanager.py"]], "author": "smith.quintin@protonmail.com"}, "6ac6a5de99f072b4d5e941a2dcf23b14c5f6570f": {"id": "6ac6a5de99f072b4d5e941a2dcf23b14c5f6570f", "date": 1666133556.0, "description": "transposing on export. channel 9 fixed at -3", "files": [["M", "src/opusmanager.py"], ["M", "src/mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "0d6c77c0b83045867804b5d8bb0bb69358f6c58b": {"id": "0d6c77c0b83045867804b5d8bb0bb69358f6c58b", "date": 1666114976.0, "description": "undoable actions", "files": [["M", "src/opusmanager.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "04a770fcb12d4ff2d04d9d9161d305b4ded42235": {"id": "04a770fcb12d4ff2d04d9d9161d305b4ded42235", "date": 1666060547.0, "description": "bugfix: resizing beats was clipping the final beats", "files": [["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "08000efa36bd8c7f26e4729782e30628cbb3b1e7": {"id": "08000efa36bd8c7f26e4729782e30628cbb3b1e7", "date": 1666047290.0, "description": "can start with no path argument", "files": [["M", "src/opusmanager.py"], ["M", "src/editorenvironment.py"], ["M", "src/__init__.py"]], "author": "smith.quintin@protonmail.com"}, "fd8f2709c23b6f1366c671cbe3360e0278388021": {"id": "fd8f2709c23b6f1366c671cbe3360e0278388021", "date": 1666026025.0, "description": "Changed key binding on insert_beat_at_cursor()", "files": [["M", "src/opusmanager.py"]], "author": "smith.quintin@protonmail.com"}, "3ff5bc26eb0f03c16f1379bcaf700b63d604b4ba": {"id": "3ff5bc26eb0f03c16f1379bcaf700b63d604b4ba", "date": 1666025702.0, "description": "bugfix: insert beat not rendering correctly", "files": [["M", "src/opusmanager.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "9cc24429842f86318692d816bb941983279adb62": {"id": "9cc24429842f86318692d816bb941983279adb62", "date": 1666024088.0, "description": "remove() call on a beat grouping uses unset() instead", "files": [["M", "src/opusmanager.py"], ["M", "src/mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "67582409fcaf58085fb34cbc43eea28e6c51272a": {"id": "67582409fcaf58085fb34cbc43eea28e6c51272a", "date": 1666023538.0, "description": "bugfix: remove_beat not rendering correctly", "files": [["M", "src/structures.py"], ["M", "src/opusmanager.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "8416215529c131fec5636ea4ac84ccc6d7ea907b": {"id": "8416215529c131fec5636ea4ac84ccc6d7ea907b", "date": 1665982098.0, "description": "bugfix: beat not resizing", "files": [["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "36ea43d244b6732107421a3661944e7633cb59fd": {"id": "36ea43d244b6732107421a3661944e7633cb59fd", "date": 1665941572.0, "description": "bugfix: remove()", "files": [["M", "src/opusmanager.py"], ["M", "src/mgrouping.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "91c2a8b95ed33caf7bb159a534479179af2a9366": {"id": "91c2a8b95ed33caf7bb159a534479179af2a9366", "date": 1665894453.0, "description": "bugfix: channel swapping", "files": [["M", "src/opusmanager.py"], ["M", "src/mgrouping.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "eac172be5dd9ba1a839b9eed5efe56669c11c4fb": {"id": "eac172be5dd9ba1a839b9eed5efe56669c11c4fb", "date": 1665861564.0, "description": "bugfix: cursor not updating when changing event value", "files": [["M", "src/opusmanager.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "36718e8a9be164f444a82ba9bf59820f8d070a89": {"id": "36718e8a9be164f444a82ba9bf59820f8d070a89", "date": 1665854563.0, "description": "bugfix: set_beat_event() not visually updating", "files": [["M", "src/opusmanager.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "d9ca92b2082f8447e6c1afb5cef4346c321ff072": {"id": "d9ca92b2082f8447e6c1afb5cef4346c321ff072", "date": 1665853286.0, "description": "bugfixes from refactor: insert line and initialization", "files": [["M", "src/opusmanager.py"], ["M", "src/editorenvironment.py"], ["M", "src/__init__.py"]], "author": "smith.quintin@protonmail.com"}, "3743a7f921ad588b7cebf9dad247cc1ba8636af0": {"id": "3743a7f921ad588b7cebf9dad247cc1ba8636af0", "date": 1665808678.0, "description": "fixed kill()", "files": [["M", "src/opusmanager.py"], ["M", "src/interactor.py"], ["M", "src/editorenvironment.py"], ["M", "src/__init__.py"]], "author": "smith.quintin@protonmail.com"}, "e04c93a891122508359ab234a37044b0eb005f85": {"id": "e04c93a891122508359ab234a37044b0eb005f85", "date": 1665796682.0, "description": "refactored. *sorta* working state", "files": [["M", "src/opusmanager.py"], ["M", "src/editorenvironment.py"], ["M", "src/__init__.py"]], "author": "smith.quintin@protonmail.com"}, "1054ce76a6d50ffab48a6bb9eaa75a9d40a4c210": {"id": "1054ce76a6d50ffab48a6bb9eaa75a9d40a4c210", "date": 1665680459.0, "description": "Started refactor", "files": [["A", "src/wrecked_elements.py"], ["M", "src/opusmanager.py"], ["M", "src/interactor.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "f5f880bb6d8c74601db0c8eb7cf0c2df0ad938a2": {"id": "f5f880bb6d8c74601db0c8eb7cf0c2df0ad938a2", "date": 1665592314.0, "description": "Started README", "files": [["M", "README.md"]], "author": "smith.quintin@protonmail.com"}, "8fb9d142f300f3baf267d84beaba155d5503312d": {"id": "8fb9d142f300f3baf267d84beaba155d5503312d", "date": 1665591874.0, "description": "Added License file", "files": [["A", "LICENSE"]], "author": "smith.quintin@protonmail.com"}, "1ebb197e740d7359fa6120b7e0a7b858ce42dafe": {"id": "1ebb197e740d7359fa6120b7e0a7b858ce42dafe", "date": 1665591731.0, "description": "set_error_msg(..) & bugfix re: digit input", "files": [["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "1479bbb15f8e741684f6ea32a5470904fdc0c100": {"id": "1479bbb15f8e741684f6ea32a5470904fdc0c100", "date": 1665590975.0, "description": "error feedback and argument checking on commands", "files": [["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "bba88fae6add2f823e6bc3e837bad8f31aca9e33": {"id": "bba88fae6add2f823e6bc3e837bad8f31aca9e33", "date": 1665528441.0, "description": "package sanitization", "files": [["M", "src/opusmanager.py"], ["M", "src/mgrouping.py"], ["M", "src/editorenvironment.py"], ["M", "src/__init__.py"], ["M", "setup.py"], ["M", "buildscript.py"]], "author": "smith.quintin@protonmail.com"}, "79192beecf679dc636873813145c6e07d6542ca8": {"id": "79192beecf679dc636873813145c6e07d6542ca8", "date": 1665511467.0, "description": "sanitized buildscript", "files": [["M", "src/opusmanager.py"], ["M", "src/mgrouping.py"], ["M", "src/editorenvironment.py"], ["M", "src/__init__.py"], ["M", "setup.py"], ["M", "buildscript.py"]], "author": "smith.quintin@protonmail.com"}, "1a95a81bcf24abdd0c8e07fd0ab9a57d8b96554b": {"id": "1a95a81bcf24abdd0c8e07fd0ab9a57d8b96554b", "date": 1665508804.0, "description": "organized for packaging", "files": [["M", "src/opusmanager.py"], ["M", "src/mgrouping.py"], ["M", "src/editorenvironment.py"], ["A", "src/__init__.py"], ["A", "setup.py"], ["A", "buildscript.py"], ["A", "README.md"]], "author": "smith.quintin@protonmail.com"}, "c9eba502e918bbcf9a1a4fb676fd56db42b082a5": {"id": "c9eba502e918bbcf9a1a4fb676fd56db42b082a5", "date": 1665505721.0, "description": "fixed bugs in swap channels", "files": [["M", "src/opusmanager.py"], ["M", "src/interactor.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "08472202edbaad846b1b63212ffb177f2c1a835d": {"id": "08472202edbaad846b1b63212ffb177f2c1a835d", "date": 1665462677.0, "description": "interactor uses bytestrings instead of str", "files": [["M", "src/interactor.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "f5bac2a5b188e39658c81733f38e68f8257e3506": {"id": "f5bac2a5b188e39658c81733f38e68f8257e3506", "date": 1665461655.0, "description": "allowing arrows in input", "files": [["M", "src/interactor.py"]], "author": "smith.quintin@protonmail.com"}, "d92b233c8d1f1691594f986dafd9a09b1f038c9b": {"id": "d92b233c8d1f1691594f986dafd9a09b1f038c9b", "date": 1665341513.0, "description": "Created CommandLedger Object to handle command history", "files": [["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "9a0909563af486dc1d7ca63a15d6fd8d5b33c5a8": {"id": "9a0909563af486dc1d7ca63a15d6fd8d5b33c5a8", "date": 1665249680.0, "description": "Swap channel function", "files": [["M", "src/opusmanager.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "1abf1c55e9b3c06ce6b33a7b4b19fe57d6e16b59": {"id": "1abf1c55e9b3c06ce6b33a7b4b19fe57d6e16b59", "date": 1665247021.0, "description": "fixed remove_beat() and added unset()", "files": [["M", "src/opusmanager.py"], ["M", "src/mgrouping.py"], ["M", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "04dd94092aafa1b898c0763132d47d1fcfed053e": {"id": "04dd94092aafa1b898c0763132d47d1fcfed053e", "date": 1665159935.0, "description": "reorganized front/back ends of editor", "files": [["A", "src/opusmanager.py"], ["D", "src/env.py"], ["A", "src/editorenvironment.py"]], "author": "smith.quintin@protonmail.com"}, "cf1278887976fa846b6ad261e21d3b648efac9dc": {"id": "cf1278887976fa846b6ad261e21d3b648efac9dc", "date": 1665158883.0, "description": "fixed lost line dividers", "files": [["M", "src/env.py"]], "author": "smith.quintin@protonmail.com"}, "a039422eb17fa39f78f4e4c1ba26dd38d2cc2b66": {"id": "a039422eb17fa39f78f4e4c1ba26dd38d2cc2b66", "date": 1665158720.0, "description": "Added y-offset panning", "files": [["M", "src/env.py"]], "author": "smith.quintin@protonmail.com"}, "f517cbf9d98f48724b4747a1b2a49b8b5f2ed250": {"id": "f517cbf9d98f48724b4747a1b2a49b8b5f2ed250", "date": 1665103301.0, "description": "improved border handling by creating a 'RectFrame' class", "files": [["M", "src/env.py"]], "author": "smith.quintin@protonmail.com"}, "9dc26b3106445ddbc152ca3e9a5ab110dd59eade": {"id": "9dc26b3106445ddbc152ca3e9a5ab110dd59eade", "date": 1665075682.0, "description": "export command", "files": [["M", "src/env.py"]], "author": "smith.quintin@protonmail.com"}, "520fc15a28823ddf1d3e8284cfc0fd6c307bba9b": {"id": "520fc15a28823ddf1d3e8284cfc0fd6c307bba9b", "date": 1665074785.0, "description": "add/remove channels", "files": [["M", "src/env.py"]], "author": "smith.quintin@protonmail.com"}, "fa7263359415b21f2b67f9a0e6e26378773323bc": {"id": "fa7263359415b21f2b67f9a0e6e26378773323bc", "date": 1665071188.0, "description": "cleaned up border drawing", "files": [["M", "src/env.py"]], "author": "smith.quintin@protonmail.com"}, "5571bd53306463c31efe60f24ea083935d1dd7b7": {"id": "5571bd53306463c31efe60f24ea083935d1dd7b7", "date": 1665004501.0, "description": "added borders", "files": [["M", "src/env.py"]], "author": "smith.quintin@protonmail.com"}, "3076d9defc1e65e86934fc6888825889928f7ee9": {"id": "3076d9defc1e65e86934fc6888825889928f7ee9", "date": 1665000738.0, "description": "colour-coding relative notes", "files": [["M", "src/env.py"]], "author": "smith.quintin@protonmail.com"}, "81f36fa7c5c6f247dc9cacfed062571ee3bfd12e": {"id": "81f36fa7c5c6f247dc9cacfed062571ee3bfd12e", "date": 1665000093.0, "description": "moved files into 'src' directory", "files": [["D", "structures.py"], ["A", "src/structures.py"], ["D", "mgrouping.py"], ["A", "src/mgrouping.py"], ["A", "src/interactor.py"], ["D", "env.py"], ["A", "src/env.py"]], "author": "smith.quintin@protonmail.com"}, "c3497a28db52afb0cb6cb9dead824804958ebea0": {"id": "c3497a28db52afb0cb6cb9dead824804958ebea0", "date": 1664999505.0, "description": "command register", "files": [["M", "structures.py"], ["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "d662ff7f89f789c307375f64fd0e76fd08dff329": {"id": "d662ff7f89f789c307375f64fd0e76fd08dff329", "date": 1664900809.0, "description": "Basic Saving", "files": [["M", "mgrouping.py"], ["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "d0f9ef9e9b08cc00395acea8d807f31325b2ff13": {"id": "d0f9ef9e9b08cc00395acea8d807f31325b2ff13", "date": 1664818668.0, "description": "added very rough (optionless) export()", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "56a65ddba02e9f6af018c0364c44f313f49a1515": {"id": "56a65ddba02e9f6af018c0364c44f313f49a1515", "date": 1664817783.0, "description": "cleaned up user input process. added inc/dec.", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "bc829fdb8a9bd712086b69829bcbc535c90bc18b": {"id": "bc829fdb8a9bd712086b69829bcbc535c90bc18b", "date": 1664768617.0, "description": "fixed dumb logic when shifting lines with view offset", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "665c88a002f0e40f6ed3380a0c45c3e6bef79d4e": {"id": "665c88a002f0e40f6ed3380a0c45c3e6bef79d4e", "date": 1664656401.0, "description": "display relative notes as relative notes", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "2a8f1e356a400a7aae18f66b1883afcca3a91fef": {"id": "2a8f1e356a400a7aae18f66b1883afcca3a91fef", "date": 1664655816.0, "description": "part of previous commit", "files": [["M", "mgrouping.py"], ["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "d45f5da56b00a69df62a58209b758a210113a225": {"id": "d45f5da56b00a69df62a58209b758a210113a225", "date": 1664655015.0, "description": "to_midi will remove redundant single-grouping wrappers", "files": [["M", "structures.py"], ["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "a2b72bc7df4b01d872a621537700723cfd66b0cb": {"id": "a2b72bc7df4b01d872a621537700723cfd66b0cb", "date": 1664654993.0, "description": "to_midi will remove redundant single-grouping wrappers", "files": [["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "be08685f484323d8c5271d781dc44b4c88c4a75a": {"id": "be08685f484323d8c5271d781dc44b4c88c4a75a", "date": 1664653494.0, "description": "added 'relative' arg to MGroupingEvent to keep notes relative up until they are exported to midi", "files": [["M", "mgrouping.py"], ["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "13a6bde698a5c87919bdc79367dc739ccb486779": {"id": "13a6bde698a5c87919bdc79367dc739ccb486779", "date": 1664572914.0, "description": "Remove dividers on remove_line()", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "7f7bf1f8534855d8d5252034b2f7e6103a137ded": {"id": "7f7bf1f8534855d8d5252034b2f7e6103a137ded", "date": 1664572377.0, "description": "Add/Remove Lines", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "ce15d4f3ca334a372580607aa76831ee9e998056": {"id": "ce15d4f3ca334a372580607aa76831ee9e998056", "date": 1664507397.0, "description": "fix to split_at_cursor(...)", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "3d2ab8f3133f8eb49bb2a2da374ef16d06053481": {"id": "3d2ab8f3133f8eb49bb2a2da374ef16d06053481", "date": 1664507083.0, "description": "Added splitting", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "1216b83e2c9511454458e8de95f7b164f257659e": {"id": "1216b83e2c9511454458e8de95f7b164f257659e", "date": 1664469702.0, "description": "added dividers between channels", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "f51ae1dc7b35e563c79d59e9fc1f704f2da124e6": {"id": "f51ae1dc7b35e563c79d59e9fc1f704f2da124e6", "date": 1664467349.0, "description": "view window border", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "4e3df2233744b23b2dd86d00edbd916cce59f4cf": {"id": "4e3df2233744b23b2dd86d00edbd916cce59f4cf", "date": 1664465400.0, "description": "lines get re-rendered when they change length", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "3a322b326c74742c4c39b4eb492400f25dea2639": {"id": "3a322b326c74742c4c39b4eb492400f25dea2639", "date": 1664388478.0, "description": "Added rough beat labels", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "f043aa31ef3ce6e1a3e5ee7c0ad91b1453571a4e": {"id": "f043aa31ef3ce6e1a3e5ee7c0ad91b1453571a4e", "date": 1664387891.0, "description": "finished insert_after_cursor(...) behaviour", "files": [["M", "structures.py"], ["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "5a6e729eeef07f201693012b20532afccaad772c": {"id": "5a6e729eeef07f201693012b20532afccaad772c", "date": 1664382618.0, "description": "added screen movement", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "d3d17800382cf887939d02acc34f91fb67cb4afc": {"id": "d3d17800382cf887939d02acc34f91fb67cb4afc", "date": 1664320140.0, "description": "removed redundancy from previous commit", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "e1e647eac01471bf10a6d2390fca3acde72e0883": {"id": "e1e647eac01471bf10a6d2390fca3acde72e0883", "date": 1664316477.0, "description": "Added register and event input", "files": [["M", "structures.py"], ["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "ac44925bc7cbb709f09cfd55611a83d9b60d85d0": {"id": "ac44925bc7cbb709f09cfd55611a83d9b60d85d0", "date": 1664299193.0, "description": "fixed accidentally calling new_rect() every time a beat_rect is rebuilt", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "a093fbf58c9513daf8c1a381f0e2e8fdf78efde7": {"id": "a093fbf58c9513daf8c1a381f0e2e8fdf78efde7", "date": 1664297858.0, "description": "stopped using grouping uuids to map rects", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "15e6150371776e73e0b5ebf86577c053ce7ea17f": {"id": "15e6150371776e73e0b5ebf86577c053ce7ea17f", "date": 1664295572.0, "description": "cleaned up tick() a bit", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "85d01a8597e2c002812baa8d335c8a7734510c1e": {"id": "85d01a8597e2c002812baa8d335c8a7734510c1e", "date": 1664215163.0, "description": "Rough handling of beat width changes", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "9a1f537dc90db04fb381eebe9b7fc267cfc65319": {"id": "9a1f537dc90db04fb381eebe9b7fc267cfc65319", "date": 1664151931.0, "description": "center beat, but better", "files": [["M", "mgrouping.py"], ["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "cb7e14edb6dcac5a9b25b252961442f28324aad6": {"id": "cb7e14edb6dcac5a9b25b252961442f28324aad6", "date": 1664041046.0, "description": "Added remove()", "files": [["M", "structures.py"], ["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "52e598c9cf9178ee1c78043524aafecc4f7c79d2": {"id": "52e598c9cf9178ee1c78043524aafecc4f7c79d2", "date": 1663973329.0, "description": "Switched MGroupingEvent from tuple to dedicated class", "files": [["M", "mgrouping.py"], ["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "39c7f45b54a4c19d07860667c197357e6b29a18e": {"id": "39c7f45b54a4c19d07860667c197357e6b29a18e", "date": 1663951539.0, "description": "bugfix: cursor rolling to end of first beat after cursor_left() call at furthest left position", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "d8ffb247bd700aefc6481645481f2c7421606634": {"id": "d8ffb247bd700aefc6481645481f2c7421606634", "date": 1663950643.0, "description": "Cursor control w hjkl", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "74f4b5e6baa4ef86970290cf2699aae4e5546934": {"id": "74f4b5e6baa4ef86970290cf2699aae4e5546934", "date": 1663863497.0, "description": "minor bugfix", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "0a89dbd60adfad2566a34b3b8417561af01aa5c0": {"id": "0a89dbd60adfad2566a34b3b8417561af01aa5c0", "date": 1663863210.0, "description": "improved render process. added cursor movement functions", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "6e969ce2e78b8cb90eb7f185b33639f428549079": {"id": "6e969ce2e78b8cb90eb7f185b33639f428549079", "date": 1663825142.0, "description": "beat widths equalized. notes centered on beats", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "a247db509939834819c593aded4760e6e0e5bcdf": {"id": "a247db509939834819c593aded4760e6e0e5bcdf", "date": 1663823217.0, "description": "beats drawing correctly, apart from beat widths", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "6cae3bb5b6db2afcd557cff47d5a4b6fe40bffcb": {"id": "6cae3bb5b6db2afcd557cff47d5a4b6fe40bffcb", "date": 1663793140.0, "description": "started having every grouping as its own rect", "files": [["M", "structures.py"], ["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "ed2f561b5d0759af4d5d94ed0ecd6a9622b697b9": {"id": "ed2f561b5d0759af4d5d94ed0ecd6a9622b697b9", "date": 1663691288.0, "description": "work on user environment", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "4a63b96f6c7a0f6fa933894e0ef0c1b730bf89f2": {"id": "4a63b96f6c7a0f6fa933894e0ef0c1b730bf89f2", "date": 1663607135.0, "description": "Mostly functional OpusManager backend for environment", "files": [["M", "env.py"]], "author": "smith.quintin@protonmail.com"}, "2c8dd2d231462f8df486f80cd948f46398d5d44c": {"id": "2c8dd2d231462f8df486f80cd948f46398d5d44c", "date": 1663528281.0, "description": "started wrecked environment", "files": [["M", "structures.py"], ["A", "env.py"], ["M", "__main__.py"]], "author": "smith.quintin@protonmail.com"}, "3a4773f04c23af67f1b24dfaa5dc6c12b432b84e": {"id": "3a4773f04c23af67f1b24dfaa5dc6c12b432b84e", "date": 1663458312.0, "description": "fixed accidental breakage when linting", "files": [["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "35bf2f1d5eccbb4563b9b279e6954e3acfb274e1": {"id": "35bf2f1d5eccbb4563b9b279e6954e3acfb274e1", "date": 1663425600.0, "description": "lint", "files": [["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "da7fc4e7e40d67984a03499725da0c4c5cbf232b": {"id": "da7fc4e7e40d67984a03499725da0c4c5cbf232b", "date": 1662230849.0, "description": "ignoring NoteOffs when converting FROM midi\n    fixed regex when creating midi from directory", "files": [["M", "mgrouping.py"], ["M", "__main__.py"]], "author": "smith.quintin@protonmail.com"}, "6b8e018b1d728f813a7bccdbd5752c12248c4f32": {"id": "6b8e018b1d728f813a7bccdbd5752c12248c4f32", "date": 1661100275.0, "description": "altered REPEAT behaviour so number value is the number of preceding groupings", "files": [["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "65884b59f86ffbb3382204d5f1981e92749e474b": {"id": "65884b59f86ffbb3382204d5f1981e92749e474b", "date": 1661013973.0, "description": "lint", "files": [["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "919d30348cb81e52da42e4d6eec444aaab0c0c4a": {"id": "919d30348cb81e52da42e4d6eec444aaab0c0c4a", "date": 1661013418.0, "description": "Start/end arguments working again", "files": [["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "4fe7ceaab854d3cb4322f81d014f640ac014adbf": {"id": "4fe7ceaab854d3cb4322f81d014f640ac014adbf", "date": 1661012968.0, "description": "building from directory now works. Was trying to merge potentially unequally sized groupings", "files": [["M", "structures.py"], ["M", "mgrouping.py"], ["M", "__main__.py"]], "author": "smith.quintin@protonmail.com"}, "3eb158d31427e1b54632e702f4f75b85b8653fc3": {"id": "3eb158d31427e1b54632e702f4f75b85b8653fc3", "date": 1660927833.0, "description": "Failed attempt at speeding up flatten()", "files": [["M", "test_grouping.py"], ["M", "structures.py"]], "author": "smith.quintin@protonmail.com"}, "95cf9438d5cb0660e8304b7a1375b3ce0fd90b2d": {"id": "95cf9438d5cb0660e8304b7a1375b3ce0fd90b2d", "date": 1660895937.0, "description": "Left note to speed up flatten() for myself", "files": [["M", "structures.py"]], "author": "smith.quintin@protonmail.com"}, "4e0579c6a4f4b823b55b88b970fa713bfcfffbe2": {"id": "4e0579c6a4f4b823b55b88b970fa713bfcfffbe2", "date": 1660895794.0, "description": "Got merge test working", "files": [["M", "test_grouping.py"]], "author": "smith.quintin@protonmail.com"}, "d398a1286d1dad5ec2dae388db2c2833579d2532": {"id": "d398a1286d1dad5ec2dae388db2c2833579d2532", "date": 1660889694.0, "description": "Merge ALMOST working", "files": [["M", "test_grouping.py"], ["M", "structures.py"], ["M", "mgrouping.py"], ["M", "__main__.py"]], "author": "smith.quintin@protonmail.com"}, "8d6ddae11c08ba706d61d67e4b1732ecc7c2fb8a": {"id": "8d6ddae11c08ba706d61d67e4b1732ecc7c2fb8a", "date": 1660757878.0, "description": "added Grouping tests", "files": [["A", "test_grouping.py"]], "author": "smith.quintin@protonmail.com"}, "323840836b462cf5e279b4e8b145718048fb808b": {"id": "323840836b462cf5e279b4e8b145718048fb808b", "date": 1660667296.0, "description": "fixed merge(), finished split(), reduce() needs to be fixed", "files": [["M", "structures.py"], ["M", "mgrouping.py"], ["M", "__main__.py"]], "author": "smith.quintin@protonmail.com"}, "f63770fb7c9bb9ffb3296a2f874863581870dbac": {"id": "f63770fb7c9bb9ffb3296a2f874863581870dbac", "date": 1660627260.0, "description": "organized classes/functions. Added split function", "files": [["M", "structures.py"], ["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "ee6fd2f5ad2f17e39711e28a05083efad4e006cf": {"id": "ee6fd2f5ad2f17e39711e28a05083efad4e006cf", "date": 1660627234.0, "description": "created __main__", "files": [["A", "__main__.py"]], "author": "smith.quintin@protonmail.com"}, "4d44adf95e8301c46c1a4fb6fa8595ce99f2aa37": {"id": "4d44adf95e8301c46c1a4fb6fa8595ce99f2aa37", "date": 1660499626.0, "description": "lint, work started on adding CH_HOLD support to from_midi()", "files": [["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "81e54ad58aae87bf307c4bde15a5e3f130a30b6e": {"id": "81e54ad58aae87bf307c4bde15a5e3f130a30b6e", "date": 1660449148.0, "description": "fixed bug in reduce()", "files": [["M", "structures.py"], ["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "183f25931d1152ac1441e70abf51e7e3b82cfed0": {"id": "183f25931d1152ac1441e70abf51e7e3b82cfed0", "date": 1660324980.0, "description": "First pass at to_string()", "files": [["M", "structures.py"], ["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "a1c63bb3cd84f36415e03f94e44a4b38e269a9ec": {"id": "a1c63bb3cd84f36415e03f94e44a4b38e269a9ec", "date": 1660279419.0, "description": "Moved cropping to to_midi()", "files": [["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "7a5b1ea953b2141438a143c654bd7e6d4f4d9538": {"id": "7a5b1ea953b2141438a143c654bd7e6d4f4d9538", "date": 1660073959.0, "description": "added vmap to handle channel volumes", "files": [["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "91e34593858e3ca75fd6eb5b00fbd3a6b0bf41fe": {"id": "91e34593858e3ca75fd6eb5b00fbd3a6b0bf41fe", "date": 1659995664.0, "description": "added ability to use single file or folder of suffixed files", "files": [["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "069f4266856792d1f69d354088b760f6c76a468a": {"id": "069f4266856792d1f69d354088b760f6c76a468a", "date": 1659993476.0, "description": "Added merge() and resize() to Grouping", "files": [["M", "structures.py"]], "author": "smith.quintin@protonmail.com"}, "f3383a3107b87b07399c89ce777e49d155c8d2eb": {"id": "f3383a3107b87b07399c89ce777e49d155c8d2eb", "date": 1659891612.0, "description": "Can force Channel", "files": [["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "6416bb57485398dcb2b07e6c6caf1bfc0c8ff3d0": {"id": "6416bb57485398dcb2b07e6c6caf1bfc0c8ff3d0", "date": 1659721715.0, "description": "REPEAT groupings", "files": [["M", "structures.py"], ["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "f50212e3af554a57ac23f6559b34798e45fc906e": {"id": "f50212e3af554a57ac23f6559b34798e45fc906e", "date": 1659111153.0, "description": "fixed first note not being changed when instrument is set", "files": [["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "140bfbcfe760f9518ba6ca23193638adb7fc1841": {"id": "140bfbcfe760f9518ba6ca23193638adb7fc1841", "date": 1659054296.0, "description": "--iN option added to set instrument", "files": [["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "d8d398d458a3844621f5a546f2e3dd2cd8d6f033": {"id": "d8d398d458a3844621f5a546f2e3dd2cd8d6f033", "date": 1658944067.0, "description": "implemented slicing with start/end", "files": [["M", "structures.py"], ["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "a4520ca68f206550fd27eedd9963c27e97895a09": {"id": "a4520ca68f206550fd27eedd9963c27e97895a09", "date": 1658943447.0, "description": "handle slices for __getitem__", "files": [["M", "structures.py"]], "author": "smith.quintin@protonmail.com"}, "d636154cacbb1bcd2f0dfa41bf10769176b009da": {"id": "d636154cacbb1bcd2f0dfa41bf10769176b009da", "date": 1658898302.0, "description": "Added 'hold' character", "files": [["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "3b069303de0def4e7611a0e8951ab9190622725e": {"id": "3b069303de0def4e7611a0e8951ab9190622725e", "date": 1658850394.0, "description": "sys kwargs checking", "files": [["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "10590c00c2c93c59400d5e45ed45017e355fe1f9": {"id": "10590c00c2c93c59400d5e45ed45017e355fe1f9", "date": 1658849986.0, "description": "updated some apres syntax to reflect recent changes", "files": [["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "e645988f57226e31177d65bf74f7ec0b8fc8f068": {"id": "e645988f57226e31177d65bf74f7ec0b8fc8f068", "date": 1658849301.0, "description": "added mgrouping", "files": [["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "55c55db7736515575771f4dd07c467041618e4ed": {"id": "55c55db7736515575771f4dd07c467041618e4ed", "date": 1656523440.0, "description": "Added Relative operators (^\\!+-) to interpreter", "files": [["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "a7b938987ac0149cdbf04012752b3e4e43aa1cab": {"id": "a7b938987ac0149cdbf04012752b3e4e43aa1cab", "date": 1656453036.0, "description": "i *think* i figured out bending pitch based on not base", "files": [["M", "structures.py"], ["M", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "5d6e7b5fa62b053e0a8b916697120db77fc10f44": {"id": "5d6e7b5fa62b053e0a8b916697120db77fc10f44", "date": 1656441427.0, "description": "created separated class for midi-specific grouping", "files": [["A", "mgrouping.py"]], "author": "smith.quintin@protonmail.com"}, "ceba7bfd48e9453f3684c1584557592f8fa49278": {"id": "ceba7bfd48e9453f3684c1584557592f8fa49278", "date": 1656361945.0, "description": "to_midi lengthen NoteOn Events", "files": [["M", "structures.py"]], "author": "smith.quintin@protonmail.com"}, "7f9fb3b3c3587756375d73a3006926602499b5db": {"id": "7f9fb3b3c3587756375d73a3006926602499b5db", "date": 1656359836.0, "description": "first Commit", "files": [["A", "structures.py"]], "author": "smith.quintin@protonmail.com"}}, "branch": "midi2"}