Skip to content

Commit 2e71c12

Browse files
committed
services/oss: add freebsd sound module
1 parent 55e0228 commit 2e71c12

10 files changed

Lines changed: 1273 additions & 0 deletions

File tree

BUILD.md

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

169169
Dependencies: `libpipewire`
170170

171+
### OSS
172+
This feature enables sound system support on FreeBSD.
173+
174+
To disable: `-DSERVICE_OSS=OFF`
175+
171176
### StatusNotifier / System Tray
172177
This feature enables system tray support using the status notifier dbus protocol.
173178

CMakeLists.txt

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

4848
if (CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
49+
boption(SERVICE_OSS "Open Sound System" ON)
4950
boption(USE_JEMALLOC "Use jemalloc" OFF)
5051
else()
5152
boption(USE_JEMALLOC "Use jemalloc" ON)
@@ -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
@@ -45,6 +45,7 @@
4545
withWayland ? true,
4646
withX11 ? true,
4747
withPipewire ? true,
48+
withOSS ? false,
4849
withPam ? true,
4950
withHyprland ? true,
5051
withI3 ? true,
@@ -105,6 +106,7 @@
105106
(lib.cmakeBool "WAYLAND" withWayland)
106107
(lib.cmakeBool "SCREENCOPY" (libgbm != null))
107108
(lib.cmakeBool "SERVICE_PIPEWIRE" withPipewire)
109+
(lib.cmakeBool "SERVICE_OSS" withOSS)
108110
(lib.cmakeBool "SERVICE_PAM" withPam)
109111
(lib.cmakeBool "SERVICE_NETWORKMANAGER" withNetworkManager)
110112
(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)