Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4.0.0 REGRESSION MEGATHREAD #941

Open
OxygenCobalt opened this issue Jan 7, 2025 · 35 comments
Open

4.0.0 REGRESSION MEGATHREAD #941

OxygenCobalt opened this issue Jan 7, 2025 · 35 comments
Assignees
Labels
megathread This is a megathread

Comments

@OxygenCobalt
Copy link
Owner

OxygenCobalt commented Jan 7, 2025

SUBMIT REGRESSIONS AND PROBLEMS WITH 4.0.0 HERE!

Some already known issues:

  • Playback state is not persisting during the upgrade (I have yet to debug this due to time constraints) -> dev4
  • Weird bouncing effect when navigating to album song (Likely regression) -> dev4
  • Skipping effect when editing playlists -> dev4
  • Fix broken fab shadow -> dev4
  • Out of spec play/pause button -> dev4
  • Certain themes are functionally identical -> dev4
  • Broken home fast scroller when sorting by date added -> dev4
  • Playlist editing isn't working -> dev3
  • Cannot restart music loading -> dev3
  • Music linking crashes on some libraries with a NullPointerException -> dev3
  • No ID3v1 support -> dev3
  • Crash when loading FLAC files -> dev2
  • Playback controls fall behind queue bar (Unfixable system issue)
  • Predictive back can stop working when navigating through library (Likely library issue, cannot be fixed right now)

Some untested stuff:

  • Automatic reloading
  • Cover behavior edge cases
  • Long-term storage use by cover cache
  • M3U and Vorbis edge cases
@OxygenCobalt OxygenCobalt added the megathread This is a megathread label Jan 7, 2025
@OxygenCobalt OxygenCobalt self-assigned this Jan 7, 2025
@OxygenCobalt OxygenCobalt changed the title 4.0.0 regression megathread 4.0.0 REGRESSION MEGATHREAD Jan 7, 2025
@OxygenCobalt OxygenCobalt pinned this issue Jan 7, 2025
@OxygenCobalt OxygenCobalt mentioned this issue Jan 7, 2025
4 tasks
@grapheneloverdev
Copy link

#942

@dot166
Copy link
Contributor

dot166 commented Jan 8, 2025

#946 ( fixed in 58e0956 )

@grapheneloverdev
Copy link

One small issue: the fast scrolling slider isn't pressable when near the shuffle button.

@strongville
Copy link

Crashed on background with the following stack trace provided by the app itself (dev2 on Android 15):

android.app.ForegroundServiceStartNotAllowedException: Service.startForeground() not allowed due to mAllowStartForeground false: service org.oxycblt.auxio/.AuxioService
	at android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel(ForegroundServiceStartNotAllowedException.java:54)
	at android.app.ForegroundServiceStartNotAllowedException$1.createFromParcel(ForegroundServiceStartNotAllowedException.java:50)
	at android.os.Parcel.readParcelableInternal(Parcel.java:5105)
	at android.os.Parcel.readParcelable(Parcel.java:5087)
	at android.os.Parcel.createExceptionOrNull(Parcel.java:3267)
	at android.os.Parcel.createException(Parcel.java:3256)
	at android.os.Parcel.readException(Parcel.java:3239)
	at android.os.Parcel.readException(Parcel.java:3181)
	at android.app.IActivityManager$Stub$Proxy.setServiceForeground(IActivityManager.java:7193)
	at android.app.Service.startForeground(Service.java:776)
	at org.oxycblt.auxio.AuxioService$$ExternalSyntheticLambda0.invoke(SourceFile:388)
	at org.oxycblt.auxio.AuxioService.updateForeground(SourceFile:202)
	at org.oxycblt.auxio.music.service.IndexingHolder.onIndexingStateChanged(SourceFile:5)
	at org.oxycblt.auxio.music.MusicRepositoryImpl.access$emitIndexingProgress(SourceFile:97)
	at org.oxycblt.auxio.music.MusicRepositoryImpl$emitIndexingProgress$1.invokeSuspend(Unknown Source:12)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(SourceFile:9)
	at kotlinx.coroutines.DispatchedTask.run(SourceFile:109)
	at androidx.core.app.ActivityRecreator$1.run(SourceFile:36)
	at kotlinx.coroutines.scheduling.TaskImpl.run(SourceFile:3)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(SourceFile:93)
	Suppressed: android.app.ForegroundServiceStartNotAllowedException: Service.startForeground() not allowed due to mAllowStartForeground false: service org.oxycblt.auxio/.AuxioService
		... 20 more

Also, after crashing, the library loading is as slow as the first time adding the folder to Auxio (not sure if it is the time it will take when closed normally or because of the same crash).

@OxygenCobalt
Copy link
Owner Author

OxygenCobalt commented Jan 8, 2025

What do you mean in the background @strongville? Were you playing anything? Was Automatic Reloading on?

@strongville
Copy link

With background, I meant that I switched apps, but as it only happened once, I really don't remember if it really was like that (I could've left the app open on now playing screen).

The app was playing FLAC from an imported playlist.

Checking the settings, Automatic Reloading is off.

@OxygenCobalt
Copy link
Owner Author

Was it paused or not @strongville

@strongville
Copy link

Sorry, was not paused, the crash interrupted the playback.

@OxygenCobalt
Copy link
Owner Author

Wait, there are two errors here @strongville

Error 1 crashed the app and playback

Error 2 is a weird music loading error I have had a hard time tracking down since I believe it's an Android problem.

@strongville
Copy link

Yeah, was not sure how to report that, and at first stance looked related to me.

Thanks for checking out! I'll keep using dev versions and if I notice something else (or the same crash as error 1), I'll try to give more details how happened.

@VoxelPrismatic

This comment was marked as resolved.

@OxygenCobalt
Copy link
Owner Author

Didn't think this was enough for a full issue, so I'll put it here
4.0.0-dev3 - funky shadow
ResizedImage_2025-01-08_20-05-29_1973.png

Thanks, will fix with other UI stuff

@WreckingBANG
Copy link

Weird Date on all my Music. Everything seems to have the same really wrong Date.

Screenshot_20250109-195535

@VoxelPrismatic
Copy link

@WreckingBANG please share a couple sample files

@OxygenCobalt
Copy link
Owner Author

No @VoxelPrismatic, this is probably actually a bug with the fast scroller

@VoxelPrismatic
Copy link

I could not reproduce with my library, @OxygenCobalt

@OxygenCobalt
Copy link
Owner Author

It's related to date added support @VoxelPrismatic, I've noticed this error before I just haven't acted on it.

@OxygenCobalt
Copy link
Owner Author

OxygenCobalt commented Jan 14, 2025

Most regressions I believe have been ironed out, a full 4.0.0 release is imminent.

Only remaining change might be to whether "Round mode" is enabled by default [Sharp covers will remain, however]. From what I've observed, more people turn Round mode on rather than off, so it seems to be the more sensible default on my end. It also is a much better companion to the new design. Once this decision is made I'll be prepared to finally launch.

@Fuoxden
Copy link

Fuoxden commented Jan 14, 2025

Most regressions I believe have been ironed out, a full 4.0.0 release is imminent.

Only remaining change might be to whether "Round mode" is enabled by default [Sharp covers will remain, however]. From what I've observed, more people turn Round mode on rather than off, so it seems to be the more sensible default on my end. It also is a much better companion to the new design. Once this decision is made I'll be prepared to finally launch.

Very Exciting news! I can't wait for the full 4.0.0 release!

@e-zk
Copy link
Contributor

e-zk commented Jan 14, 2025

#960 :(
Occurring after updating to dev-4

@Richard38907
Copy link

Richard38907 commented Jan 15, 2025

since 4.0.0 bottom android navigation bar has an ugly black background instead of the transparent one present on 3.x.x.
Screenshot_20250115-111652.png

Screenshot_20250115-150558.png

This black bar is only present on the menus.

@VoxelPrismatic
Copy link

since 4.0.0 bottom android navigation bar has an ugly black background instead of the transparent one present on 3.x.x.

This black bar is only present on the menus.

I can't reproduce this, on any set/auto theme or system light/dark theme.
Screenshot_20250115-081824.png

Sony Xperia 1 V; Android 15 (OEM); Auxio 4.0.0-dev4

@Richard38907
Copy link

Richard38907 commented Jan 15, 2025

Strange, I have this black bar on my two OnePlus ( OxygenOS and AOSP roms)🤔
This behaviour happens with all themes activated (light, dark and pure black)

@VoxelPrismatic
Copy link

What's your build?
ResizedImage_2025-01-15_09-37-06_4509.png

@Richard38907
Copy link

Screenshot_20250115-163811.png

The same as you

@VoxelPrismatic
Copy link

The interesting thing is you also have tab icons. I do not.

@Richard38907
Copy link

Richard38907 commented Jan 15, 2025

It's because of the screen density (DPI). Try to set a bigger display size and you will see the difference.

@VoxelPrismatic
Copy link

1644x3840 ought to be enough, but nope
Screenshot_20250115-100006.png

@OxygenCobalt
Copy link
Owner Author

I think it's because I switched to a different edge-to-edge system in an attempt to fix a bug @Richard38907, I'll see if I can override it with the old transparent bars.

@strongville
Copy link

ReplayGain info for OPUS files is not detected.
Using Vorbis tags on those files, as created by default on foobar2000.

foobar2000 showing RG info for an example track on my library:
imagen

Track info for same file on Auxio dev04:
{8BE2A013-28A9-4E35-B13B-9C5396910EC0}

OPUS File used:
https://files.catbox.moe/cg2db7.opus

@OxygenCobalt
Copy link
Owner Author

Probably an accidental tag error, will investigate @strongville

@OxygenCobalt
Copy link
Owner Author

OxygenCobalt commented Jan 19, 2025

Okay @strongville, the problem is that your file is not using R128 tags but the internal base gain field. OPUS has it's own internal "base gain" value that's supposed to take precedence over ReplayGain. This is automatically handled by the system media decoder, and so there's not really a good way for me to set it up such that it can be displayed in the app without accidentally being double-applied. It'll get iced for now until I rejig my app data structures again to handle gain values that should be displayed but not used.

@strongville
Copy link

Ok, I think I'm following until the part about two different gain values being present on OPUS files that are possible to be applied (for that file -8.81dB in opus gain, -3.31dB on ReplayGain info).

Should I try to remove the OPUS gain? (I think I'm using same kind of metadata as my FLAC files and for those works just fine, and on Auxio OPUS files are using the preamp for non-RG-info-found files)

@OxygenCobalt
Copy link
Owner Author

Ok, I think I'm following until the part about two different gain values being present on OPUS files that are possible to be applied (for that file -8.81dB in opus gain, -3.31dB on ReplayGain info).

Yeah, it's really confusing design choice on Xiph's end IMO. In general, where you might put an ReplayGain Album Gain in a FLAC file, you put a Base/Header Gain in an OPUS file.

Should I try to remove the OPUS gain? (I think I'm using same kind of metadata as my FLAC files and for those works just fine, and on Auxio OPUS files are using the preamp for non-RG-info-found files)

You can, but taggers tend to default to writing it, so it's more a problem on my end that I'm not displaying it (Hence #968).

I think Auxio does need to rejig it's OPUS Gain handling considering #969.

@strongville

@hknutsen
Copy link

hknutsen commented Jan 22, 2025

@strongville I wrote a script that uses opus-tools to convert my FLAC files to Opus files that I play through Auxio on my phone.

Here's a comment from that script that describes how gain is stored in Opus files:

# The Opus encoder provided by opus-tools will propagate tags from the input
# FLAC file to the output Opus file, except "REPLAYGAIN_*" tags.
#
# Opus follows the EBU R128 specification for loudness normalization.
# According to the Opus specification, gain must be stored in the "Output
# Gain" field in the ID header. Media players should apply this gain by
# default. Additional track and album gain can be stored in the
# "R128_TRACK_GAIN" and "R128_ALBUM_GAIN" tags in the comment header.
# Ref: https://datatracker.ietf.org/doc/html/rfc7845#section-5.2.1
#
# If the input FLAC file has a "REPLAYGAIN_ALBUM_GAIN" tag, its value will be
# converted to the R128 reference level and stored in the "Output Gain" field
# of the output Opus file. If the input FLAC file has a
# "REPLAYGAIN_TRACK_GAIN" tag, its value relative to the album gain will be
# converted to the R128 reference level and stored in the "R128_TRACK_GAIN"
# tag of the output Opus file.
# Ref: https://github.com/xiph/opus-tools/blob/v0.2/src/flac.c#L179-L193
#
# Some media players might require ReplayGain to be turned off in order apply
# the default output gain (i.e. the album gain) without applying the
# additional track gain.

Auxio currently seems to implement support for Opus files as intended by Xiph (developers of Opus):

  • Album gain is read from the file header (applied by system media decoder).
  • Additional track gain relative to the album gain is read from the R128_TRACK_GAIN tag (applied by Auxio).

With that in mind, here's how to "properly" use gain for Opus files in Auxio:

  • If you want to use album gain, set "ReplayGain strategy" to "Off". The system media decoder will apply album gain.
    • If you want to apply pre-amp when using album gain, use "Adjustment without tags".
  • If you want to use track gain, set "ReplayGain strategy" to "Prefer track". The system media decoder will apply album gain, then Auxio will apply additional track gain.
    • If you want to apply pre-amp when using track gain, use "Adjustment with tags".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
megathread This is a megathread
Projects
None yet
Development

No branches or pull requests

10 participants