GithubHelp home page GithubHelp logo

maxrave-dev / simpmusic Goto Github PK

View Code? Open in Web Editor NEW
1.4K 1.4K 95.0 54.99 MB

A simple music app using YouTube Music for backend

Home Page: https://simpmusic.tech/

License: GNU General Public License v3.0

Kotlin 100.00%
android android-14 android-app android-application android-auto exoplayer kotlin kotlin-only media3 mp3 music spotify video-streaming youtube youtube-music

simpmusic's Introduction

Hi ✌️

I am Nguyen Duc Tuan Minh, an Android Developer, and a final-year student at UEH University.

I am the creator of SimpMusic.

I love Kotlin so much ❤️.

maxrave-dev

 maxrave-dev

simpmusic's People

Contributors

dattran2k avatar eric100lin avatar maxrave-dev avatar maxravework avatar owencz1998 avatar sidharthmudgil avatar waldist 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

simpmusic's Issues

the app crashes frequently

the app crashes frequently, mostly in the settings menu. if you e.g. clicks Downloads or most played.

Device: Samsung Galaxy a8, Android 9

Replay Gain Normalization

Feature description

Some songs are louder than others in a playlist. Replay Gain Normalization can be used to make them equally loud.

The variable volume is annoying and some songs aren't even audible unless you manually set the volume right for the song.

Crash when starting music (v0.0.5)

Hello,
Unfortunately, when I try to start playing music, the app crashes.

type: crash
osVersion: google/cheetah/cheetah:13/TQ3A.230705.001/2023072600:user/release-keys
package: com.maxrave.simpmusic:5
process: com.maxrave.simpmusic
processUptime: 8018 + 228 ms
installer: io.github.muntashirakon.AppManager

java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number. Expected identity hash: 584c84929cc872dea0e4fa287c3c6809, found: 0b79be7c71e3cd87102b15f8daf00fd9
	at androidx.room.RoomOpenHelper.checkIdentity(RoomOpenHelper.kt:147)
	at androidx.room.RoomOpenHelper.onOpen(RoomOpenHelper.kt:128)
	at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.onOpen(FrameworkSQLiteOpenHelper.kt:287)
	at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:434)
	at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:323)
	at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getWritableOrReadableDatabase(FrameworkSQLiteOpenHelper.kt:232)
	at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.innerGetDatabase(FrameworkSQLiteOpenHelper.kt:190)
	at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper$OpenHelper.getSupportDatabase(FrameworkSQLiteOpenHelper.kt:151)
	at androidx.sqlite.db.framework.FrameworkSQLiteOpenHelper.getWritableDatabase(FrameworkSQLiteOpenHelper.kt:104)
	at androidx.room.RoomDatabase.internalBeginTransaction(RoomDatabase.kt:528)
	at androidx.room.RoomDatabase.beginTransaction(RoomDatabase.kt:517)
	at com.maxrave.simpmusic.data.db.DatabaseDao_Impl$28.call(DatabaseDao_Impl.java:601)
	at com.maxrave.simpmusic.data.db.DatabaseDao_Impl$28.call(DatabaseDao_Impl.java:598)
	at androidx.room.CoroutinesRoom$Companion$execute$2.invokeSuspend(CoroutinesRoom.kt:65)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
	at androidx.room.TransactionExecutor.execute$lambda$1$lambda$0(TransactionExecutor.kt:36)
	at androidx.room.TransactionExecutor.$r8$lambda$AympDHYBb78s7_N_9gRsXF0sHiw(Unknown Source:0)
	at androidx.room.TransactionExecutor$$ExternalSyntheticLambda0.run(Unknown Source:4)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
	at java.lang.Thread.run(Thread.java:1012)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@790b6d2, Dispatchers.Main.immediate]

App is Crashing v0.0.4

Hello,
after the update to the 0.0.4 the app unfortunately still crashes, immediately after the start.

type: crash
osVersion: google/cheetah/cheetah:13/TQ3A.230705.001/2023072600:user/release-keys
package: com.maxrave.simpmusic:4
process: com.maxrave.simpmusic
processUptime: 218 + 245 ms
installer: com.looker.droidify

java.lang.ArrayIndexOutOfBoundsException: length=2; index=-1
	at com.maxrave.simpmusic.viewModel.HomeViewModel$getHomeItemList$3.invokeSuspend(HomeViewModel.kt:80)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
	at kotlinx.coroutines.EventLoop.processUnconfinedEvent(EventLoop.common.kt:68)
	at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith(DispatchedContinuation.kt:375)
	at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable(Cancellable.kt:30)
	at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default(Cancellable.kt:25)
	at kotlinx.coroutines.CoroutineStart.invoke(CoroutineStart.kt:110)
	at kotlinx.coroutines.AbstractCoroutine.start(AbstractCoroutine.kt:126)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch(Builders.common.kt:56)
	at kotlinx.coroutines.BuildersKt.launch(Unknown Source:1)
	at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default(Builders.common.kt:47)
	at kotlinx.coroutines.BuildersKt.launch$default(Unknown Source:1)
	at com.maxrave.simpmusic.viewModel.HomeViewModel.<init>(HomeViewModel.kt:55)
	at com.maxrave.simpmusic.DaggerSimpMusicApplication_HiltComponents_SingletonC$ViewModelCImpl$SwitchingProvider.get(DaggerSimpMusicApplication_HiltComponents_SingletonC.java:782)
	at dagger.hilt.android.internal.lifecycle.HiltViewModelFactory$1.create(HiltViewModelFactory.java:102)
	at androidx.lifecycle.AbstractSavedStateViewModelFactory.create(AbstractSavedStateViewModelFactory.kt:90)
	at dagger.hilt.android.internal.lifecycle.HiltViewModelFactory.create(HiltViewModelFactory.java:114)
	at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:187)
	at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.kt:153)
	at androidx.lifecycle.ViewModelLazy.getValue(ViewModelLazy.kt:53)
	at androidx.lifecycle.ViewModelLazy.getValue(ViewModelLazy.kt:35)
	at com.maxrave.simpmusic.ui.fragment.home.HomeFragment.getViewModel(HomeFragment.kt:48)
	at com.maxrave.simpmusic.ui.fragment.home.HomeFragment.initObserver(HomeFragment.kt:225)
	at com.maxrave.simpmusic.ui.fragment.home.HomeFragment.onViewCreated(HomeFragment.kt:81)
	at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:3147)
	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:588)
	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:272)
	at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:114)
	at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1455)
	at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3034)
	at androidx.fragment.app.FragmentManager.dispatchViewCreated(FragmentManager.java:2945)
	at androidx.fragment.app.Fragment.performViewCreated(Fragment.java:3148)
	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:588)
	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:272)
	at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:114)
	at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1455)
	at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3034)
	at androidx.fragment.app.FragmentManager.dispatchActivityCreated(FragmentManager.java:2952)
	at androidx.fragment.app.FragmentController.dispatchActivityCreated(FragmentController.java:263)
	at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:350)
	at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:251)
	at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1548)
	at android.app.Activity.performStart(Activity.java:8414)
	at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3680)
	at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:224)
	at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:204)
	at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:176)
	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:97)
	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2313)
	at android.os.Handler.dispatchMessage(Handler.java:106)
	at android.os.Looper.loopOnce(Looper.java:201)
	at android.os.Looper.loop(Looper.java:288)
	at android.app.ActivityThread.main(ActivityThread.java:7940)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
	at com.android.internal.os.ExecInit.main(ExecInit.java:49)
	at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
	at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:355)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@ed22cd4, Dispatchers.Main.immediate]

Share menu

Make SimpMusic available in the "Share" menu.

This would make sharing from the left easier.

Context menu

When you are in artist page or in album page, songs should have a context menu so that you can like it without playing the song, you can add it in a play queue, ...

SO LAGGING

I have been waiting for 30min but the software can't load any song ╰(‵□′)╯

lag

Status bar and Navigation bar not transparent

Is there a way for simpmusic to use the android api to make the navbar transparent? Also, although on stock android, the status bar is transparent, on Samsung devices, there's like a little tint that remains which looks weird~

Multiple selection

In an album I'd like to select some songs and like them. You can't select any song by keep pressing on a song

Piped Support Feature Request

Is Piped account and custom instance support planned for library backup? This app looks beautiful so far and I would love to see it work as a drop in replacement for any other proprietary app.

Navigation bar

Please add maybe blur to the background of the navigation bar so it's clearer to see or maybe ingrate dynamic theme in both navigation bar and the main background like homescreen and other pages.

Implement animation while swiping down

Implement animation while we swipe down now playing screen. There is an only animation for minimize to now playing screen. So it will be great if you implement animation while we swipe down

Brilliant App

Saw this app on Izzydroid repo on F-Droid. Gave it a try. Now it is my go-to music app because it is brilliant and it has synced lyrics. Keep it up Max!

Add feature

Why downloads are cached not a local file?

API Level 25

Is it possible to lower the min SDK to level 25?

Discord sever

@maxrave-dev
Hey man I'm a ex moderator of many github projects and also the main dev of redbot discord bot I was thinking can I make you a discord sever for this project this opens up a Community for people to report bugs and ask for new features obviously I can keep track on the issues they open and remove any duplicate ones we can also upload bigger files like screen records that github can't do.

Many thanks 😊

Swipe feature from currently playing menu

It'd be cool to have a swipe feature so we could skip tracks back and forth without touching a button and we could swipe down to get back to home screen and minimize the currently playing tab.

Thanks 🦸‍♂️

Content not working

IMG_20230803_225832
i chose PH content but it seems doesn't work, Hopefully we can choose what music county we want to appear on homepage.

Good app Tho very nice UI and Player it's clean like Spotify compared to Music Player of other app on Playstore they too extra that's why i like Spotify like player and this one.

Player bug

I don't it is implemented that way but in player it shows this :
Screenshot_20230802-154955_SimpMusic
The icon are not visible fully without scrolling down

Automatic backup function

An automatic backup function like Blackhole would be very useful if you change your phone or tablet

Add "refresh playlist" button

It will be great if you implement "refresh playlists" button in playlists. That help us to get songs that we added recently in playlists by youtube.

Resume last played track after restarting the app

It would be great if you implement the resumption of the last played track after restarting the application, or at least return to the previous playlist. For now, if I open the app again, I need to select the playlist again.

Ui problem

Screenshot_20230730_073211_SimpMusic.png

Navigation button is to bottom
Samsung galaxy a34 5g
Android 13 One UI 5.1

Info about new releases by the followed artists

I don't know if it's feasible but is there a way to be informed in some way about new releases from the artists you follow? Be it a notification or a hint through a dot or something similar.

Thanks for the great app and your hard work.

Expendable Textview

My scanner found a library in your app which it does not know about. Do you have any idea where the source for com.example.expandabletextview_compose can be found? It's not mentioned in your code base either, so it must be a dependency of a dependency; maybe running gradle :app:dependencies can reveal it?

Add a Crowdin Page

Hi! First of all I want to give you a huge thanks for this incredible app. SimpMusic is super useful and simple to use! I just want to ask if it's possible to add a Crowdin Page for the app, because it's easier for people instead of downloading Android Studio. I don't know if it's possible or if it's easier for you, but if you have time, please consider it! I'm interested in translating the app into Italian, but I don't have Android Studio on my PC and I don't have too much space to download it (I already have Visual Studio and Visual Studio Code). Thanks in advance, have a nice day!

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.