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

Add support for Volume FX and BASSLoud #1

Open
wants to merge 27 commits into
base: fork
Choose a base branch
from

Conversation

smallketchup82
Copy link

@smallketchup82 smallketchup82 commented Apr 4, 2024

Prerequisite for ppy/osu#27793

Adds support for Volume Fx and Bassloud. Merges ManagedBass#124 and ManagedBass#121 with some custom bug fixes and patches to make them work. Also gets this branch up to date with ManagedBass master. Tested and works on MacOS and Windows

Also peppy, please go through and change the version numbers on the projects, I changed them up so that they would always be the latest release so that I could do local testing, but they should probably be changed back.

Another prerequisite for my PR is updated ppy.ManagedBass.* nuget packages, so if you can, please upload updated versions of the following packages if & when this gets merged:

  • ppy.ManagedBass
  • ppy.ManagedBass.Fx
  • ppy.ManagedBass.Enc (this will be new)
  • ppy.ManagedBass.Loud (this will also be new)

src/AddOns/BassFx/Effects/Objects/VolumeEffect.cs Outdated Show resolved Hide resolved
src/Bass/Shared/ChannelReferences.cs Outdated Show resolved Hide resolved
Comment on lines 720 to 748
/// <summary>
/// BassLoud add-on: Loudness in LUFS of the last 400ms or the duration (in milliseconds) specified in the HIWORD
/// </summary>
BassLoudnessCurrent = 0,

/// <summary>
/// BassLoud add-on: Integrated loudness in LUFS. This is the average since measurement started.
/// </summary>
BassLoudnessIntegrated = 1,

/// <summary>
/// BassLoud add-on: Loudness range in LU.
/// </summary>
BassLoudnessRange = 2,

/// <summary>
/// BassLoud add-on: Peak level in linear scale.
/// </summary>
BassLoudnessPeak = 4,

/// <summary>
/// BassLoud add-on: True peak level in linear scale.
/// </summary>
BassLoudnessTruePeak = 8,

/// <summary>
/// BassLoud add-on: Automatically free the measurement when the channel is freed.
/// </summary>
BassLoudnessAutofree = 0x8000,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • broken indentation
  • bit flag enums should use compile-time constant expressions with bit shifts or hex/binary literals

Copy link
Author

@smallketchup82 smallketchup82 Apr 5, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed 1

The rest of the file doesn't seem to do 2, I believe that we should stay consistent. Either we change everything, or nothing.

src/AddOns/Bassloud/Bassloud.cs Outdated Show resolved Hide resolved
Remove BASS_Loudness from names and change to PascalCase
src/AddOns/BassFx/BassFx.csproj Outdated Show resolved Hide resolved
src/Bass/Desktop/Desktop.csproj Outdated Show resolved Hide resolved
src/AddOns/Bassloud/Bassloud.cs Outdated Show resolved Hide resolved
Changed these for internal testing and forgot to revert, oops
the project fails to load otherwise (i have no idea why lol)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants