Commit Graph

8 Commits

Author SHA1 Message Date
pajlada a240797b68 Add support for sound backends & some miniaudio changes (#4978)
Miniaudio now runs everything in a separate audio thread - this uses boost::asio's io_context.
Our miniaudio implementation is now also much simplified - it does not use its own resource manager or device. This might end up being stupid if sounds don't work after changing output device or locking or w/e
I've made the sound controller into an interface, meaning we can support multiple sound backends in Chatterino. I've added a Null sound backend that disables all sound. A QMediaPlayer or QSoundEffect or Qt backend could be added.
Miniaudio might idle & disable the device now too, not sure

I've added some unrelated changes in the form of a new setting type, and a new setting page helper function for it, which will hopefully make adding new enum settings easier in the future.
This setting stores its value as a string instead of an int, and uses magic_enum to convert between that string value and its enum value.
2023-11-26 22:06:12 +01:00
pajlada 032f290767 Sort and force grouping of includes (#4172)
This change enforces strict include grouping using IncludeCategories

In addition to adding this to the .clang-format file and applying it in the tests/src and src directories, I also did the following small changes:

    In ChatterSet.hpp, I changed lrucache to a <>include
    In Irc2.hpp, I change common/SignalVector.hpp to a "project-include"
    In AttachedWindow.cpp, NativeMessaging.cpp, WindowsHelper.hpp, BaseWindow.cpp, and StreamerMode.cpp, I disabled clang-format for the windows-includes
    In WindowDescriptors.hpp, I added the missing vector include. It was previously not needed because the include was handled by another file that was previously included first.
    clang-format minimum version has been bumped, so Ubuntu version used in the check-formatting job has been bumped to 22.04 (which is the latest LTS)
2022-11-27 19:32:53 +01:00
fourtf b1cbf09427 removed appbase directory 2019-10-07 15:46:41 +02:00
fourtf a9ca33f431 moved stuff from chatterino to appbase 2018-11-23 17:51:55 +01:00
Rasmus Karlsson ac4a496a06 Update to latest settings library version 2018-11-03 13:00:07 +01:00
Rasmus Karlsson 22bf008bdf Update new settings library version 2018-07-15 11:03:25 +00:00
fourtf 535c0616a3 Applied project style to multiple files 2018-07-06 18:10:21 +02:00
fourtf c3c2b934ba moved ChatterinoSetting into src/common 2018-06-28 20:06:09 +02:00