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 |
|