Control your audio with a DIY volume mixer
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
1. Moved the icon logo to gresource. Removed assets/ 2. Removed globals. Idk, how to properly check if the GObject class was already registered though. GObject.type_from_name() seems to always return null. Even the second time I open prefs, when the classes are already registered. So I just wrapped GObject.registerClass in try..catch 3. Removed decorators altogether There are also some changes in serial.js, where I attempt to buffer the serial output to limit number of calls to GVC
You really don't need try catch for registering gobject class. Each one of those classes should be in their own file. Then in `fillPreferencesWindow()` function you can can use: ```js const FilePickerRow = await import('./file-picker-row.js'); GObject.type_ensure(FilePickerRow); const SliderRow = await import('./slider-row.js'); GObject.type_ensure(SliderRow); ``` Wanna fix and send it again?
See, if I register them in their own file, I couldn't use the templates from the resources I load during runtime I lifted this pattern from media-controls: https://github.com/sakithb/media-controls/blob/main/src/prefs.ts (they also don't seem to clear globals after themselves :-))
That's why I said `await import` inside the `fillPreferencesWindow()`. You should register the resources first. Then `await import` them.
Ooooh. Ok, I'll try that