This is the SongLib version for Windows, Linux, MacOS
SongLib is tailored for our users who need to sing hymns, designed to streamline their operations and enhance productivity. This Flutter-based application facilitates their access to your church songbook/hymns seamlessly that you don't have to worry about even being online once you have set up the app on your device.
![]() |
![]() |
Follow this guide to set up and run SongLib:
-
Install Flutter and Dependencies: Ensure Flutter is installed on your system. Download the Flutter SDK from the official website and set up your preferred IDE (e.g., Android Studio or Visual Studio Code) with the Flutter plugin.
-
Clone the Repository: Clone SongLib repository from GitHub using Git:
git clone git@github.com:SiroDaves/SongLibApp.git
-
Install Packages: Navigate to the project directory and run:
flutter pub get
-
Device Setup: Connect an emulator or physical device to your development environment. Check connected devices:
flutter devices
-
Update Dependencies:
flutter pub get
-
Update Code Generated Files:
dart run build_runner build --delete-conflicting-outputs
-
Update Localization Strings:
flutter gen-l10n
-
Running SongLib:
flutter run --flavor develop -t lib/main_dev.dart --no-tree-shake-icons
-
Windows:
flutter build windows --target=lib/main.dart --no-tree-shake-icons -
MacOS:
flutter build macos -t lib/main.dart --no-tree-shake-iconsInstall create-dmg
brew install create-dmgGenerate DMG
create-dmg \ --volname "SongLib" \ --window-pos 200 120 \ --window-size 800 400 \ --icon-size 100 \ --icon "SongLib.app" 200 190 \ --hide-extension "SongLib.app" \ --app-drop-link 600 185 \ "dist/macos/songlib_1.0.799.dmg" \ "build/macos/Build/Products/Release/SongLib.app" -
Linux:
Generate the build
flutter build linux -t lib/main.dart --no-tree-shake-iconsCreate a deb package
flutter_distributor package --platform linux --targets debOr an rpm package
flutter_distributor package --platform linux --targets rpm
Congratulations! You've successfully set up and run or built SongLib. Explore the codebase, make modifications, and contribute to creating a seamless experience for the users. Happy coding!

