jack-mixer / jack_mixer

A multi-channel audio mixer desktop application for the JACK Audio Connection Kit.
https://rdio.space/jackmixer/
GNU General Public License v2.0
95 stars 20 forks source link

Slider Preferences do not save. ( Fedora 35 packages out of date fixed by compiling latest from source ) #164

Open Skrappjaw opened 1 year ago

Skrappjaw commented 1 year ago

Mixer preferences do not save. Interface, Scales, nor MIDI. I like the 70DB scale to avoid clipping channels, and the Pickup Value option avoids slamming a fader to the gills on accident. But every time I reload the preset, these are set to defaults.

SpotlightKid commented 1 year ago

Thanks for the report. What version of jack_mixer are you using (see "help/About" menu) and which Linux distro? Can you run jack_mixer from a terminal with the debug flag (jack_mixer -d) and load your settings and post the terminal output here? Also, please post your mixer settings XML file and your global settings file (~/.config/jack_mixer/preferences.ini)).

Skrappjaw commented 1 year ago

Fedora 35 Version 14

$ jack_mixer -d -c /home/skrapp/Audio_configs/UMC-Korg WARNING: Cannot load PyXDG. Your preferences will not be preserved across jack_mixer invocations

There is no folder in .config for jack_mixer

The settings XML - The mixer channels all load fine. It's just everything in the preferences that fail.

<?xml version="1.0" ?>

SpotlightKid commented 1 year ago

Release 14 is more than two years old. Current release is version 17, released more than a year ago. Please test with a current version.

Also, as the warning message says, you need PyXDG installed for proper settings saving and restoring.

Skrappjaw commented 1 year ago

Makes sense. Must be a packaging issue on Fedora's end.

Skrappjaw commented 1 year ago

Is there a way to compile this without jack installed? I'm on pipewire and have no intention of "jacking" up my system trying to compile one program just to revert back to pipewire.

SpotlightKid commented 1 year ago

Tbh, I don't really know. I don't use pipewire's JACK part, only the pulseaudio replacement.

On Arch Linux, the package pipewire-jack installs Pipepwire's version of libjack.so in the usual place (/usr/lib), so I guess there compilation should work out-of-the-box, if that package is installed and it reports a version that is compatible with that of JACK1 or JACK2. I haven't tried, though. I'm also not sure, how Pipewire is packaged on Fedora and where it installs its version of libjack.so.

Skrappjaw commented 1 year ago

I found the pipewire-jack files in a different location. Tried to make a simlink in /usr/lib but it shows not a recent enough version of jack. But Fedora has version 1.9.19. Compiler only requires 1.9.11.

SpotlightKid commented 1 year ago

You can try removing the version requirement in the meson.build file:

https://github.com/jack-mixer/jack_mixer/blob/main/meson.build#L16

SpotlightKid commented 1 year ago

Does pipewire-jack on Fedora come with a pkgconf file (jack.pc) for JACK? If so, what does pkgconf --modversion jack report?

Skrappjaw commented 1 year ago

Noting. Did a search on pkgs.org through the all the jack/pipewire packages fedora ships. Found it. It's not shipped in the default packages, but it is in the devel packages. Add this note for Fedora users to the installation instructions. I'll also attempt to hit up the Fedora team to let them know jack_mixer is severely out of date/version parity. Thanks for the help. sudo dnf install pipewire-jack-audio-connection-kit-devel

SpotlightKid commented 1 year ago

Yes, on debian and redhat-based distros you always need to install the -dev packages for the libraries you want to compile/link with.

Thanks for your research.