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 DeckSP #770

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

Add DeckSP #770

wants to merge 2 commits into from

Conversation

jessebofill
Copy link
Contributor

@jessebofill jessebofill commented Feb 22, 2025

DeckSP

DeskSP is an audio effect dsp plugin. The plugin uses JamesDSP for Linux for the effects and provides ui to control them fully through the qam. The plugin also features a profiles system where profiles can either be manually applied or automatically applied on a per game basis similar to how Steams performance settings works. Applied profiles are also supported in desktop Steam.

The plugin currently features the following effects:

  • Limiter
  • Equalizer 15 band EQ
  • Dynamic Range Compander (Compressor/ Expander)
  • Stereo
    • Wideness
    • Crossfeed
  • Reverb
  • Dynamic Bass (Frequency-detecting bass-boost)
  • Tube Modeling (Analog harmonics modeling)

QAM Effects

Note regarding JamesDSP

The plugin automatically handles the installation/ uninstallation of JamesDSP flatpak via flathub as user.

Testing Recommendations

-Make sure ui sounds is enabled in steam and volume is up on the deck.
-After installing, open plugin in qam and make sure no errors are present. (First plugin load might take a little while so be patient)
-Verify audio is working as you navigate ui.
-Verify effects are working. Easiest way to tell is by enabling revereb. It should it be immediately noticeable even with ui sounds.
-Test automatic profiles by launching a game, then toggling "use per game profile". Quitting game, should revert back to "global profile" and launching again should reapply that game profile.
-Test manually applying profiles/ creating profiles.
-Verify profiles are setting the expected effect parameters. Change and use different parameters of effects on the different profiles you test with.

Task Checklist

Developer

  • I am the original author or an authorized maintainer of this plugin.
  • I have abided by the licenses of the libraries I am utilizing, including attaching license notices where appropriate.

Plugin

  • I have verified that my plugin works properly on the Stable and Beta update channels of SteamOS.
  • I have verified my plugin is unique or provides more/alternative functionality to a plugin already on the store.

Backend

  • No: I am using a custom backend other than Python.
  • No: I am using a tool or software from a 3rd party FOSS project that does not have it's dependencies statically linked.
  • No: I am using a custom binary that has all of it's dependencies statically linked.

Community

  • I have tested and left feedback on two other pull requests for new or updating plugins.
  • I have commented links to my testing report in this PR.

Testing

  • Tested by a third party on SteamOS Stable or Beta update channel.

@jessebofill jessebofill requested a review from a team as a code owner February 22, 2025 18:30
@jessebofill
Copy link
Contributor Author

As for testing other plugins, I can't test any of the 3 plugins currently in testing bacuase I don't have the products they are for.

Copy link
Member

@EMERALD0874 EMERALD0874 left a comment

Choose a reason for hiding this comment

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

Code LGTM, approving for testing store.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 🔖 Ready for review
Development

Successfully merging this pull request may close these issues.

2 participants