Why freebsd qmmp has no support for mp3 ?

Whats the reason for qmmp not supporting mp3 by default? Other apps like vlc, mocp, etc all support mp3...

And whats the quicker way to get mp3 in qmmp? Build from ports ? the port seems to require an infinite amounts of ports to build qmmp :/
 
Wrong. I dont see any support for mp3 there... i installed qmmp-plugin-pack-qt6 -- cannot select any *.mp3 .. neither see any mp3 related in "settings" > "plugins". i am on 14.3
 
Whats the reason for qmmp not supporting mp3 by default?
The exact reason knows the port creator/maintainer (probably).

Current multimedia/qmmp-qt6 (just as -qt5), installed by pre-built package, or port, is build by default without mp3 support.
Code:
/usr/ports/multimedia/qmmp-qt6 #  make showconfig
...
====> Support various media formats
...
     MPG123=off: MP3 decoding support via mpg123

Check installed package build options with pkg-alias(8) : pkg options qmms-qt6


To get mp3 support, qmmp has to be build from port with the MPG123 configuration option enabled. Assuming a fresh fetched or updated ports tree is on system (make sure the ports tree is the same branch as the pkg repository branch, "quarterly" or "latest"):
Code:
# cd /usr/ports/multimedia/qmmp-qt6
# make config

(install build dependencies from packages)
# make install-missing-packages

# make deinstall
# make install clean

(remove build dependencies)
# pkg autoremove

(check list before proceeding with package deinstallation)

A future qmmp pkg-upgrade(8) will replace the custom configured version. In this case the application has to be build from port again.

You could also ask the port maintainer to include mp3 support to default options (open PR).
 
Code:
# make reinstall clean

===>  Deinstalling for qmmp-qt6

===>   qmmp-qt6 not installed, skipping

===>  Building for qmmp-qt6-2.2.6

[  0% 1/698] /usr/bin/c++ -DAPP_NAME_SUFFIX=\"\" -DLIB_DIR=\"/\" -DQMMP_INSTALL_PREFIX=\"/usr/local\" -DQMMP_LIBRARY -DQMMP_PLUGIN_DIR=\"/usr/local/lib/qmmp-2.2\" -DQMMP_WS_X11 -DQT_CORE_LIB -DQT_DEPRECATED_WAR

NINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x060200 -DQT_GUI_LIB -DQT_MESSAGELOGCONTEXT -DQT_NO_DEBUG -DQT_WIDGETS_LIB -Dlibqmmp_EXPORTS -I/usr/ports/multimedia/qmmp-qt6/work/.build/src/qmmp/libqmmp_autogen/include -

I/usr/ports/multimedia/qmmp-qt6/work/qmmp-2.2.6/src -I/usr/ports/multimedia/qmmp-qt6/work/.build/src/qmmp -isystem /usr/local/include/qt6/QtWidgets -isystem /usr/local/include/qt6 -isystem /usr/local/include/qt

6/QtCore -isystem /usr/local/lib/qt6/mkspecs/freebsd-clang -isystem /usr/local/include/qt6/QtGui -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include

-O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include  -DNDEBUG -std=gnu++17 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -fPIC

-pthread -MD -MT src/qmmp/CMakeFiles/libqmmp.dir/libqmmp_autogen/mocs_compilation.cpp.o -MF src/qmmp/CMakeFiles/libqmmp.dir/libqmmp_autogen/mocs_compilation.cpp.o.d -o src/qmmp/CMakeFiles/libqmmp.dir/libqmmp_au

togen/mocs_compilation.cpp.o -c /usr/ports/multimedia/qmmp-qt6/work/.build/src/qmmp/libqmmp_autogen/mocs_compilation.cpp

FAILED: src/qmmp/CMakeFiles/libqmmp.dir/libqmmp_autogen/mocs_compilation.cpp.o 

/usr/bin/c++ -DAPP_NAME_SUFFIX=\"\" -DLIB_DIR=\"/\" -DQMMP_INSTALL_PREFIX=\"/usr/local\" -DQMMP_LIBRARY -DQMMP_PLUGIN_DIR=\"/usr/local/lib/qmmp-2.2\" -DQMMP_WS_X11 -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_DI

SABLE_DEPRECATED_BEFORE=0x060200 -DQT_GUI_LIB -DQT_MESSAGELOGCONTEXT -DQT_NO_DEBUG -DQT_WIDGETS_LIB -Dlibqmmp_EXPORTS -I/usr/ports/multimedia/qmmp-qt6/work/.build/src/qmmp/libqmmp_autogen/include -I/usr/ports/m

ultimedia/qmmp-qt6/work/qmmp-2.2.6/src -I/usr/ports/multimedia/qmmp-qt6/work/.build/src/qmmp -isystem /usr/local/include/qt6/QtWidgets -isystem /usr/local/include/qt6 -isystem /usr/local/include/qt6/QtCore -isy

stem /usr/local/lib/qt6/mkspecs/freebsd-clang -isystem /usr/local/include/qt6/QtGui -O2 -pipe -fstack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include -O2 -pipe -fs

tack-protector-strong -isystem /usr/local/include -fno-strict-aliasing  -isystem /usr/local/include  -DNDEBUG -std=gnu++17 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -fPIC -pthread -MD

-MT src/qmmp/CMakeFiles/libqmmp.dir/libqmmp_autogen/mocs_compilation.cpp.o -MF src/qmmp/CMakeFiles/libqmmp.dir/libqmmp_autogen/mocs_compilation.cpp.o.d -o src/qmmp/CMakeFiles/libqmmp.dir/libqmmp_autogen/mocs_co

mpilation.cpp.o -c /usr/ports/multimedia/qmmp-qt6/work/.build/src/qmmp/libqmmp_autogen/mocs_compilation.cpp

In file included from /usr/ports/multimedia/qmmp-qt6/work/.build/src/qmmp/libqmmp_autogen/mocs_compilation.cpp:2:

In file included from /usr/ports/multimedia/qmmp-qt6/work/.build/src/qmmp/libqmmp_autogen/EWIEGA46WW/moc_abstractengine.cpp:9:

In file included from /usr/ports/multimedia/qmmp-qt6/work/.build/src/qmmp/libqmmp_autogen/EWIEGA46WW/../../../../../qmmp-2.2.6/src/qmmp/abstractengine.h:24:

In file included from /usr/local/include/qt6/QtCore/QMutex:1:

In file included from /usr/local/include/qt6/QtCore/qmutex.h:7:

In file included from /usr/local/include/qt6/QtCore/qglobal.h:49:

In file included from /usr/local/include/qt6/QtCore/qflags.h:10:

In file included from /usr/include/c++/v1/algorithm:1827:

In file included from /usr/include/c++/v1/__algorithm/copy.h:12:

/usr/include/c++/v1/__algorithm/copy_move_common.h:18:10: fatal error: '__string/constexpr_c_functions.h' file not found

   18 | #include <__string/constexpr_c_functions.h>

      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

1 error generated.

ninja: build stopped: subcommand failed.

*** Error code 1


Stop.

make[2]: stopped in /usr/ports/multimedia/qmmp-qt6

*** Error code 1


Stop.

make[1]: stopped in /usr/ports/multimedia/qmmp-qt6

*** Error code 1


Stop.

make: stopped in /usr/ports/multimedia/qmmp-qt6

#
 
Yeah, yet another case for ports, as opposed to packages. I just compile everything from ground up, that allows me to select all the available sound-related stuff. As a result, I don't have to worry if something has no support for mp3 or ogg or whatever. With packages, you're at the mercy of whoever sets the defaults, and have to do research on what it takes to fix specific shortcomings of those defaults. With ports, it may take some time up front to compile, but then it saves time down the road, you don't have to chase down a weird error.
 
Back
Top