Git Product home page Git Product logo

symphony's People

Contributors

alijafari-gd avatar atlasc0r3 avatar atrafon avatar danielloera avatar danigarau avatar decksdark628 avatar dependabot[bot] avatar domheadroom avatar eleius avatar enrique-mp avatar geovanedev avatar ghostnear avatar goooler avatar icarus-xu avatar krintni avatar kuragehimekurara1 avatar poussinou avatar rehork avatar roxwize avatar shynline avatar slorixsh avatar th1nhhdk avatar userkilled avatar zyrouge avatar

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  avatar  avatar  avatar

symphony's Issues

3 dots menu is missing on folders in the folders view

While files in the folders view have a 3 dots menu on their right side, folders are missing them. Thus, whole folders can't be easily added to a queue or playlist. Would be really handy, if folders would also have 3 dots menus, as f.i. albums in the albums view are having it.

[Bug] Skipping songs with earbuds not working

With my Galaxy buds pro 2, I can normally skip songs by double tapping the touch panel but it is not working on symphony (pausing songs is possible tho). I also tried another music player aswell as YouTube and there it is working just fine.

[Feature Request] Search for folders

Love your awesome player, many thanks for creating it!

Was wondering, if it's possible to add that the search function will also search for the name of folders?

[Feature Request] Speed and Pitch Control

Would it be possible to add speed and pitch control? This functionality is not available in many players, and I think it would be a valuable addition. I would greatly appreciate it if you could consider implementing this feature.

[Feature Request] Tree view?

Hi, fistt of all, thanks for the work.

I'd like to like the app, but I can't use any that doesn't show a tree view. Is it possible to implement a view like in SicMu Player?
In case you don't know it, it basically shows a list of every song, sorted by tree.

Domething like
Folder A - 1
Folder A - 2
Folder A - 3
Folder A - 4
Folder B - 1
Folder B - 2
...
And so on.

Maybe there is already, and I missed it?

Thanks! ๐Ÿ˜ƒ

[Feature Request] Custom Images for Playlists and Songs/Albums

Sometimes songs and/or albums bug out and don't display their associated image. Its rare, but it happens.

Either a hold down for a few seconds or added into the three dot menu, the ability to change art would allow users to fix this bug (happens in other apps) manually without needing to modify song meta data on a PC.

Expanding this to playlist art would add to user customizability.

[Feature Request] Gestures in queue

Quite often you want to change the order of the songs in the queue, which is not possible at the moment. One way to elegantly solve this would be by having a way to tap and drag a song to the desired position. But the dragging should only be activated if you tap on the left side of a song, like f.i. shown on this screenshot of the awesome AntennaPod app:
grafik

If you switch to the queue section there, you'll see that this kind of navigation is very intuitive and also allows you to scroll through a list of songs without accidentally rearranging them.

You could also add some gestures, like if you swipe a song to the left, then it will be removed from the queue, and if you swipe to the right, then it will be marked as favourite. See AntennaPod for as an example.

If the same mechanics could be applied to playlists, this would be even more awesome!

[Feature Request] Support for aac, flac and ogg

Is it an easy task to support audio formats like aac, flac and ogg? These are common these days and a lot of other players can open them. Would be awesome, if your player could play them too.

[Feature Request] Dedicated Favorites Playlist

Add the option to favorite a song into a dedicated favorites playlist with out having to create a manual playlist.

The Favorites should also be able to appear on the bottom taskbar and have a quick add on the song, have like a heart icon to quick add

[Feature] Sort songs by 'track number' tag when playing album

Using 2022.12.56,
When playing an album, the default track order is alphabetical name.

A sane default would be according to 'disc number', 'track number' tags of files that have the same 'album artist' field. (In case there is 2 different releases that have the same 'album' name, 'album artist' would set them apart)

Right now I use filename because I have my files named with track numbers in the beginning but it would be a PITA for someone that doesn't have track number in the filename of their audio library.

[Feature Request] Buttons to rewind and fast-forward

Buttons to rewind and fast-forward in the "now playing" view, where play and previous/next buttons are located, would make scrolling within a song much easier. Ideally, the time period for rewinding and fast-forwarding should be adjustable in the settings.

The most common position for such buttons would be as follows: (previous) (rewind) (play) (fast-forward) (next)

Would also be helpful, if those two buttons could be added to the notification area of Android.

detect /f(ea)?t\./i and similar in the song artist field, instead of creating a new artist for every new value in the artist metadata field

currently, if a song in my library has the artist metadata tag in the format of "X (ft. Y)", the app creates a new artist in the Artists tab named "X (ft. Y)" for that single song, instead of including the song in the tabs for both X and Y. this causes the Artists tab to be bloated with these additional, fake artists, and causes certain songs to be omitted from the Artist page it would normally be in.

Screenshot_20221223-131548_Symphony.jpg

this could be probably solved by implementing a regex pattern match for all artist metadata tags to look for instances of "ft." or similar and parsing the artist names accordingly

i would create a fork that fixes this but unfortunately i do not know anything about android app development so i am making this issue to bring this problem to your attention.

Notification Alert

Discussed in #2

Originally posted by k3rnelPan1c228 November 23, 2022
can you give an option to turn off the notification alert, it keeps on vibrating everytime I change songs or if it plays next song

[Feature Request] Gestures Support

Hi,

I think adding gestures support will be awesome.

For example -

  • Swipe down from the Now Playing screen to go to Library.
  • Swipe up Mini player to open Now Playing screen.
  • Swipe left or right in Now Playing to change previous/next song.
  • Swipe up Playing XX out of XX from Now Playing to open songs queue.
  • Swipe Left or Right from Library to go to left or right screens (to switch between For You and Songs / Album etc screens.)

For reference see Black Player

Thanks! โค๏ธ

Crash when trying to open any song

Crash when trying to open any songs
Android 13

Process: io.github.zyrouge.symphony, PID: 6581
java.lang.IllegalArgumentException: Cannot round NaN value.
	at a0.a.d0(Unknown Source:15)
	at q.u.e(Unknown Source:24)
	at j1.c.e(Unknown Source:14)
	at j1.t.e(Unknown Source:10)
	at j1.b0.y(Unknown Source:8)
	at n0.h$a.a(Unknown Source:63)
	at n0.z.y(Unknown Source:6)
	at androidx.activity.m.P0(Unknown Source:43)
	at j1.y0.a(Unknown Source:74)
	at j1.z$b.c1(Unknown Source:171)
	at j1.z$b.e(Unknown Source:168)
	at q.i.b(Unknown Source:217)
	at j1.n.e(Unknown Source:43)
	at q.u.e(Unknown Source:99)
	at j1.c.e(Unknown Source:14)
	at j1.t.e(Unknown Source:10)
	at q.s1.e(Unknown Source:121)
	at j1.c.e(Unknown Source:14)
	at j1.t.e(Unknown Source:10)
	at j1.b0.y(Unknown Source:8)
	at n0.h$a.a(Unknown Source:63)
	at n0.z.y(Unknown Source:6)
	at androidx.activity.m.P0(Unknown Source:43)
	at j1.y0.a(Unknown Source:74)
	at j1.z$b.c1(Unknown Source:171)
	at j1.z$b.e(Unknown Source:168)
	at q.i1.b(Unknown Source:177)
	at j1.n.e(Unknown Source:43)
	at j1.b0.y(Unknown Source:8)
	at n0.h$a.a(Unknown Source:63)
	at n0.z.y(Unknown Source:6)
	at androidx.activity.m.P0(Unknown Source:43)
	at j1.y0.a(Unknown Source:74)
	at j1.z$b.c1(Unknown Source:171)
	at j1.z$b.e(Unknown Source:168)
	at l.l.b(Unknown Source:37)
	at j1.n.e(Unknown Source:43)
	at u0.k.e(Unknown Source:5)
	at j1.c.e(Unknown Source:14)
	at j1.t.e(Unknown Source:10)
	at l.v0.e(Unknown Source:5)
	at j1.c.e(Unknown Source:14)
	at j1.t.e(Unknown Source:10)
	at j1.b0.y(Unknown Source:8)
	at n0.h$a.a(Unknown Source:63)
	at n0.z.y(Unknown Source:6)
	at androidx.activity.m.P0(Unknown Source:43)
	at j1.y0.a(Unknown Source:74)
	at j1.z$b.c1(Unknown Source:171)
	at j1.z$b.e(Unknown Source:168)
	at q.i1.b(Unknown Source:177)
	at j1.n.e(Unknown Source:43)
	at j1.b0.y(Unknown Source:8)
	at n0.h$a.a(Unknown Source:63)
	at n0.z.y(Unknown Source:6)
	at androidx.activity.m.P0(Unknown Source:43)
	at j1.y0.a(Unknown Source:74)
	at j1.z$b.c1(Unknown Source:171)
	at j1.v.O(Unknown Source:16)
	at j1.e0.d(Unknown Source:24)
	at j1.e0.k(Unknown Source:130)
	at j1.e0.g(Unknown Source:68)
	at androidx.compose.ui.platform.AndroidComposeView.a(Unknown Source:13)
	at androidx.compose.ui.platform.AndroidComposeView.dispatchDraw(Unknown Source:20)
	at android.view.View.draw(View.java:23198)
	at android.view.View.updateDisplayListIfDirty(View.java:22062)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4513)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4486)
	at android.view.View.updateDisplayListIfDirty(View.java:22018)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4513)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4486)
	at android.view.View.updateDisplayListIfDirty(View.java:22018)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4513)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4486)
	at android.view.View.updateDisplayListIfDirty(View.java:22018)
	at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:4513)
	at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:4486)
	at android.view.View.updateDisplayListIfDirty(View.java:22018)
	at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:682)
	at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:688)
	at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:786)
	at android.view.ViewRootImpl.draw(ViewRootImpl.java:4579)
	at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:4290)
	at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3517)
	at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2286)
	at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8959)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1231)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1239)
	at android.view.Choreographer.doCallbacks(Choreographer.java:899)
	at android.view.Choreographer.doFrame(Choreographer.java:832)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1214)
	at android.os.Handler.handleCallback(Handler.java:942)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loopOnce(Looper.java:201)
	at android.os.Looper.loop(Looper.java:288)
	at android.app.ActivityThread.main(ActivityThread.java:7900)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

[Feature Request] Whitelist/blacklist

Loving your music player!
I just miss a white/black list to stop playing whatsapp audios and other audio files I have on my internal/external memory.
Cheers.

Swiping for navigation

Nowadays, swiping is getting more and more popular for navigation within Android. One way to make navigation within your great app more intuitive is by adding a swiping up gesture in the area where the bottom panel and the mini-player are. A quick swipe up there would open the "now playing" view. And a quick swipe up in the "now playing" view would open the queue, while a swipe down in the "now playing" view would bring you back to your initial view, like folders, albums etc. Swiping down on the area at the top, where "queue" is written, would bring you back to the "now playing" view.

Release on Google Play

Your music player looks awesome! May I ask why it's still not released on F-Droid or Google Play?

bugged ma system

i opened a song n boom ma phone started showing sone weird shit n couldn't touch anything just rebooted and uninstalled the app and now its fine

Magnifier icon should be on the right side when unused.

For the sake of consistency with android material language, the magnifier lens icon should be on the right side of the screen.
It would move to the left when the input search box is activated.

See for reference: newpipe, odyssey, auxio, bitwarden, harmonic.

[Bug] Random crashes

Music was playing in schuffle, crashed after song finished and next song was going to start
Screenshot_20230116-172426

Crash on Opening (evox Android 13)

time: 1669869857014
msg: java.lang.RuntimeException: setDataSource failed: status = 0x80000000
stacktrace: java.lang.RuntimeException: setDataSource failed: status = 0x80000000
at android.media.MediaMetadataRetriever._setDataSource(Native Method)
at android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:310)
at android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:334)
at android.media.MediaMetadataRetriever.setDataSource(MediaMetadataRetriever.java:383)
at e4.p$b.a(Unknown Source:466)
at e4.r.k(Unknown Source:124)
at u4.a.q(Unknown Source:7)
at j5.g0.run(Unknown Source:100)
at p5.a$a.run(Unknown Source:81)
Suppressed: p3.e: [m1{Cancelling}@67b7500, Dispatchers.Default]

[Bug] Random song covers not loading

Seemingly random songs are rendered without their cover image despite their file having one included in their metadata.
(I checked this on my PC)

Strangely the amount of missing covers is higher in the first half of the list than in the second one, where nearly every cover is present. A cache clear does not fix this. The songs missing their cover are always the same.

Version: v2023.3.73

Show Screenshot

Screenshot_20230304-152557

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.