100 Commits
Author SHA1 Message Date
tdfischer 2e4071736d shows: episode 206 in the bag 2026-06-30 09:09:26 +02:00
tdfischer 33cfe4e5fa prompts: computer: threw the prompt at chatgpt to create a more streamlined one that is still buggy and loops forever :D 2026-06-30 09:09:18 +02:00
tdfischer 9cc27da0ab artifacts: beets: for some reason beets prints ratings as strings 2026-06-30 09:08:23 +02:00
tdfischer c3a4dffff0 ui: store the last selected spoken text when not focused 2026-06-30 09:07:22 +02:00
tdfischer eee2f07857 sfx: debug-- 2026-06-30 09:05:56 +02:00
tdfischer 0e3ba36fc3 artifacts: beets: rewrite the query API to be more comprehensive and structured 2026-06-26 10:22:22 +02:00
tdfischer 0f69a5a3ad artifacts: add more metadata accessable through the mixxedbeets plugin 2026-06-26 10:21:47 +02:00
tdfischer c0e05fb2bb prediction: toolbox: add documentation hints to the task list args 2026-06-26 10:20:33 +02:00
tdfischer f4e1adfd4a artifacts: bandcamp: implement synchronization for artists 2026-06-26 10:19:10 +02:00
tdfischer f55865c4e5 prediction: computer commands should be user messages, not system 2026-06-26 10:08:17 +02:00
tdfischer 92660a86a0 character: stick archive context at the end of the messages, to take advantage of token caching 2026-06-26 10:07:46 +02:00
tdfischer 919e878d5f shows: episode 205 is in the bag 2026-06-23 09:20:10 +02:00
tdfischer 7157d4bb39 widgets: try and sort the computer todo list by completion state 2026-06-23 09:19:55 +02:00
tdfischer 0080b1239c transcription: crash-- 2026-06-23 09:19:40 +02:00
tdfischer 0d270e80b3 artifacts: mixxx: load the real mixxxdb 2026-06-23 09:19:28 +02:00
tdfischer 03d2cdf500 ui: add some sfx integration to the UI, fix a json crash 2026-06-23 09:19:11 +02:00
tdfischer 42f764c914 sfx: implement mixing multiple playbacks at once into the same output stream 2026-06-23 09:18:32 +02:00
tdfischer 646ea5bca3 sfx: start moving code into a new Player struct, which will eventually support mixing multiple audio streams 2026-06-22 21:55:47 +02:00
tdfischer bcf37182fe fix audio playback of 8Khz samples, further cut down on clones/copies 2026-06-22 16:18:52 +02:00
tdfischer 2d95d0c6aa clippy++ 2026-06-22 16:18:13 +02:00
tdfischer b7559d7fb6 scene: conversation: use Display instead of ToString for clippy++ 2026-06-22 16:17:49 +02:00
tdfischer 74a823d1c2 audio: implement random SFX output 2026-06-22 13:54:42 +02:00
tdfischer 85fa485833 main: run ratatui handler on crash 2026-06-22 13:53:42 +02:00
tdfischer 7563ab85ca clippy++ and report internal error types from tools 2026-06-22 13:53:33 +02:00
tdfischer 242771332c prediction: make mixx loading a little more efficient 2026-06-22 10:47:03 +02:00
tdfischer 7cbff539df src: drop a lot of unwraps() 2026-06-22 10:23:24 +02:00
tdfischer 70ec40a880 prediction: rewrite the prompting stack to create the ship computer as a second character, and let characters/agents operate autonomously with their own tasks and event queues 2026-06-22 08:57:49 +02:00
tdfischer 2d7153eaf7 artifacts: fix dedupe bug 2026-06-22 08:55:59 +02:00
tdfischer 99323c9683 gitignore: ignore mixxx database and out.log 2026-06-22 08:52:25 +02:00
tdfischer 89125d2def prediction: split out maintenance (and thereby the logging interface) of the UI conversation to a separate task, so log::* can work in realtime. 2026-06-17 22:16:19 +02:00
tdfischer a8a44dae63 prediction: push the bulk of the main event loop into the session impl finally 2026-06-17 20:12:58 +02:00
tdfischer cbf7cbd1dd audio: rewrite the audio stack with a more modular architecture and less code 2026-06-17 20:00:01 +02:00
tdfischer e78a2c3215 musicbrainz: dedupe some code 2026-06-17 12:04:26 +02:00
tdfischer 8716350a4e beets: make beets command async 2026-06-17 12:04:00 +02:00
tdfischer 3a8130d785 artifacts: rewrite the entire artifact querying layer to create modular 'tools' and 'datasource's 2026-06-17 11:09:50 +02:00
tdfischer 33e0b1768f cargo: update deps 2026-06-16 11:32:45 +02:00
tdfischer 6e0d986226 main: only report info level log events to the UI, everything else goes to out.log 2026-06-16 11:32:34 +02:00
tdfischer d69ba43a6b artifacts: implement musicbrainz tooling 2026-06-16 11:32:15 +02:00
tdfischer ac6cb425ac tts: increase voice pitch and speed 2026-06-16 11:31:19 +02:00
tdfischer da64a1eea3 widgets: todo++ 2026-06-16 11:31:06 +02:00
tdfischer d83d430ec2 artifacts: mixxx: crash-- 2026-06-16 11:30:45 +02:00
tdfischer 8db22b2539 audio: reimplement port reconnections using slices and less repeated code 2026-06-16 11:30:15 +02:00
tdfischer 0a2a09eb3c scene: stagedirection: switch to a generic playlist name based interface to mixxx, instead of PWM episode numbers 2026-06-16 11:29:48 +02:00
tdfischer 359941c094 scene: conversation: recolor the computer lines I guess 2026-06-16 11:27:45 +02:00
tdfischer b9af9915d1 shows: 204 in the bag 2026-06-16 11:07:45 +02:00
tdfischer 5595b02211 artifacts: split out each artifact source into a submodule, move archive.rs into artifacts/beets.rs 2026-06-15 15:27:20 +02:00
tdfischer 59a03eb72c prediction: don't inflate data with hammering bandcamp, at least until we get musicbrainz working 2026-06-15 15:19:01 +02:00
tdfischer af50abd4d3 prediction: docs++ 2026-06-15 15:18:30 +02:00
tdfischer de78737ce7 prediction: always refresh after each iteration 2026-06-15 15:18:17 +02:00
tdfischer c2c8c99d7a todo: add todo.md 2026-06-11 21:45:50 +02:00
tdfischer aaa1b48b26 prediction: switch everything over to use log::* 2026-06-11 21:43:31 +02:00
tdfischer cc56b09249 artifacts: add artifact sources 2026-06-11 21:42:26 +02:00
tdfischer a049cdacdb artifacts: make beets more forgiving, and handle errors with logs 2026-06-11 21:41:29 +02:00
tdfischer 5784c2440a main: add a separate logfile to the logger 2026-06-11 21:40:20 +02:00
tdfischer 110bc2cbbe audio: add another stream for sound effects output 2026-06-11 21:38:16 +02:00
tdfischer f269e62e34 ui: split out lots of code into a widets mod 2026-06-11 21:37:23 +02:00
tdfischer 5aa2631b99 reduce vu update frequency, report more sql errors, fix bug with startup show time 2026-06-10 00:23:13 +02:00
tdfischer b1453b3fbc ui: split out the app struct into a new ui mod 2026-06-10 00:13:13 +02:00
tdfischer cac1822734 artifacts: implement merge() 2026-06-09 23:34:30 +02:00
tdfischer 45b3ada3e9 archive: handle error from bad beets json 2026-06-09 23:34:21 +02:00
tdfischer 0396bc12e0 prediction: move actions into prediction mod 2026-06-09 23:34:07 +02:00
tdfischer 2fe1cc3d5c artifacts: rewrite the artifacts model to be source agnostic for now 2026-06-09 22:00:37 +02:00
tdfischer 44afe5a713 artifacts: move mixxx api bits into artifacts module 2026-06-09 20:29:52 +02:00
tdfischer 96ec57b2d9 src: adopt the log crate and feed logs into the UI 2026-06-09 20:24:11 +02:00
tdfischer eeb27656c7 src: split out conversation and archive bits into separate modules 2026-06-09 19:30:40 +02:00
tdfischer 7f2dd6f8b2 artifacts: move some of the artifacts code into its own module 2026-06-09 19:16:41 +02:00
tdfischer ad90df7767 main: refactor prediction engine to use an event stream 2026-06-09 19:08:08 +02:00
tdfischer 8394a076d4 gitignore: add audio.json and .env 2026-06-09 09:04:58 +02:00
tdfischer 0cd2a13581 store some shows for test data and archives 2026-06-09 09:04:41 +02:00
tdfischer 88e1f2a62b Enhance state direction command with ship computer outputs, and report token burn on the UI 2026-06-09 09:04:03 +02:00
tdfischer 114f1ea4df audio: Implement save/restore of jack port configuration 2026-06-08 20:39:15 +02:00
tdfischer 26f56d8518 prediction: switch back to the gpt-5.4-mini model for faster responses 2026-06-08 18:42:23 +02:00
tdfischer 8a39d60cc9 main: fix missing text colors in conversation logs 2026-06-08 18:42:08 +02:00
tdfischer b2bfeeec4d main: use dotenv to load .env 2026-06-08 18:41:47 +02:00
tdfischer 30a4424252 cargo: add build script that rebuilds when the system prompt has changed 2026-06-08 18:39:07 +02:00
tdfischer 16c6cc7001 tts: add an audio output port, and feed TTS utterances into it 2026-06-08 16:01:38 +02:00
tdfischer 34d58e5d66 audio: move audio task into separate audio module 2026-06-08 15:04:24 +02:00
tdfischer aba2194032 events: start moving towards a more control-handle based task architecture 2026-06-08 14:57:54 +02:00
tdfischer aa84381d97 prediction: split up the tools into separate functions 2026-06-08 12:00:14 +02:00
tdfischer 0b7fc7736a main: clean up imports 2026-06-08 10:28:25 +02:00
tdfischer b53aa0fa06 main: add better error reporting for /bandcamp 2026-06-08 10:28:08 +02:00
tdfischer 50c55f0887 main: show a more clear recording/paused status indicator 2026-06-08 10:27:42 +02:00
tdfischer 781d031484 scene: build++ 2026-06-08 10:26:50 +02:00
tdfischer 1075103f9e main: reimplement text wrapping across lists 2026-06-07 08:27:36 +02:00
tdfischer 7ac5fdbaea scene: move mixxx playlist importing into the session 2026-06-07 08:24:37 +02:00
tdfischer 6a73cb4bc4 cleanup 2026-06-05 23:30:45 +02:00
tdfischer bd4dbc3aa6 ui: make long conversation lines wrap 2026-06-05 14:56:56 +02:00
tdfischer af61b3bd8a ui: add tui-skeleton for a fun loading animation 2026-06-05 13:39:16 +02:00
tdfischer 17903f1ac9 main: make bandcamp command use bandcamp library to avoid panics 2026-06-05 12:22:36 +02:00
tdfischer 39973c333c main: add a custom panic hook, which tries to reset the terminal before printing logs 2026-06-05 12:15:19 +02:00
tdfischer 57fc0657b1 prediction: warning-- 2026-06-05 10:05:43 +02:00
tdfischer 51db51b636 prediction: rewrite the messaging to use a loop for self-executing chains, add bandcamp and beets tools 2026-06-05 10:04:19 +02:00
tdfischer 49c720fe46 prediction: completely rewrite the prediction engine by moving all the conversation manipulation into that task out of the UI 2026-06-04 21:34:10 +02:00
tdfischer 57e3ff9b55 main: switch the app to use a message sink for UI messages, even though this can be blocking 2026-06-03 22:22:10 +02:00
tdfischer 9c2023f6ca prediction: also split out the prediction task to another module for future growth 2026-06-03 19:30:23 +02:00
tdfischer 1e50c7222f tts: start splitting out tts into its own module, to grow later with more features 2026-06-03 19:21:00 +02:00
tdfischer f1e6684d9c transcription: split out transcription task into separate module 2026-06-03 19:15:37 +02:00
tdfischer 1e6f88ab87 main: make the audio file processing and tts speaking async 2026-06-02 22:50:07 +02:00
tdfischer 2e880ca552 main: use spooled temp files where possible, instead of "mic.wav" 2026-06-02 21:50:57 +02:00
tdfischer 2957be7b04 system-prompt: improve ability to stay in character 2026-06-02 11:40:20 +02:00