diff --git a/audio-service/metadata.json b/audio-service/metadata.json index e83672c..fc20b69 100644 --- a/audio-service/metadata.json +++ b/audio-service/metadata.json @@ -16,7 +16,7 @@ { "endTime": 30, "filename": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\audio-service\\recordings\\audio_capture_20260220_193822.wav", - "name": "Pee pee poo poo", + "name": "Pee pee\npoo poo", "playbackType": "playStop", "startTime": 27.756510985786615, "volume": 1 diff --git a/audio-service/src/routes/__pycache__/recording.cpython-313.pyc b/audio-service/src/routes/__pycache__/recording.cpython-313.pyc index 6206238..3083285 100644 Binary files a/audio-service/src/routes/__pycache__/recording.cpython-313.pyc and b/audio-service/src/routes/__pycache__/recording.cpython-313.pyc differ diff --git a/audio-service/src/routes/recording.py b/audio-service/src/routes/recording.py index 0922a20..e5254b0 100644 --- a/audio-service/src/routes/recording.py +++ b/audio-service/src/routes/recording.py @@ -40,5 +40,14 @@ def recording_delete(): try: os.remove(filename) return jsonify({'status': 'success'}) + except Exception as e: + return jsonify({'status': 'error', 'message': str(e)}), 400 + +@recording_bp.route('/playback/start', methods=['POST']) +def playback_start(): + print('HTTP: Starting audio playback') + try: + # os.remove(filename) + return jsonify({'status': 'success'}) except Exception as e: return jsonify({'status': 'error', 'message': str(e)}), 400 \ No newline at end of file diff --git a/electron-ui/src/renderer/components/AudioTrimer.tsx b/electron-ui/src/renderer/components/AudioTrimer.tsx index 81487af..749da50 100644 --- a/electron-ui/src/renderer/components/AudioTrimer.tsx +++ b/electron-ui/src/renderer/components/AudioTrimer.tsx @@ -294,18 +294,15 @@ export default function AudioTrimmer({ > Edit Clip Name - setNameInput(e.target.value)} - onKeyDown={(e) => { - if (e.key === 'Enter') handleDialogSave(); - }} + rows={3} onFocus={(event) => event.target.select()} aria-label="Edit clip name" + style={{ minHeight: '3em' }} /> diff --git a/stream_deck_plugin/.vs/ClipTrimDotNet/CopilotIndices/17.14.1431.25910/CodeChunks.db b/stream_deck_plugin/.vs/ClipTrimDotNet/CopilotIndices/17.14.1431.25910/CodeChunks.db index f9b7b51..ebee10c 100644 Binary files a/stream_deck_plugin/.vs/ClipTrimDotNet/CopilotIndices/17.14.1431.25910/CodeChunks.db and b/stream_deck_plugin/.vs/ClipTrimDotNet/CopilotIndices/17.14.1431.25910/CodeChunks.db differ diff --git a/stream_deck_plugin/.vs/ClipTrimDotNet/CopilotIndices/17.14.1431.25910/SemanticSymbols.db b/stream_deck_plugin/.vs/ClipTrimDotNet/CopilotIndices/17.14.1431.25910/SemanticSymbols.db index c61eb71..ab6d60a 100644 Binary files a/stream_deck_plugin/.vs/ClipTrimDotNet/CopilotIndices/17.14.1431.25910/SemanticSymbols.db and b/stream_deck_plugin/.vs/ClipTrimDotNet/CopilotIndices/17.14.1431.25910/SemanticSymbols.db differ diff --git a/stream_deck_plugin/.vs/ClipTrimDotNet/FileContentIndex/21295af7-5d3b-4d32-9833-a3f5ca60df10.vsidx b/stream_deck_plugin/.vs/ClipTrimDotNet/FileContentIndex/21295af7-5d3b-4d32-9833-a3f5ca60df10.vsidx deleted file mode 100644 index 5e80e32..0000000 Binary files a/stream_deck_plugin/.vs/ClipTrimDotNet/FileContentIndex/21295af7-5d3b-4d32-9833-a3f5ca60df10.vsidx and /dev/null differ diff --git a/stream_deck_plugin/.vs/ClipTrimDotNet/FileContentIndex/298d1b91-00fc-43f4-b254-bc10321ae63d.vsidx b/stream_deck_plugin/.vs/ClipTrimDotNet/FileContentIndex/298d1b91-00fc-43f4-b254-bc10321ae63d.vsidx deleted file mode 100644 index 84bccf8..0000000 Binary files a/stream_deck_plugin/.vs/ClipTrimDotNet/FileContentIndex/298d1b91-00fc-43f4-b254-bc10321ae63d.vsidx and /dev/null differ diff --git a/stream_deck_plugin/.vs/ClipTrimDotNet/FileContentIndex/5ba82e2c-dcf4-4055-a830-639383c8c842.vsidx b/stream_deck_plugin/.vs/ClipTrimDotNet/FileContentIndex/5ba82e2c-dcf4-4055-a830-639383c8c842.vsidx new file mode 100644 index 0000000..380d8a3 Binary files /dev/null and b/stream_deck_plugin/.vs/ClipTrimDotNet/FileContentIndex/5ba82e2c-dcf4-4055-a830-639383c8c842.vsidx differ diff --git a/stream_deck_plugin/.vs/ClipTrimDotNet/FileContentIndex/f41a6896-d9b5-4af7-8dec-d0296008b1ac.vsidx b/stream_deck_plugin/.vs/ClipTrimDotNet/FileContentIndex/f41a6896-d9b5-4af7-8dec-d0296008b1ac.vsidx new file mode 100644 index 0000000..ca74531 Binary files /dev/null and b/stream_deck_plugin/.vs/ClipTrimDotNet/FileContentIndex/f41a6896-d9b5-4af7-8dec-d0296008b1ac.vsidx differ diff --git a/stream_deck_plugin/.vs/ClipTrimDotNet/v17/.suo b/stream_deck_plugin/.vs/ClipTrimDotNet/v17/.suo index 8c8c5a5..50450e1 100644 Binary files a/stream_deck_plugin/.vs/ClipTrimDotNet/v17/.suo and b/stream_deck_plugin/.vs/ClipTrimDotNet/v17/.suo differ diff --git a/stream_deck_plugin/.vs/ClipTrimDotNet/v17/DocumentLayout.backup.json b/stream_deck_plugin/.vs/ClipTrimDotNet/v17/DocumentLayout.backup.json index 41e7b31..9548652 100644 --- a/stream_deck_plugin/.vs/ClipTrimDotNet/v17/DocumentLayout.backup.json +++ b/stream_deck_plugin/.vs/ClipTrimDotNet/v17/DocumentLayout.backup.json @@ -1,65 +1,22 @@ { "Version": 1, - "WorkspaceRootPath": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\", + "WorkspaceRootPath": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\", "Documents": [ { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\cliptrimdotnet\\profileswitcher.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\profileswitcher.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|c:\\users\\mickl\\desktop\\cliptrim-ui\\cliptrimapp\\stream_deck_plugin\\cliptrimdotnet\\client\\cliptrimclient.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\client\\cliptrimclient.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\cliptrimdotnet\\wavplayer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\wavplayer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\cliptrimdotnet\\player.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|c:\\users\\mickl\\desktop\\cliptrim-ui\\cliptrimapp\\stream_deck_plugin\\cliptrimdotnet\\player.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\player.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|c:\\users\\mickl\\source\\repos\\cliptrimdotnet\\cliptrimdotnet\\manifest.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\manifest.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" + "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|c:\\users\\mickl\\desktop\\cliptrim-ui\\cliptrimapp\\stream_deck_plugin\\cliptrimdotnet\\profileswitcher.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\profileswitcher.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\cliptrimdotnet\\package.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\package.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\cliptrimdotnet\\globalsettings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\globalsettings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\cliptrimdotnet\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{00000000-0000-0000-0000-000000000000}|\u003CSolution\u003E|ClipTrimDotNet||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\cliptrimdotnet\\packages.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\packages.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\cliptrimdotnet\\basetest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\basetest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\cliptrimdotnet\\properties\\assemblyinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\properties\\assemblyinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\cliptrimdotnet\\propertyinspector\\file_player.html||{40D31677-CBC0-4297-A9EF-89D907823A98}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\propertyinspector\\file_player.html||{40D31677-CBC0-4297-A9EF-89D907823A98}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\cliptrimdotnet\\propertyinspector\\profile_swticher.html||{40D31677-CBC0-4297-A9EF-89D907823A98}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\propertyinspector\\profile_swticher.html||{40D31677-CBC0-4297-A9EF-89D907823A98}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\cliptrimdotnet\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\cliptrimdotnet\\!!readme!!.txt||{8B382828-6202-11D1-8870-0000F87579D2}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\!!readme!!.txt||{8B382828-6202-11D1-8870-0000F87579D2}" + "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|c:\\users\\mickl\\desktop\\cliptrim-ui\\cliptrimapp\\stream_deck_plugin\\cliptrimdotnet\\client\\collectionmetadata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\client\\collectionmetadata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" } ], "DocumentGroupContainers": [ @@ -69,199 +26,67 @@ "DocumentGroups": [ { "DockedWidth": 297, - "SelectedChildIndex": 3, + "SelectedChildIndex": 2, "Children": [ { "$type": "Bookmark", "Name": "ST:0:0:{57d563b6-44a5-47df-85be-f4199ad6b651}" }, + { + "$type": "Document", + "DocumentIndex": 2, + "Title": "ProfileSwitcher.cs", + "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\ProfileSwitcher.cs", + "RelativeDocumentMoniker": "ClipTrimDotNet\\ProfileSwitcher.cs", + "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\ProfileSwitcher.cs", + "RelativeToolTip": "ClipTrimDotNet\\ProfileSwitcher.cs", + "ViewState": "AgIAAFkAAAAAAAAAAAAlwG8AAABKAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2026-02-21T15:06:24.045Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 0, + "Title": "ClipTrimClient.cs", + "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\Client\\ClipTrimClient.cs", + "RelativeDocumentMoniker": "ClipTrimDotNet\\Client\\ClipTrimClient.cs", + "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\Client\\ClipTrimClient.cs", + "RelativeToolTip": "ClipTrimDotNet\\Client\\ClipTrimClient.cs", + "ViewState": "AgIAAEgAAAAAAAAAAAAuwGMAAAAJAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2026-02-21T15:03:49.814Z", + "EditorCaption": "" + }, { "$type": "Document", "DocumentIndex": 3, - "Title": "manifest.json", - "DocumentMoniker": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\manifest.json", - "RelativeDocumentMoniker": "ClipTrimDotNet\\manifest.json", - "ToolTip": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\manifest.json", - "RelativeToolTip": "ClipTrimDotNet\\manifest.json", - "ViewState": "AgIAAA8AAAAAAAAAAAAAABUAAAARAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", - "WhenOpened": "2025-01-07T22:25:36.017Z", + "Title": "CollectionMetaData.cs", + "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\Client\\CollectionMetaData.cs", + "RelativeDocumentMoniker": "ClipTrimDotNet\\Client\\CollectionMetaData.cs", + "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\Client\\CollectionMetaData.cs", + "RelativeToolTip": "ClipTrimDotNet\\Client\\CollectionMetaData.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2026-02-21T15:03:47.862Z", + "EditorCaption": "" + }, + { + "$type": "Document", + "DocumentIndex": 1, + "Title": "Player.cs", + "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\Player.cs", + "RelativeDocumentMoniker": "ClipTrimDotNet\\Player.cs", + "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\Player.cs*", + "RelativeToolTip": "ClipTrimDotNet\\Player.cs*", + "ViewState": "AgIAAHIAAAAAAAAAAAA3wIYAAABMAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2026-02-21T15:00:23.762Z", "EditorCaption": "" }, { "$type": "Bookmark", "Name": "ST:0:0:{cce594b6-0c39-4442-ba28-10c64ac7e89f}" - }, - { - "$type": "Document", - "DocumentIndex": 0, - "Title": "ProfileSwitcher.cs", - "DocumentMoniker": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\ProfileSwitcher.cs", - "RelativeDocumentMoniker": "ClipTrimDotNet\\ProfileSwitcher.cs", - "ToolTip": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\ProfileSwitcher.cs", - "RelativeToolTip": "ClipTrimDotNet\\ProfileSwitcher.cs", - "ViewState": "AgIAAHMAAAAAAAAAAAAAAHMAAABhAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-01-07T22:30:21.707Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 2, - "Title": "Player.cs", - "DocumentMoniker": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\Player.cs", - "RelativeDocumentMoniker": "ClipTrimDotNet\\Player.cs", - "ToolTip": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\Player.cs", - "RelativeToolTip": "ClipTrimDotNet\\Player.cs", - "ViewState": "AgIAAGYAAAAAAAAAAAAYwIEAAAAiAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-01-07T22:30:17.917Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 5, - "Title": "GlobalSettings.cs", - "DocumentMoniker": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\GlobalSettings.cs", - "RelativeDocumentMoniker": "ClipTrimDotNet\\GlobalSettings.cs", - "ToolTip": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\GlobalSettings.cs", - "RelativeToolTip": "ClipTrimDotNet\\GlobalSettings.cs", - "ViewState": "AQIAAEcAAAAAAAAAAAAAwGQAAAANAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-01-08T00:01:58.381Z" - }, - { - "$type": "Document", - "DocumentIndex": 4, - "Title": "package.json", - "DocumentMoniker": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\package.json", - "RelativeDocumentMoniker": "ClipTrimDotNet\\package.json", - "ToolTip": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\package.json", - "RelativeToolTip": "ClipTrimDotNet\\package.json", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAA4AAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", - "WhenOpened": "2025-01-08T02:08:12.8Z" - }, - { - "$type": "Document", - "DocumentIndex": 1, - "Title": "WavPlayer.cs", - "DocumentMoniker": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\WavPlayer.cs", - "RelativeDocumentMoniker": "ClipTrimDotNet\\WavPlayer.cs", - "ToolTip": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\WavPlayer.cs", - "RelativeToolTip": "ClipTrimDotNet\\WavPlayer.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-01-08T01:15:28.724Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 6, - "Title": "Program.cs", - "DocumentMoniker": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\Program.cs", - "RelativeDocumentMoniker": "ClipTrimDotNet\\Program.cs", - "ToolTip": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\Program.cs", - "RelativeToolTip": "ClipTrimDotNet\\Program.cs", - "ViewState": "AQIAAAMAAAAAAAAAAAAAAA4AAABlAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-01-07T23:57:50.996Z" - }, - { - "$type": "Document", - "DocumentIndex": 11, - "Title": "file_player.html", - "DocumentMoniker": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\PropertyInspector\\file_player.html", - "RelativeDocumentMoniker": "ClipTrimDotNet\\PropertyInspector\\file_player.html", - "ToolTip": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\PropertyInspector\\file_player.html", - "RelativeToolTip": "ClipTrimDotNet\\PropertyInspector\\file_player.html", - "ViewState": "AQIAAAAAAAAAAAAAAAAAACYAAAAQAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001512|", - "WhenOpened": "2025-01-07T22:27:38.985Z" - }, - { - "$type": "Document", - "DocumentIndex": 12, - "Title": "profile_swticher.html", - "DocumentMoniker": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\PropertyInspector\\profile_swticher.html", - "RelativeDocumentMoniker": "ClipTrimDotNet\\PropertyInspector\\profile_swticher.html", - "ToolTip": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\PropertyInspector\\profile_swticher.html", - "RelativeToolTip": "ClipTrimDotNet\\PropertyInspector\\profile_swticher.html", - "ViewState": "AQIAAAAAAAAAAAAAAAAAABwAAAAxAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001512|", - "WhenOpened": "2025-01-07T22:28:04.751Z" - }, - { - "$type": "Document", - "DocumentIndex": 8, - "Title": "packages.config", - "DocumentMoniker": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\packages.config", - "RelativeDocumentMoniker": "ClipTrimDotNet\\packages.config", - "ToolTip": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\packages.config", - "RelativeToolTip": "ClipTrimDotNet\\packages.config", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000601|", - "WhenOpened": "2025-01-08T21:38:49.029Z" - }, - { - "$type": "Document", - "DocumentIndex": 7, - "Title": "ClipTrimDotNet", - "DocumentMoniker": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\ClipTrimDotNet.csproj", - "RelativeDocumentMoniker": "ClipTrimDotNet\\ClipTrimDotNet.csproj", - "ToolTip": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\ClipTrimDotNet.csproj", - "RelativeToolTip": "ClipTrimDotNet\\ClipTrimDotNet.csproj", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", - "WhenOpened": "2025-01-08T00:06:38.575Z" - }, - { - "$type": "Document", - "DocumentIndex": 9, - "Title": "BaseTest.cs", - "DocumentMoniker": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\BaseTest.cs", - "RelativeDocumentMoniker": "ClipTrimDotNet\\BaseTest.cs", - "ToolTip": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\BaseTest.cs", - "RelativeToolTip": "ClipTrimDotNet\\BaseTest.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-01-08T00:39:45.341Z" - }, - { - "$type": "Document", - "DocumentIndex": 13, - "Title": "App.config", - "DocumentMoniker": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\App.config", - "RelativeDocumentMoniker": "ClipTrimDotNet\\App.config", - "ToolTip": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\App.config", - "RelativeToolTip": "ClipTrimDotNet\\App.config", - "ViewState": "AgIAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000601|", - "WhenOpened": "2025-01-08T00:13:00.841Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 10, - "Title": "AssemblyInfo.cs", - "DocumentMoniker": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\Properties\\AssemblyInfo.cs", - "RelativeDocumentMoniker": "ClipTrimDotNet\\Properties\\AssemblyInfo.cs", - "ToolTip": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\Properties\\AssemblyInfo.cs", - "RelativeToolTip": "ClipTrimDotNet\\Properties\\AssemblyInfo.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-01-08T00:12:33.926Z" - }, - { - "$type": "Document", - "DocumentIndex": 14, - "Title": "!!README!!.txt", - "DocumentMoniker": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\!!README!!.txt", - "RelativeDocumentMoniker": "ClipTrimDotNet\\!!README!!.txt", - "ToolTip": "C:\\Users\\mickl\\source\\repos\\ClipTrimDotNet\\ClipTrimDotNet\\!!README!!.txt", - "RelativeToolTip": "ClipTrimDotNet\\!!README!!.txt", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAA4AAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003109|", - "WhenOpened": "2025-01-07T22:31:00.77Z" } ] } diff --git a/stream_deck_plugin/.vs/ClipTrimDotNet/v17/DocumentLayout.json b/stream_deck_plugin/.vs/ClipTrimDotNet/v17/DocumentLayout.json index 6ab4293..58111fe 100644 --- a/stream_deck_plugin/.vs/ClipTrimDotNet/v17/DocumentLayout.json +++ b/stream_deck_plugin/.vs/ClipTrimDotNet/v17/DocumentLayout.json @@ -2,64 +2,25 @@ "Version": 1, "WorkspaceRootPath": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\", "Documents": [ + { + "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|c:\\users\\mickl\\desktop\\cliptrim-ui\\cliptrimapp\\stream_deck_plugin\\cliptrimdotnet\\wavplayer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\wavplayer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, + { + "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|c:\\users\\mickl\\desktop\\cliptrim-ui\\cliptrimapp\\stream_deck_plugin\\cliptrimdotnet\\player.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\player.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + }, { "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|c:\\users\\mickl\\desktop\\cliptrim-ui\\cliptrimapp\\stream_deck_plugin\\cliptrimdotnet\\profileswitcher.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\profileswitcher.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\cliptrimdotnet\\wavplayer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\wavplayer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" + "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|c:\\users\\mickl\\desktop\\cliptrim-ui\\cliptrimapp\\stream_deck_plugin\\cliptrimdotnet\\client\\cliptrimclient.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\client\\cliptrimclient.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" }, { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\cliptrimdotnet\\player.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\player.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\cliptrimdotnet\\manifest.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\manifest.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\cliptrimdotnet\\package.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\package.json||{90A6B3A7-C1A3-4009-A288-E2FF89E96FA0}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\cliptrimdotnet\\globalsettings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\globalsettings.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\cliptrimdotnet\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\program.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{00000000-0000-0000-0000-000000000000}|\u003CSolution\u003E|ClipTrimDotNet||{04B8AB82-A572-4FEF-95CE-5222444B6B64}|" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\cliptrimdotnet\\packages.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\packages.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\cliptrimdotnet\\basetest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\basetest.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\cliptrimdotnet\\properties\\assemblyinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\properties\\assemblyinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\cliptrimdotnet\\propertyinspector\\file_player.html||{40D31677-CBC0-4297-A9EF-89D907823A98}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\propertyinspector\\file_player.html||{40D31677-CBC0-4297-A9EF-89D907823A98}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\cliptrimdotnet\\propertyinspector\\profile_swticher.html||{40D31677-CBC0-4297-A9EF-89D907823A98}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\propertyinspector\\profile_swticher.html||{40D31677-CBC0-4297-A9EF-89D907823A98}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\cliptrimdotnet\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\app.config||{FA3CD31E-987B-443A-9B81-186104E8DAC1}" - }, - { - "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\cliptrimdotnet\\!!readme!!.txt||{8B382828-6202-11D1-8870-0000F87579D2}", - "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\!!readme!!.txt||{8B382828-6202-11D1-8870-0000F87579D2}" + "AbsoluteMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|c:\\users\\mickl\\desktop\\cliptrim-ui\\cliptrimapp\\stream_deck_plugin\\cliptrimdotnet\\client\\collectionmetadata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", + "RelativeMoniker": "D:0:0:{4635D874-69C0-4010-BE46-77EF92EB1553}|ClipTrimDotNet\\ClipTrimDotNet.csproj|solutionrelative:cliptrimdotnet\\client\\collectionmetadata.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" } ], "DocumentGroupContainers": [ @@ -69,199 +30,80 @@ "DocumentGroups": [ { "DockedWidth": 297, - "SelectedChildIndex": 4, + "SelectedChildIndex": 1, "Children": [ { "$type": "Bookmark", "Name": "ST:0:0:{57d563b6-44a5-47df-85be-f4199ad6b651}" }, - { - "$type": "Bookmark", - "Name": "ST:0:0:{aa2115a1-9712-457b-9047-dbb71ca2cdd2}" - }, - { - "$type": "Bookmark", - "Name": "ST:0:0:{cce594b6-0c39-4442-ba28-10c64ac7e89f}" - }, - { - "$type": "Document", - "DocumentIndex": 3, - "Title": "manifest.json", - "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\manifest.json", - "RelativeDocumentMoniker": "ClipTrimDotNet\\manifest.json", - "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\manifest.json", - "RelativeToolTip": "ClipTrimDotNet\\manifest.json", - "ViewState": "AgIAAA8AAAAAAAAAAAAAABUAAAARAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", - "WhenOpened": "2025-01-07T22:25:36.017Z" - }, { "$type": "Document", "DocumentIndex": 0, - "Title": "ProfileSwitcher.cs", - "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\ProfileSwitcher.cs", - "RelativeDocumentMoniker": "ClipTrimDotNet\\ProfileSwitcher.cs", - "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\ProfileSwitcher.cs", - "RelativeToolTip": "ClipTrimDotNet\\ProfileSwitcher.cs", - "ViewState": "AgIAAFcAAAAAAAAAAAAgwF8AAAAJAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-01-07T22:30:21.707Z", - "EditorCaption": "" - }, - { - "$type": "Document", - "DocumentIndex": 2, - "Title": "Player.cs", - "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\Player.cs", - "RelativeDocumentMoniker": "ClipTrimDotNet\\Player.cs", - "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\Player.cs", - "RelativeToolTip": "ClipTrimDotNet\\Player.cs", - "ViewState": "AgIAAGYAAAAAAAAAAAAYwIEAAAAiAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-01-07T22:30:17.917Z" - }, - { - "$type": "Document", - "DocumentIndex": 5, - "Title": "GlobalSettings.cs", - "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\GlobalSettings.cs", - "RelativeDocumentMoniker": "ClipTrimDotNet\\GlobalSettings.cs", - "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\GlobalSettings.cs", - "RelativeToolTip": "ClipTrimDotNet\\GlobalSettings.cs", - "ViewState": "AQIAAEcAAAAAAAAAAAAAwGQAAAANAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-01-08T00:01:58.381Z" - }, - { - "$type": "Document", - "DocumentIndex": 4, - "Title": "package.json", - "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\package.json", - "RelativeDocumentMoniker": "ClipTrimDotNet\\package.json", - "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\package.json", - "RelativeToolTip": "ClipTrimDotNet\\package.json", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAA4AAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001642|", - "WhenOpened": "2025-01-08T02:08:12.8Z" - }, - { - "$type": "Document", - "DocumentIndex": 1, "Title": "WavPlayer.cs", "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\WavPlayer.cs", "RelativeDocumentMoniker": "ClipTrimDotNet\\WavPlayer.cs", "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\WavPlayer.cs", "RelativeToolTip": "ClipTrimDotNet\\WavPlayer.cs", - "ViewState": "AgIAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAA==", + "ViewState": "AgIAALYAAAAAAAAAAAAAALsAAAANAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-01-08T01:15:28.724Z" + "WhenOpened": "2026-02-21T15:16:26.477Z", + "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 6, - "Title": "Program.cs", - "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\Program.cs", - "RelativeDocumentMoniker": "ClipTrimDotNet\\Program.cs", - "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\Program.cs", - "RelativeToolTip": "ClipTrimDotNet\\Program.cs", - "ViewState": "AQIAAAMAAAAAAAAAAAAAAA4AAABlAAAA", + "DocumentIndex": 2, + "Title": "ProfileSwitcher.cs", + "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\ProfileSwitcher.cs", + "RelativeDocumentMoniker": "ClipTrimDotNet\\ProfileSwitcher.cs", + "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\ProfileSwitcher.cs", + "RelativeToolTip": "ClipTrimDotNet\\ProfileSwitcher.cs", + "ViewState": "AgIAAG8AAAAAAAAAAAAWwG8AAABKAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-01-07T23:57:50.996Z" + "WhenOpened": "2026-02-21T15:06:24.045Z", + "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 11, - "Title": "file_player.html", - "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\PropertyInspector\\file_player.html", - "RelativeDocumentMoniker": "ClipTrimDotNet\\PropertyInspector\\file_player.html", - "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\PropertyInspector\\file_player.html", - "RelativeToolTip": "ClipTrimDotNet\\PropertyInspector\\file_player.html", - "ViewState": "AQIAAAAAAAAAAAAAAAAAACYAAAAQAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001512|", - "WhenOpened": "2025-01-07T22:27:38.985Z" - }, - { - "$type": "Document", - "DocumentIndex": 12, - "Title": "profile_swticher.html", - "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\PropertyInspector\\profile_swticher.html", - "RelativeDocumentMoniker": "ClipTrimDotNet\\PropertyInspector\\profile_swticher.html", - "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\PropertyInspector\\profile_swticher.html", - "RelativeToolTip": "ClipTrimDotNet\\PropertyInspector\\profile_swticher.html", - "ViewState": "AQIAAAAAAAAAAAAAAAAAABwAAAAxAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.001512|", - "WhenOpened": "2025-01-07T22:28:04.751Z" - }, - { - "$type": "Document", - "DocumentIndex": 8, - "Title": "packages.config", - "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\packages.config", - "RelativeDocumentMoniker": "ClipTrimDotNet\\packages.config", - "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\packages.config", - "RelativeToolTip": "ClipTrimDotNet\\packages.config", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000601|", - "WhenOpened": "2025-01-08T21:38:49.029Z" - }, - { - "$type": "Document", - "DocumentIndex": 7, - "Title": "ClipTrimDotNet", - "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\ClipTrimDotNet.csproj", - "RelativeDocumentMoniker": "ClipTrimDotNet\\ClipTrimDotNet.csproj", - "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\ClipTrimDotNet.csproj", - "RelativeToolTip": "ClipTrimDotNet\\ClipTrimDotNet.csproj", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000758|", - "WhenOpened": "2025-01-08T00:06:38.575Z" - }, - { - "$type": "Document", - "DocumentIndex": 9, - "Title": "BaseTest.cs", - "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\BaseTest.cs", - "RelativeDocumentMoniker": "ClipTrimDotNet\\BaseTest.cs", - "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\BaseTest.cs", - "RelativeToolTip": "ClipTrimDotNet\\BaseTest.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "DocumentIndex": 3, + "Title": "ClipTrimClient.cs", + "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\Client\\ClipTrimClient.cs", + "RelativeDocumentMoniker": "ClipTrimDotNet\\Client\\ClipTrimClient.cs", + "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\Client\\ClipTrimClient.cs", + "RelativeToolTip": "ClipTrimDotNet\\Client\\ClipTrimClient.cs", + "ViewState": "AgIAAEgAAAAAAAAAAAAuwGIAAAApAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-01-08T00:39:45.341Z" + "WhenOpened": "2026-02-21T15:03:49.814Z", + "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 13, - "Title": "App.config", - "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\App.config", - "RelativeDocumentMoniker": "ClipTrimDotNet\\App.config", - "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\App.config", - "RelativeToolTip": "ClipTrimDotNet\\App.config", - "ViewState": "AgIAAAAAAAAAAAAAAAAAABYAAAAAAAAAAAAAAA==", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000601|", - "WhenOpened": "2025-01-08T00:13:00.841Z" - }, - { - "$type": "Document", - "DocumentIndex": 10, - "Title": "AssemblyInfo.cs", - "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\Properties\\AssemblyInfo.cs", - "RelativeDocumentMoniker": "ClipTrimDotNet\\Properties\\AssemblyInfo.cs", - "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\Properties\\AssemblyInfo.cs", - "RelativeToolTip": "ClipTrimDotNet\\Properties\\AssemblyInfo.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", + "DocumentIndex": 4, + "Title": "CollectionMetaData.cs", + "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\Client\\CollectionMetaData.cs", + "RelativeDocumentMoniker": "ClipTrimDotNet\\Client\\CollectionMetaData.cs", + "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\Client\\CollectionMetaData.cs", + "RelativeToolTip": "ClipTrimDotNet\\Client\\CollectionMetaData.cs", + "ViewState": "AgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==", "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2025-01-08T00:12:33.926Z" + "WhenOpened": "2026-02-21T15:03:47.862Z", + "EditorCaption": "" }, { "$type": "Document", - "DocumentIndex": 14, - "Title": "!!README!!.txt", - "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\!!README!!.txt", - "RelativeDocumentMoniker": "ClipTrimDotNet\\!!README!!.txt", - "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\!!README!!.txt", - "RelativeToolTip": "ClipTrimDotNet\\!!README!!.txt", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAA4AAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.003109|", - "WhenOpened": "2025-01-07T22:31:00.77Z" + "DocumentIndex": 1, + "Title": "Player.cs", + "DocumentMoniker": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\Player.cs", + "RelativeDocumentMoniker": "ClipTrimDotNet\\Player.cs", + "ToolTip": "C:\\Users\\mickl\\Desktop\\cliptrim-ui\\ClipTrimApp\\stream_deck_plugin\\ClipTrimDotNet\\Player.cs", + "RelativeToolTip": "ClipTrimDotNet\\Player.cs", + "ViewState": "AgIAAHoAAAAAAAAAAAAswIwAAAAbAAAAAAAAAA==", + "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", + "WhenOpened": "2026-02-21T15:00:23.762Z", + "EditorCaption": "" + }, + { + "$type": "Bookmark", + "Name": "ST:0:0:{cce594b6-0c39-4442-ba28-10c64ac7e89f}" } ] } diff --git a/stream_deck_plugin/ClipTrimDotNet/Client/ClipMetadata.cs b/stream_deck_plugin/ClipTrimDotNet/Client/ClipMetadata.cs new file mode 100644 index 0000000..36f6643 --- /dev/null +++ b/stream_deck_plugin/ClipTrimDotNet/Client/ClipMetadata.cs @@ -0,0 +1,42 @@ +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ClipTrimDotNet.Client +{ + public enum PlaybackType + { + playStop, + playOverlap + } + public class ClipMetadata + { + [JsonProperty(PropertyName = "filename")] + public string Filename { get; set; } + + + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + + [JsonProperty(PropertyName = "volume")] + public double Volume { get; set; } = 1.0; + + + [JsonProperty(PropertyName = "startTime")] + public double StartTime { get; set; } = 0.0; + + + [JsonProperty(PropertyName = "endTime")] + public double EndTime { get; set; } = 0.0; + + + [JsonProperty(PropertyName = "playbackType")] + [JsonConverter(typeof(StringEnumConverter))] + public PlaybackType PlaybackType { get; set; } = PlaybackType.playStop; + } +} diff --git a/stream_deck_plugin/ClipTrimDotNet/Client/ClipTrimClient.cs b/stream_deck_plugin/ClipTrimDotNet/Client/ClipTrimClient.cs new file mode 100644 index 0000000..b369dc0 --- /dev/null +++ b/stream_deck_plugin/ClipTrimDotNet/Client/ClipTrimClient.cs @@ -0,0 +1,110 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.Http; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json; + +namespace ClipTrimDotNet.Client +{ + public class ClipTrimClient + { + private static ClipTrimClient? instance; + public static ClipTrimClient Instance + { + get + { + if (instance == null) + { + instance = new ClipTrimClient(); + } + return instance; + } + } + + private HttpClient httpClient; + + public ClipTrimClient() + { + httpClient = new HttpClient() + { + BaseAddress = new Uri("http://localhost:5010/"), + Timeout = TimeSpan.FromSeconds(10) + }; + Task.Run(ShortPoll); + } + + public async Task ShortPoll() + { + while (true) + { + await GetMetadata(); + await Task.Delay(TimeSpan.FromSeconds(5)); await Task.Delay(TimeSpan.FromSeconds(5)); + + } + } + + public List Collections { get; private set; } = new List(); + public CollectionMetaData? SelectedCollection { get; private set; } + public int PageIndex { get; private set; } = 0; + private async Task GetMetadata() + { + try + { + var response = await httpClient.GetAsync("meta"); + if (response.IsSuccessStatusCode) + { + var json = await response.Content.ReadAsStringAsync(); + dynamic collections = JsonConvert.DeserializeObject(json); + collections = collections.collections; + Collections = JsonConvert.DeserializeObject>(collections.ToString()); + } + } + catch (Exception ex) + { + //Logger.Instance.LogMessage(TracingLevel.INFO, $"Error pinging ClipTrim API: {ex.Message}"); + return; + } + + } + + public List GetCollectionNames() + { + //await GetMetadata(); + return Collections.Select(x => x.Name).ToList(); + } + + public void SetSelectedCollectionByName(string name) + { + var collection = Collections.FirstOrDefault(x => x.Name == name); + if (collection != null) + { + SelectedCollection = collection; + PageIndex = 0; + } + } + + public ClipMetadata? GetClipByPagedIndex(int index) + { + if (SelectedCollection == null) return null; + int clipIndex = PageIndex * 10 + index; + if (clipIndex >= 0 && clipIndex < SelectedCollection.Clips.Count) + { + return SelectedCollection.Clips[clipIndex]; + } + return null; + } + + public async void PlayClip(ClipMetadata? metadata) + { + if (metadata == null) return; + + var response = await httpClient.PostAsync("playback/start", new StringContent(JsonConvert.SerializeObject(metadata), Encoding.UTF8, "application/json")); + if (!response.IsSuccessStatusCode) + { + //Logger.Instance.LogMessage(TracingLevel.INFO, $"Error playing clip: {response.ReasonPhrase}"); + } + } + } +} diff --git a/stream_deck_plugin/ClipTrimDotNet/Client/CollectionMetaData.cs b/stream_deck_plugin/ClipTrimDotNet/Client/CollectionMetaData.cs new file mode 100644 index 0000000..f2769b7 --- /dev/null +++ b/stream_deck_plugin/ClipTrimDotNet/Client/CollectionMetaData.cs @@ -0,0 +1,23 @@ +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace ClipTrimDotNet.Client +{ + public class CollectionMetaData + { + [JsonProperty(PropertyName = "name")] + public string Name { get; set; } + + + [JsonProperty(PropertyName = "clips")] + public List Clips { get; set; } = new List(); + + + [JsonProperty(PropertyName = "id")] + public int Id { get; set; } + } +} diff --git a/stream_deck_plugin/ClipTrimDotNet/ClipTrimDotNet.csproj b/stream_deck_plugin/ClipTrimDotNet/ClipTrimDotNet.csproj index d485dce..29f0f39 100644 --- a/stream_deck_plugin/ClipTrimDotNet/ClipTrimDotNet.csproj +++ b/stream_deck_plugin/ClipTrimDotNet/ClipTrimDotNet.csproj @@ -13,6 +13,7 @@ 512 true true + enable @@ -63,20 +64,20 @@ ..\packages\NAudio.WinMM.2.2.1\lib\netstandard2.0\NAudio.WinMM.dll - ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll + ..\packages\Newtonsoft.Json.13.0.4\lib\net45\Newtonsoft.Json.dll - - ..\packages\NLog.5.2.8\lib\net46\NLog.dll + + ..\packages\NLog.6.0.5\lib\net46\NLog.dll - - ..\packages\StreamDeck-Tools.6.2.0\lib\netstandard2.0\StreamDeckTools.dll + + ..\packages\StreamDeck-Tools.6.3.2\lib\netstandard2.0\StreamDeckTools.dll - - ..\packages\System.Drawing.Common.8.0.1\lib\net462\System.Drawing.Common.dll + + ..\packages\System.Drawing.Common.9.0.10\lib\net462\System.Drawing.Common.dll @@ -97,6 +98,9 @@ + + + @@ -150,8 +154,7 @@ - npm run stop -timeout /t 1 /nobreak + npm run stop npm run start diff --git a/stream_deck_plugin/ClipTrimDotNet/Player.cs b/stream_deck_plugin/ClipTrimDotNet/Player.cs index bec8efc..3c83e9b 100644 --- a/stream_deck_plugin/ClipTrimDotNet/Player.cs +++ b/stream_deck_plugin/ClipTrimDotNet/Player.cs @@ -1,5 +1,6 @@ using BarRaider.SdTools; using BarRaider.SdTools.Wrappers; +using ClipTrimDotNet.Client; using NAudio.CoreAudioApi.Interfaces; using Newtonsoft.Json; using Newtonsoft.Json.Linq; @@ -18,9 +19,8 @@ namespace ClipTrimDotNet public class Player : KeypadBase { - private TitleParameters? titleParameters = null; - private string userTitle; - private static int counter = 0; + private ClipMetadata? metadata; + private KeyCoordinates coordinates; private class PluginSettings { public static PluginSettings CreateDefaultSettings() @@ -62,6 +62,7 @@ namespace ClipTrimDotNet { this.settings = payload.Settings.ToObject(); } + this.coordinates = payload.Coordinates; GlobalSettingsManager.Instance.RequestGlobalSettings(); CheckFile(); } @@ -71,34 +72,43 @@ namespace ClipTrimDotNet Tools.AutoPopulateSettings(GlobalSettings.Instance, e.Settings); } + public int GetIndex() + { + return Math.Max((coordinates.Row - 1) * 5 + coordinates.Column, 0); + } + private async void CheckFile() { - if (settings == null || GlobalSettings.Instance.BasePath == null || GlobalSettings.Instance.ProfileName ==null) return; + //if (settings == null || GlobalSettings.Instance.ProfileName ==null) return; + metadata = ClipTrimClient.Instance.GetClipByPagedIndex(GetIndex()); + await Connection.SetTitleAsync($"{metadata?.Name ?? ""}"); + + return; - var files = Directory.GetFiles(Path.Combine(Path.GetDirectoryName(GlobalSettings.Instance.BasePath), GlobalSettings.Instance.ProfileName), "*.wav", SearchOption.TopDirectoryOnly) - .OrderBy(file => File.GetCreationTime(file)) - .ToArray(); - int? i = this.settings.Index; - string new_path = ""; - if (i != null && i >= 0 && i < files.Length) - { - new_path = files[i ?? 0]; - } + //var files = Directory.GetFiles(Path.Combine(Path.GetDirectoryName(GlobalSettings.Instance.BasePath), GlobalSettings.Instance.ProfileName), "*.wav", SearchOption.TopDirectoryOnly) + // .OrderBy(file => File.GetCreationTime(file)) + // .ToArray(); + //int? i = this.settings.Index; + //string new_path = ""; + //if (i != null && i >= 0 && i < files.Length) + //{ + // new_path = files[i ?? 0]; + //} - await Connection.SetTitleAsync(Path.GetFileNameWithoutExtension(new_path)); - if (new_path != settings.Path) - { - settings.Path = new_path; - if(new_path != "") - { - FileEntry opts = GlobalSettings.Instance.GetFileOptionsInCurrentProfile(new_path); - settings.Volume = opts.Volume; - settings.PlayType = opts.Playtype; - } - await SaveSettings(); - } + //await Connection.SetTitleAsync(Path.GetFileNameWithoutExtension(new_path)); + //if (new_path != settings.Path) + //{ + // settings.Path = new_path; + // if(new_path != "") + // { + // FileEntry opts = GlobalSettings.Instance.GetFileOptionsInCurrentProfile(new_path); + // settings.Volume = opts.Volume; + // settings.PlayType = opts.Playtype; + // } + // await SaveSettings(); + //} } @@ -109,8 +119,8 @@ namespace ClipTrimDotNet private void Connection_OnTitleParametersDidChange(object sender, SDEventReceivedEventArgs e) { - titleParameters = e.Event?.Payload?.TitleParameters; - userTitle = e.Event?.Payload?.Title; + //titleParameters = e.Event?.Payload?.TitleParameters; + //userTitle = e.Event?.Payload?.Title; } public override void Dispose() @@ -124,15 +134,16 @@ namespace ClipTrimDotNet { //Logger.Instance.LogMessage(TracingLevel.INFO, "Key Pressedd"); Tools.AutoPopulateSettings(settings, payload.Settings); - // Logger.Instance.LogMessage(TracingLevel.INFO, JsonConvert.SerializeObject(settings)); - try - { - WavPlayer.Instance.Play(settings.Path, GlobalSettings.Instance.OutputDevice, settings.Volume, settings.PlayType == "Play/Overlap" ? WavPlayer.PlayMode.PlayOverlap : WavPlayer.PlayMode.PlayStop); - } - catch - { + // Logger.Instance.LogMessage(TracingLevel.INFO, JsonConvert.SerializeObject(settings)); + ClipTrimClient.Instance.PlayClip(metadata); + //try + //{ + // WavPlayer.Instance.Play(settings.Path, GlobalSettings.Instance.OutputDevice, settings.Volume, settings.PlayType == "Play/Overlap" ? WavPlayer.PlayMode.PlayOverlap : WavPlayer.PlayMode.PlayStop); + //} + //catch + //{ - } + //} } diff --git a/stream_deck_plugin/ClipTrimDotNet/ProfileSwitcher.cs b/stream_deck_plugin/ClipTrimDotNet/ProfileSwitcher.cs index d1d2586..e22e515 100644 --- a/stream_deck_plugin/ClipTrimDotNet/ProfileSwitcher.cs +++ b/stream_deck_plugin/ClipTrimDotNet/ProfileSwitcher.cs @@ -1,5 +1,6 @@ using BarRaider.SdTools; using BarRaider.SdTools.Wrappers; +using ClipTrimDotNet.Client; using NAudio.CoreAudioApi.Interfaces; using NAudio.Wave; using Newtonsoft.Json; @@ -59,8 +60,8 @@ namespace ClipTrimDotNet private async void SetTitle() { - - await Connection.SetTitleAsync(settings.ProfileName); + + await Connection.SetTitleAsync(settings.ProfileName + " A"); } private async void Connection_OnSendToPlugin(object sender, SDEventReceivedEventArgs e) @@ -68,8 +69,9 @@ namespace ClipTrimDotNet //Logger.Instance.LogMessage(TracingLevel.INFO, "get profiles"); if (e.Event.Payload["event"].ToString() == "getProfiles") { - string basePath = "C:\\Users\\mickl\\Music\\clips"; - var files = Directory.GetDirectories(basePath, "*", SearchOption.TopDirectoryOnly).Select(x => Path.GetFileNameWithoutExtension(x)).Where(x => x != "original"); + //string basePath = "C:\\Users\\mickl\\Music\\clips"; + //var files = Directory.GetDirectories(basePath, "*", SearchOption.TopDirectoryOnly).Select(x => Path.GetFileNameWithoutExtension(x)).Where(x => x != "original"); + var files = ClipTrimClient.Instance.GetCollectionNames(); var items = files.Select(x => new DataSourceItem { label = x, value = x}); var obj = new JObject(); obj["event"] = "getProfiles"; @@ -110,6 +112,7 @@ namespace ClipTrimDotNet //Logger.Instance.LogMessage(TracingLevel.INFO, "KeyPressed"); //Logger.Instance.LogMessage(TracingLevel.INFO, JsonConvert.SerializeObject(settings)); //Logger.Instance.LogMessage(TracingLevel.INFO, JsonConvert.SerializeObject(GlobalSettings.Instance)); + ClipTrimClient.Instance.SetSelectedCollectionByName(settings.ProfileName); GlobalSettings.Instance.SetCurrentProfile(settings.ProfileName); Logger.Instance.LogMessage(TracingLevel.INFO, JsonConvert.SerializeObject(GlobalSettings.Instance)); diff --git a/stream_deck_plugin/ClipTrimDotNet/packages.config b/stream_deck_plugin/ClipTrimDotNet/packages.config index c2b7e68..3166d2a 100644 --- a/stream_deck_plugin/ClipTrimDotNet/packages.config +++ b/stream_deck_plugin/ClipTrimDotNet/packages.config @@ -9,10 +9,10 @@ - - - - + + + + \ No newline at end of file