Midi Playback in Flutter

Overview

Buy Me A Coffee Donate github pages GitHub stars flutter_midi

flutter_midi

A FLutter Plugin to Play midi on iOS and Android. This uses SoundFont (.sf2) Files.

Online Demo: https://rodydavis.github.io/flutter_midi/

Installation

Download a any sound font file, example: sound_font.SF2 file.

Create an /assets folder and store the .sf2 files

Update pubspec.yaml

assets:
   - assets/sf2/Piano.SF2
   - assets/sf2/SmallTimGM6mb.sf2

Load the sound font to prepare to play;

 @override
  void initState() {
    load('assets/sf2/Piano.SF2');
    super.initState();
  }
  
 void load(String asset) async {
    FlutterMidi.unmute(); // Optionally Unmute
    ByteData _byte = await rootBundle.load(asset);
    FlutterMidi.prepare(sf2: _byte);
  }

Play and Stop the Midi Notes

 FlutterMidi.playMidiNote(midi: 60);

 FlutterMidi.stopMidiNote(midi: 60);
Comments
  • Add support to nnbd

    Add support to nnbd

    Add support to non-nullable by default.

    Related with https://github.com/rodydavis/flutter_midi/issues/26 and https://github.com/rodydavis/flutter_midi/issues/27

    opened by canastro 10
  • Broken link to sf2 file on README of flutter_midi

    Broken link to sf2 file on README of flutter_midi

    The link to sound_font.SF2 on the README of flutter_midi leads to Google Drive which says the requested file is not found. FYI just in case the issue has something to do with my location, I accessed it from Japan.

    opened by kaboc 7
  • The plugin `flutter_midi` uses a deprecated version of the Android embedding.

    The plugin `flutter_midi` uses a deprecated version of the Android embedding.

    The plugin flutter_midi uses a deprecated version of the Android embedding. To avoid unexpected runtime failures, or future build failures, try to see if this plugin supports the Android V2 embedding. Otherwise, consider removing it since a future release of Flutter will remove these deprecated APIs. If you are plugin author, take a look at the docs for migrating the plugin to the V2 embedding: https://flutter.dev/go/android-plugin-migration.

    opened by Kizat 4
  • Unhandled Exception: MissingPluginException(

    Unhandled Exception: MissingPluginException(

    Dear Sir

    Any idea for...

    E/flutter: [ERROR:flutter/lib/ui/ui_dart_state.cc(171)] Unhandled Exception: MissingPluginException(No implementation found for method play_midi_note on channel flutter_midi) #0 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:158) #1 FlutterMidi.playMidiNote (package:flutter_midi/flutter_midi.dart:69) #2 _MyAppState._play (package:melody/main.dart:552)

    opened by pp2015jp 4
  • Dependency to old version of plugin_platform_interface

    Dependency to old version of plugin_platform_interface

    flutter_midi depends on plugin_platform_interface 1.0.1 and that breaks the apps with dependency on version 2.0.0. An example is when I add "file_picker" library to flutter_piano, I get this error:

    And because no versions of flutter_midi match >1.0.2 <2.0.0, file_picker >=3.0.0-nullsafety.3 is incompatible with flutter_midi ^1.0.2.
    So, because flutter_piano depends on both flutter_midi ^1.0.2 and file_picker ^3.0.0, version solving failed.
    pub get failed (1; So, because flutter_piano depends on both flutter_midi ^1.0.2 and file_picker ^3.0.0, version solving failed.)```
    opened by abolourian 2
  • Resolve deprecated version of Android Embedding

    Resolve deprecated version of Android Embedding

    Saw an almost complete fork by @weelion that upgraded the repository to use the new Android Embedding system. I just finished it off for him/her.

    Upgrade guide followed: https://flutter.dev/docs/development/packages-and-plugins/plugin-api-migration

    This should resolve #35 and remove this message from appearing when a project depending on this one builds:

    The plugin flutter_midi uses a deprecated version of the Android embedding.
    To avoid unexpected runtime failures, or future build failures, try to see if this plugin supports the Android V2 embedding. Otherwise, consider removing it since a future release of Flutter will remove these deprecated APIs.
    If you are plugin author, take a look at the docs for migrating the plugin to the V2 embedding: https://flutter.dev/go/android-plugin-migration.
    

    Please have a test and let me know if this is working for you @Kizat.

    opened by kNoAPP 1
  • no reproduce notes on iOS

    no reproduce notes on iOS

    getflutterMidi.unmute();
    ByteData _sound = await rootBundle.load('assets/sf2/Wurlitzer_EP-Hedsound-V2_2.sf2');
    getflutterMidi.prepare(sf2: _sound, name: "Piano");
    notifyListeners();
    

    playNote(60);

    this example run perfect on Android and no works on iOS, version flutter_midi: ^1.1.0, no show any error.

    opened by mideart 1
  • flutter_midi/AudioUnitMIDISynth.swift:148: Fatal error: initialize graph first

    flutter_midi/AudioUnitMIDISynth.swift:148: Fatal error: initialize graph first

    I'm having this error "flutter_midi/AudioUnitMIDISynth.swift:148: Fatal error: initialize graph first", and I really don't know what to do to solve it, thanks

    final ByteData _sound = await rootBundle.load('assets/sf2/Wurlitzer_EP-Hedsound-V2_2.sf2'); getflutterMidi.prepare(sf2: _sound, name: "Piano"); notifyListeners();

    opened by mideart 1
  • flutter_midi can't  integrated into an existing app as a module

    flutter_midi can't integrated into an existing app as a module

    hi, when i use flutter_midi in a flutter module about my ios app, i get a crash.

    in xcode error like this: 2020-11-19 14:53:14.142725+0800 piano_demo[3130:923294] [VERBOSE0:callback_cache.cc(133)] Could not parse callback cache, aborting restore (lldb)

    image

    how can i fix it

    opened by wuxq 1
  • [Android] FlutterMidi.stopMidiNote isn't working on Android.

    [Android] FlutterMidi.stopMidiNote isn't working on Android.

    The following snippet only seams to work on iOS, but on Android, the midi notes start, but never stop playing.

    // Init.
    final _flutterMidi = FlutterMidi();
    final file = await rootBundle.load("assets/Test File.sf2");
    _flutterMidi.prepare(sf2: file, name: "Test File.sf2");
    
    await _flutterMidi.playMidiNote(midi: x); // Play.
    await Future<void>.delayed(...); // Wait.
    await _flutterMidi.stopMidiNote(x); // Stop. <-- This line doesn't seem to work.
    
    opened by johnsonmh 1
  • Unhandled Exception: MissingPluginException on MacOS

    Unhandled Exception: MissingPluginException on MacOS

    I added the plugin and decided to follow the example, but i get this error:

    #0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:159:7)
    <asynchronous suspension>
    #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:334:12)
    #2      FlutterMidi.unmute (package:flutter_midi/flutter_midi.dart:47:42)
    #3      MotivateViewModel.load (package:motivate/core/viewmodels/motivate_vm.dart:60:17)
    #4      MotivateViewModel.loadData (package:motivate/core/viewmodels/motivate_vm.dart:42:5)
    #5      _HomeState.afterFirstLayout (package:motivate/views/home.dart:31:14)
    #6      AfterLayoutMixin.initState.<anonymous closure> (package:after_layout/after_layout.dart:10:38)
    #7      SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1117:15)
    #8      SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1064:9)
    #9      SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:865:7)
    #10     _rootRun (dart:async/zone.dart:1182:47)
    #11     _CustomZone.run (dart:async/zone.dart:1093:19)
    #12     _CustomZone.runGuarded (dart:async/zone.dart:997:7)
    #13     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23)
    #14     _rootRun (dart:async/zone.dart:1190:13)
    #15     _CustomZone.run (dart:async/zone.dart:1093:19)
    #16     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:1021:23)
    #17     Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:18:15)
    #18     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:397:19)
    #19     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:428:5)
    #20     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)
    
    [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: MissingPluginException(No implementation found for method prepare_midi on channel flutter_midi)
    #0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:159:7)
    <asynchronous suspension>
    #1      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:334:12)
    #2      FlutterMidi.prepare (package:flutter_midi/flutter_midi.dart:23:24)
    <asynchronous suspension>
    #3      MotivateViewModel.load (package:motivate/core/viewmodels/motivate_vm.dart:62:17)
    <asynchronous suspension>
    #4      MotivateViewModel.loadData (package:motivate/core/viewmodels/motivate_vm.dart:42:5)
    #5      _HomeState.afterFirstLayout (package:motivate/views/home.dart:31:14)
    #6      AfterLayoutMixin.initState.<anonymous closure> (package:after_layout/after_layout.dart:10:38)
    #7      SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1117:15)
    #8      SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1064:9)
    #9      SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:865:7)
    #10     _rootRun (dart:async/zone.dart:1182:47)
    #11     _CustomZone.run (dart:async/zone.dart:1093:19)
    #12     _CustomZone.runGuarded (dart:async/zone.dart:997:7)
    #13     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23)
    #14     _rootRun (dart:async/zone.dart:1190:13)
    #15     _CustomZone.run (dart:async/zone.dart:1093:19)
    #16     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:1021:23)
    #17     Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:18:15)
    #18     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:397:19)
    #19     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:428:5)
    #20     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)
    
    
    opened by Zfinix 1
  • iOS voice memo recording stops

    iOS voice memo recording stops

    I have using flutter_midi to play sound in one of my flutter mobile app project. and I noticed that when I open iOS app its stop Voice memo recoding.

    I want recording should continue when Open aiOs pp, ( in Android build , voice recording continue )

    Steps : 1 open Voice memo recoding apps , 2 start recording
    3. open app which has flutter_midi added recording is stoped automatically when open app.

    Thanks, Rushiraj

    opened by RushirajJhala 0
  • Support for Android V2 embedding

    Support for Android V2 embedding

    Are there any plans to update your plug-in to support Android V2 embedding? When compiling my app, I now get the warning:

    "The plugin flutter_midi uses a deprecated version of the Android embedding. To avoid unexpected runtime failures, or future build failures, try to see if this plugin supports the Android V2 embedding. Otherwise, consider removing it since a future release of Flutter will remove these deprecated APIs. If you are plugin author, take a look at the docs for migrating the plugin to the V2 embedding: https://flutter.dev/go/android-plugin-migration."

    Thanks

    opened by pdtoal 2
  • Support for M1 Macbooks?

    Support for M1 Macbooks?

    Hi.

    i've been trying to use the flutter_midi package to build a simple flutter app. If i try to build the app i get following error message:

    /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require': dlopen(/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle, 0x0009): tried: '/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/usr/lib/ffi_c.bundle' (no such file) - /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle (LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:inrequire' from /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi.rb:5:in rescue in <top (required)>' from /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi.rb:2:in<top (required)>' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:inrequire' from /Library/Ruby/Gems/2.6.0/gems/ethon-0.15.0/lib/ethon.rb:3:in <top (required)>' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:inrequire' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require' from /Library/Ruby/Gems/2.6.0/gems/typhoeus-1.4.0/lib/typhoeus.rb:2:in<top (required)>' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:inrequire' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/cdn_source.rb:440:in download_typhoeus_impl_async' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/cdn_source.rb:372:indownload_and_save_with_retries_async' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/cdn_source.rb:365:in download_file_async' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/cdn_source.rb:338:indownload_file' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/cdn_source.rb:53:in refresh_metadata' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source.rb:31:ininitialize' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/cdn_source.rb:30:in initialize' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:315:innew' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:315:in block in source_from_path' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:322:insource_from_path' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:331:in block in aggregate_with_repos' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:331:inmap' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:331:in aggregate_with_repos' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:26:inaggregate' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:60:in all' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.2/lib/cocoapods/user_interface/error_report.rb:173:inrepo_information' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.2/lib/cocoapods/user_interface/error_report.rb:77:in stack' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.2/lib/cocoapods/user_interface/error_report.rb:24:inreport' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.2/lib/cocoapods/command.rb:66:in report_error' from /Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:396:inhandle_exception' from /Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:337:in rescue in run' from /Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:324:inrun' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.2/lib/cocoapods/command.rb:52:in run' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.2/bin/pod:55:in<top (required)>' from /usr/local/bin/pod:23:in load' from /usr/local/bin/pod:23:in

    ' /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require': cannot load such file -- 2.6/ffi_c (LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:inrequire' from /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi.rb:3:in <top (required)>' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:inrequire' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require' from /Library/Ruby/Gems/2.6.0/gems/ethon-0.15.0/lib/ethon.rb:3:in<top (required)>' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:inrequire' from /Library/Ruby/Gems/2.6.0/gems/typhoeus-1.4.0/lib/typhoeus.rb:2:in <top (required)>' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:inrequire' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/cdn_source.rb:440:indownload_typhoeus_impl_async' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/cdn_source.rb:372:in download_and_save_with_retries_async' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/cdn_source.rb:365:indownload_file_async' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/cdn_source.rb:338:in download_file' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/cdn_source.rb:53:inrefresh_metadata' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source.rb:31:in initialize' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/cdn_source.rb:30:ininitialize' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:315:in new' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:315:inblock in source_from_path' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:322:in source_from_path' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:331:inblock in aggregate_with_repos' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:331:in map' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:331:inaggregate_with_repos' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:26:in aggregate' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:60:inall' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.2/lib/cocoapods/user_interface/error_report.rb:173:in repo_information' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.2/lib/cocoapods/user_interface/error_report.rb:77:instack' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.2/lib/cocoapods/user_interface/error_report.rb:24:in report' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.2/lib/cocoapods/command.rb:66:inreport_error' from /Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:396:in handle_exception' from /Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:337:inrescue in run' from /Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:324:in run' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.2/lib/cocoapods/command.rb:52:inrun' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-1.11.2/bin/pod:55:in <top (required)>' from /usr/local/bin/pod:23:inload' from /usr/local/bin/pod:23:in <main>' /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:inrequire': dlopen(/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle, 0x0009): tried: '/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle' (mach-o file, but is an incompatible architecture (have 'arm64', need 'x86_64')), '/usr/lib/ffi_c.bundle' (no such file) - /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle (LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require' from /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi.rb:5:inrescue in <top (required)>' from /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi.rb:2:in <top (required)>' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:inrequire' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require' from /Library/Ruby/Gems/2.6.0/gems/ethon-0.15.0/lib/ethon.rb:3:in<top (required)>' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:inrequire' from /Library/Ruby/Gems/2.6.0/gems/typhoeus-1.4.0/lib/typhoeus.rb:2:in <top (required)>' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:inrequire' from /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in require' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/cdn_source.rb:440:indownload_typhoeus_impl_async' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/cdn_source.rb:372:in download_and_save_with_retries_async' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/cdn_source.rb:365:indownload_file_async' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/cdn_source.rb:338:in download_file' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/cdn_source.rb:53:inrefresh_metadata' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source.rb:31:in initialize' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/cdn_source.rb:30:ininitialize' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:315:in new' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:315:inblock in source_from_path' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:322:in source_from_path' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:331:inblock in aggregate_with_repos' from /Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.11.2/lib/cocoapods-core/source/manager.rb:331:in `map'

    if i run the app without the package everything works fine. Is there a way to resolve this issue on my side?

    opened by Dakiira 0
  • Adds support for Velocity parameter

    Adds support for Velocity parameter

    • Adds a 0-127 value to indicate note velocity on note down.
    • Adds a 0-127 value to indicate note velocity on note up.
    • Corrects some documentation regarding valid integers that can be passed to flutter_midi.
    opened by kNoAPP 1
  • Is it possible to call prepare to load a second .sf2 file?

    Is it possible to call prepare to load a second .sf2 file?

    Hi,

    First, thanks for the great library!

    I'm trying to have two different modes in my app, one using a percussion .sf2 file and another for bass with a different sf2 file. I tried calling the prepare method a second time with the second sf2 file name, but it still seems to use the first. Is there a way to "unload" the first sf2 file and then load a second?

    Thanks,

    Jim

    opened by JimTompkins 1
Owner
Rody Davis
Developer Advocate for @material-components at @Google
Rody Davis
A clean front-end to Volumio, the Linux distribution for music playback. DigiPlayer is written in Flutter.

EN | 中文 DigiPlayer - A Clean Touch UI for Volumio 3 DigiPlayer is a clean touch UI for Volumio 3, written in Flutter for the Raspberry Pi Touch Displa

Feng Zhou 5 Jul 26, 2022
Audio manager - A flutter plugin for music playback, including notification handling.

audio_manager A flutter plugin for music playback, including notification handling. This plugin is developed for iOS based on AVPlayer, while android

Jerome Xiong 96 Oct 25, 2022
Just audio background - A flutter package plugs into just audio to add background playback support and remote controls

just_audio_background This package plugs into just_audio to add background playb

lonyyy 1 Jan 11, 2022
Flutter Music Player - First Open Source Flutter based material design music player with audio plugin to play local music files.

Flutter Music Player First Open Source Flutter based Beautiful Material Design Music Player(Online Radio will be added soon.) Demo App Play Store BETA

Pawan Kumar 1.5k Jan 8, 2023
a project for learning all Flutter Widgets , sync from flutter.dev the officia website.

Flutter Widgets Catalog (WIP) 计划 1、使用Flutter开发一个全平台的Flutter Widgets Catalog APP,并且开源。在这个APP中可以通过图形化的方式查看所有Widgets的介绍,示例,视频教程。 2、所有文档内容由前一天从flutter.dev

ezshine 32 Aug 3, 2022
A low-cost Flutter screen adaptation solution(一个极低成本的 Flutter 屏幕适配方案)

A low-cost Flutter screen adaptation solution(一个极低成本的 Flutter 屏幕适配方案) 100% 还原 UI,只需要按照设计图写的宽高写即可 先看图片,设置的标准宽度是 360 iPhone 8 --------------------------

聂志洋 108 Sep 27, 2022
Flutter 2.0 (Null safety) Basic, Dynamic & Silver style Staggered Grid views made using flutter staggered grid view package. 🦺

Staggered Grid View Developement Stack Getting Started This project is a starting point for a Flutter application. A few resources to get you started

Nakshatra Singh 9 Oct 28, 2022
A Flutter package that makes it easy to customize and work with your Flutter desktop app's system tray.

system_tray A Flutter package that that enables support for system tray menu for desktop flutter apps. on Windows, macOS and Linux. Features: - Modify

AnTler 140 Dec 30, 2022
Email and Password Authentication In Flutter & Firebase in Flutter 2.2

Email and Password Authentication In Flutter & Firebase in Flutter 2.2

BackSlash Flutter 43 Nov 23, 2022
Learn Flutter on Flutter! A widget directory with implementation samples!

Fludget Browse through a variety of widgets used in flutter This application is developed to learn Flutter using Flutter. Different widgets used in fl

ACM VIT 29 Nov 23, 2022
A Flutter package that makes it easy to customize and work with your Flutter desktop app window.

bitsdojo_window A Flutter package that makes it easy to customize and work with your Flutter desktop app window on Windows, macOS and Linux. Watch the

Bits Dojo 606 Dec 27, 2022
DoneIt is a sample note app 📝 Flutter application 📱 built to demonstrate use of Clean Architecture tools. Dedicated to all Flutter Developers with ❤️.

DoneIt ?? DoneIt is a sample note app ?? Flutter application ?? built to demonstrate use of Clean Architecture tools. Dedicated to all Flutter Develop

Shubham Chhimpa 175 Dec 24, 2022
Utility Manager Flutter Application is made with Flutter and Supabase which allows user to add task, set remainder to the task, set color to separate tasks and it allows to add URL with URL's informations.

Utility Manager Flutter Application! Utility Manager Flutter Application is made with Flutter and Supabase which allows user to add task, set remainde

Kathirvel Chandrasekaran 6 Jan 6, 2022
My first Flutter project - a recipes app, from the book Flutter Apprentice.

recipes My first Flutter project - a recipes app, from the book Flutter Apprentice. Getting Started This project is a starting point for a Flutter app

Adatta1276 1 Dec 28, 2021
Projeto Flutter sendo desenvolvido para a Formação Flutter da plataforma Alura

ByteBank / A Flutter Journey Table of Contents About • Features • ?? About This is a project being developed for a Flutter couse in Alura plataform, s

Mike Jhoe 1 Oct 25, 2021
Plugins for Flutter maintained by the Flutter team

Flutter plugins This repo is a companion repo to the main flutter repo. It contains the source code for Flutter first-party plugins (i.e., plugins dev

Flutter 16.6k Dec 29, 2022
QR.Flutter is a Flutter library for simple and fast QR code rendering via a Widget or custom painter.

QR.Flutter is a Flutter library for simple and fast QR code rendering via a Widget or custom painter. Need help? Please do not submit an issue for a "

Yakka 612 Jan 4, 2023
Stream Feed official Flutter SDK. Build your own feed experience using Dart and Flutter.

Official Flutter packages for Stream Activity Feeds The official Dart client for Stream Activity Feeds, a service for building activity feed applicati

Stream 67 Sep 26, 2022