Skip to content

Commit ba772bf

Browse files
committed
Added MPRIS support for Linux, switched to local fork for HID listener
1 parent b215224 commit ba772bf

7 files changed

Lines changed: 23 additions & 9 deletions

File tree

.github/workflows/build-flatpak.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,12 @@ jobs:
2222
clang cmake ninja-build pkg-config libgtk-3-dev libunwind-dev \
2323
libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev keybinder-3.0 \
2424
appindicator3-0.1 libayatana-appindicator3-1 libayatana-appindicator3-dev \
25-
flatpak flatpak-builder
25+
flatpak flatpak-builder lld
2626
2727
- name: Setup Flutter
2828
uses: subosito/flutter-action@v2
2929
with:
30-
flutter-version: '3.38.6'
30+
flutter-version: '3.38.8'
3131
channel: 'stable'
3232

3333
- name: Setup Flatpak

flatpak/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ FROM ubuntu:22.04
33
RUN apt-get update && DEBIAN_FRONTEND=noninteractive TZ=Europe apt-get -y install tzdata
44

55
# Install tree and Flutter dependencies
6-
RUN apt-get -y install tree curl file git unzip xz-utils zip clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev
6+
RUN apt-get -y install tree curl file git unzip xz-utils zip clang cmake lld ninja-build pkg-config libgtk-3-dev liblzma-dev
77
# Install GStreamer dependencies (needed by audioplayers)
88
RUN apt-get -y install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
99
# Install app-specific dependencies

flatpak/app.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,10 @@ finish-args:
1111
- --device=dri
1212
- --share=network
1313
- --socket=wayland
14-
- --socket=fallback-x11
14+
- --socket=x11
1515
- --socket=pulseaudio
16+
- --socket=session-bus
17+
- --socket=system-bus
1618
modules:
1719
- name: dlna_player
1820
buildsystem: simple
@@ -34,3 +36,6 @@ modules:
3436
- type: file
3537
path: ./app.metainfo.xml
3638
dest-filename: de.luedtke.dlna_player.metainfo.xml
39+
# - type: file
40+
# path: ./d-bus.service
41+
# dest-filename: d-bus.service

flatpak/build-flatpak.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,7 @@ cp -r $projectId.desktop $desktopFileDir/
3232
metadataDir=/app/share/metainfo
3333
mkdir -p $metadataDir
3434
cp -r $projectId.metainfo.xml $metadataDir/
35+
36+
#serviceFileDir=/app/share/dbus-1/services
37+
#mkdir -p $serviceFileDir
38+
#cp -r d-bus.service "$serviceFileDir/$projectId".service

flatpak/d-bus.service

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[D-BUS Service]
2+
Name=de.luedtke.dlna_player
3+
Exec=/app/bin/dlna_player --gapplication-service

lib/main.dart

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,13 @@ class _PlayerAppState extends ConsumerState<PlayerApp> with WindowListener {
7070
if (Platform.isLinux || Platform.isMacOS || Platform.isWindows) {
7171
windowManager.addListener(this);
7272

73-
// Initialize hid_listener for X11/macOS/Windows
74-
if (!getListenerBackend()!.initialize()) {
75-
debugPrint('Failed to initialize HID listener backend');
73+
// Initialize hid_listener for X11/macOS/Windows (but not Linux)
74+
if (!Platform.isLinux) {
75+
if (!getListenerBackend()!.initialize()) {
76+
debugPrint('Failed to initialize HID listener backend');
77+
}
78+
getListenerBackend()!.addKeyboardListener(listener);
7679
}
77-
getListenerBackend()!.addKeyboardListener(listener);
7880

7981
// Also initialize MPRIS for Linux (works on both X11 and Wayland)
8082
if (Platform.isLinux) {

pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ description: A DLNA Audio Player made with Flutter.
33

44
publish_to: 'none'
55

6-
version: 1.0.0+31
6+
version: 1.0.0+32
77

88
environment:
99
sdk: '^3.7.0'

0 commit comments

Comments
 (0)