Skip to content

Commit

Permalink
chore(main): release 1.7.0 (#861)
Browse files Browse the repository at this point in the history
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
  • Loading branch information
github-actions[bot] authored and Feichtmeier committed Aug 20, 2024
1 parent 4c398e1 commit 20d9eb4
Show file tree
Hide file tree
Showing 36 changed files with 127 additions and 109 deletions.
Binary file removed .github/album_dark.png
Binary file not shown.
Binary file removed .github/album_light.png
Binary file not shown.
Binary file removed .github/full_window_dark.png
Binary file not shown.
Binary file removed .github/full_window_light.png
Binary file not shown.
Binary file added .github/images/album_dark_macos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/images/album_light_macos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/images/albums_dark_macos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/images/albums_light_macos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/images/fullheight_dark_macos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/images/fullheight_light_macos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/images/podcast_dark_macos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/images/podcast_light_macos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/images/podcasts_dark_macos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/images/podcasts_light_macos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/images/radio_dark_macos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/images/radio_light_macos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/images/station_dark_macos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/images/station_light_macos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/images/video_dark_macos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added .github/images/video_light_macos.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed .github/local_dark.png
Binary file not shown.
Binary file removed .github/local_light.png
Binary file not shown.
Binary file removed .github/podcast_dark.png
Binary file not shown.
Binary file removed .github/podcast_light.png
Binary file not shown.
Binary file removed .github/radio_dark.png
Binary file not shown.
Binary file removed .github/radio_light.png
Diff not rendered.
Binary file removed .github/wide_window_dark.png
Diff not rendered.
Binary file removed .github/wide_window_light.png
Diff not rendered.
32 changes: 15 additions & 17 deletions .github/workflows/cd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ on:

env:
FLUTTER_VERSION: '3.24.x'
MACOS_APP_RELEASE_PATH: build/macos/Build/Products/Release

jobs:
build_and_upload_macos_dmg:
Expand Down Expand Up @@ -52,6 +53,8 @@ jobs:
security import certificate.p12 -k build.keychain -P $MACOS_CERTIFICATE_PWD -T /usr/bin/codesign
echo "Set Key Partition"
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $MACOS_CERTIFICATE_PWD build.keychain
echo "Find Identity"
security find-identity
echo "Sign the app"
/usr/bin/codesign --force --deep -s $MACOS_IDENTITY ./$MACOS_APP_RELEASE_PATH/musicpod.app
- name: Create a dmg
Expand All @@ -73,13 +76,8 @@ jobs:
--hdiutil-quiet \
"musicpod.dmg" \
"musicpod.app"
- name: Append Asset
if: steps.createdmg.outcome == 'success'
uses: AButler/[email protected]
with:
files: "$MACOS_APP_RELEASE_PATH/musicpod.app"
repo-token: ${{ secrets.GITHUB_TOKEN }}
release-tag: ${{ github.ref_name }}
ls -l
pwd
build_and_publish_snap:
runs-on: ubuntu-latest
Expand All @@ -96,17 +94,17 @@ jobs:
if [[ "$changed" == "5" ]]; then
echo "lines=changed" >> "$GITHUB_OUTPUT"
fi
- uses: subosito/flutter-action@v2
with:
channel: 'stable'
flutter-version: ${{env.FLUTTER_VERSION}}
- run: sudo apt update
- run: sudo apt install -y clang cmake curl libgtk-3-dev ninja-build pkg-config unzip libunwind-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libmpv-dev
- run: flutter pub get
- uses: snapcore/action-build@v1
if: steps.check.outputs.lines == 'changed'
id: build
# Disabled until linux arm runners are available
# - uses: subosito/flutter-action@v2
# with:
# channel: 'stable'
# flutter-version: ${{env.FLUTTER_VERSION}}
# - run: sudo apt update
# - run: sudo apt install -y clang cmake curl libgtk-3-dev ninja-build pkg-config unzip libunwind-dev libgstreamer-plugins-base1.0-dev libgstreamer1.0-dev libmpv-dev
# - run: flutter pub get
# - uses: snapcore/action-build@v1
# if: steps.check.outputs.lines == 'changed'
# id: build
# - uses: snapcore/action-publish@v1
# if: steps.build.outcome == 'success'
# env:
Expand Down
69 changes: 66 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,78 @@ on:
- main
workflow_dispatch:

env:
FLUTTER_VERSION: '3.24.x'
MACOS_APP_RELEASE_PATH: build/macos/Build/Products/Release

jobs:
release:
permissions:
contents: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: google-github-actions/release-please-action@v4
- uses: googleapis/release-please-action@v4
id: release
with:
release-type: dart
changelog-notes-type: github
pull-request-title-pattern: 'chore: release v${version}'
# - uses: subosito/flutter-action@v2
# if: ${{ steps.release.outputs.release_created }}
# with:
# channel: 'stable'
# flutter-version: ${{env.FLUTTER_VERSION}}
# - name: Build macOS app
# id: buildmacos
# if: ${{ steps.release.outputs.release_created }}
# run: flutter build macos --release
# - name: Codesign executable
# id: codesignmacos
# if: steps.buildmacos.outcome == 'success'
# env:
# MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
# MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }}
# MACOS_IDENTITY: ${{ secrets.MACOS_IDENTITY }}
# run: |
# echo $MACOS_CERTIFICATE | base64 --decode > certificate.p12
# echo "Create Keychain"
# security create-keychain -p $MACOS_CERTIFICATE_PWD build.keychain
# echo "Assign to Login Keychain"
# security default-keychain -s build.keychain
# echo "Unlock the Login Keychain"
# security unlock-keychain -p $MACOS_CERTIFICATE_PWD build.keychain
# echo "Import certificate"
# security import certificate.p12 -k build.keychain -P $MACOS_CERTIFICATE_PWD -T /usr/bin/codesign
# echo "Set Key Partition"
# security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k $MACOS_CERTIFICATE_PWD build.keychain
# echo "Find Identity"
# security find-identity
# echo "Sign the app"
# /usr/bin/codesign --force --deep -s $MACOS_IDENTITY ./$MACOS_APP_RELEASE_PATH/musicpod.app

# - name: Create a dmg
# id: createdmg
# if: steps.codesignmacos.outcome == 'success'
# run: |
# echo "Install create-dmg"
# brew install create-dmg
# cd $MACOS_APP_RELEASE_PATH
# create-dmg \
# --volname "musicpod" \
# --window-pos 200 120 \
# --window-size 950 820 \
# --icon-size 130 \
# --text-size 14 \
# --icon "musicpod.app" 260 250 \
# --hide-extension "musicpod.app" \
# --app-drop-link 540 250 \
# --hdiutil-quiet \
# "musicpod.dmg" \
# "musicpod.app"
# pwd
# ls -l
# - name: Upload Release Artifact
# if: ${{ steps.release.outputs.release_created }}
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# run: gh release upload ${{ steps.release.outputs.tag_name }} ./artifact/musicpod.dmg

14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog

## [1.7.0](https://github.com/ubuntu-flutter-community/musicpod/compare/1.6.0...v1.7.0) (2024-08-19)


### Features

* improved patch notes dialog and single podcast refreshing ([#864](https://github.com/ubuntu-flutter-community/musicpod/issues/864)) ([02d92e9](https://github.com/ubuntu-flutter-community/musicpod/commit/02d92e943af1b69e4c772316e64320c11a748f11))
* update Italian language ([#859](https://github.com/ubuntu-flutter-community/musicpod/issues/859)) ([9019bb2](https://github.com/ubuntu-flutter-community/musicpod/commit/9019bb2cb5d519e57ce7588d9bdd54b0b831872f))


### Bug Fixes

* init radio model before tapping on a tag ([#862](https://github.com/ubuntu-flutter-community/musicpod/issues/862)) ([3754781](https://github.com/ubuntu-flutter-community/musicpod/commit/3754781b86cefb1720f5fc62b6ec4d02ed1c06b6))
* some title of radio is html format, need to convert to human readable format ([#870](https://github.com/ubuntu-flutter-community/musicpod/issues/870)) ([4c398e1](https://github.com/ubuntu-flutter-community/musicpod/commit/4c398e1d7904d2e837cb2fc1c6160539f2bce236)), closes [#866](https://github.com/ubuntu-flutter-community/musicpod/issues/866)

## 1.6.0 (2024-08-16)

## What's Changed
Expand Down
98 changes: 19 additions & 79 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,44 +1,29 @@
# Musicpod
# MusicPod

Music, Radio, Television and Podcast player for Linux Desktop, MacOS, Windows and Android made with Flutter.
MusicPod is a local music, radio, television and podcast player for Linux Desktop, MacOS and Windows. (Android is planed but no ETA yet when it will happen.)

Install for Linux Desktop (snapd is preinstalled on Ubuntu):

[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/musicpod)

- How to install snapd on...
- [Fedora](https://snapcraft.io/docs/installing-snap-on-fedora)
- [Arch Linux](https://snapcraft.io/docs/installing-snap-on-arch-linux)
- [Debian](https://snapcraft.io/docs/installing-snap-on-debian)
- [Manjaro](https://snapcraft.io/docs/installing-snap-on-manjaro-linux)

<a href='https://flathub.org/apps/org.feichtmeier.Musicpod'>
<img width='180' alt='Download on Flathub' src='https://flathub.org/api/badge?locale=en'/>
</a>

> [!CAUTION]
> Flatpak support is ***EXPERIMENTAL***, there are currently heavy graphic issues with Fedora.
> See [#747](https://github.com/ubuntu-flutter-community/musicpod/issues/747). If you are using Fedora, currently use the snap.
<br/>
Install For MacOS & Windows:
|OS|How to install|
|-|-|
|Linux|[![Get it from the Snap Store](https://snapcraft.io/static/images/badges/en/snap-store-black.svg)](https://snapcraft.io/musicpod) <br/> or <br/> [![](https://flathub.org/api/badge?locale=en)](https://flathub.org/apps/org.feichtmeier.Musicpod)|
|Windows|[Release Page](https://github.com/ubuntu-flutter-community/musicpod/releases)|
|MacOS|[Release Page](https://github.com/ubuntu-flutter-community/musicpod/releases)|
|Android|WIP|

[Release Page](https://github.com/ubuntu-flutter-community/musicpod/releases)

<br/>
Android release is WIP!
<br/>
<br/>


|Dark | Light|
|-|-|
|![](.github/local_dark.png)|![](.github/local_light.png)|
|![](.github/radio_dark.png)|![](.github/radio_light.png)|
|![](.github/podcast_dark.png)|![](.github/podcast_light.png)|
|![](.github/album_dark.png)|![](.github/album_light.png)|
|![](.github/full_window_dark.png)|![](.github/full_window_light.png)|
|![](.github/wide_window_dark.png)|![](.github/wide_window_light.png)|
|Features | Dark MacOS | Light MacOS |
|-|-|-|
|Play local audio|![](.github/images/album_dark_macos.png)|![](.github/images/album_light_macos.png)|
|Find local audios sorted by [Metadata](https://github.com/ClementBeal/audio_metadata_reader) |![](.github/images/albums_dark_macos.png)|![](.github/images/albums_light_macos.png)|
|Play radio stations, with icytags and artwork looked up!|![](.github/images/station_dark_macos.png)|![](.github/images/station_light_macos.png)|
|Play and download podcasts, safe progress, sort episodes and more!|![](.github/images/podcast_dark_macos.png)|![](.github/images/podcast_light_macos.png)|
|Video podcast support!|![](.github/images/video_dark_macos.png)|![](.github/images/video_light_macos.png)|
|Discover podcasts, filtered as you like|![](.github/images/podcasts_dark_macos.png)|![](.github/images/podcasts_light_macos.png)|
|Discover radio stations, filtered as you like|![](.github/images/radio_dark_macos.png)|![](.github/images/radio_light_macos.png)|


## Credits

Expand All @@ -56,51 +41,6 @@ Thank you [@ClementBeal](https://github.com/ClementBeal) for the super fast, pur

Thank you [@escamoteur](https://github.com/escamoteur) for creating [get_it](https://pub.dev/packages/get_it) and [watch_it](https://pub.dev/packages/watch_it), which made my application faster and the source code cleaner!

## MusicPod Level 1

- [X] play local audio files
- [X] filter local files
- [X] set root directory
- [X] create and manage playlists
- [X] play internet radio streams
- [X] browse for radio stations
- [X] play podcasts
- [X] search for podcasts
- [X] load podcast charts
- [X] filter podcasts by country
- [X] filter podcasts by genre
- [X] save playlists
- [X] save liked songs
- [X] save settings on disk
- [X] notify when a new episode of your subscribed podcasts is available

## MusicPod Level 2

- [X] Video Podcasts ([#71](https://github.com/ubuntu-flutter-community/musicpod/issues/71))
- [X] Play TV Stations found on radiobrowser
- [ ] Chromecast Support ([#91](https://github.com/ubuntu-flutter-community/musicpod/issues/91))
- [X] streaming provider agnostic sharing links
- [X] option to download podcasts (#[240](https://github.com/ubuntu-flutter-community/musicpod/issues/240))
- [X] reduced memory allocation
- [ ] WebDav support (#[248](https://github.com/ubuntu-flutter-community/musicpod/issues/248))
- [ ] upnp/dlna support (#[248](https://github.com/ubuntu-flutter-community/musicpod/issues/247))

## Supported operating systems and package formats

- [X] Ubuntu Desktop
- [X] [snap package](https://snapcraft.io/musicpod) (this is the primary supported package!)
- [X] [Flatpak](https://flathub.org/apps/org.feichtmeier.Musicpod)
- [X] Windows Support
- [ ] Windows Store
- [X] [Exe](https://github.com/ubuntu-flutter-community/musicpod/releases)
- [X] Android Support (Media Controls are WIP)
- [ ] PlayStore
- [X] MacOs Support
- [ ] Apple?Store?
- [X] [DMG](https://github.com/ubuntu-flutter-community/musicpod/releases)
- [ ] iOS Support
- [ ] AppStore

# Contributing

Contributions are highly welcome. Especially translations.
Expand Down Expand Up @@ -177,4 +117,4 @@ Though performance is the biggest goal, especially for flutter apps on the deskt

### Persistence

For persisting both setting and application state I've chosen a home cooked solution inside the LibraryService and SettingsService that writes json files to disk. It is simple and fast and sufficient for the needs of this application. Eventually at some point it might make sense to switch to a real database though :).
Preferences are stored with [shared_preferences](https://pub.dev/packages/shared_preferences).
1 change: 1 addition & 0 deletions lib/app/app_model.dart
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ class AppModel extends SafeChangeNotifier {

int? getExtendedVersionNumber(String? version) {
if (version == null) return null;
version = version.replaceAll('v', '');
List versionCells = version.split('.');
versionCells = versionCells.map((i) => int.parse(i)).toList();
return versionCells[0] * 100000 + versionCells[1] * 1000 + versionCells[2];
Expand Down
1 change: 0 additions & 1 deletion lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,6 @@ Future<void> main(List<String> args) async {
dispose: (s) => s.dispose(),
);

// TODO: when the app is in appstore/windowsstore enable/disable this only via args
final appModel = AppModel(
gitHub: gitHub,
settingsService: settingsService,
Expand Down
19 changes: 11 additions & 8 deletions macos/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -567,11 +567,12 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CODE_SIGN_IDENTITY = "Apple Development: [email protected] (U3643MR29R)";
CODE_SIGN_STYLE = Manual;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = Y7ZGTYFNR6;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=macosx*]" = Y7ZGTYFNR6;
INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = MusicPod;
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.music";
Expand Down Expand Up @@ -700,11 +701,12 @@
ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = YES;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
CODE_SIGN_IDENTITY = "Apple Development: [email protected] (U3643MR29R)";
CODE_SIGN_STYLE = Manual;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = Y7ZGTYFNR6;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=macosx*]" = Y7ZGTYFNR6;
INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = MusicPod;
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.music";
Expand All @@ -728,10 +730,11 @@
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements;
CODE_SIGN_IDENTITY = "";
CODE_SIGN_STYLE = Automatic;
CODE_SIGN_STYLE = Manual;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = Y7ZGTYFNR6;
DEVELOPMENT_TEAM = "";
"DEVELOPMENT_TEAM[sdk=macosx*]" = Y7ZGTYFNR6;
INFOPLIST_FILE = Runner/Info.plist;
INFOPLIST_KEY_CFBundleDisplayName = MusicPod;
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.music";
Expand Down
2 changes: 1 addition & 1 deletion pubspec.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: musicpod
description: Ubuntu music, radio and podcast player.
version: 1.6.0
version: 1.7.0

publish_to: "none"

Expand Down

0 comments on commit 20d9eb4

Please sign in to comment.