Skip to content

Commit 574341b

Browse files
committed
services/oss: add freebsd sound module
1 parent 085f646 commit 574341b

File tree

10 files changed

+1273
-0
lines changed

10 files changed

+1273
-0
lines changed

BUILD.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,11 @@ To disable: `-DSERVICE_PIPEWIRE=OFF`
171171

172172
Dependencies: `libpipewire`
173173

174+
### OSS
175+
This feature enables sound system support on FreeBSD.
176+
177+
To disable: `-DSERVICE_OSS=OFF`
178+
174179
### StatusNotifier / System Tray
175180
This feature enables system tray support using the status notifier dbus protocol.
176181

CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ boption(ASAN "ASAN (dev)" OFF) # note: better output with gcc than clang
4545
boption(FRAME_POINTERS "Keep Frame Pointers (dev)" ${ASAN})
4646

4747
if (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
48+
boption(SERVICE_OSS "Open Sound System" ON)
4849
boption(CRASH_REPORTER "Crash Handling" OFF)
4950
boption(USE_JEMALLOC "Use jemalloc" OFF)
5051
else()
@@ -78,6 +79,7 @@ boption(SERVICE_UPOWER "UPower" ON)
7879
boption(SERVICE_NOTIFICATIONS "Notifications" ON)
7980
boption(BLUETOOTH "Bluetooth" ON)
8081
boption(NETWORK "Network" ON)
82+
boption(SERVICE_OSS "Open Sound System" OFF)
8183

8284
include(cmake/install-qml-module.cmake)
8385
include(cmake/util.cmake)

changelog/next.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ set shell id.
1111

1212
## New Features
1313

14+
- Added support for OSS on FreeBSD.
1415
- Added support for creating Polkit agents.
1516
- Added support for creating wayland idle inhibitors.
1617
- Added support for wayland idle timeouts.

default.nix

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
withWayland ? true,
4343
withX11 ? true,
4444
withPipewire ? true,
45+
withOSS ? false,
4546
withPam ? true,
4647
withHyprland ? true,
4748
withI3 ? true,
@@ -95,6 +96,7 @@
9596
(lib.cmakeBool "WAYLAND" withWayland)
9697
(lib.cmakeBool "SCREENCOPY" (libgbm != null))
9798
(lib.cmakeBool "SERVICE_PIPEWIRE" withPipewire)
99+
(lib.cmakeBool "SERVICE_OSS" withOSS)
98100
(lib.cmakeBool "SERVICE_PAM" withPam)
99101
(lib.cmakeBool "SERVICE_NETWORKMANAGER" withNetworkManager)
100102
(lib.cmakeBool "SERVICE_POLKIT" withPolkit)

src/services/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,7 @@ endif()
2929
if (SERVICE_NOTIFICATIONS)
3030
add_subdirectory(notifications)
3131
endif()
32+
33+
if (SERVICE_OSS)
34+
add_subdirectory(oss)
35+
endif()

src/services/oss/CMakeLists.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
qt_add_library(quickshell-service-oss STATIC
2+
oss.cpp
3+
)
4+
5+
qt_add_qml_module(quickshell-service-oss
6+
URI Quickshell.Services.OSS
7+
VERSION 0.1
8+
DEPENDENCIES QtQml
9+
)
10+
11+
install_qml_module(quickshell-service-oss)
12+
13+
target_link_libraries(quickshell PRIVATE quickshell-service-ossplugin Qt6::Core)

src/services/oss/module.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
name = "Quickshell.Services.OSS"
2+
description = "Open Sound System (FreeBSD)"
3+
headers = [
4+
"oss.hpp",
5+
]
6+
-----

0 commit comments

Comments
 (0)