Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/CesarArellano/Music-Player-App/llms.txt

Use this file to discover all available pages before exploring further.

This page walks you through cloning the Musynth repository, setting up the companion music_query_selector plugin that Musynth depends on locally, and getting all native dependencies in place before your first build. Follow the steps in order — the local path overrides in pubspec.yaml mean the companion plugin must be present before flutter pub get will succeed.
Musynth’s pubspec.yaml uses dependency_overrides to point four packages — music_query_selector, music_query_selector_platform_interface, music_query_selector_android, and music_query_selector_ios — to local relative paths at ../music_query_selector/packages/*. This means the companion plugin repository must be cloned as a sibling directory of the app repo (i.e., at ../music_query_selector/ relative to the app root) before running flutter pub get. Skipping this step will cause a fatal dependency resolution error.
1

Create a shared parent directory

Both the app repo and the companion plugin repo must share the same parent directory so the relative paths in dependency_overrides resolve correctly.
mkdir musynth-workspace
cd musynth-workspace
2

Clone the Musynth app repository

git clone https://github.com/CesarArellano/Music-Player-App.git
This creates musynth-workspace/Music-Player-App/.
3

Clone the companion music_query_selector plugin

The four overridden packages all live under a single federated plugin repository. Clone it as a sibling of the app directory:
git clone https://github.com/CesarArellano/music_query_selector.git
After this step your workspace should look like:
musynth-workspace/
├── Music-Player-App/       ← Musynth app
└── music_query_selector/   ← companion plugin
    └── packages/
        ├── music_query_selector/
        ├── music_query_selector_platform_interface/
        ├── music_query_selector_android/
        └── music_query_selector_ios/
The dependency_overrides in pubspec.yaml resolve relative to the app root, so ../music_query_selector/packages/music_query_selector maps to musynth-workspace/music_query_selector/packages/music_query_selector. The directory name of the cloned plugin repo must be exactly music_query_selector.
4

Understand the dependency_overrides

Musynth’s pubspec.yaml contains the following overrides, which replace the pub.dev versions of the plugin with the local source:
dependency_overrides:
  music_query_selector:
    path: ../music_query_selector/packages/music_query_selector
  music_query_selector_platform_interface:
    path: ../music_query_selector/packages/music_query_selector_platform_interface
  music_query_selector_android:
    path: ../music_query_selector/packages/music_query_selector_android
  music_query_selector_ios:
    path: ../music_query_selector/packages/music_query_selector_ios
These overrides exist because the local plugin contains features not yet published to pub.dev — including the native queryArtworkColor and deleteSongs APIs introduced in the latest changelog. Until those are published, the local path is the only way to access them.
5

Install Flutter dependencies

Navigate into the app directory and run flutter pub get:
cd Music-Player-App
flutter pub get
If you are using FVM, prefix the command:
fvm flutter pub get
A successful run ends with a line similar to:
Resolving dependencies...
Got dependencies!
If you see a path does not exist error for any music_query_selector package, double-check that the companion repo was cloned correctly as a sibling directory (Step 3).
6

Install iOS CocoaPods dependencies (iOS builds only)

If you intend to build for iOS, install the native pod dependencies after flutter pub get has completed:
cd ios
pod install
cd ..
If pod install fails with a minimum deployment target error, open ios/Podfile, ensure the platform line reads at least platform :ios, '12.0', and run pod install again.
7

Configure Android signing

No extra configuration is needed. Debug builds are automatically signed with the default Flutter debug keystore. You can run and test the app immediately after flutter pub get.

Verifying the Setup

After completing all steps, confirm everything is wired up correctly:
# List connected devices
flutter devices

# Perform a static analysis pass — should report no errors
flutter analyze

# Ensure the project compiles (Android)
flutter build apk --debug
A clean flutter analyze output with no errors and a successful debug APK build means you are ready to move on to Running the App.

Build docs developers (and LLMs) love