gitextract_v3wniokj/ ├── .flutter-plugins-dependencies ├── .gitattributes ├── .github/ │ └── workflows/ │ └── deploy.yml ├── .gitignore ├── .gitpod.yml ├── .metadata ├── CHANGELOG.md ├── LICENSE ├── README.md ├── analysis_options.yaml ├── android/ │ ├── .gitignore │ ├── app/ │ │ ├── build.gradle.kts │ │ ├── proguard-rules.pro │ │ └── src/ │ │ ├── debug/ │ │ │ └── AndroidManifest.xml │ │ ├── main/ │ │ │ ├── AndroidManifest.xml │ │ │ ├── kotlin/ │ │ │ │ └── com/ │ │ │ │ └── appleeducate/ │ │ │ │ └── flutter_piano/ │ │ │ │ └── MainActivity.kt │ │ │ └── res/ │ │ │ ├── drawable/ │ │ │ │ └── launch_background.xml │ │ │ ├── drawable-v21/ │ │ │ │ └── launch_background.xml │ │ │ ├── values/ │ │ │ │ └── styles.xml │ │ │ ├── values-night/ │ │ │ │ └── styles.xml │ │ │ └── xml/ │ │ │ └── locales_config.xml │ │ └── profile/ │ │ └── AndroidManifest.xml │ ├── build.gradle.kts │ ├── gradle/ │ │ └── wrapper/ │ │ └── gradle-wrapper.properties │ ├── gradle.properties │ └── settings.gradle.kts ├── assets/ │ └── sounds/ │ └── Piano.sf2 ├── bin/ │ └── server.dart ├── content/ │ ├── changelog.md │ └── privacy-policy.md ├── docker-compose.yaml ├── icons/ │ ├── ios/ │ │ ├── AppIcon.appiconset/ │ │ │ └── Contents.json │ │ └── README.md │ └── watchkit/ │ └── AppIcon.appiconset/ │ └── Contents.json ├── ios/ │ ├── .derived-data-log-0CA5RPJ1 │ ├── .gitignore │ ├── Flutter/ │ │ ├── AppFrameworkInfo.plist │ │ ├── Debug.xcconfig │ │ └── Release.xcconfig │ ├── Podfile │ ├── Runner/ │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets/ │ │ │ ├── AppIcon.appiconset/ │ │ │ │ └── Contents.json │ │ │ ├── Contents.json │ │ │ └── LaunchImage.imageset/ │ │ │ ├── Contents.json │ │ │ └── README.md │ │ ├── Base.lproj/ │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ ├── Info.plist │ │ └── Runner-Bridging-Header.h │ ├── Runner.xcodeproj/ │ │ ├── project.pbxproj │ │ ├── project.xcworkspace/ │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata/ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ │ └── xcshareddata/ │ │ └── xcschemes/ │ │ └── Runner.xcscheme │ ├── Runner.xcworkspace/ │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata/ │ │ ├── IDEWorkspaceChecks.plist │ │ └── WorkspaceSettings.xcsettings │ └── RunnerTests/ │ └── RunnerTests.swift ├── l10n.yaml ├── lib/ │ ├── l10n/ │ │ ├── app_de.arb │ │ ├── app_en.arb │ │ ├── app_es.arb │ │ ├── app_fr.arb │ │ ├── app_ja.arb │ │ ├── app_ko.arb │ │ ├── app_localizations.dart │ │ ├── app_localizations_de.dart │ │ ├── app_localizations_en.dart │ │ ├── app_localizations_es.dart │ │ ├── app_localizations_fr.dart │ │ ├── app_localizations_ja.dart │ │ ├── app_localizations_ko.dart │ │ ├── app_localizations_ru.dart │ │ ├── app_localizations_zh.dart │ │ ├── app_ru.arb │ │ └── app_zh.arb │ ├── main.dart │ ├── src/ │ │ ├── models/ │ │ │ └── settings_models.dart │ │ ├── services/ │ │ │ ├── audio/ │ │ │ │ ├── pcm_audio_player.dart │ │ │ │ ├── pcm_audio_player_native.dart │ │ │ │ ├── pcm_audio_player_stub.dart │ │ │ │ └── pcm_audio_player_web.dart │ │ │ ├── chord_engine.dart │ │ │ ├── injection.config.dart │ │ │ ├── injection.dart │ │ │ ├── player.dart │ │ │ └── settings.dart │ │ └── version.dart │ └── ui/ │ ├── hooks/ │ │ ├── use_chord_recognition.dart │ │ ├── use_octave.dart │ │ ├── use_piano_keyboard.dart │ │ ├── use_player.dart │ │ ├── use_sustain.dart │ │ └── use_velocity.dart │ ├── router.dart │ ├── screens/ │ │ ├── app.dart │ │ ├── home.dart │ │ └── settings.dart │ └── widgets/ │ ├── color_picker.dart │ ├── color_role.dart │ ├── locale.dart │ ├── piano_key.dart │ ├── piano_section.dart │ ├── piano_slider.dart │ └── piano_view.dart ├── main.yml ├── pubspec.yaml ├── templates/ │ ├── base.mustache │ ├── markdown.mustache │ └── marketing.mustache ├── test/ │ ├── home_test.dart │ ├── src/ │ │ └── services/ │ │ ├── chord_engine_test.dart │ │ ├── player_test.dart │ │ └── settings_test.dart │ └── ui/ │ └── hooks/ │ ├── use_chord_recognition_test.dart │ ├── use_octave_test.dart │ ├── use_piano_keyboard_test.dart │ ├── use_player_test.dart │ ├── use_sustain_test.dart │ └── use_velocity_test.dart └── web/ ├── .nojekyll ├── CNAME ├── browserconfig.xml ├── index.html └── manifest.json