From f8a9b2c67f7c23d31aec1da668b907041da4e716 Mon Sep 17 00:00:00 2001 From: Sarah Jamie Lewis Date: Sun, 11 Feb 2024 18:43:01 -0800 Subject: [PATCH] MiniAudio Wrapper - Playing Sounds --- assets/sounds_online.wav | Bin 0 -> 217956 bytes lib/models/appstate.dart | 5 + lib/third_party/camera_linux/pubspec.yaml | 3 +- .../camera_linux/src/opencv_wrapper.cpp | 1 + lib/third_party/miniaudio/.gitignore | 29 -- lib/third_party/miniaudio/.metadata | 42 --- lib/third_party/miniaudio/CHANGELOG.md | 3 - lib/third_party/miniaudio/LICENSE | 1 - lib/third_party/miniaudio/README.md | 15 - lib/third_party/miniaudio/android/.gitignore | 9 - .../miniaudio/android/build.gradle | 68 ---- .../miniaudio/android/settings.gradle | 1 - .../android/src/main/AndroidManifest.xml | 3 - .../com/example/miniaudio/MiniaudioPlugin.kt | 35 -- .../example/miniaudio/MiniaudioPluginTest.kt | 27 -- lib/third_party/miniaudio/ffigen.yaml | 19 + lib/third_party/miniaudio/lib/miniaudio.dart | 27 +- .../lib/miniaudio_bindings_generated.dart | 50 +++ .../lib/miniaudio_method_channel.dart | 17 - .../lib/miniaudio_platform_interface.dart | 29 -- .../miniaudio/linux/CMakeLists.txt | 84 +---- .../include/miniaudio/miniaudio_plugin.h | 26 -- .../miniaudio/linux/miniaudio_plugin.cc | 87 ----- .../linux/miniaudio_plugin_private.h | 10 - .../linux/test/miniaudio_plugin_test.cc | 31 -- .../macos/Classes/MiniaudioPlugin.swift | 19 - .../miniaudio/macos/miniaudio.podspec | 23 -- lib/third_party/miniaudio/pubspec.lock | 333 ++++++++++++++++++ lib/third_party/miniaudio/pubspec.yaml | 21 +- lib/third_party/miniaudio/src/CMakeLists.txt | 13 + lib/third_party/miniaudio/src/audio.c | 67 ++++ lib/third_party/miniaudio/src/audio.h | 14 + .../miniaudio/{linux => src}/miniaudio.h | 0 .../test/miniaudio_method_channel_test.dart | 27 -- .../miniaudio/test/miniaudio_test.dart | 29 -- lib/third_party/miniaudio/windows/.gitignore | 17 - .../miniaudio/windows/CMakeLists.txt | 100 ------ .../miniaudio/miniaudio_plugin_c_api.h | 23 -- .../miniaudio/windows/miniaudio_plugin.cpp | 59 ---- .../miniaudio/windows/miniaudio_plugin.h | 31 -- .../windows/miniaudio_plugin_c_api.cpp | 12 - .../windows/test/miniaudio_plugin_test.cpp | 43 --- linux/flutter/generated_plugin_registrant.cc | 4 - linux/flutter/generated_plugins.cmake | 2 +- macos/Flutter/GeneratedPluginRegistrant.swift | 2 - pubspec.lock | 2 +- pubspec.yaml | 2 +- .../flutter/generated_plugin_registrant.cc | 3 - windows/flutter/generated_plugins.cmake | 1 - 49 files changed, 543 insertions(+), 926 deletions(-) create mode 100644 assets/sounds_online.wav delete mode 100644 lib/third_party/miniaudio/.gitignore delete mode 100644 lib/third_party/miniaudio/.metadata delete mode 100644 lib/third_party/miniaudio/CHANGELOG.md delete mode 100644 lib/third_party/miniaudio/LICENSE delete mode 100644 lib/third_party/miniaudio/README.md delete mode 100644 lib/third_party/miniaudio/android/.gitignore delete mode 100644 lib/third_party/miniaudio/android/build.gradle delete mode 100644 lib/third_party/miniaudio/android/settings.gradle delete mode 100644 lib/third_party/miniaudio/android/src/main/AndroidManifest.xml delete mode 100644 lib/third_party/miniaudio/android/src/main/kotlin/com/example/miniaudio/MiniaudioPlugin.kt delete mode 100644 lib/third_party/miniaudio/android/src/test/kotlin/com/example/miniaudio/MiniaudioPluginTest.kt create mode 100644 lib/third_party/miniaudio/ffigen.yaml create mode 100644 lib/third_party/miniaudio/lib/miniaudio_bindings_generated.dart delete mode 100644 lib/third_party/miniaudio/lib/miniaudio_method_channel.dart delete mode 100644 lib/third_party/miniaudio/lib/miniaudio_platform_interface.dart delete mode 100644 lib/third_party/miniaudio/linux/include/miniaudio/miniaudio_plugin.h delete mode 100644 lib/third_party/miniaudio/linux/miniaudio_plugin.cc delete mode 100644 lib/third_party/miniaudio/linux/miniaudio_plugin_private.h delete mode 100644 lib/third_party/miniaudio/linux/test/miniaudio_plugin_test.cc delete mode 100644 lib/third_party/miniaudio/macos/Classes/MiniaudioPlugin.swift delete mode 100644 lib/third_party/miniaudio/macos/miniaudio.podspec create mode 100644 lib/third_party/miniaudio/pubspec.lock create mode 100644 lib/third_party/miniaudio/src/CMakeLists.txt create mode 100644 lib/third_party/miniaudio/src/audio.c create mode 100644 lib/third_party/miniaudio/src/audio.h rename lib/third_party/miniaudio/{linux => src}/miniaudio.h (100%) delete mode 100644 lib/third_party/miniaudio/test/miniaudio_method_channel_test.dart delete mode 100644 lib/third_party/miniaudio/test/miniaudio_test.dart delete mode 100644 lib/third_party/miniaudio/windows/.gitignore delete mode 100644 lib/third_party/miniaudio/windows/CMakeLists.txt delete mode 100644 lib/third_party/miniaudio/windows/include/miniaudio/miniaudio_plugin_c_api.h delete mode 100644 lib/third_party/miniaudio/windows/miniaudio_plugin.cpp delete mode 100644 lib/third_party/miniaudio/windows/miniaudio_plugin.h delete mode 100644 lib/third_party/miniaudio/windows/miniaudio_plugin_c_api.cpp delete mode 100644 lib/third_party/miniaudio/windows/test/miniaudio_plugin_test.cpp diff --git a/assets/sounds_online.wav b/assets/sounds_online.wav new file mode 100644 index 0000000000000000000000000000000000000000..9b95dfc2a50d57dfacb13f6e6f2dd57ab38d3a3b GIT binary patch literal 217956 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�i>AVO3aFjxnXkzyW@ma5UKKuaqp-vj&k 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�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

c)W*Si`;2|jI{9%u@ciM;85PKgxY7Imp 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%0D(q>Ys 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 literal 0 HcmV?d00001 diff --git a/lib/models/appstate.dart b/lib/models/appstate.dart index 9d8f54b9..cc8b2d2a 100644 --- a/lib/models/appstate.dart +++ b/lib/models/appstate.dart @@ -2,6 +2,7 @@ import 'dart:async'; import 'dart:io'; import 'package:cwtch/config.dart'; +import 'package:cwtch/third_party/miniaudio/lib/miniaudio.dart'; import 'package:flutter/widgets.dart'; enum ModalState { none, storageMigration, shutdown } @@ -28,6 +29,10 @@ class AppState extends ChangeNotifier { void SetCwtchInit() { cwtchInit = true; + var audio = MiniAudio(); + audio.initAudio().then((value) { + audio.playAudio("assets/sounds_online.wav"); + }); notifyListeners(); } diff --git a/lib/third_party/camera_linux/pubspec.yaml b/lib/third_party/camera_linux/pubspec.yaml index 4965274e..9b48d91a 100644 --- a/lib/third_party/camera_linux/pubspec.yaml +++ b/lib/third_party/camera_linux/pubspec.yaml @@ -14,8 +14,7 @@ dependencies: ffi: ^2.0.1 dev_dependencies: - ffigen: ^6.1.2 - image: ^3.0.1 + ffigen: 11.0.0 flutter_test: sdk: flutter flutter_lints: ^2.0.0 diff --git a/lib/third_party/camera_linux/src/opencv_wrapper.cpp b/lib/third_party/camera_linux/src/opencv_wrapper.cpp index a9edb346..4fec44dd 100644 --- a/lib/third_party/camera_linux/src/opencv_wrapper.cpp +++ b/lib/third_party/camera_linux/src/opencv_wrapper.cpp @@ -30,6 +30,7 @@ extern "C" { if (latestFrame.empty()) { break; } + } cap.release(); } diff --git a/lib/third_party/miniaudio/.gitignore b/lib/third_party/miniaudio/.gitignore deleted file mode 100644 index ac5aa989..00000000 --- a/lib/third_party/miniaudio/.gitignore +++ /dev/null @@ -1,29 +0,0 @@ -# Miscellaneous -*.class -*.log -*.pyc -*.swp -.DS_Store -.atom/ -.buildlog/ -.history -.svn/ -migrate_working_dir/ - -# IntelliJ related -*.iml -*.ipr -*.iws -.idea/ - -# The .vscode folder contains launch configuration and tasks you configure in -# VS Code which you may wish to be included in version control, so this line -# is commented out by default. -#.vscode/ - -# Flutter/Dart/Pub related -# Libraries should not include pubspec.lock, per https://dart.dev/guides/libraries/private-files#pubspeclock. -/pubspec.lock -**/doc/api/ -.dart_tool/ -build/ diff --git a/lib/third_party/miniaudio/.metadata b/lib/third_party/miniaudio/.metadata deleted file mode 100644 index c1e890eb..00000000 --- a/lib/third_party/miniaudio/.metadata +++ /dev/null @@ -1,42 +0,0 @@ -# This file tracks properties of this Flutter project. -# Used by Flutter tool to assess capabilities and perform upgrades etc. -# -# This file should be version controlled and should not be manually edited. - -version: - revision: "41456452f29d64e8deb623a3c927524bcf9f111b" - channel: "stable" - -project_type: plugin - -# Tracks metadata for the flutter migrate command -migration: - platforms: - - platform: root - create_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - base_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - - platform: android - create_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - base_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - - platform: ios - create_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - base_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - - platform: linux - create_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - base_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - - platform: macos - create_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - base_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - - platform: windows - create_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - base_revision: 41456452f29d64e8deb623a3c927524bcf9f111b - - # User provided section - - # List of Local paths (relative to this file) that should be - # ignored by the migrate tool. - # - # Files that are not part of the templates will be ignored by default. - unmanaged_files: - - 'lib/main.dart' - - 'ios/Runner.xcodeproj/project.pbxproj' diff --git a/lib/third_party/miniaudio/CHANGELOG.md b/lib/third_party/miniaudio/CHANGELOG.md deleted file mode 100644 index 41cc7d81..00000000 --- a/lib/third_party/miniaudio/CHANGELOG.md +++ /dev/null @@ -1,3 +0,0 @@ -## 0.0.1 - -* TODO: Describe initial release. diff --git a/lib/third_party/miniaudio/LICENSE b/lib/third_party/miniaudio/LICENSE deleted file mode 100644 index ba75c69f..00000000 --- a/lib/third_party/miniaudio/LICENSE +++ /dev/null @@ -1 +0,0 @@ -TODO: Add your license here. diff --git a/lib/third_party/miniaudio/README.md b/lib/third_party/miniaudio/README.md deleted file mode 100644 index d63ab694..00000000 --- a/lib/third_party/miniaudio/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# miniaudio - -A new Flutter plugin project. - -## Getting Started - -This project is a starting point for a Flutter -[plug-in package](https://flutter.dev/developing-packages/), -a specialized package that includes platform-specific implementation code for -Android and/or iOS. - -For help getting started with Flutter development, view the -[online documentation](https://flutter.dev/docs), which offers tutorials, -samples, guidance on mobile development, and a full API reference. - diff --git a/lib/third_party/miniaudio/android/.gitignore b/lib/third_party/miniaudio/android/.gitignore deleted file mode 100644 index 161bdcda..00000000 --- a/lib/third_party/miniaudio/android/.gitignore +++ /dev/null @@ -1,9 +0,0 @@ -*.iml -.gradle -/local.properties -/.idea/workspace.xml -/.idea/libraries -.DS_Store -/build -/captures -.cxx diff --git a/lib/third_party/miniaudio/android/build.gradle b/lib/third_party/miniaudio/android/build.gradle deleted file mode 100644 index a615a449..00000000 --- a/lib/third_party/miniaudio/android/build.gradle +++ /dev/null @@ -1,68 +0,0 @@ -group 'com.example.miniaudio' -version '1.0-SNAPSHOT' - -buildscript { - ext.kotlin_version = '1.7.10' - repositories { - google() - mavenCentral() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.3.0' - classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" - } -} - -allprojects { - repositories { - google() - mavenCentral() - } -} - -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' - -android { - if (project.android.hasProperty("namespace")) { - namespace 'com.example.miniaudio' - } - - compileSdkVersion 33 - - compileOptions { - sourceCompatibility JavaVersion.VERSION_1_8 - targetCompatibility JavaVersion.VERSION_1_8 - } - - kotlinOptions { - jvmTarget = '1.8' - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - test.java.srcDirs += 'src/test/kotlin' - } - - defaultConfig { - minSdkVersion 19 - } - - dependencies { - testImplementation 'org.jetbrains.kotlin:kotlin-test' - testImplementation 'org.mockito:mockito-core:5.0.0' - } - - testOptions { - unitTests.all { - useJUnitPlatform() - - testLogging { - events "passed", "skipped", "failed", "standardOut", "standardError" - outputs.upToDateWhen {false} - showStandardStreams = true - } - } - } -} diff --git a/lib/third_party/miniaudio/android/settings.gradle b/lib/third_party/miniaudio/android/settings.gradle deleted file mode 100644 index 818ccf8d..00000000 --- a/lib/third_party/miniaudio/android/settings.gradle +++ /dev/null @@ -1 +0,0 @@ -rootProject.name = 'miniaudio' diff --git a/lib/third_party/miniaudio/android/src/main/AndroidManifest.xml b/lib/third_party/miniaudio/android/src/main/AndroidManifest.xml deleted file mode 100644 index 545c5e88..00000000 --- a/lib/third_party/miniaudio/android/src/main/AndroidManifest.xml +++ /dev/null @@ -1,3 +0,0 @@ - - diff --git a/lib/third_party/miniaudio/android/src/main/kotlin/com/example/miniaudio/MiniaudioPlugin.kt b/lib/third_party/miniaudio/android/src/main/kotlin/com/example/miniaudio/MiniaudioPlugin.kt deleted file mode 100644 index 372bb297..00000000 --- a/lib/third_party/miniaudio/android/src/main/kotlin/com/example/miniaudio/MiniaudioPlugin.kt +++ /dev/null @@ -1,35 +0,0 @@ -package com.example.miniaudio - -import androidx.annotation.NonNull - -import io.flutter.embedding.engine.plugins.FlutterPlugin -import io.flutter.plugin.common.MethodCall -import io.flutter.plugin.common.MethodChannel -import io.flutter.plugin.common.MethodChannel.MethodCallHandler -import io.flutter.plugin.common.MethodChannel.Result - -/** MiniaudioPlugin */ -class MiniaudioPlugin: FlutterPlugin, MethodCallHandler { - /// The MethodChannel that will the communication between Flutter and native Android - /// - /// This local reference serves to register the plugin with the Flutter Engine and unregister it - /// when the Flutter Engine is detached from the Activity - private lateinit var channel : MethodChannel - - override fun onAttachedToEngine(flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) { - channel = MethodChannel(flutterPluginBinding.binaryMessenger, "miniaudio") - channel.setMethodCallHandler(this) - } - - override fun onMethodCall(call: MethodCall, result: Result) { - if (call.method == "getPlatformVersion") { - result.success("Android ${android.os.Build.VERSION.RELEASE}") - } else { - result.notImplemented() - } - } - - override fun onDetachedFromEngine(binding: FlutterPlugin.FlutterPluginBinding) { - channel.setMethodCallHandler(null) - } -} diff --git a/lib/third_party/miniaudio/android/src/test/kotlin/com/example/miniaudio/MiniaudioPluginTest.kt b/lib/third_party/miniaudio/android/src/test/kotlin/com/example/miniaudio/MiniaudioPluginTest.kt deleted file mode 100644 index 9e41dd6a..00000000 --- a/lib/third_party/miniaudio/android/src/test/kotlin/com/example/miniaudio/MiniaudioPluginTest.kt +++ /dev/null @@ -1,27 +0,0 @@ -package com.example.miniaudio - -import io.flutter.plugin.common.MethodCall -import io.flutter.plugin.common.MethodChannel -import kotlin.test.Test -import org.mockito.Mockito - -/* - * This demonstrates a simple unit test of the Kotlin portion of this plugin's implementation. - * - * Once you have built the plugin's example app, you can run these tests from the command - * line by running `./gradlew testDebugUnitTest` in the `example/android/` directory, or - * you can run them directly from IDEs that support JUnit such as Android Studio. - */ - -internal class MiniaudioPluginTest { - @Test - fun onMethodCall_getPlatformVersion_returnsExpectedValue() { - val plugin = MiniaudioPlugin() - - val call = MethodCall("getPlatformVersion", null) - val mockResult: MethodChannel.Result = Mockito.mock(MethodChannel.Result::class.java) - plugin.onMethodCall(call, mockResult) - - Mockito.verify(mockResult).success("Android " + android.os.Build.VERSION.RELEASE) - } -} diff --git a/lib/third_party/miniaudio/ffigen.yaml b/lib/third_party/miniaudio/ffigen.yaml new file mode 100644 index 00000000..ae536e8b --- /dev/null +++ b/lib/third_party/miniaudio/ffigen.yaml @@ -0,0 +1,19 @@ +# Run with `flutter pub run ffigen --config ffigen.yaml`. +name: MiniAudioBindings +description: | + Bindings for `src/audio.h`. + + Regenerate bindings with `flutter pub run ffigen --config ffigen.yaml`. +output: 'lib/miniaudio_bindings_generated.dart' +headers: + entry-points: + - 'src/audio.h' + include-directives: + - 'src/audio.h' +preamble: | + // ignore_for_file: always_specify_types + // ignore_for_file: camel_case_types + // ignore_for_file: non_constant_identifier_names +comments: + style: any + length: full diff --git a/lib/third_party/miniaudio/lib/miniaudio.dart b/lib/third_party/miniaudio/lib/miniaudio.dart index ffb33be1..72e006a6 100644 --- a/lib/third_party/miniaudio/lib/miniaudio.dart +++ b/lib/third_party/miniaudio/lib/miniaudio.dart @@ -1,8 +1,27 @@ +import 'dart:async'; +import 'dart:ffi'; +import 'dart:typed_data'; +import 'package:miniaudio/miniaudio_bindings_generated.dart'; -import 'miniaudio_platform_interface.dart'; +import 'package:ffi/ffi.dart'; -class Miniaudio { - Future getPlatformVersion() { - return MiniaudioPlatform.instance.getPlatformVersion(); +class MiniAudio { + late MiniAudioBindings _bindings; + + MiniAudio() { + final dylib = DynamicLibrary.open('libminiaudio.so'); + _bindings = MiniAudioBindings(dylib); } + + Future initAudio() async { + _bindings.initAudio(); + } + + // Open Default Camera + Future playAudio(String file) async { + var filePtr = file.toNativeUtf8(); + _bindings.playAudio(filePtr.cast()); + malloc.free(filePtr); + } + } diff --git a/lib/third_party/miniaudio/lib/miniaudio_bindings_generated.dart b/lib/third_party/miniaudio/lib/miniaudio_bindings_generated.dart new file mode 100644 index 00000000..55597421 --- /dev/null +++ b/lib/third_party/miniaudio/lib/miniaudio_bindings_generated.dart @@ -0,0 +1,50 @@ +// ignore_for_file: always_specify_types +// ignore_for_file: camel_case_types +// ignore_for_file: non_constant_identifier_names + +// AUTO GENERATED FILE, DO NOT EDIT. +// +// Generated by `package:ffigen`. +import 'dart:ffi' as ffi; + +/// Bindings for `src/audio.h`. +/// +/// Regenerate bindings with `flutter pub run ffigen --config ffigen.yaml`. +/// +class MiniAudioBindings { + /// Holds the symbol lookup function. + final ffi.Pointer Function(String symbolName) + _lookup; + + /// The symbols are looked up in [dynamicLibrary]. + MiniAudioBindings(ffi.DynamicLibrary dynamicLibrary) + : _lookup = dynamicLibrary.lookup; + + /// The symbols are looked up with [lookup]. + MiniAudioBindings.fromLookup( + ffi.Pointer Function(String symbolName) + lookup) + : _lookup = lookup; + + void initAudio() { + return _initAudio(); + } + + late final _initAudioPtr = + _lookup>('initAudio'); + late final _initAudio = _initAudioPtr.asFunction(); + + void playAudio( + ffi.Pointer file, + ) { + return _playAudio( + file, + ); + } + + late final _playAudioPtr = + _lookup)>>( + 'playAudio'); + late final _playAudio = + _playAudioPtr.asFunction)>(); +} diff --git a/lib/third_party/miniaudio/lib/miniaudio_method_channel.dart b/lib/third_party/miniaudio/lib/miniaudio_method_channel.dart deleted file mode 100644 index 3011fa0f..00000000 --- a/lib/third_party/miniaudio/lib/miniaudio_method_channel.dart +++ /dev/null @@ -1,17 +0,0 @@ -import 'package:flutter/foundation.dart'; -import 'package:flutter/services.dart'; - -import 'miniaudio_platform_interface.dart'; - -/// An implementation of [MiniaudioPlatform] that uses method channels. -class MethodChannelMiniaudio extends MiniaudioPlatform { - /// The method channel used to interact with the native platform. - @visibleForTesting - final methodChannel = const MethodChannel('miniaudio'); - - @override - Future getPlatformVersion() async { - final version = await methodChannel.invokeMethod('getPlatformVersion'); - return version; - } -} diff --git a/lib/third_party/miniaudio/lib/miniaudio_platform_interface.dart b/lib/third_party/miniaudio/lib/miniaudio_platform_interface.dart deleted file mode 100644 index 249f7ba4..00000000 --- a/lib/third_party/miniaudio/lib/miniaudio_platform_interface.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:plugin_platform_interface/plugin_platform_interface.dart'; - -import 'miniaudio_method_channel.dart'; - -abstract class MiniaudioPlatform extends PlatformInterface { - /// Constructs a MiniaudioPlatform. - MiniaudioPlatform() : super(token: _token); - - static final Object _token = Object(); - - static MiniaudioPlatform _instance = MethodChannelMiniaudio(); - - /// The default instance of [MiniaudioPlatform] to use. - /// - /// Defaults to [MethodChannelMiniaudio]. - static MiniaudioPlatform get instance => _instance; - - /// Platform-specific implementations should set this with their own - /// platform-specific class that extends [MiniaudioPlatform] when - /// they register themselves. - static set instance(MiniaudioPlatform instance) { - PlatformInterface.verifyToken(instance, _token); - _instance = instance; - } - - Future getPlatformVersion() { - throw UnimplementedError('platformVersion() has not been implemented.'); - } -} diff --git a/lib/third_party/miniaudio/linux/CMakeLists.txt b/lib/third_party/miniaudio/linux/CMakeLists.txt index 4f958a7b..f52e6ba6 100644 --- a/lib/third_party/miniaudio/linux/CMakeLists.txt +++ b/lib/third_party/miniaudio/linux/CMakeLists.txt @@ -7,88 +7,16 @@ cmake_minimum_required(VERSION 3.10) set(PROJECT_NAME "miniaudio") project(${PROJECT_NAME} LANGUAGES CXX) -# This value is used when generating builds using this plugin, so it must -# not be changed. -set(PLUGIN_NAME "miniaudio_plugin") - -# Any new source files that you add to the plugin should be added here. -list(APPEND PLUGIN_SOURCES - "miniaudio_plugin.cc" -) - -# Define the plugin library target. Its name must not be changed (see comment -# on PLUGIN_NAME above). -add_library(${PLUGIN_NAME} SHARED - ${PLUGIN_SOURCES} -) - -# Apply a standard set of build settings that are configured in the -# application-level CMakeLists.txt. This can be removed for plugins that want -# full control over build settings. -apply_standard_settings(${PLUGIN_NAME}) - -# Symbols are hidden by default to reduce the chance of accidental conflicts -# between plugins. This should not be removed; any symbols that should be -# exported should be explicitly exported with the FLUTTER_PLUGIN_EXPORT macro. -set_target_properties(${PLUGIN_NAME} PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_compile_definitions(${PLUGIN_NAME} PRIVATE FLUTTER_PLUGIN_IMPL) - -# Source include directories and library dependencies. Add any plugin-specific -# dependencies here. -target_include_directories(${PLUGIN_NAME} INTERFACE - "${CMAKE_CURRENT_SOURCE_DIR}/include") -target_link_libraries(${PLUGIN_NAME} PRIVATE flutter) -target_link_libraries(${PLUGIN_NAME} PRIVATE PkgConfig::GTK) +# Invoke the build for native code shared with the other target platforms. +# This can be changed to accommodate different builds. +add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/../src" "${CMAKE_CURRENT_BINARY_DIR}/shared") # List of absolute paths to libraries that should be bundled with the plugin. # This list could contain prebuilt libraries, or libraries created by an # external build triggered from this build file. set(miniaudio_bundled_libraries - "" + # Defined in ../src/CMakeLists.txt. + # This can be changed to accommodate different builds. + $ PARENT_SCOPE ) - -# === Tests === -# These unit tests can be run from a terminal after building the example. - -# Only enable test builds when building the example (which sets this variable) -# so that plugin clients aren't building the tests. -if (${include_${PROJECT_NAME}_tests}) -if(${CMAKE_VERSION} VERSION_LESS "3.11.0") -message("Unit tests require CMake 3.11.0 or later") -else() -set(TEST_RUNNER "${PROJECT_NAME}_test") -enable_testing() - -# Add the Google Test dependency. -include(FetchContent) -FetchContent_Declare( - googletest - URL https://github.com/google/googletest/archive/release-1.11.0.zip -) -# Prevent overriding the parent project's compiler/linker settings -set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) -# Disable install commands for gtest so it doesn't end up in the bundle. -set(INSTALL_GTEST OFF CACHE BOOL "Disable installation of googletest" FORCE) - -FetchContent_MakeAvailable(googletest) - -# The plugin's exported API is not very useful for unit testing, so build the -# sources directly into the test binary rather than using the shared library. -add_executable(${TEST_RUNNER} - test/miniaudio_plugin_test.cc - ${PLUGIN_SOURCES} -) -apply_standard_settings(${TEST_RUNNER}) -target_include_directories(${TEST_RUNNER} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}") -target_link_libraries(${TEST_RUNNER} PRIVATE flutter) -target_link_libraries(${TEST_RUNNER} PRIVATE PkgConfig::GTK) -target_link_libraries(${TEST_RUNNER} PRIVATE gtest_main gmock) - -# Enable automatic test discovery. -include(GoogleTest) -gtest_discover_tests(${TEST_RUNNER}) - -endif() # CMake version check -endif() # include_${PROJECT_NAME}_tests \ No newline at end of file diff --git a/lib/third_party/miniaudio/linux/include/miniaudio/miniaudio_plugin.h b/lib/third_party/miniaudio/linux/include/miniaudio/miniaudio_plugin.h deleted file mode 100644 index 5321ddd9..00000000 --- a/lib/third_party/miniaudio/linux/include/miniaudio/miniaudio_plugin.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef FLUTTER_PLUGIN_MINIAUDIO_PLUGIN_H_ -#define FLUTTER_PLUGIN_MINIAUDIO_PLUGIN_H_ - -#include - -G_BEGIN_DECLS - -#ifdef FLUTTER_PLUGIN_IMPL -#define FLUTTER_PLUGIN_EXPORT __attribute__((visibility("default"))) -#else -#define FLUTTER_PLUGIN_EXPORT -#endif - -typedef struct _MiniaudioPlugin MiniaudioPlugin; -typedef struct { - GObjectClass parent_class; -} MiniaudioPluginClass; - -FLUTTER_PLUGIN_EXPORT GType miniaudio_plugin_get_type(); - -FLUTTER_PLUGIN_EXPORT void miniaudio_plugin_register_with_registrar( - FlPluginRegistrar* registrar); - -G_END_DECLS - -#endif // FLUTTER_PLUGIN_MINIAUDIO_PLUGIN_H_ diff --git a/lib/third_party/miniaudio/linux/miniaudio_plugin.cc b/lib/third_party/miniaudio/linux/miniaudio_plugin.cc deleted file mode 100644 index 9782d8c4..00000000 --- a/lib/third_party/miniaudio/linux/miniaudio_plugin.cc +++ /dev/null @@ -1,87 +0,0 @@ -#include "include/miniaudio/miniaudio_plugin.h" - -#include -#include -#include - -#include - -#include "miniaudio_plugin_private.h" -#include "miniaudio.h" - -#define MINIAUDIO_PLUGIN(obj) \ - (G_TYPE_CHECK_INSTANCE_CAST((obj), miniaudio_plugin_get_type(), \ - MiniaudioPlugin)) - -struct _MiniaudioPlugin { - GObject parent_instance; -}; - -G_DEFINE_TYPE(MiniaudioPlugin, miniaudio_plugin, g_object_get_type()) - -// Called when a method call is received from Flutter. -static void miniaudio_plugin_handle_method_call( - MiniaudioPlugin* self, - FlMethodCall* method_call) { - g_autoptr(FlMethodResponse) response = nullptr; - - const gchar* method = fl_method_call_get_name(method_call); - //const FlValue* args = fl_method_call_get_args(method_call); - - if (strcmp(method, "getPlatformVersion") == 0) { - response = get_platform_version(); - }else if (strcmp(method, "playAudio") == 0) { - // ma_decoder decoder; - // ma_result result; - // result = ma_decoder_init_file(fl_value_get_string(0), NULL, &decoder); - // if (result != MA_SUCCESS) { - /// printf("Could not load file: %s\n", fl_value_get_string(0)); - // } - - //response = nullptr; - } else { - response = FL_METHOD_RESPONSE(fl_method_not_implemented_response_new()); - } - - fl_method_call_respond(method_call, response, nullptr); -} - -FlMethodResponse* get_platform_version() { - struct utsname uname_data = {}; - uname(&uname_data); - g_autofree gchar *version = g_strdup_printf("Linux %s", uname_data.version); - g_autoptr(FlValue) result = fl_value_new_string(version); - return FL_METHOD_RESPONSE(fl_method_success_response_new(result)); -} - -static void miniaudio_plugin_dispose(GObject* object) { - G_OBJECT_CLASS(miniaudio_plugin_parent_class)->dispose(object); -} - -static void miniaudio_plugin_class_init(MiniaudioPluginClass* klass) { - G_OBJECT_CLASS(klass)->dispose = miniaudio_plugin_dispose; -} - -static void miniaudio_plugin_init(MiniaudioPlugin* self) {} - -static void method_call_cb(FlMethodChannel* channel, FlMethodCall* method_call, - gpointer user_data) { - MiniaudioPlugin* plugin = MINIAUDIO_PLUGIN(user_data); - miniaudio_plugin_handle_method_call(plugin, method_call); -} - -void miniaudio_plugin_register_with_registrar(FlPluginRegistrar* registrar) { - MiniaudioPlugin* plugin = MINIAUDIO_PLUGIN( - g_object_new(miniaudio_plugin_get_type(), nullptr)); - - g_autoptr(FlStandardMethodCodec) codec = fl_standard_method_codec_new(); - g_autoptr(FlMethodChannel) channel = - fl_method_channel_new(fl_plugin_registrar_get_messenger(registrar), - "miniaudio", - FL_METHOD_CODEC(codec)); - fl_method_channel_set_method_call_handler(channel, method_call_cb, - g_object_ref(plugin), - g_object_unref); - - g_object_unref(plugin); -} diff --git a/lib/third_party/miniaudio/linux/miniaudio_plugin_private.h b/lib/third_party/miniaudio/linux/miniaudio_plugin_private.h deleted file mode 100644 index 96fa15f8..00000000 --- a/lib/third_party/miniaudio/linux/miniaudio_plugin_private.h +++ /dev/null @@ -1,10 +0,0 @@ -#include - -#include "include/miniaudio/miniaudio_plugin.h" - -// This file exposes some plugin internals for unit testing. See -// https://github.com/flutter/flutter/issues/88724 for current limitations -// in the unit-testable API. - -// Handles the getPlatformVersion method call. -FlMethodResponse *get_platform_version(); diff --git a/lib/third_party/miniaudio/linux/test/miniaudio_plugin_test.cc b/lib/third_party/miniaudio/linux/test/miniaudio_plugin_test.cc deleted file mode 100644 index f3717364..00000000 --- a/lib/third_party/miniaudio/linux/test/miniaudio_plugin_test.cc +++ /dev/null @@ -1,31 +0,0 @@ -#include -#include -#include - -#include "include/miniaudio/miniaudio_plugin.h" -#include "miniaudio_plugin_private.h" - -// This demonstrates a simple unit test of the C portion of this plugin's -// implementation. -// -// Once you have built the plugin's example app, you can run these tests -// from the command line. For instance, for a plugin called my_plugin -// built for x64 debug, run: -// $ build/linux/x64/debug/plugins/my_plugin/my_plugin_test - -namespace miniaudio { -namespace test { - -TEST(MiniaudioPlugin, GetPlatformVersion) { - g_autoptr(FlMethodResponse) response = get_platform_version(); - ASSERT_NE(response, nullptr); - ASSERT_TRUE(FL_IS_METHOD_SUCCESS_RESPONSE(response)); - FlValue* result = fl_method_success_response_get_result( - FL_METHOD_SUCCESS_RESPONSE(response)); - ASSERT_EQ(fl_value_get_type(result), FL_VALUE_TYPE_STRING); - // The full string varies, so just validate that it has the right format. - EXPECT_THAT(fl_value_get_string(result), testing::StartsWith("Linux ")); -} - -} // namespace test -} // namespace miniaudio diff --git a/lib/third_party/miniaudio/macos/Classes/MiniaudioPlugin.swift b/lib/third_party/miniaudio/macos/Classes/MiniaudioPlugin.swift deleted file mode 100644 index 47da2d08..00000000 --- a/lib/third_party/miniaudio/macos/Classes/MiniaudioPlugin.swift +++ /dev/null @@ -1,19 +0,0 @@ -import Cocoa -import FlutterMacOS - -public class MiniaudioPlugin: NSObject, FlutterPlugin { - public static func register(with registrar: FlutterPluginRegistrar) { - let channel = FlutterMethodChannel(name: "miniaudio", binaryMessenger: registrar.messenger) - let instance = MiniaudioPlugin() - registrar.addMethodCallDelegate(instance, channel: channel) - } - - public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) { - switch call.method { - case "getPlatformVersion": - result("macOS " + ProcessInfo.processInfo.operatingSystemVersionString) - default: - result(FlutterMethodNotImplemented) - } - } -} diff --git a/lib/third_party/miniaudio/macos/miniaudio.podspec b/lib/third_party/miniaudio/macos/miniaudio.podspec deleted file mode 100644 index f6218c22..00000000 --- a/lib/third_party/miniaudio/macos/miniaudio.podspec +++ /dev/null @@ -1,23 +0,0 @@ -# -# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html. -# Run `pod lib lint miniaudio.podspec` to validate before publishing. -# -Pod::Spec.new do |s| - s.name = 'miniaudio' - s.version = '0.0.1' - s.summary = 'A new Flutter plugin project.' - s.description = <<-DESC -A new Flutter plugin project. - DESC - s.homepage = 'http://example.com' - s.license = { :file => '../LICENSE' } - s.author = { 'Your Company' => 'email@example.com' } - - s.source = { :path => '.' } - s.source_files = 'Classes/**/*' - s.dependency 'FlutterMacOS' - - s.platform = :osx, '10.11' - s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES' } - s.swift_version = '5.0' -end diff --git a/lib/third_party/miniaudio/pubspec.lock b/lib/third_party/miniaudio/pubspec.lock new file mode 100644 index 00000000..18408557 --- /dev/null +++ b/lib/third_party/miniaudio/pubspec.lock @@ -0,0 +1,333 @@ +# Generated by pub +# See https://dart.dev/tools/pub/glossary#lockfile +packages: + archive: + dependency: transitive + description: + name: archive + sha256: "22600aa1e926be775fa5fe7e6894e7fb3df9efda8891c73f70fb3262399a432d" + url: "https://pub.dev" + source: hosted + version: "3.4.10" + args: + dependency: transitive + description: + name: args + sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + url: "https://pub.dev" + source: hosted + version: "2.4.2" + async: + dependency: transitive + description: + name: async + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + url: "https://pub.dev" + source: hosted + version: "2.11.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + characters: + dependency: transitive + description: + name: characters + sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + url: "https://pub.dev" + source: hosted + version: "1.3.0" + cli_util: + dependency: transitive + description: + name: cli_util + sha256: "66f86e916d285c1a93d3b79587d94bd71984a66aac4ff74e524cfa7877f1395c" + url: "https://pub.dev" + source: hosted + version: "0.3.5" + clock: + dependency: transitive + description: + name: clock + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" + source: hosted + version: "1.1.1" + collection: + dependency: transitive + description: + name: collection + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + url: "https://pub.dev" + source: hosted + version: "1.18.0" + convert: + dependency: transitive + description: + name: convert + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" + source: hosted + version: "3.1.1" + crypto: + dependency: transitive + description: + name: crypto + sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + url: "https://pub.dev" + source: hosted + version: "3.0.3" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" + source: hosted + version: "1.3.1" + ffi: + dependency: "direct main" + description: + name: ffi + sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" + url: "https://pub.dev" + source: hosted + version: "2.1.0" + ffigen: + dependency: "direct dev" + description: + name: ffigen + sha256: ec6a2439159d27c871d92862fb9f3012ef19d9ec4b0fa383c69c8553b2dd2ac5 + url: "https://pub.dev" + source: hosted + version: "6.1.2" + file: + dependency: transitive + description: + name: file + sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" + url: "https://pub.dev" + source: hosted + version: "6.1.4" + flutter: + dependency: "direct main" + description: flutter + source: sdk + version: "0.0.0" + flutter_lints: + dependency: "direct dev" + description: + name: flutter_lints + sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04 + url: "https://pub.dev" + source: hosted + version: "2.0.3" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" + glob: + dependency: transitive + description: + name: glob + sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + url: "https://pub.dev" + source: hosted + version: "2.1.2" + image: + dependency: "direct dev" + description: + name: image + sha256: "8e9d133755c3e84c73288363e6343157c383a0c6c56fc51afcc5d4d7180306d6" + url: "https://pub.dev" + source: hosted + version: "3.3.0" + js: + dependency: transitive + description: + name: js + sha256: "4186c61b32f99e60f011f7160e32c89a758ae9b1d0c6d28e2c02ef0382300e2b" + url: "https://pub.dev" + source: hosted + version: "0.7.0" + lints: + dependency: transitive + description: + name: lints + sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" + url: "https://pub.dev" + source: hosted + version: "2.1.1" + logging: + dependency: transitive + description: + name: logging + sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + matcher: + dependency: transitive + description: + name: matcher + sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + url: "https://pub.dev" + source: hosted + version: "0.12.16" + material_color_utilities: + dependency: transitive + description: + name: material_color_utilities + sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + url: "https://pub.dev" + source: hosted + version: "0.5.0" + meta: + dependency: transitive + description: + name: meta + sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e + url: "https://pub.dev" + source: hosted + version: "1.10.0" + path: + dependency: transitive + description: + name: path + sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + url: "https://pub.dev" + source: hosted + version: "1.8.3" + petitparser: + dependency: transitive + description: + name: petitparser + sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 + url: "https://pub.dev" + source: hosted + version: "6.0.2" + plugin_platform_interface: + dependency: "direct main" + description: + name: plugin_platform_interface + sha256: "4820fbfdb9478b1ebae27888254d445073732dae3d6ea81f0b7e06d5dedc3f02" + url: "https://pub.dev" + source: hosted + version: "2.1.8" + pointycastle: + dependency: transitive + description: + name: pointycastle + sha256: "43ac87de6e10afabc85c445745a7b799e04de84cebaa4fd7bf55a5e1e9604d29" + url: "https://pub.dev" + source: hosted + version: "3.7.4" + quiver: + dependency: transitive + description: + name: quiver + sha256: b1c1ac5ce6688d77f65f3375a9abb9319b3cb32486bdc7a1e0fdf004d7ba4e47 + url: "https://pub.dev" + source: hosted + version: "3.2.1" + sky_engine: + dependency: transitive + description: flutter + source: sdk + version: "0.0.99" + source_span: + dependency: transitive + description: + name: source_span + sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" + url: "https://pub.dev" + source: hosted + version: "1.10.0" + stack_trace: + dependency: transitive + description: + name: stack_trace + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + url: "https://pub.dev" + source: hosted + version: "1.11.1" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + url: "https://pub.dev" + source: hosted + version: "2.1.2" + string_scanner: + dependency: transitive + description: + name: string_scanner + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" + source: hosted + version: "1.2.0" + term_glyph: + dependency: transitive + description: + name: term_glyph + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + url: "https://pub.dev" + source: hosted + version: "0.6.1" + typed_data: + dependency: transitive + description: + name: typed_data + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" + source: hosted + version: "1.3.2" + vector_math: + dependency: transitive + description: + name: vector_math + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" + source: hosted + version: "2.1.4" + web: + dependency: transitive + description: + name: web + sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + url: "https://pub.dev" + source: hosted + version: "0.3.0" + xml: + dependency: transitive + description: + name: xml + sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 + url: "https://pub.dev" + source: hosted + version: "6.5.0" + yaml: + dependency: transitive + description: + name: yaml + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + url: "https://pub.dev" + source: hosted + version: "3.1.2" +sdks: + dart: ">=3.2.0 <4.0.0" + flutter: ">=3.3.0" diff --git a/lib/third_party/miniaudio/pubspec.yaml b/lib/third_party/miniaudio/pubspec.yaml index efdec4ab..9786cdb3 100644 --- a/lib/third_party/miniaudio/pubspec.yaml +++ b/lib/third_party/miniaudio/pubspec.yaml @@ -1,18 +1,20 @@ name: miniaudio -description: "A new Flutter plugin project." +description: Play audio version: 0.0.1 -homepage: environment: - sdk: '>=3.2.6 <4.0.0' + sdk: '>=3.1.0 <4.0.0' flutter: '>=3.3.0' dependencies: flutter: sdk: flutter plugin_platform_interface: ^2.0.2 + ffi: ^2.0.1 dev_dependencies: + ffigen: ^6.1.2 + image: ^3.0.1 flutter_test: sdk: flutter flutter_lints: ^2.0.0 @@ -32,19 +34,12 @@ flutter: # This is required for using `dart:ffi`. # All these are used by the tooling to maintain consistency when # adding or updating assets for this project. + # + # Please refer to README.md for a detailed explanation. plugin: platforms: - android: - package: com.example.miniaudio - pluginClass: MiniaudioPlugin - ios: - pluginClass: MiniaudioPlugin linux: - pluginClass: MiniaudioPlugin - macos: - pluginClass: MiniaudioPlugin - windows: - pluginClass: MiniaudioPluginCApi + ffiPlugin: true # To add assets to your plugin package, add an assets section, like this: # assets: diff --git a/lib/third_party/miniaudio/src/CMakeLists.txt b/lib/third_party/miniaudio/src/CMakeLists.txt new file mode 100644 index 00000000..66a8c848 --- /dev/null +++ b/lib/third_party/miniaudio/src/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.10) +project(audio_library VERSION 0.0.1 LANGUAGES C CXX) + +add_library(miniaudio SHARED "audio.c") +target_link_libraries(miniaudio) + +set_target_properties(miniaudio PROPERTIES + PUBLIC_HEADER audio.h + PUBLIC_HEADER miniaudio.h + OUTPUT_NAME "miniaudio" +) + +target_compile_definitions(miniaudio PUBLIC DART_SHARED_LIB) diff --git a/lib/third_party/miniaudio/src/audio.c b/lib/third_party/miniaudio/src/audio.c new file mode 100644 index 00000000..be5eda67 --- /dev/null +++ b/lib/third_party/miniaudio/src/audio.c @@ -0,0 +1,67 @@ +#define MINIAUDIO_IMPLEMENTATION +#include "miniaudio.h" +#include + + ma_device recording_device; + ma_engine engine; +void initAudio() { + ma_result result; + result = ma_engine_init(NULL, &engine); + if (result != MA_SUCCESS) { + printf("Could not init engine\n"); + + } +} + +void playAudio(char * file) { + ma_engine_play_sound(&engine, file, NULL); +} + +void data_callback(ma_device* pDevice, void* pOutput, const void* pInput, ma_uint32 frameCount) +{ + ma_encoder* pEncoder = (ma_encoder*)pDevice->pUserData; + MA_ASSERT(pEncoder != NULL); + + ma_encoder_write_pcm_frames(pEncoder, pInput, frameCount, NULL); + + (void)pOutput; +} + +void startRecording() { + ma_result result; + ma_encoder_config encoderConfig; + ma_encoder encoder; + ma_device_config deviceConfig; + + encoderConfig = ma_encoder_config_init(ma_encoding_format_wav, ma_format_f32, 2, 44100); + deviceConfig = ma_device_config_init(ma_device_type_capture); + deviceConfig.capture.format = encoder.config.format; + deviceConfig.capture.channels = encoder.config.channels; + deviceConfig.sampleRate = encoder.config.sampleRate; + deviceConfig.dataCallback = data_callback; + deviceConfig.pUserData = &encoder; + + if (ma_encoder_init_file("test.wav", &encoderConfig, &encoder) != MA_SUCCESS) { + printf("Failed to initialize output file.\n"); + return ; + } + + result = ma_device_init(NULL, &deviceConfig, &recording_device); + if (result != MA_SUCCESS) { + printf("Failed to initialize capture device.\n"); + return ; + } + + result = ma_device_start(&recording_device); + if (result != MA_SUCCESS) { + printf("Failed to start device.\n"); + return; + } +} + +void stopRecording() { + ma_result result; + result = ma_device_stop(&recording_device); +} + + \ No newline at end of file diff --git a/lib/third_party/miniaudio/src/audio.h b/lib/third_party/miniaudio/src/audio.h new file mode 100644 index 00000000..7a32e174 --- /dev/null +++ b/lib/third_party/miniaudio/src/audio.h @@ -0,0 +1,14 @@ +#include +#include "miniaudio.h" +#ifdef __cplusplus +extern "C" { +#endif + +void initAudio(); +void playAudio(char * file); + +#ifdef __cplusplus +} +#endif + + diff --git a/lib/third_party/miniaudio/linux/miniaudio.h b/lib/third_party/miniaudio/src/miniaudio.h similarity index 100% rename from lib/third_party/miniaudio/linux/miniaudio.h rename to lib/third_party/miniaudio/src/miniaudio.h diff --git a/lib/third_party/miniaudio/test/miniaudio_method_channel_test.dart b/lib/third_party/miniaudio/test/miniaudio_method_channel_test.dart deleted file mode 100644 index 3f82703e..00000000 --- a/lib/third_party/miniaudio/test/miniaudio_method_channel_test.dart +++ /dev/null @@ -1,27 +0,0 @@ -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:miniaudio/miniaudio_method_channel.dart'; - -void main() { - TestWidgetsFlutterBinding.ensureInitialized(); - - MethodChannelMiniaudio platform = MethodChannelMiniaudio(); - const MethodChannel channel = MethodChannel('miniaudio'); - - setUp(() { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler( - channel, - (MethodCall methodCall) async { - return '42'; - }, - ); - }); - - tearDown(() { - TestDefaultBinaryMessengerBinding.instance.defaultBinaryMessenger.setMockMethodCallHandler(channel, null); - }); - - test('getPlatformVersion', () async { - expect(await platform.getPlatformVersion(), '42'); - }); -} diff --git a/lib/third_party/miniaudio/test/miniaudio_test.dart b/lib/third_party/miniaudio/test/miniaudio_test.dart deleted file mode 100644 index 6156d8cb..00000000 --- a/lib/third_party/miniaudio/test/miniaudio_test.dart +++ /dev/null @@ -1,29 +0,0 @@ -import 'package:flutter_test/flutter_test.dart'; -import 'package:miniaudio/miniaudio.dart'; -import 'package:miniaudio/miniaudio_platform_interface.dart'; -import 'package:miniaudio/miniaudio_method_channel.dart'; -import 'package:plugin_platform_interface/plugin_platform_interface.dart'; - -class MockMiniaudioPlatform - with MockPlatformInterfaceMixin - implements MiniaudioPlatform { - - @override - Future getPlatformVersion() => Future.value('42'); -} - -void main() { - final MiniaudioPlatform initialPlatform = MiniaudioPlatform.instance; - - test('$MethodChannelMiniaudio is the default instance', () { - expect(initialPlatform, isInstanceOf()); - }); - - test('getPlatformVersion', () async { - Miniaudio miniaudioPlugin = Miniaudio(); - MockMiniaudioPlatform fakePlatform = MockMiniaudioPlatform(); - MiniaudioPlatform.instance = fakePlatform; - - expect(await miniaudioPlugin.getPlatformVersion(), '42'); - }); -} diff --git a/lib/third_party/miniaudio/windows/.gitignore b/lib/third_party/miniaudio/windows/.gitignore deleted file mode 100644 index b3eb2be1..00000000 --- a/lib/third_party/miniaudio/windows/.gitignore +++ /dev/null @@ -1,17 +0,0 @@ -flutter/ - -# Visual Studio user-specific files. -*.suo -*.user -*.userosscache -*.sln.docstates - -# Visual Studio build-related files. -x64/ -x86/ - -# Visual Studio cache files -# files ending in .cache can be ignored -*.[Cc]ache -# but keep track of directories ending in .cache -!*.[Cc]ache/ diff --git a/lib/third_party/miniaudio/windows/CMakeLists.txt b/lib/third_party/miniaudio/windows/CMakeLists.txt deleted file mode 100644 index d7ee6148..00000000 --- a/lib/third_party/miniaudio/windows/CMakeLists.txt +++ /dev/null @@ -1,100 +0,0 @@ -# The Flutter tooling requires that developers have a version of Visual Studio -# installed that includes CMake 3.14 or later. You should not increase this -# version, as doing so will cause the plugin to fail to compile for some -# customers of the plugin. -cmake_minimum_required(VERSION 3.14) - -# Project-level configuration. -set(PROJECT_NAME "miniaudio") -project(${PROJECT_NAME} LANGUAGES CXX) - -# Explicitly opt in to modern CMake behaviors to avoid warnings with recent -# versions of CMake. -cmake_policy(VERSION 3.14...3.25) - -# This value is used when generating builds using this plugin, so it must -# not be changed -set(PLUGIN_NAME "miniaudio_plugin") - -# Any new source files that you add to the plugin should be added here. -list(APPEND PLUGIN_SOURCES - "miniaudio_plugin.cpp" - "miniaudio_plugin.h" -) - -# Define the plugin library target. Its name must not be changed (see comment -# on PLUGIN_NAME above). -add_library(${PLUGIN_NAME} SHARED - "include/miniaudio/miniaudio_plugin_c_api.h" - "miniaudio_plugin_c_api.cpp" - ${PLUGIN_SOURCES} -) - -# Apply a standard set of build settings that are configured in the -# application-level CMakeLists.txt. This can be removed for plugins that want -# full control over build settings. -apply_standard_settings(${PLUGIN_NAME}) - -# Symbols are hidden by default to reduce the chance of accidental conflicts -# between plugins. This should not be removed; any symbols that should be -# exported should be explicitly exported with the FLUTTER_PLUGIN_EXPORT macro. -set_target_properties(${PLUGIN_NAME} PROPERTIES - CXX_VISIBILITY_PRESET hidden) -target_compile_definitions(${PLUGIN_NAME} PRIVATE FLUTTER_PLUGIN_IMPL) - -# Source include directories and library dependencies. Add any plugin-specific -# dependencies here. -target_include_directories(${PLUGIN_NAME} INTERFACE - "${CMAKE_CURRENT_SOURCE_DIR}/include") -target_link_libraries(${PLUGIN_NAME} PRIVATE flutter flutter_wrapper_plugin) - -# List of absolute paths to libraries that should be bundled with the plugin. -# This list could contain prebuilt libraries, or libraries created by an -# external build triggered from this build file. -set(miniaudio_bundled_libraries - "" - PARENT_SCOPE -) - -# === Tests === -# These unit tests can be run from a terminal after building the example, or -# from Visual Studio after opening the generated solution file. - -# Only enable test builds when building the example (which sets this variable) -# so that plugin clients aren't building the tests. -if (${include_${PROJECT_NAME}_tests}) -set(TEST_RUNNER "${PROJECT_NAME}_test") -enable_testing() - -# Add the Google Test dependency. -include(FetchContent) -FetchContent_Declare( - googletest - URL https://github.com/google/googletest/archive/release-1.11.0.zip -) -# Prevent overriding the parent project's compiler/linker settings -set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) -# Disable install commands for gtest so it doesn't end up in the bundle. -set(INSTALL_GTEST OFF CACHE BOOL "Disable installation of googletest" FORCE) -FetchContent_MakeAvailable(googletest) - -# The plugin's C API is not very useful for unit testing, so build the sources -# directly into the test binary rather than using the DLL. -add_executable(${TEST_RUNNER} - test/miniaudio_plugin_test.cpp - ${PLUGIN_SOURCES} -) -apply_standard_settings(${TEST_RUNNER}) -target_include_directories(${TEST_RUNNER} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}") -target_link_libraries(${TEST_RUNNER} PRIVATE flutter_wrapper_plugin) -target_link_libraries(${TEST_RUNNER} PRIVATE gtest_main gmock) -# flutter_wrapper_plugin has link dependencies on the Flutter DLL. -add_custom_command(TARGET ${TEST_RUNNER} POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different - "${FLUTTER_LIBRARY}" $ -) - -# Enable automatic test discovery. -include(GoogleTest) -gtest_discover_tests(${TEST_RUNNER}) -endif() diff --git a/lib/third_party/miniaudio/windows/include/miniaudio/miniaudio_plugin_c_api.h b/lib/third_party/miniaudio/windows/include/miniaudio/miniaudio_plugin_c_api.h deleted file mode 100644 index 8d05b35e..00000000 --- a/lib/third_party/miniaudio/windows/include/miniaudio/miniaudio_plugin_c_api.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef FLUTTER_PLUGIN_MINIAUDIO_PLUGIN_C_API_H_ -#define FLUTTER_PLUGIN_MINIAUDIO_PLUGIN_C_API_H_ - -#include - -#ifdef FLUTTER_PLUGIN_IMPL -#define FLUTTER_PLUGIN_EXPORT __declspec(dllexport) -#else -#define FLUTTER_PLUGIN_EXPORT __declspec(dllimport) -#endif - -#if defined(__cplusplus) -extern "C" { -#endif - -FLUTTER_PLUGIN_EXPORT void MiniaudioPluginCApiRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar); - -#if defined(__cplusplus) -} // extern "C" -#endif - -#endif // FLUTTER_PLUGIN_MINIAUDIO_PLUGIN_C_API_H_ diff --git a/lib/third_party/miniaudio/windows/miniaudio_plugin.cpp b/lib/third_party/miniaudio/windows/miniaudio_plugin.cpp deleted file mode 100644 index 505491b8..00000000 --- a/lib/third_party/miniaudio/windows/miniaudio_plugin.cpp +++ /dev/null @@ -1,59 +0,0 @@ -#include "miniaudio_plugin.h" - -// This must be included before many other Windows headers. -#include - -// For getPlatformVersion; remove unless needed for your plugin implementation. -#include - -#include -#include -#include - -#include -#include - -namespace miniaudio { - -// static -void MiniaudioPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarWindows *registrar) { - auto channel = - std::make_unique>( - registrar->messenger(), "miniaudio", - &flutter::StandardMethodCodec::GetInstance()); - - auto plugin = std::make_unique(); - - channel->SetMethodCallHandler( - [plugin_pointer = plugin.get()](const auto &call, auto result) { - plugin_pointer->HandleMethodCall(call, std::move(result)); - }); - - registrar->AddPlugin(std::move(plugin)); -} - -MiniaudioPlugin::MiniaudioPlugin() {} - -MiniaudioPlugin::~MiniaudioPlugin() {} - -void MiniaudioPlugin::HandleMethodCall( - const flutter::MethodCall &method_call, - std::unique_ptr> result) { - if (method_call.method_name().compare("getPlatformVersion") == 0) { - std::ostringstream version_stream; - version_stream << "Windows "; - if (IsWindows10OrGreater()) { - version_stream << "10+"; - } else if (IsWindows8OrGreater()) { - version_stream << "8"; - } else if (IsWindows7OrGreater()) { - version_stream << "7"; - } - result->Success(flutter::EncodableValue(version_stream.str())); - } else { - result->NotImplemented(); - } -} - -} // namespace miniaudio diff --git a/lib/third_party/miniaudio/windows/miniaudio_plugin.h b/lib/third_party/miniaudio/windows/miniaudio_plugin.h deleted file mode 100644 index 9b70f8c3..00000000 --- a/lib/third_party/miniaudio/windows/miniaudio_plugin.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef FLUTTER_PLUGIN_MINIAUDIO_PLUGIN_H_ -#define FLUTTER_PLUGIN_MINIAUDIO_PLUGIN_H_ - -#include -#include - -#include - -namespace miniaudio { - -class MiniaudioPlugin : public flutter::Plugin { - public: - static void RegisterWithRegistrar(flutter::PluginRegistrarWindows *registrar); - - MiniaudioPlugin(); - - virtual ~MiniaudioPlugin(); - - // Disallow copy and assign. - MiniaudioPlugin(const MiniaudioPlugin&) = delete; - MiniaudioPlugin& operator=(const MiniaudioPlugin&) = delete; - - // Called when a method is called on this plugin's channel from Dart. - void HandleMethodCall( - const flutter::MethodCall &method_call, - std::unique_ptr> result); -}; - -} // namespace miniaudio - -#endif // FLUTTER_PLUGIN_MINIAUDIO_PLUGIN_H_ diff --git a/lib/third_party/miniaudio/windows/miniaudio_plugin_c_api.cpp b/lib/third_party/miniaudio/windows/miniaudio_plugin_c_api.cpp deleted file mode 100644 index e9e92a5e..00000000 --- a/lib/third_party/miniaudio/windows/miniaudio_plugin_c_api.cpp +++ /dev/null @@ -1,12 +0,0 @@ -#include "include/miniaudio/miniaudio_plugin_c_api.h" - -#include - -#include "miniaudio_plugin.h" - -void MiniaudioPluginCApiRegisterWithRegistrar( - FlutterDesktopPluginRegistrarRef registrar) { - miniaudio::MiniaudioPlugin::RegisterWithRegistrar( - flutter::PluginRegistrarManager::GetInstance() - ->GetRegistrar(registrar)); -} diff --git a/lib/third_party/miniaudio/windows/test/miniaudio_plugin_test.cpp b/lib/third_party/miniaudio/windows/test/miniaudio_plugin_test.cpp deleted file mode 100644 index c37c0e34..00000000 --- a/lib/third_party/miniaudio/windows/test/miniaudio_plugin_test.cpp +++ /dev/null @@ -1,43 +0,0 @@ -#include -#include -#include -#include -#include - -#include -#include -#include - -#include "miniaudio_plugin.h" - -namespace miniaudio { -namespace test { - -namespace { - -using flutter::EncodableMap; -using flutter::EncodableValue; -using flutter::MethodCall; -using flutter::MethodResultFunctions; - -} // namespace - -TEST(MiniaudioPlugin, GetPlatformVersion) { - MiniaudioPlugin plugin; - // Save the reply value from the success callback. - std::string result_string; - plugin.HandleMethodCall( - MethodCall("getPlatformVersion", std::make_unique()), - std::make_unique>( - [&result_string](const EncodableValue* result) { - result_string = std::get(*result); - }, - nullptr, nullptr)); - - // Since the exact string varies by host, just ensure that it's a string - // with the expected format. - EXPECT_TRUE(result_string.rfind("Windows ", 0) == 0); -} - -} // namespace test -} // namespace miniaudio diff --git a/linux/flutter/generated_plugin_registrant.cc b/linux/flutter/generated_plugin_registrant.cc index f7e7ca6a..0cacc750 100644 --- a/linux/flutter/generated_plugin_registrant.cc +++ b/linux/flutter/generated_plugin_registrant.cc @@ -6,15 +6,11 @@ #include "generated_plugin_registrant.h" -#include #include #include #include void fl_register_plugins(FlPluginRegistry* registry) { - g_autoptr(FlPluginRegistrar) miniaudio_registrar = - fl_plugin_registry_get_registrar_for_plugin(registry, "MiniaudioPlugin"); - miniaudio_plugin_register_with_registrar(miniaudio_registrar); g_autoptr(FlPluginRegistrar) screen_retriever_registrar = fl_plugin_registry_get_registrar_for_plugin(registry, "ScreenRetrieverPlugin"); screen_retriever_plugin_register_with_registrar(screen_retriever_registrar); diff --git a/linux/flutter/generated_plugins.cmake b/linux/flutter/generated_plugins.cmake index 2131e77d..775650f7 100644 --- a/linux/flutter/generated_plugins.cmake +++ b/linux/flutter/generated_plugins.cmake @@ -3,7 +3,6 @@ # list(APPEND FLUTTER_PLUGIN_LIST - miniaudio screen_retriever url_launcher_linux window_manager @@ -11,6 +10,7 @@ list(APPEND FLUTTER_PLUGIN_LIST list(APPEND FLUTTER_FFI_PLUGIN_LIST camera_linux + miniaudio ) set(PLUGIN_BUNDLED_LIBRARIES) diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index e3ec8045..656d31e1 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -7,7 +7,6 @@ import Foundation import connectivity_plus import flutter_local_notifications -import miniaudio import package_info_plus import path_provider_foundation import screen_retriever @@ -17,7 +16,6 @@ import window_manager func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { ConnectivityPlugin.register(with: registry.registrar(forPlugin: "ConnectivityPlugin")) FlutterLocalNotificationsPlugin.register(with: registry.registrar(forPlugin: "FlutterLocalNotificationsPlugin")) - MiniaudioPlugin.register(with: registry.registrar(forPlugin: "MiniaudioPlugin")) FLTPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FLTPackageInfoPlusPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) ScreenRetrieverPlugin.register(with: registry.registrar(forPlugin: "ScreenRetrieverPlugin")) diff --git a/pubspec.lock b/pubspec.lock index 7c4ffec0..58d9f097 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -983,5 +983,5 @@ packages: source: hosted version: "3.1.2" sdks: - dart: ">=3.2.6 <4.0.0" + dart: ">=3.2.0-194.0.dev <4.0.0" flutter: ">=3.7.0" diff --git a/pubspec.yaml b/pubspec.yaml index 29452ff9..b17fc1d2 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -57,7 +57,7 @@ dependencies: camera_linux: path: lib/third_party/camera_linux miniaudio: - path: lib/third_party/miniaudio + path: lib/third_party/miniaudio # misc plugins qr_flutter: ^4.0.0 diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index 61b92b00..b4b9a696 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -7,7 +7,6 @@ #include "generated_plugin_registrant.h" #include -#include #include #include #include @@ -16,8 +15,6 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { ConnectivityPlusWindowsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("ConnectivityPlusWindowsPlugin")); - MiniaudioPluginCApiRegisterWithRegistrar( - registry->GetRegistrarForPlugin("MiniaudioPluginCApi")); ScreenRetrieverPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("ScreenRetrieverPlugin")); UrlLauncherWindowsRegisterWithRegistrar( diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index e92634c0..427d1281 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -4,7 +4,6 @@ list(APPEND FLUTTER_PLUGIN_LIST connectivity_plus - miniaudio screen_retriever url_launcher_windows win_toast