Commit graph

214 commits

Author SHA1 Message Date
2d908e60a5 Add logging to tts gen 2025-03-09 15:55:25 -07:00
d53508c158 Fix audio stretching behavior attempt 2 2025-03-09 15:55:06 -07:00
11b4c92fe9 [plugins/tts] Do text filtering for external users as well 2025-03-02 17:21:05 -05:00
32fc1660ec [builtins/scene] Fix title
oop
2025-03-02 17:11:29 -05:00
4b5dd0cf43 Fix non-pitchsynced playback speed 2025-03-02 17:10:28 -05:00
ba0b8c1068 [plugins] Work around blueprint templates (web UI) sharing a namespace 2025-03-02 17:08:33 -05:00
a63730fe86 [builtins/extend] Add the ability to append config from your config
Highly cursed. Reminder that you cannot un-run nodes :y
2025-02-15 02:34:38 -05:00
e32980e76c Tweak internal handling of dynamic-type tags 2025-02-15 02:34:38 -05:00
d4c5f3209e [plugin/yt-dlp] Add yt-dlp plugin
React streamers rejoice!
2025-02-15 02:21:43 -05:00
240e954211 Merge branch 'feat/revitalize' 2025-02-15 02:18:14 -05:00
400d792032 Fix crash when device rate detection fails 2025-02-04 12:05:09 +00:00
9f33ad634e [plugins] Add pre-call hooks
This also greatly simplifies execution of the kdl script thing format. I 
have no idea why it was like that before
2025-02-04 06:35:51 -05:00
3b6a6df0eb Allow plugins running at top level to assign to global ctx 2025-02-04 06:35:51 -05:00
cd636e47d4 [builtins/wait] Allow halting one of the concurrent channels on purpose 2025-02-04 06:35:51 -05:00
bea110b99e Concurrency get!
+ Your cursed setup can now do multiple things at once (GIL and 
unblocked main thread willing), tune with --parallel
+ Swaps "immediate" option for it's inverse "wait" in most plugins
+ Do some expensive ops in a threadpool
2025-02-04 06:35:51 -05:00
4521250ac1 [events/control] Make control events easier to generate
On-bus format is the same, so this is not a breaking change~

Enables events to get full access to their click command for more polish
2025-02-04 06:35:51 -05:00
439d9943ab [builtins/mkevent] Builtin that allows creating events from kdl! 2025-02-04 06:35:51 -05:00
72dbd2a232 [builtins/command] Add unused text to ctx 2025-02-04 06:35:51 -05:00
eabcba5d16 Allow expanding plugins via namespace
PYTHONPATH your way into this package if ya want ;)
2025-02-04 06:35:51 -05:00
Derek
9311245ef0 Fix scene typo 2025-02-04 06:35:51 -05:00
Derek
476552bbf5 Fix pdm lock 2025-02-04 06:35:51 -05:00
ccb86d4c02 Update config 2025-02-04 06:35:51 -05:00
75e9c3dcc2 [builtins/scene] scene ... active=true -> scene.set ...
You can still deactivate by using `scene.set "name" active=false`
2025-02-04 06:35:51 -05:00
d4597620fe [builtins] Remove raw websocket, demote midi to optional 2025-02-04 06:35:51 -05:00
c26e7bf48b [plugins] Fix missing sample rate handling after core.audio rework 2025-02-04 06:33:10 -05:00
6f63cf06f9 [plugins/AudioAlert] Fix dirty close when audioalert output not found 2025-02-04 06:33:10 -05:00
Derek
23dda2fe90 [builtins/cue] Fix non-repeating cues never firing
Oop
2025-01-16 23:59:52 -05:00
e89a0192f5 [bultins/chance] allow an 'or' child that runs on rand miss 2025-01-11 23:39:59 -05:00
4bcb37030a Cleanup the cleanups 2025-01-07 23:56:47 -05:00
4bbd2b1bb0 Fix poly 2025-01-07 23:56:34 -05:00
69fc34396f Pitch fun 2025-01-07 23:31:51 -05:00
27f0997d6a Fix audio memory leak 2025-01-07 21:35:50 -05:00
50eb6b594d Fix cue cleanup behavior 2025-01-07 21:18:08 -05:00
Derek
1e2b88f1c9 [plugins/scene] allow oneshot scenes 2025-01-06 00:41:05 -05:00
Derek
dfc87bb36f Fix indent 2025-01-05 23:20:02 -05:00
Derek
82691789f7 Make setup more sensible 2025-01-05 23:14:39 -05:00
Derek
56b6100315 opt-in to bttv 2025-01-05 22:17:51 -05:00
Derek
e780b829fc Misc fixes 2025-01-05 18:46:03 -05:00
33fd5957ca [plugins] set can now make whole objects 2024-11-16 13:27:46 -05:00
711b1a46e9 [core] Global context get! 2024-11-16 13:27:17 -05:00
00bc1ff061 [plugins] Refactor: execute_kdl handles the whole block (list of nodes) 2024-11-16 13:26:55 -05:00
c03459c7ae [plugins] Add close method (so that you dont have to overwrite __del__) 2024-11-03 20:54:25 -05:00
2458a6a138 [plugins] Add simple OSC control 2024-10-30 22:16:41 -04:00
d257d63cab [plugins/Midi] Expand to (more or less) full midi IO 2024-10-30 22:14:30 -04:00
0cbd64fbb7 [core] Allow alias and subroutine syntax (alias:cmd.sub.routine)
This removes the need for the hacky `chat "Module:alias"` and `remeber` 
config! It is pretty hacky on its own, though. This should really be a 
terse script shouldnt it
2024-10-29 21:50:40 -04:00
f8ba3ca698 pipenv -> PDM
Offers a much quicker and more consistent install experience.
Also has build tooling which will help us later!!
2023-09-08 12:01:18 -04:00
b6a7e4f6b5 [plugin] Add new log builtin
Used for spitting data out to the log from your config! Useful for debugging or testing
complicated configurations
2023-09-01 16:26:09 -04:00
41383b0885 [core] Hide warnings when not in debug mode
This is mainly for async task awaiting warnings - in some cases, not awaiting
a task is expected behavior!!!
2023-09-01 16:26:09 -04:00
e7d16f44f4 [plugins/Cue] [Breaking!] Simplified syntax, better accuracy, and cancellation, oh my!
Simplified syntax: `cue` no longer requires sub-nodes - simply specify `at` or your
interval options on the cue node itself, and set `repeat` to a boolean (previously done via using the `every` subnode vs `once`)

Better accuracy: scheduler now runs outside of tick, allowing sub-second accuracy in
ideal environments. This is still a long way from a proper realtime solution -
queuing is merely asyncio's best-effort, accuracy may vary wildly depending on load!

Cancelation: passing a string as the first argument to cue will give the event a name,
which can be used by a later call to set the event as enabled or disabled.
Additionally, toggling this flag / redefining a named cue will reschedule it if it is
an interval, which you can use to create timeout behaviors!
2023-09-01 16:26:09 -04:00
2ab370d4a0 [core] Fix (arg) type 2023-09-01 13:55:22 -04:00