GithubHelp home page GithubHelp logo

ubuntu-flutter-community / musicpod Goto Github PK

View Code? Open in Web Editor NEW
381.0 381.0 45.0 47.51 MB

Music, radio, television and podcast player for Ubuntu, Windows, MacOs and Android

License: GNU General Public License v3.0

Dart 92.66% CMake 2.50% C++ 3.83% C 0.20% Kotlin 0.02% Swift 0.45% Ruby 0.19% Shell 0.15%
android flutter internet-radio macos music music-player podcasts radio radio-station tv ubuntu windows

musicpod's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

musicpod's Issues

Slow initial start with huge collection

I've got a very big collection of music. When closing and starting the app it hangs for few minutes like this:

image

Is there a way it can load items from cache and sync in background?

This is the folder I'm using as collection in MusicPod

image

~45.000 files

Create a queue for everything and show queue in player view

In the player within the app and in the mpris, when the next or the previous button is pressed, it doesn't take us to the next or the previous song. I think this is a major issue. Also, the app doesn't autoplay the next song when one ends. Kindly fix it.

Reaching the end of an album causes repeat from last clicked track

When you get to the end of an album, rather than ending, Musicpod will go back to the last track you clicked on even with repeat off - unless I have miss-understood the repeat mechanism.

The easiest way to reproduce this is to click on the last track of an album. When Musicpod reaches the end of the track, it will start playing it again and repeat.

Feature: support video podcasts

Some podcasts come with a full video + audio and not only audo
We should support this.
I made the flutter changes needed already in this branch/PR
#70
but the snapcraft needs changes in order to make this work I think

Translation support

It would be great if the app could be translated. I'll provide the Dutch translation then! πŸ™‚

Podcast sync

Hello,

I just saw the app being featured on OMG Ubuntu. Looks really promising :-)

I'm a core contributor to AntennaPod and involved in an initiative to develop a new standard to sync podcasts (subscriptions & listening progress) between clients & servers.

Would you be interested in implementing such synchronisation (at some point)? We're still very much at the early stages and it'd be cool to have you engaged in the standard development if you're interested.

More info here: https://github.com/OpenPodcastAPI/api-specs

Let me know :-) (no pressure; don't hesitate to say no)

HTML tags in podcast description shows as text

When viewing podcast details, if the description contains HTML tags these are shown as plain text. It would be good if the tags could either be stripped out or the HTML rendered. I can recommend the flutter_html package for rendering - it works really well.

Screenshot from 2023-03-13 19-19-47

This app is off to a great start and I'm really looking forward to seeing how it develops.

Search is broken + the songs can't find all of my music

The search appears to be totally broken as I think I would need to keep scrolling in order for the app to find the music I'm looking for

When I look up Taylor Swift:
image
image

When I look up Eminem:
image
image

Another example, I know one of my favorites, "All Too Well" should be here, but the app can't seem to find it.
image
image

Enable shuffle on an album with one track locks up UI

If you play an album that contains only one track and then click the shuffle button, the music continues to play in the background but the UI locks up. I'm guessing there is an infinite loop triggered by this scenario as the fans on my PC rev up when the UI freezes.

Emojis are missing on Linux Arm

For some reason the 🐣 πŸ”Ž 🎡 ❓ icons are missing when running the snap on arm. Both my arm and x86 snaps are running on Mantic.

image

It doesn't import musics from child directories

Hi Dear Developers,
On Ubuntu 22.10 and 23.04, It imports musics perfectly if my music directory has no child directory inside it. Unfortunately, it doesn't import musics from a child directory. For example, if I have two directories inside my music directory, it only imports musics which are outside those two folders. Please fix this issue or let me know if there is something wrong with my snap sandbox permissions. Many thanks in advance.

Feature Request: Search by Artist, Album or Title

Being able to search my collection by artist, or album or title would be very helpful.

First let me say I have 22,000 songs in my collection. When you first launch MusicPod your collection is in alphabetic order. Now if I want to play a ZZ Top song I have to scroll through 21,000 songs to view them. Being able to search my collection by artist, album or title would make this a lot less painful.

Best regards

Windows version

Hi, Flutter can make cross platform application.
Please make the Windows version.
Thanks πŸ™

Feature request: view with most recent podcast episodes

I believe this to be a very common use case:

Users to looking for recent episodes of all the podcasts they subscribed. In order to do this the best way is to have a view/window displaying an ordered list of the most recent episodes for all the podcasts they subscribed, so that users can avoid to check each of them, and to miss, or forget or disable desktop notifications.

So what I'm requesting is for there to be a single window where there's such ordered list of the most recent podcasts episodes for all the subscribed podcasts.

Fallback to file name of no metadata is present

It works now. The only remaining problem is that it doesn't import musics which have no metadata. I can manually add metadata, but it could be better if we were able to import those musics using their names if they had no metadata, as well. I think this is another issue that is opened by another person. So I'll be looking forward to that, as well. Thanks again for the great work.

Originally posted by @bfapps in #39 (comment)

Feature Request: Add Random Playlist

Having a Add Random Playlist button next to the playlist button would be very useful.

This is the idea. When you click the Add Random Playlist button a modal with 2 inputs (name, number of songs) and a Add button pops up. When the form is filled out and the Add button is clicked MusicPod will generate a new playlist with however may random songs you requested from your local music collection.

Best Regards.

Blank screen after install

After installing the snap package on my raspberry pi 4 (arm64), and launching it with the desktop icon all i get is a blank screen, no controls nothing just a blank screen.

Ubuntu 23.04

Auto builds miss libva-drm.so

ProblemType
Bug

Date
Thu Sep 14 23:09:45 2023

CurrentDesktop
ubuntu:GNOME

ProcEnviron
LANG=en_US.UTF-8
PATH=(custom, no user)
SHELL=/bin/bash
TERM=xterm-256color
XDG_RUNTIME_DIR=

DistroRelease
Ubuntu 23.04

Uname
Linux 6.2.0-32-generic x86_64

Architecture
amd64

Snap
musicpod 0+git.291662c (latest/stable)

SnapChanges
ID Status Spawn Ready Summary
11 Done 2023-09-14T23:05:07+02:00 2023-09-14T23:06:08+02:00 Install "musicpod" snap
13 Done 2023-09-14T23:07:52+02:00 2023-09-14T23:08:45+02:00 Refresh "musicpod" snap from "latest/edge" channel
14 Done 2023-09-14T23:09:17+02:00 2023-09-14T23:09:21+02:00 Refresh "musicpod" snap from "latest/stable" channel

SnapConnections
Interface Plug Slot Notes
audio-playback musicpod:audio-playback :audio-playback -
content[gnome-42-2204] musicpod:gnome-42-2204 gnome-42-2204:gnome-42-2204 -
content[gtk-3-themes] musicpod:gtk-3-themes gtk-common-themes:gtk-3-themes -
content[icon-themes] musicpod:icon-themes gtk-common-themes:icon-themes -
content[sound-themes] musicpod:sound-themes gtk-common-themes:sound-themes -
dbus - musicpod:dbus-musicpod -
desktop musicpod:desktop :desktop -
desktop-legacy musicpod:desktop-legacy :desktop-legacy -
gsettings musicpod:gsettings :gsettings -
home musicpod:home :home -
mpris - musicpod:mpris -
network musicpod:network :network -
network-manager-observe musicpod:network-manager-observe :network-manager-observe -
opengl musicpod:opengl :opengl -
removable-media musicpod:removable-media - -
wayland musicpod:wayland :wayland -
x11 musicpod:x11 :x11 -

SnapInfo.musicpod
name: musicpod
summary: Music, podcast and internet radio player for your Ubuntu Desktop
publisher: Frederik Feichtmeier
store-url: https://snapcraft.io/musicpod
contact: https://github.com/ubuntu-flutter-community/musicpod
license: MPL-2.0
description: |
Play local audio files, browse podcasts online or listen to internet radio
stations - all in one app!

  • Play local audio files (mp3, flac, m4a, mp4)
  • Find your local audio library sorted by metadata
  • Search for local audio files sorted by title, album and artist
  • Play internet radio stations and search them by tag, name or country
  • Play podcasts and find them by country, topic and name
  • Pin your favorite albums, podcasts and stations to the sidebar
  • Collect your favorite songs with the heart button

The podcast and radio features do currently need internet access and thus
the network-manager-observe permission is being used to display a
disconnect from the internet in the user interface.

MusicPod should automatically connect to the network-manager-observe
interface. If it didn't you can connect it with the following command:

sudo snap connect musicpod:network-manager-observe
commands:

  • musicpod
    snap-id: sxdOSGRbzsWhPmGrkYYAs68rzieTrIiv
    tracking: latest/stable
    refresh-date: 2023-09-14T23:09:17+02:00
    channels:
    latest/stable: 0+git.291662c 2023-09-11T14:16:24Z (479) 53MB -
    latest/candidate: ^
    latest/beta: ^
    latest/edge: 0+git.75f1d84 2023-09-05T10:53:42Z (477) 53MB -
    installed: 0+git.291662c (479) 53MB -

SnapInfo.core22
name: core22
summary: Runtime environment based on Ubuntu 22.04
publisher: Canonical**
store-url: https://snapcraft.io/core22
license: unset
description: |
The base snap based on the Ubuntu 22.04 release.
type: base
snap-id: amcUKQILKXHHTlmSa7NMdnXSx02dNeeT
tracking: latest/stable
refresh-date: 2023-04-18T22:37:22+02:00
channels:
latest/stable: 20230801 2023-08-30T22:10:06Z (864) 77MB -
latest/candidate: 20230801 2023-08-03T14:05:28Z (864) 77MB -
latest/beta: 20230801 2023-08-02T00:05:49Z (864) 77MB -
latest/edge: 20230914 2023-09-14T20:26:43Z (910) 77MB -
installed: 20230325 (607) 76MB base

SnapInfo.gtk-common-themes
name: gtk-common-themes
summary: All the (common) themes
publisher: Canonical**
store-url: https://snapcraft.io/gtk-common-themes
license: unset
description: |
A snap that exports the GTK and icon themes used on various Linux distros.
snap-id: jZLfBRzf1cYlYysIjD2bwSzNtngY0qit
tracking: latest/stable/ubuntu-23.04
refresh-date: 2023-04-18T22:37:25+02:00
channels:
latest/stable: 0.1-81-g442e511 2022-06-28T18:10:06Z (1535) 96MB -
latest/candidate: 0.1-81-g442e511 2022-06-24T16:30:46Z (1535) 96MB -
latest/beta: 0.1-81-g442e511 2022-06-24T16:30:46Z (1535) 96MB -
latest/edge: ^
installed: 0.1-81-g442e511 (1535) 96MB -

SnapInfo.gnome-42-2204
name: gnome-42-2204
summary: Shared GNOME 42 Ubuntu stack
publisher: Canonical**
store-url: https://snapcraft.io/gnome-42-2204
license: unset
description: |
This snap provides the GNOME 42 stack to other snaps that use it. It shares
the base GNOME libraries and desktop integration components through the
content interface. This helps reduce the size of snaps and helps developers
to easily snap desktop applications.

For users

This snap is automatically installed and removed when needed. Manually
adding or removing this snap is not recommended
and might break things.

  • If you are having issues with snaps using GNOME, please contact the
    experts on the Snapcraft forum: https://forum.snapcraft.io/
  • If you want to install the GNOME Desktop Environment, then you are in the
    wrong place. Please take a look at https://www.gnome.org/ for more
    information on how to get it.

For developers

  • The gnome extension is the recommended way to use this in your own
    snap: https://snapcraft.io/docs/gnome-extension
  • You can report issues with this content snap on GitHub:
    https://github.com/ubuntu/gnome-sdk/issues
  • The source code of this snap is available on GitHub in the
    gnome-42-2204 branch:
    https://github.com/ubuntu/gnome-sdk/tree/gnome-42-2204
    snap-id: lATO8HzwVvrAPrlZRAWpfyrJKlAJrZS3
    tracking: latest/stable/ubuntu-23.04
    refresh-date: 2023-04-18T22:37:23+02:00
    channels:
    latest/stable: 0+git.ff35a85 2023-08-09T05:10:04Z (126) 509MB -
    latest/candidate: 0+git.ff35a85 2023-09-14T15:29:23Z (132) 521MB -
    latest/beta: ^
    latest/edge: 0+git.ff35a85 2023-09-14T15:29:23Z (132) 521MB -
    installed: 0+git.e7d97c7 (87) 482MB -

SnapGitOwner
ubuntu-flutter-community

SnapGitName
musicpod

CrashDB
snap-github

NonfreeKernelModules
nvidia_modeset nvidia

InstallationMedia
Ubuntu 23.04 "Lunar Lobster" - Release amd64 (20230418)

Tags
lunar

InstallationDate
Installed on 2023-09-14 (0 days ago)

UpgradeStatus
No upgrade log present (probably fresh install)

ProcVersionSignature
Ubuntu 6.2.0-32.32-generic 6.2.16

ProcCpuinfoMinimal
processor : 7
vendor_id : GenuineIntel
cpu family : 6
model : 140
model name : 11th Gen Intel(R) Core(TM) i7-11390H @ 3.40GHz
stepping : 2
microcode : 0x2c
cpu MHz : 4296.478
cache size : 12288 KB
physical id : 0
siblings : 8
core id : 3
cpu cores : 4
apicid : 7
initial apicid : 7
fpu : yes
fpu_exception : yes
cpuid level : 27
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l2 invpcid_single cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdt_a avx512f avx512dq rdseed adx smap avx512ifma clflushopt clwb intel_pt avx512cd sha_ni avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves split_lock_detect dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req avx512vbmi umip pku ospke avx512_vbmi2 gfni vaes vpclmulqdq avx512_vnni avx512_bitalg avx512_vpopcntdq rdpid movdiri movdir64b fsrm avx512_vp2intersect md_clear ibt flush_l1d arch_capabilities
vmx flags : vnmi preemption_timer posted_intr invvpid ept_x_only ept_ad ept_1gb flexpriority apicv tsc_offset vtpr mtf vapic ept vpid unrestricted_guest vapic_reg vid ple pml ept_mode_based_exec tsc_scaling
bugs : spectre_v1 spectre_v2 spec_store_bypass swapgs eibrs_pbrsb gds
bogomips : 5836.80
clflush size : 64
cache_alignment : 64
address sizes : 39 bits physical, 48 bits virtual
power management:

ApportVersion
2.26.1-0ubuntu2

CasperMD5CheckResult
pass

Make an Arm64 release

I have Ubuntu 22.10 installed on my raspberry pi, I have flutter installed via snap packages. Please release an arm64 version so people such as myself can enjoy your product. Flutter is advertised as cross-platform so why only the amd64 download?

Feature request: Ignore failed to import warning on startup

I have a few .wav files in my music folder that Musicpod does not support, but it warns me about these at every startup. Being lazy, I don't want to re-organise my files so Musicpod can't see them.

It would be really useful to have an option where having warned you once, you can click a 'do not tell me again' option.

Missing progress indication at initial start with huge collection

Very very low priority I know.
This could fall under the same title as "Slow initial start with huge collection". As eboye mentioned, the initial start takes a while with a huge local music collection. The spinner is good, but it just sits there. Is it possible to write the output? like "Indexing 324 out of 41.233". Or would be an idea to add some timed messages like:

"Hang on while we're indexing your local audio"
"Still working on it..."
"Wow! You've got a lot of music"
"There's some great songs in your music collection. Any second now."

πŸ€·β€β™‚οΈ You get my point πŸ˜„

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.


Warning

Renovate failed to look up the following dependencies: Failed to look up dart package phoenix_theme.

Files affected: pubspec.yaml


Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

github-actions
.github/workflows/appimage.yml
  • actions/checkout v4
  • subosito/flutter-action v2
.github/workflows/ci.yaml
  • actions/checkout v4
  • subosito/flutter-action v2
  • actions/checkout v4
  • subosito/flutter-action v2
  • actions/checkout v4
  • subosito/flutter-action v2
  • actions/checkout v4
  • subosito/flutter-action v2
.github/workflows/snap.yaml
  • actions/checkout v4
  • subosito/flutter-action v2
  • snapcore/action-build v1
  • snapcore/action-publish v1
pub
pubspec.yaml
  • animated_emoji ^3.1.0
  • audio_metadata_reader ^0.0.6
  • audio_service ^0.18.12
  • audio_service_mpris
  • basic_utils ^5.7.0
  • blur ^3.1.0
  • cached_network_image ^3.3.1
  • collection ^1.18.0
  • connectivity_plus ^6.0.3
  • cupertino_icons ^1.0.8
  • desktop_notifications ^0.6.3
  • dio ^5.4.3
  • file ^7.0.0
  • file_selector ^1.0.3
  • file_selector_linux ^0.9.2+1
  • flutter
  • flutter_cache_manager ^3.3.1
  • flutter_html ^3.0.0-beta.2
  • flutter_markdown ^0.7.1
  • flutter_tabler_icons ^1.27.0
  • github ^9.24.0
  • gtk ^2.1.0
  • handy_window ^0.4.0
  • http ^1.2.1
  • intl ^0.18.0
  • m3u_parser_nullsafe ^1.0.3
  • media_kit ^1.1.10+1
  • media_kit_libs_video ^1.0.4
  • media_kit_video
  • mime ^1.0.5
  • mime_type ^1.0.0
  • mockito ^5.4.4
  • package_info_plus ^8.0.0
  • palette_generator ^0.3.3+3
  • path ^1.9.0
  • path_provider ^2.1.2
  • phoenix_theme
  • pls ^1.1.0
  • podcast_search ^0.6.9
  • radio_browser_api ^2.0.0+1
  • reorderableitemsview ^2.0.1
  • safe_change_notifier ^0.3.2
  • scroll_to_index ^3.0.1
  • shimmer ^3.0.0
  • smtc_windows ^0.1.2
  • super_drag_and_drop ^0.8.15
  • system_theme ^2.3.1
  • url_launcher ^6.2.5
  • watch_it ^1.4.1
  • window_manager ^0.3.8
  • xdg_directories ^1.0.4
  • yaru
  • yaru_window ^0.2.1
  • yaru_window_linux ^0.2.0
  • build_runner ^2.4.8
  • flutter_lints ^4.0.0
  • dart >=3.0.0 <4.0.0
  • flutter >=3.10.0

  • Check this box to trigger a request for Renovate to run again on this repository

Release a Flatpak version

It'd be great to have a Flatpak version of this app as well.

It's relatively simple, though not particularly well documented. Basically, it's just about downloading the app's compiled binaries, potentially also native libraries that the app depends on, and setting the right sandboxing permissions.

This Github repo contains an example project. And, of course, there are various existing Flutter projects on Flathub that can also serve as inspiration. (To see their Flatpak manifest, just click on "See details" under publisher and then, in the GithubΒ repo that links to, switch to the "Code" view.)

Shuffle doesn't work with local tracks

When playing songs from local audio list, picked randomly. Pressing the next button, plays the next song in the order instead of shuffling the list and picking a random one with shuffle enabled.

Is it be possible to have default desktop font as interface font?

Many user use different fonts as their interface font (I use inter for example). Can musicpod use this default font as interface font instead of ubuntu?

Install method: Snapstore
Distro: Fedora kde spin

I am really enjoying the app, it is very snappy πŸ˜‰ and the podcast integration is really amazing. Have a good day.

Idea: efficient use of the `previous` button

Currently, when playing a playlist, the previous button takes to the previous song, of that playlist. But, what if when a single song is clicked from the tracks list of Local Audio, the next button now plays the next song, but how about adding the feature, when the previous button is pressed, in that scenario, the previous song will be played. If, it's the first song, then the last song from the local audio list can be played. Or, in that case, nothing can be done. Also, how about, when the previous button is pressed, the song that's playing currently will again play from the starting. And when pressed twice, the previous song will be played.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.