Compare commits

27 Commits

Author SHA1 Message Date
iAmInAction
7415d4ed63 Update build.yml 2024-09-26 11:40:53 +00:00
iAmInAction
b1e6cd5018 Update .github/workflows/build.yml
Co-authored-by: Margen67 <Margen67@users.noreply.github.com>
2024-09-26 11:37:46 +00:00
iAmInAction
ad8359461c Update .github/workflows/build.yml
Co-authored-by: Margen67 <Margen67@users.noreply.github.com>
2024-09-26 11:37:39 +00:00
iAmInAction
28686908b3 Fix build script dependencies 2024-09-25 15:00:05 +00:00
iAmInAction
747fb82fb4 Fix bug in automated build. 2024-09-25 14:57:42 +00:00
iAmInAction
00e0b54644 Add community branch trigger for automated builds 2024-09-25 14:56:42 +00:00
iAmInAction
c0011162fd Add automated builds using Actions
Compiles automatically using github actions.
2024-09-25 14:54:33 +00:00
Mueller Minki
f456e3776d Rework source to move UI to QT6 and comply with GitHub ToS 2024-09-25 07:18:37 +00:00
Jef
60c92a1a72 Remove disabled code (from 2012) thanks to @KingDuckZ 2024-09-24 22:00:39 +02:00
Jean-Francois Mauguit
a6172211aa Merge pull request #26 from trel/toomanydots
too many dots
2024-09-24 21:54:38 +02:00
Jef
72238c28ad Merge remote-tracking branch 'origin/community' into community 2024-09-24 21:52:34 +02:00
Jef
0003d3d743 Remove potential unlicensed code 2024-09-24 21:52:26 +02:00
Terrell Russell
d4764400d6 too many dots 2024-09-24 15:49:10 -04:00
Jean-Francois Mauguit
60506addba Merge pull request #23 from EdwardBetts/patch-1
Correct a spelling mistake
2024-09-24 21:24:55 +02:00
Jef
c0ffc1d59e Remove expired certs 2024-09-24 21:10:35 +02:00
Edward Betts
ec221b7bce Correct a spelling mistake 2024-09-24 20:08:55 +01:00
Jef
0ee0230131 Removed from repo 2024-09-24 20:13:47 +02:00
Jean-Francois Mauguit
3f856d2842 Merge pull request #13 from tophyr/llamas-ass
Update README.md
2024-09-24 19:15:50 +02:00
Jean-Francois Mauguit
0fe42a1469 Merge branch 'main' into community 2024-09-24 19:14:37 +02:00
Chris Sarbora
67c68e6dc2 Update README.md
How this wasn't in the original commit is, honestly, beyond imagination.
2024-09-24 12:11:56 -05:00
Jean-Francois Mauguit
28365110c9 Merge pull request #8 from tteskac/patch-1
Fix typos
2024-09-24 18:45:37 +02:00
Tomislav Teskac
1ca3a4e817 Fix typos 2024-09-24 17:53:17 +02:00
Jean-Francois Mauguit
bb70d7069a Merge pull request #7 from EdwardBetts/patch-1
Correct a spelling mistake
2024-09-24 17:19:29 +02:00
Edward Betts
07b8d8247d Correct a spelling mistake 2024-09-24 16:12:12 +01:00
Jean-Francois Mauguit
a3860485f5 Merge pull request #5 from WinampDesktop/community
Merge to main
2024-09-24 15:03:25 +02:00
Jef
f2d940131e Initial community commit 2024-09-24 14:54:57 +02:00
Jean-Francois Mauguit
4bde6044fd Merge pull request #4 from WinampDesktop/community
Updating readme
2024-09-23 11:46:44 +02:00
3637 changed files with 496905 additions and 214 deletions

90
.github/workflows/build.yml vendored Normal file
View File

@@ -0,0 +1,90 @@
name: Build and Package Qmmp
on:
push:
branches:
- main
- community
pull_request:
branches:
- main
- community
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Qt
uses: jurplel/install-qt-action@v3
with:
version: '6.2.0' # Ensures Qt >= 6.2 is installed
host: linux
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
build-essential \
cmake \
libmad0-dev \
libvorbis-dev \
libogg-dev \
libasound2-dev \
libtag1-dev \
curl \
libmpg123-dev \
libflac-dev \
libjack-jackd2-dev \
libsoxr-dev \
libxmp-dev \
libsndfile1-dev \
libwavpack-dev \
libpulse-dev \
pipewire \
ffmpeg \
libcdio-dev \
libcddb2-dev \
libfaad-dev \
libopus-dev \
libopusfile-dev \
libwildmidi-dev \
libsidplayfp-dev \
libbs2b-dev \
libprojectm-dev \
libenca-dev \
libarchive-dev \
libshout3-dev \
mplayer \
libx11-dev \
libxcb1-dev \
x11proto-* \
librcd-dev \
unzip \
bzip2 \
gzip \
tar
- name: Configure project with CMake
run: cmake ./ -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/install
- name: Build project
run: make -j$(nproc)
- name: Install project
run: make install
- name: Package installation files
run: |
cd ${{ github.workspace }}/install
tar -czf ../build.tar.gz .
- name: Upload build artifact
uses: actions/upload-artifact@v4
with:
name: build.tar.gz
path: build.tar.gz
if-no-files-found: error

90
.gitignore vendored
View File

@@ -1,90 +0,0 @@
ObjectCode/
**/ObjectCode/
bin/
gen/
obj/
.settings/
notes
*.orig
*.bak
**/*.user
**/*.suo
**/*.ncb
**/*.aps
**/Release/
**/Debug/
**/Release IPP/
burnlib/lib/
Elevator/ReleasePS/
flac/obj/
freetype/objs/
in_mod/lib/temp/
in_mod/mikamp/Release/
in_vorbis/Win32/
libmp4v2/libmp4v2___Win32_Release/
libogg/win32/Release/
libogg/win32/Static_Release/
libsndfile/Profiling/
libtheora/win32/VS2008/libtheora/Win32/
libvorbis/win32/Win32/
nde/Lib/
out_ds/wa2_release/
out_wave/out_wave_release
winampAll/lib/
winampAll/Win32/
.DS_Store
nsutil/nsutil.lib
nsutil/nsutil.exp
resources/WaSDP/*.exe
in_mod/lib/
mp3/utillib/lib/
mp3/mathlib/lib/
*.user
[Rr]elease/
/Elevator/DebugPS
/Elevator/IFileTypeRegistrar.h
/Elevator/IFileTypeRegistrar_i.c
/Elevator/IFileTypeRegistrar_p.c
/f263/Release.w5s
/f263/Debug.w5s
/libmp4v2/libmp4v2___Win32_Debug_Winamp
/libogg/win32/Static_Debug
Release_x86_Dll/
**/*/x86*Debug*/
**/*/x64*Debug*/
**/*/x86*Release*/
**/*/x64*Release*/
**/.vs/
**/out/
external_dependencies/libFLAC/src/libFLAC/ia32/cpu_asm.obj
external_dependencies/libFLAC/src/libFLAC/ia32/fixed_asm.obj
external_dependencies/libFLAC/src/libFLAC/ia32/lpc_asm.obj
/Elevator/IFileTypeRegistrar_32.h
external_dependencies/vcpkg/
/vcpkg_installed
/external_dependencies/x86-windows-static
*.stamp
/Build/Winamp_x86_Debug
/Build/Winamp_x86_Release
/Src/external_dependencies/vcpkg
/Src/Elevator/IFileTypeRegistrar_32.h
/Src/Elevator/IFileTypeRegistrar_64.h
/Src/Elevator/IFileTypeRegistrar_i.c
/Src/Elevator/IFileTypeRegistrar_p.c
/Src/Elevator/IFileTypeRegistrar_32.h
/Src/Elevator/IFileTypeRegistrar_i.c
/Src/Elevator/IFileTypeRegistrar_p.c
/Src/Plugins/DSP/sc_serv3/messagefile.rc
/UpgradeLog.htm
/Qt/Qt6.3.1/windows
/vcpkg
/Src/Plugins/Library/ml_fanzone.0
/Build/platforms
/Qt/DLL_5.12_x86/Debug_Commercial
/Qt/DLL_5.12_x86/Release_Commercial
/Src/Plugins/Library/ml_fanzone - Copy
/Src/external_dependencies/CEF
/Src/external_dependencies/CEF.0
/Src/external_dependencies/CEF3

483
.tx/config Normal file
View File

@@ -0,0 +1,483 @@
[main]
host = https://www.transifex.com
[o:qmmp-development-team:p:qmmp-stable:r:libqmmpui]
file_filter = src/qmmpui/translations/libqmmpui_<lang>.ts
source_lang = en
source_file = src/qmmpui/translations/libqmmpui_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:qmmp]
file_filter = src/app/translations/qmmp_<lang>.ts
source_lang = en
source_file = src/app/translations/qmmp_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:hotkey]
file_filter = src/plugins/General/hotkey/translations/hotkey_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/hotkey/translations/hotkey_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:notifier]
file_filter = src/plugins/General/notifier/translations/notifier_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/notifier/translations/notifier_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:converter]
file_filter = src/plugins/General/converter/translations/converter_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/converter/translations/converter_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:library]
file_filter = src/plugins/General/library/translations/library_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/library/translations/library_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:mpris]
file_filter = src/plugins/General/mpris/translations/mpris_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/mpris/translations/mpris_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:covermanager]
file_filter = src/plugins/General/covermanager/translations/covermanager_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/covermanager/translations/covermanager_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:history]
file_filter = src/plugins/General/history/translations/history_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/history/translations/history_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:taskbar]
file_filter = src/plugins/General/taskbar/translations/taskbar_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/taskbar/translations/taskbar_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:copypaste]
file_filter = src/plugins/General/copypaste/translations/copypaste_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/copypaste/translations/copypaste_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:kdenotify]
file_filter = src/plugins/General/kdenotify/translations/kdenotify_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/kdenotify/translations/kdenotify_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:fileops]
file_filter = src/plugins/General/fileops/translations/fileops_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/fileops/translations/fileops_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:scrobbler]
file_filter = src/plugins/General/scrobbler/translations/scrobbler_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/scrobbler/translations/scrobbler_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:rdetect]
file_filter = src/plugins/General/rdetect/translations/rdetect_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/rdetect/translations/rdetect_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:rgscan]
file_filter = src/plugins/General/rgscan/translations/rgscan_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/rgscan/translations/rgscan_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:gnomehotkey]
file_filter = src/plugins/General/gnomehotkey/translations/gnomehotkey_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/gnomehotkey/translations/gnomehotkey_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:trackchange]
file_filter = src/plugins/General/trackchange/translations/trackchange_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/trackchange/translations/trackchange_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:lyrics]
file_filter = src/plugins/General/lyrics/translations/lyrics_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/lyrics/translations/lyrics_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:streambrowser]
file_filter = src/plugins/General/streambrowser/translations/streambrowser_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/streambrowser/translations/streambrowser_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:udisks]
file_filter = src/plugins/General/udisks/translations/udisks_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/udisks/translations/udisks_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:sleepinhibitor]
file_filter = src/plugins/General/sleepinhibitor/translations/sleepinhibitor_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/sleepinhibitor/translations/sleepinhibitor_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:listenbrainz]
file_filter = src/plugins/General/listenbrainz/translations/listenbrainz_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/listenbrainz/translations/listenbrainz_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:statusicon]
file_filter = src/plugins/General/statusicon/translations/statusicon_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/General/statusicon/translations/statusicon_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:incdecvolume]
file_filter = src/plugins/CommandLineOptions/IncDecVolumeOption/translations/incdecvolume_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/CommandLineOptions/IncDecVolumeOption/translations/incdecvolume_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:status]
file_filter = src/plugins/CommandLineOptions/StatusOption/translations/status_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/CommandLineOptions/StatusOption/translations/status_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:seek]
file_filter = src/plugins/CommandLineOptions/SeekOption/translations/seek_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/CommandLineOptions/SeekOption/translations/seek_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:playlist]
file_filter = src/plugins/CommandLineOptions/PlayListOption/translations/playlist_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/CommandLineOptions/PlayListOption/translations/playlist_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:qmmp_file_dialog]
file_filter = src/plugins/FileDialogs/QmmpFileDialog/translations/qmmp_file_dialog_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/FileDialogs/QmmpFileDialog/translations/qmmp_file_dialog_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:two_panel_file_dialog]
file_filter = src/plugins/FileDialogs/TwoPanelFileDialog/translations/two_panel_file_dialog_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/FileDialogs/TwoPanelFileDialog/translations/two_panel_file_dialog_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:skinned]
file_filter = src/plugins/Ui/skinned/translations/skinned_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Ui/skinned/translations/skinned_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:qsui]
file_filter = src/plugins/Ui/qsui/translations/qsui_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Ui/qsui/translations/qsui_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:mms]
file_filter = src/plugins/Transports/mms/translations/mms_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Transports/mms/translations/mms_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:http]
file_filter = src/plugins/Transports/http/translations/http_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Transports/http/translations/http_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:projectm]
file_filter = src/plugins/Visual/projectm/translations/projectm_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Visual/projectm/translations/projectm_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:analyzer]
file_filter = src/plugins/Visual/analyzer/translations/analyzer_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Visual/analyzer/translations/analyzer_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:null]
file_filter = src/plugins/Output/null/translations/null_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Output/null/translations/null_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:shout]
file_filter = src/plugins/Output/shout/translations/shout_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Output/shout/translations/shout_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:oss4]
file_filter = src/plugins/Output/oss4/translations/oss4_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Output/oss4/translations/oss4_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:pipewire]
file_filter = src/plugins/Output/pipewire/translations/pipewire_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Output/pipewire/translations/pipewire_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:directsound]
file_filter = src/plugins/Output/directsound/translations/directsound_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Output/directsound/translations/directsound_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:oss]
file_filter = src/plugins/Output/oss/translations/oss_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Output/oss/translations/oss_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:alsa]
file_filter = src/plugins/Output/alsa/translations/alsa_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Output/alsa/translations/alsa_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:pulseaudio]
file_filter = src/plugins/Output/pulseaudio/translations/pulseaudio_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Output/pulseaudio/translations/pulseaudio_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:qtmultimedia]
file_filter = src/plugins/Output/qtmultimedia/translations/qtmultimedia_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Output/qtmultimedia/translations/qtmultimedia_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:jack]
file_filter = src/plugins/Output/jack/translations/jack_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Output/jack/translations/jack_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:wasapi]
file_filter = src/plugins/Output/wasapi/translations/wasapi_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Output/wasapi/translations/wasapi_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:waveout]
file_filter = src/plugins/Output/waveout/translations/waveout_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Output/waveout/translations/waveout_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:filewriter]
file_filter = src/plugins/Effect/filewriter/translations/filewriter_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Effect/filewriter/translations/filewriter_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:monotostereo]
file_filter = src/plugins/Effect/monotostereo/translations/monotostereo_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Effect/monotostereo/translations/monotostereo_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:crossfade]
file_filter = src/plugins/Effect/crossfade/translations/crossfade_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Effect/crossfade/translations/crossfade_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:bs2b]
file_filter = src/plugins/Effect/bs2b/translations/bs2b_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Effect/bs2b/translations/bs2b_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:soxr]
file_filter = src/plugins/Effect/soxr/translations/soxr_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Effect/soxr/translations/soxr_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:stereo]
file_filter = src/plugins/Effect/stereo/translations/stereo_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Effect/stereo/translations/stereo_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:ladspa]
file_filter = src/plugins/Effect/ladspa/translations/ladspa_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Effect/ladspa/translations/ladspa_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:xmp]
file_filter = src/plugins/Input/xmp/translations/xmp_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Input/xmp/translations/xmp_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:archive]
file_filter = src/plugins/Input/archive/translations/archive_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Input/archive/translations/archive_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:vorbis]
file_filter = src/plugins/Input/vorbis/translations/vorbis_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Input/vorbis/translations/vorbis_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:gme]
file_filter = src/plugins/Input/gme/translations/gme_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Input/gme/translations/gme_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:sid]
file_filter = src/plugins/Input/sid/translations/sid_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Input/sid/translations/sid_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:wavpack]
file_filter = src/plugins/Input/wavpack/translations/wavpack_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Input/wavpack/translations/wavpack_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:sndfile]
file_filter = src/plugins/Input/sndfile/translations/sndfile_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Input/sndfile/translations/sndfile_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:opus]
file_filter = src/plugins/Input/opus/translations/opus_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Input/opus/translations/opus_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:mpc]
file_filter = src/plugins/Input/mpc/translations/mpc_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Input/mpc/translations/mpc_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:flac]
file_filter = src/plugins/Input/flac/translations/flac_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Input/flac/translations/flac_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:wildmidi]
file_filter = src/plugins/Input/wildmidi/translations/wildmidi_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Input/wildmidi/translations/wildmidi_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:cue]
file_filter = src/plugins/Input/cue/translations/cue_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Input/cue/translations/cue_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:ffmpeg]
file_filter = src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Input/ffmpeg/translations/ffmpeg_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:aac]
file_filter = src/plugins/Input/aac/translations/aac_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Input/aac/translations/aac_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:mpeg]
file_filter = src/plugins/Input/mpeg/translations/mpeg_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Input/mpeg/translations/mpeg_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:cdaudio]
file_filter = src/plugins/Input/cdaudio/translations/cdaudio_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Input/cdaudio/translations/cdaudio_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:mplayer]
file_filter = src/plugins/Engines/mplayer/translations/mplayer_plugin_<lang>.ts
source_lang = en
source_file = src/plugins/Engines/mplayer/translations/mplayer_plugin_en.ts
type = QT
[o:qmmp-development-team:p:qmmp-stable:r:description]
file_filter = src/qmmpui/txt/description_<lang>.txt
source_lang = en
source_file = src/qmmpui/txt/description.txt
type = TXT
[o:qmmp-development-team:p:qmmp-stable:r:authors]
file_filter = src/qmmpui/txt/authors_<lang>.txt
source_lang = en
source_file = src/qmmpui/txt/authors.txt
type = TXT
[o:qmmp-development-team:p:qmmp-stable:r:translators]
file_filter = src/qmmpui/txt/translators_<lang>.txt
source_lang = en
source_file = src/qmmpui/txt/translators.txt
type = TXT
[o:qmmp-development-team:p:qmmp-stable:r:thanks]
file_filter = src/qmmpui/txt/thanks_<lang>.txt
source_lang = en
source_file = src/qmmpui/txt/thanks.txt
type = TXT
[o:qmmp-development-team:p:qmmp-stable:r:qmmp-desktop]
file_filter = src/app/desktop-translations/qmmp_<lang>.desktop.in
source_lang = en
source_file = src/app/qmmp.desktop
type = DESKTOP
[o:qmmp-development-team:p:qmmp-stable:r:qmmp-dir-desktop]
file_filter = src/app/desktop-translations/qmmp-dir_<lang>.desktop.in
source_lang = en
source_file = src/app/qmmp-dir.desktop
type = DESKTOP
[o:qmmp-development-team:p:qmmp-stable:r:qmmp-enqueue-desktop]
file_filter = src/app/desktop-translations/qmmp-enqueue_<lang>.desktop.in
source_lang = en
source_file = src/app/qmmp-enqueue.desktop
type = DESKTOP
[o:qmmp-development-team:p:qmmp-stable:r:qmmp-opencda-desktop]
file_filter = src/app/desktop-translations/qmmp-opencda_<lang>.desktop.in
source_lang = en
source_file = src/app/qmmp-opencda.desktop
type = DESKTOP

246
AUTHORS Normal file
View File

@@ -0,0 +1,246 @@
Core Developers:
Ilya Kotov <forkotov02@ya.ru>, <trialuser02@gmail.com>,
<iokotov@astralinux.ru> - idea and base code
Former Developers:
Artur Guzik <aguzik88@gmail.com> - kde4 notification plugin, tray icon improvements
Vladimir Kuznetsov <vovanec@gmail.com> - look&feel and many improvements
Yuriy Zhuravlev <stalkerg@gmail.com> - JACK and OSS plugins
Artwork:
Andrey Adreev <andreev00@gmail.com> - icons and default skin (for versions 0.2-0.8)
sixsixfive - default skin: https://github.com/sixsixfive/Glare
Translators:
Brazilian Portuguese:
Bruno Gonçalves
Klaos Lacerda
Heitor Thury Barreiros Barbosa <hthury@gmail.com>
Vitor Pereira
Bulgarian:
Kiril Kirilov
Miroslav Mihov
Chinese Traditional:
Cosmos Chen
lon <lon83129@126.com>
Jeff Huang
Chinese Simplified:
lon <lon83129@126.com>
mabier
Mingcong Bai
Mingye Wang
Czech:
Jaroslav Lichtblau
Karel Volný <kvolny@redhat.com>
Dutch:
Heimen Stoffels
Ronald Uitermark <ronald645@gmail.com>
Finnish:
Jiri Grönroos
Kimmo Kujansuu
French:
Adrien Vigneron - VRad <adrienvigneron@ml1.net>
Sébastien Aperghis-Tramoni (maddingue)
Stanislas Zeller <uncensored.assault@gmail.com>
Galician:
Delio Docampo Cordeiro
Óscar Pereira <oscarpereira1989@gmail.com>
German:
Ettore Atalan
Stefan Koelling <stefankoelling.ext@googlemail.com>
Panagiotis Papadopoulos <pano_90@gmx.net>
Greek:
Dimitrios Glentadakis
Hebrew:
Genghis Khan <genghiskhan@gmx.ca>
Hungarian:
Németh Gábor <sutee84@freemail.hu>
Indonesian:
Andika Triwidada
Wantoyo <wantoyek@gmail.com>
Italian:
Gian Paolo Renello <emmerkar@gmail.com>
Luigi Toscano
Japanese:
Ryota Shimamoto <liangtai.s16@gmail.com>
Kazakh:
Baurzhan Muftakhidinov <baurthefirst@gmail.com>
Korean:
Jung Hee Lee <daemul72@gmail.com>
Lithuanian:
Algirdas Butkus <butkus.algirdas@gmail.com>
Polish:
Marek Adamski
Daniel Krawczyk
Grzegorz Gibas <amigib@gmail.com>
Portuguese:
Sérgio Marques <smarquespt@gmail.com>
Russian:
Alexey Loginov <loginov.alex.valer.gmail.com>
Ilya Kotov <forkotov02@ya.ru>
Andrei Stepanov
Viktor Eruhin
Serbian:
Mladen Pejaković <pejakm@autistici.org>
Slovak:
Ján Ďanovský <dagsoftware@yahoo.com>
Spanish:
Bohdan Shuba
Félix Medrano <xukosky@yahoo.es>
Joel Barrios <darkshram@gmail.com>
Swedish:
Luna Jernberg <droidbittin@gmail.com>
Turkish:
Mustafa GUNAY <mustafagunay@pgmail.com>
Bilgesu Güngör <h.ibrahim.gungor@gmail.com>
Uğur KUYU
Ukrainian:
Gennadi Motsyo <drool@altlinux.ru>
Thanks to:
Adria Arrufat <swiftscythe@gmail.com> - bug reports
Adrian Knoth <adi@drcomp.erfurt.thur.de> - JACK plugin fixes, bug reports
Anton Petrusevich <casus@casus.us> - random playback improvements
Avihay Baratz <avihayb@gmail.com> - auto stop feature, bug fixes
Brice Videau <brice.videau@gmail.com> - bug fixes
Cristian Rodríguez <judas.iscariote@gmail.com> - scrobbler fixes
Csaba Hruska <csaba.hruska@gmail.com> - FFmpeg plugin fixes
Dmitry Kostin <kostindima@gmail.com> - iso.wv support
Dmitry Misharov <Dmitry.Misharov@gmail.com> - album artist tag support
Evgeny Gleyzerman <evgley@gmail.com> - cue parsing improvements
Ferdinand Vesely <erdofves@gmail.com> - scrobbler improvements
Gennadi Motsyo <drool@altlinux.ru> - bug reports
Hon Jen Yee (PCMan) <pcman.tw@gmail.com> - optimization
Vadim Kalinnikov <moose@ylsoftware.com> - project hosting
Erik Ölsar <erlk.ozlr@gmail.com> - skinned cursors, ui improvements
Funda Wang <fundawang@gmail.com> - cmake files fixes
Ivan Ponomarev ivantrue@gmail.com - QtMultimedia output, MacOS X port
Karel Volný <kvolny@redhat.com> - various fixes
Makis Kalofolias <makskafl@gmail.com> - EAC3, DTS, and Dolby TrueHD support
Michail Zheludkov <zheludkovm@mail.ru> - FFmpeg plugin fixes
Michał Grosicki <grosik88@o2.pl> - ALSA plugin fixes
Panagiotis Papadopoulos <pano_90@gmx.net> - ui fixes, bug reports
Pino Toscano <toscano.pino@tiscali.it> - portability patches
Ryota Shimamoto <liangtai.s16@gmail.com> - FreeBSD patches
Sebastian Pipping <webmaster@hartwork.org> - bs2b patches
Stefan Koelling <stefankoelling.ext@googlemail.com> - some build fixes
Thomas Perl - gui improvements
Ville Skyttä - ModPlug plugin improvements
Yaakov Selkowitz <yselkowitz@gmail.com> - cygwin patches
Based on:
madplay - MPEG audio decoder and player (c) 2000-2004
Robert Leslie <rob@mars.org>
Mq3 - simple mp3 player using Qt (c) 2000
Brad Hughes <bhughes@trolltech.com>
Promoe - XMMS2 Client (c) 2005-2006
Tobias Bengtsson <tobbe@tobbe.nu>
Chris Gilbert <neovanglist@neovanglist.net>
Jonne Lehtinen <jonne.lehtinen@tut.fi>
Tobias Rundström <tru@xmms.org>
Daniel Svensson <daniel@nittionio.nu>
EQ - A graphical equalizer plugin for XMMS (C) 2002-2006
Felipe Rivera <liebremx at users.sourceforge.net>
Iterative implementation of a FFT (C) 1999
Richard Boulton <richard@tartarus.org>
MOC - console audio player for Linux/UNIX (C) 2005
Damian Pietras <daper@daper.net>
libxmms-flac - XMMS FLAC input plugin (C) 2004-2007
Josh Coalson
Solid - KDE hardware library (C) 2006
Kevin Ottens <ervin@kde.org>
Davide Bettio <davide.bettio@kdemail.net>
Will Stephenosn <wstephenson@kde.org>
Michaël Larouche <michael.larouche@kdemail.net>
Jeff Mitchell <kde-dev@emailgoeshere.com>
Psi - instant messaging application (C) 2003-2007
Justin Karneges <justin@affinix.com>
Kevin Smith <kismith@psi-im.org>
Remko Tronçon URL:http://el-tramo.be
Michail Pishchagin <mblsha@psi-im.org>
Maciej Niedzielski <machekku@psi-im.org>
Martin Hostettler <martin@psi-im.org>
aacDECdrop - windows decoder/player with drag'n'drop functionality (C) 2002
John Edwards
BMP-ladspa - LADSPA Host for BMP (c) 2002-2003
Nick Lamb <njl195@zepler.org.uk>
Giacomo Lozito <city_hunter@users.sf.net>
Licq - an instant messaging client for UNIX (C) 2006-2009
Licq developers
ReplayGainAnalysis (from MP3Gain) - analyzes input samples and give the recommended dB change (C) 2001-2009
David Robinson <David@Robinson.org>
Glen Sawyer <mp3gain@hotmail.com>
Frank Klemm
SMPlayer - GUI front-end for mplayer
Ricardo Villalba <rvm@users.sourceforge.net>
Ultimate Lyrics - lyrics plugin for Amarok 2.x series (C) 2009-2010
Vladimir Brkic <vladimir_brkic@yahoo.com>
QtWinExtras module of the Qt Toolkit (C) 2016
Ivan Vizir <define-true-false@yandex.com>
The Qt Company Ltd.

261
CMakeLists.txt Normal file
View File

@@ -0,0 +1,261 @@
cmake_minimum_required(VERSION 3.18.0 FATAL_ERROR)
project(qmmp)
#freebsd support
include_directories(SYSTEM /usr/local/include)
SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} /usr/local/include)
#macports support
IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
SET(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} /opt/local/include)
ENDIF()
IF(POLICY CMP0071)
cmake_policy(SET CMP0071 NEW)
ENDIF()
IF(POLICY CMP0063)
cmake_policy(SET CMP0063 NEW)
ENDIF()
#Qt6 modules
SET(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} /home/user/qt6)
#installation paths
INCLUDE(GNUInstallDirs)
INCLUDE(FindPkgConfig)
#extract version from qmmp.h
FILE(STRINGS "${CMAKE_CURRENT_SOURCE_DIR}/src/qmmp/qmmp.h"
QMMP_VERSION_DATA REGEX "^#define[ \t]+QMMP_VERSION_[A-Z]+[ \t]+[0-9]+.*$")
IF(QMMP_VERSION_DATA)
FOREACH(item IN ITEMS MAJOR MINOR PATCH STABLE)
STRING(REGEX REPLACE ".*#define[ \t]+QMMP_VERSION_${item}[ \t]+([0-9]+).*"
"\\1" QMMP_VERSION_${item} ${QMMP_VERSION_DATA})
ENDFOREACH(item IN ITEMS MAJOR MINOR PATCH)
SET(QMMP_VERSION "${QMMP_VERSION_MAJOR}.${QMMP_VERSION_MINOR}.${QMMP_VERSION_PATCH}")
SET(QMMP_SOVERSION "${QMMP_VERSION_MAJOR}")
IF(QMMP_VERSION_STABLE)
MESSAGE(STATUS "Qmmp API version: ${QMMP_VERSION} (stable)")
ELSE(QMMP_VERSION_STABLE)
MESSAGE(STATUS "Qmmp API version: ${QMMP_VERSION} (development)")
ENDIF(QMMP_VERSION_STABLE)
ELSE(QMMP_VERSION_DATA)
MESSAGE(FATAL_ERROR "invalid header")
ENDIF(QMMP_VERSION_DATA)
CONFIGURE_FILE(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY)
ADD_CUSTOM_TARGET(uninstall
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_C_VISIBILITY_PRESET hidden)
set(CMAKE_CXX_VISIBILITY_PRESET hidden)
set(CMAKE_VISIBILITY_INLINES_HIDDEN 1)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
ADD_DEFINITIONS(-DQT_DISABLE_DEPRECATED_BEFORE=0x060200 -DQT_DEPRECATED_WARNINGS -DQT_WARN_DEPRECATED_UP_TO=0x060300)
ADD_COMPILE_OPTIONS(-Wall -Wextra)
find_package(Qt6 6.2 CONFIG REQUIRED COMPONENTS Widgets LinguistTools Network)
find_package(Qt6 6.2 CONFIG OPTIONAL_COMPONENTS DBus OpenGLWidgets Sql Multimedia)
get_target_property(QT_LRELEASE_EXECUTABLE Qt6::lrelease IMPORTED_LOCATION)
IF(QT_LRELEASE_EXECUTABLE)
MESSAGE(STATUS "Found lrelease executable: " ${QT_LRELEASE_EXECUTABLE})
ELSE(QT_LRELEASE_EXECUTABLE)
MESSAGE(FATAL_ERROR "Could NOT find lrelease executable")
ENDIF(QT_LRELEASE_EXECUTABLE)
MESSAGE(STATUS "Generating translations ...")
IF(SVN_VERSION)
execute_process(COMMAND find ${CMAKE_CURRENT_SOURCE_DIR} -name *.ts COMMAND xargs ${QT_LRELEASE_EXECUTABLE} -silent -nounfinished)
ELSE(SVN_VERSION)
execute_process(COMMAND find ${CMAKE_CURRENT_SOURCE_DIR} -name *.ts COMMAND xargs ${QT_LRELEASE_EXECUTABLE} -silent)
ENDIF(SVN_VERSION)
SET(PLUGIN_DIR "${CMAKE_INSTALL_LIBDIR}/qmmp-${QMMP_VERSION_MAJOR}.${QMMP_VERSION_MINOR}" CACHE STRING "plugin path")
SET(USE_SKINNED TRUE CACHE BOOL "enable/disable standard skinned user interface")
SET(USE_DIR_ASSOC TRUE CACHE BOOL "enable/disable inode/directory mime type association")
#SET(APP_NAME_SUFFIX "-1")
get_target_property(QtGui_enabled_features Qt6::Gui QT_ENABLED_PUBLIC_FEATURES)
IF("xcb" IN_LIST QtGui_enabled_features)
pkg_search_module(X11 x11)
SET(XCB_ENABLED YES)
ADD_DEFINITIONS(-DQMMP_WS_X11)
ENDIF()
IF(X11_FOUND OR NOT XCB_ENABLED)
SET(SKINNED_AVAILABLE YES)
ENDIF()
add_subdirectory(src/qmmp)
add_subdirectory(src/qmmpui)
add_subdirectory(src/plugins)
add_subdirectory(src/app)
add_subdirectory(doc)
IF(MAD_FOUND)
SET(MPEG_DECODERS "MAD")
ENDIF(MAD_FOUND)
IF(MPG123_FOUND)
SET(MPEG_DECODERS ${MPEG_DECODERS} "mpg123")
ENDIF(MPG123_FOUND)
MACRO(PRINT_SUMMARY str USE FOUND)
IF(${USE} AND ${FOUND})
MESSAGE("${str}enabled")
ELSE(${USE} AND ${FOUND})
MESSAGE("${str}disabled")
ENDIF(${USE} AND ${FOUND})
ENDMACRO(PRINT_SUMMARY)
IF (UNIX)
ADD_CUSTOM_TARGET (distclean @echo cleaning for source distribution)
ADD_CUSTOM_COMMAND(
COMMENT "distribution clean"
COMMAND make
ARGS -C ${CMAKE_CURRENT_BINARY_DIR} clean
COMMAND find
ARGS ${CMAKE_CURRENT_BINARY_DIR} -name "CMakeCache.txt" | xargs rm -rf
COMMAND find
ARGS ${CMAKE_CURRENT_BINARY_DIR} -name "CMakeFiles" | xargs rm -rf
COMMAND find
ARGS ${CMAKE_CURRENT_BINARY_DIR} -name "Makefile" | xargs rm -rf
COMMAND find
ARGS ${CMAKE_CURRENT_BINARY_DIR} -name \"*.cmake\" | xargs rm -rf
COMMAND find
ARGS ${CMAKE_CURRENT_SOURCE_DIR} -name "*.qm" | xargs rm -rf
COMMAND find
ARGS ${CMAKE_CURRENT_BINARY_DIR} -name "*.pc" | xargs rm -rf
COMMAND find
ARGS ${CMAKE_CURRENT_BINARY_DIR} -name "*.depends" | xargs rm -rf
COMMAND find
ARGS ${CMAKE_CURRENT_BINARY_DIR} -name "*.cxx_parameters" | xargs rm -rf
COMMAND find
ARGS ${CMAKE_CURRENT_BINARY_DIR} -name "moc_*.cpp" | xargs rm -rf
COMMAND find
ARGS ${CMAKE_CURRENT_BINARY_DIR} -name "qrc_*.cxx" | xargs rm -rf
COMMAND find
ARGS ${CMAKE_CURRENT_BINARY_DIR} -name "*_automoc.cpp" | xargs rm -rf
COMMAND rm
ARGS -rf ${CMAKE_CURRENT_BINARY_DIR}/install_manifest.txt
COMMAND find
ARGS ${CMAKE_CURRENT_BINARY_DIR} -name *_automoc.dir | xargs rm -rf
COMMAND rm
ARGS -rf ${CMAKE_CURRENT_BINARY_DIR}/doc/html .qt config.tests
TARGET distclean
)
ENDIF(UNIX)
MESSAGE("")
MESSAGE("Transports:")
PRINT_SUMMARY ("HTTP support .........................." USE_CURL CURL_FOUND)
PRINT_SUMMARY ("MMS support ..........................." USE_MMS MMS_FOUND)
MESSAGE("")
MESSAGE("Input Plugins:")
PRINT_SUMMARY ("MPEG support .........................." 1 MAD_FOUND OR MPG123_FOUND)
PRINT_SUMMARY ("FLAC support .........................." USE_FLAC FLAC_FOUND)
PRINT_SUMMARY ("Ogg Vorbis support ...................." USE_VORBIS VORBIS_FOUND)
PRINT_SUMMARY ("Musepack support ......................" USE_MPC MPC_FOUND)
PRINT_SUMMARY ("MOD support ..........................." USE_XMP XMP_FOUND)
PRINT_SUMMARY ("Wave support .........................." USE_SNDFILE SNDFILE_FOUND)
PRINT_SUMMARY ("WavPack support ......................." USE_WAVPACK WAVPACK_FOUND)
PRINT_SUMMARY ("FFmpeg support ........................" USE_FFMPEG FFMPEG_FOUND)
PRINT_SUMMARY ("AAC support ..........................." USE_AAC FAAD_FOUND)
PRINT_SUMMARY ("CUE sheet support ....................." USE_CUE 1)
PRINT_SUMMARY ("Mplayer support ......................." USE_MPLAYER 1)
PRINT_SUMMARY ("CD Audio support ......................" USE_CDA CDIO_FOUND)
PRINT_SUMMARY ("Midi support .........................." USE_MIDI WILDMIDI_FOUND)
PRINT_SUMMARY ("Game music support ...................." USE_GME GME_FOUND)
PRINT_SUMMARY ("Ogg Opus support ......................" USE_OPUS OPUS_FOUND)
PRINT_SUMMARY ("SID support ..........................." USE_SID SIDPLAYFP_FOUND)
PRINT_SUMMARY ("Archive support ......................." USE_ARCHIVE LIBARCHIVE_FOUND)
MESSAGE("")
MESSAGE("Output Plugins:")
PRINT_SUMMARY ("ALSA support .........................." USE_ALSA ALSA_FOUND)
PRINT_SUMMARY ("OSS support ..........................." USE_OSS 1)
PRINT_SUMMARY ("OSS4 support .........................." USE_OSS4 OSS4_FOUND)
PRINT_SUMMARY ("JACK support .........................." USE_JACK JACK_FOUND)
PRINT_SUMMARY ("PulseAudio support ...................." USE_PULSE PULSE_FOUND)
PRINT_SUMMARY ("PipeWire support ......................" USE_PIPEWIRE PIPEWIRE_FOUND)
PRINT_SUMMARY ("Null output support ..................." USE_NULL 1)
PRINT_SUMMARY ("Waveout support (Windows) ............." USE_WAVEOUT WINDOWS_H_FOUND)
PRINT_SUMMARY ("DirectSound support (Windows) ........." USE_DSOUND DSOUND_H_FOUND)
PRINT_SUMMARY ("WASAPI support (Windows) .............." USE_WASAPI WASAPI_FOUND)
PRINT_SUMMARY ("Qt Multimedia support ................." USE_QTMULTIMEDIA Qt6Multimedia_FOUND)
PRINT_SUMMARY ("Icecast support ......................." USE_SHOUT SHOUT_FOUND)
MESSAGE("")
MESSAGE("Effect Plugins:")
PRINT_SUMMARY ("SoX Resampler ........................." USE_SOXR SOXR_FOUND)
PRINT_SUMMARY ("BS2B Plugin ..........................." USE_BS2B BS2B_FOUND)
PRINT_SUMMARY ("LADSPA Host ..........................." USE_LADSPA 1)
PRINT_SUMMARY ("Crossfade ............................." USE_CROSSFADE 1)
PRINT_SUMMARY ("Extra Stereo .........................." USE_STEREO 1)
PRINT_SUMMARY ("File Writer ..........................." USE_FILEWRITER VORBISENC_FOUND)
PRINT_SUMMARY ("Mono to Stereo Converter .............." USE_MONOTOSTEREO 1)
MESSAGE("")
MESSAGE("Visual Plugins:")
PRINT_SUMMARY ("Analyzer .............................." USE_ANALYZER 1)
PRINT_SUMMARY ("ProjectM .............................." USE_PROJECTM PROJECTM_FOUND)
MESSAGE("")
MESSAGE("General Plugins:")
PRINT_SUMMARY ("MPRIS support ........................." USE_MPRIS Qt6DBus_FOUND)
PRINT_SUMMARY ("Scrobbler ............................." USE_SCROBBLER 1)
PRINT_SUMMARY ("ListenBrainz .........................." USE_LISTENBRAINZ 1)
PRINT_SUMMARY ("Tray support .........................." USE_STATICON 1)
PRINT_SUMMARY ("Notifier support ......................" USE_NOTIFIER 1)
PRINT_SUMMARY ("Lyrics support ........................" USE_LYRICS 1)
PRINT_SUMMARY ("UDisks support ......,................." USE_UDISKS Qt6DBus_FOUND)
PRINT_SUMMARY ("Global hotkey support ................." USE_HOTKEY XCB_FOUND)
PRINT_SUMMARY ("GNOME/Cinnamon hotkey support ........." USE_GNOMEHOTKEY Qt6DBus_FOUND)
PRINT_SUMMARY ("File operations ......................." USE_FILEOPS 1)
PRINT_SUMMARY ("Cover manager ........................." USE_COVER 1)
PRINT_SUMMARY ("KDE notifications support ............." USE_KDENOTIFY Qt6DBus_FOUND)
PRINT_SUMMARY ("Audio converter ......................." USE_CONVERTER TAGLIB_FOUND)
PRINT_SUMMARY ("ReplayGain Scanner ...................." USE_RGSCAN TAGLIB_FOUND)
PRINT_SUMMARY ("Stream browser ........................" USE_SB 1)
PRINT_SUMMARY ("Track change .........................." USE_TRACKCHANGE 1)
PRINT_SUMMARY ("Copy/Paste ............................" USE_COPYPASTE 1)
PRINT_SUMMARY ("History plugin ........................" USE_HISTORY Qt6Sql_FOUND)
PRINT_SUMMARY ("Sleep mode inhibition plugin .........." USE_SLEEPINHIBITOR Qt6DBus_FOUND)
PRINT_SUMMARY ("Media library plugin .................." USE_LIBRARY Qt6Sql_FOUND)
PRINT_SUMMARY ("Taskbar plugin (Windows) .............." USE_TASKBAR WIN32)
PRINT_SUMMARY ("Removable device detection (Windows) .." USE_RDETECT WIN32)
MESSAGE("")
MESSAGE("File Dialogs:")
PRINT_SUMMARY ("QMMP File Dialog ......................" USE_QMMP_DIALOG 1)
PRINT_SUMMARY ("Two-panel File File Dialog ............" USE_TWO_PANEL_DIALOG 1)
MESSAGE("")
MESSAGE("Advanced:")
PRINT_SUMMARY ("Skinned user interface ................" USE_SKINNED SKINNED_AVAILABLE)
PRINT_SUMMARY ("Simple user interface (QSUI) .........." USE_QSUI 1)
PRINT_SUMMARY ("Automatic charset detection ..........." USE_ENCA ENCA_FOUND)
PRINT_SUMMARY ("MPEG plugin with LibRCD support ......." USE_LIBRCD LIBRCD_FOUND)
PRINT_SUMMARY ("Directory association ................." USE_DIR_ASSOC 1)
PRINT_SUMMARY ("Set RPATH in installed binaries ......." CMAKE_INSTALL_RPATH_USE_LINK_PATH 1)
IF(MPEG_DECODERS)
MESSAGE ("MPEG decoders ........................." "${MPEG_DECODERS}")
ENDIF(MPEG_DECODERS)
MESSAGE("")

339
COPYING Normal file
View File

@@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

427
COPYING.CC-by-sa_V4 Normal file
View File

@@ -0,0 +1,427 @@
This is the license of the Glare skin (src/plugins/Ui/skinned/Glare):
Attribution-ShareAlike 4.0 International
=======================================================================
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright
and certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are
intended for use by those authorized to give the public
permission to use material in ways otherwise restricted by
copyright and certain other rights. Our licenses are
irrevocable. Licensors should read and understand the terms
and conditions of the license they choose before applying it.
Licensors should also secure all rights necessary before
applying our licenses so that the public can reuse the
material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
licensed material under specified terms and conditions. If
the licensor's permission is not necessary for any reason--for
example, because of any applicable exception or limitation to
copyright--then that use is not regulated by the license. Our
licenses grant only permissions under copyright and certain
other rights that a licensor has authority to grant. Use of
the licensed material may still be restricted for other
reasons, including because others have copyright or other
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More_considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
=======================================================================
Creative Commons Attribution-ShareAlike 4.0 International Public
License
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution-ShareAlike 4.0 International Public License ("Public
License"). To the extent this Public License may be interpreted as a
contract, You are granted the Licensed Rights in consideration of Your
acceptance of these terms and conditions, and the Licensor grants You
such rights in consideration of benefits the Licensor receives from
making the Licensed Material available under these terms and
conditions.
Section 1 -- Definitions.
a. Adapted Material means material subject to Copyright and Similar
Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright
and Similar Rights in Your contributions to Adapted Material in
accordance with the terms and conditions of this Public License.
c. BY-SA Compatible License means a license listed at
creativecommons.org/compatiblelicenses, approved by Creative
Commons as essentially the equivalent of this Public License.
d. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
e. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.
f. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.
g. License Elements means the license attributes listed in the name
of a Creative Commons Public License. The License Elements of this
Public License are Attribution and ShareAlike.
h. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.
i. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
j. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.
k. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
l. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
m. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.
Section 2 -- Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License,
the Licensor hereby grants You a worldwide, royalty-free,
non-sublicensable, non-exclusive, irrevocable license to
exercise the Licensed Rights in the Licensed Material to:
a. reproduce and Share the Licensed Material, in whole or
in part; and
b. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where
Exceptions and Limitations apply to Your use, this Public
License does not apply, and You do not need to comply with
its terms and conditions.
3. Term. The term of this Public License is specified in Section
6(a).
4. Media and formats; technical modifications allowed. The
Licensor authorizes You to exercise the Licensed Rights in
all media and formats whether now known or hereafter created,
and to make technical modifications necessary to do so. The
Licensor waives and/or agrees not to assert any right or
authority to forbid You from making technical modifications
necessary to exercise the Licensed Rights, including
technical modifications necessary to circumvent Effective
Technological Measures. For purposes of this Public License,
simply making modifications authorized by this Section 2(a)
(4) never produces Adapted Material.
5. Downstream recipients.
a. Offer from the Licensor -- Licensed Material. Every
recipient of the Licensed Material automatically
receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this
Public License.
b. Additional offer from the Licensor -- Adapted Material.
Every recipient of Adapted Material from You
automatically receives an offer from the Licensor to
exercise the Licensed Rights in the Adapted Material
under the conditions of the Adapter's License You apply.
c. No downstream restrictions. You may not offer or impose
any additional or different terms or conditions on, or
apply any Effective Technological Measures to, the
Licensed Material if doing so restricts exercise of the
Licensed Rights by any recipient of the Licensed
Material.
6. No endorsement. Nothing in this Public License constitutes or
may be construed as permission to assert or imply that You
are, or that Your use of the Licensed Material is, connected
with, or sponsored, endorsed, or granted official status by,
the Licensor or others designated to receive attribution as
provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however, to
the extent possible, the Licensor waives and/or agrees not to
assert any such rights held by the Licensor to the limited
extent necessary to allow You to exercise the Licensed
Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this
Public License.
3. To the extent possible, the Licensor waives any right to
collect royalties from You for the exercise of the Licensed
Rights, whether directly or through a collecting society
under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties.
Section 3 -- License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the
following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified
form), You must:
a. retain the following if it is supplied by the Licensor
with the Licensed Material:
i. identification of the creator(s) of the Licensed
Material and any others designated to receive
attribution, in any reasonable manner requested by
the Licensor (including by pseudonym if
designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of
warranties;
v. a URI or hyperlink to the Licensed Material to the
extent reasonably practicable;
b. indicate if You modified the Licensed Material and
retain an indication of any previous modifications; and
c. indicate the Licensed Material is licensed under this
Public License, and include the text of, or the URI or
hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any
reasonable manner based on the medium, means, and context in
which You Share the Licensed Material. For example, it may be
reasonable to satisfy the conditions by providing a URI or
hyperlink to a resource that includes the required
information.
3. If requested by the Licensor, You must remove any of the
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.
b. ShareAlike.
In addition to the conditions in Section 3(a), if You Share
Adapted Material You produce, the following conditions also apply.
1. The Adapter's License You apply must be a Creative Commons
license with the same License Elements, this version or
later, or a BY-SA Compatible License.
2. You must include the text of, or the URI or hyperlink to, the
Adapter's License You apply. You may satisfy this condition
in any reasonable manner based on the medium, means, and
context in which You Share Adapted Material.
3. You may not offer or impose any additional or different terms
or conditions on, or apply any Effective Technological
Measures to, Adapted Material that restrict exercise of the
rights granted under the Adapter's License You apply.
Section 4 -- Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
to extract, reuse, reproduce, and Share all or a substantial
portion of the contents of the database;
b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material,
including for purposes of Section 3(b); and
c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the Licensed
Rights include other Copyright and Similar Rights.
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
Section 6 -- Term and Termination.
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
b. Where Your right to use the Licensed Material has terminated under
Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided
it is cured within 30 days of Your discovery of the
violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any
right the Licensor may have to seek remedies for Your violations
of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing so
will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License.
Section 7 -- Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different
terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
Section 8 -- Interpretation.
a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could lawfully
be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is
deemed unenforceable, it shall be automatically reformed to the
minimum extent necessary to make it enforceable. If the provision
cannot be reformed, it shall be severed from this Public License
without affecting the enforceability of the remaining terms and
conditions.
c. No term or condition of this Public License will be waived and no
failure to comply consented to unless expressly agreed to by the
Licensor.
d. Nothing in this Public License constitutes or may be interpreted
as a limitation upon, or waiver of, any privileges and immunities
that apply to the Licensor or You, including from the legal
processes of any jurisdiction or authority.
=======================================================================
Creative Commons is not a party to its public licenses.
Notwithstanding, Creative Commons may elect to apply one of its public
licenses to material it publishes and in those instances will be
considered the "Licensor." Except for the limited purpose of indicating
that material is shared under a Creative Commons public license or as
otherwise permitted by the Creative Commons policies published at
creativecommons.org/policies, Creative Commons does not authorize the
use of the trademark "Creative Commons" or any other trademark or logo
of Creative Commons without its prior written consent including,
without limitation, in connection with any unauthorized modifications
to any of its public licenses or any other arrangements,
understandings, or agreements concerning use of licensed material. For
the avoidance of doubt, this paragraph does not form part of the public
licenses.
Creative Commons may be contacted at creativecommons.org.

1892
ChangeLog Normal file

File diff suppressed because it is too large Load Diff

1910
ChangeLog.rus Normal file

File diff suppressed because it is too large Load Diff

23184
ChangeLog.svn Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,80 +0,0 @@
# Winamp Collaborative License (WCL) Version 1.0
This License governs the use, modification, and distribution of the Winamp software.
By using, Modifying, or distributing this software, you agree to the following terms:
## Preamble
The Winamp Collaborative License is a free, copyleft license for software and other kinds of works. It is designed to ensure that you have the freedom to use, Modify, and study the software, but with certain restrictions on the distribution of modifications to maintain the integrity and collaboration of the project.
## TERMS AND CONDITIONS
### 1. Definitions
- "This License" refers to version 1.0 of the Winamp Collaborative License.
- "The Program" refers to any copyrightable work Licensed under this License.
- "You" refers to each Licensee, whether an individual or organization.
- "Modify" means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy.
- "Covered Work" means either the unmodified Program or a work based on the Program.
- "Convey" means any kind of propagation that enables other parties to make or receive copies.
### 2. Basic Permissions
All rights granted under this License are granted for the term of copyright on the Program and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a Covered work is covered by this License only if its contents constitute a Covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law.
### 3. Grant of License
You are granted the right to view, access, and study the source code of the software.
You are granted the right to Modify the software for private use only. You may make, run, and propagate Covered works that you do not Convey, without conditions, so long as your License otherwise remains in force.
### 4. Contributions
- Contribution to Project: You are encouraged to contribute improvements, enhancements, and bug fixes back to the project. Contributions must be submitted to the official repository and will be reviewed and incorporated at the discretion of the maintainers.
- Assignment of Rights: By submitting contributions, you agree that all intellectual property rights, including copyright, in your contributions are assigned to Winamp. You hereby grant Winamp a perpetual, worldwide, non-exclusive, royalty-free license to use, copy, modify, and distribute your contributions as part of the software, without any compensation to you.
- Waiver of Rights: You waive any rights to claim authorship of the contributions or to object to any distortion, mutilation, or other modifications of the contributions.
### 5. Restrictions
- No Distribution of Modified Versions: You may not distribute modified versions of the software, whether in source or binary form.
- No Forking: You may not create, maintain, or distribute a forked version of the software.
- Official Distribution: Only the maintainers of the official repository are allowed to distribute the software and its modifications.
### 6. No Sublicensing
Sublicensing is not allowed; section 5 makes it unnecessary.
### 7. Protecting Users' Legal Rights From Anti-Circumvention Law
No Covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures.
### 8. Disclaimer of Warranty
The software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and noninfringement. In no event shall the authors or copyright holders be liable for any claim, damages, or other liability, whether in an action of contract, tort, or otherwise, arising from, out of, or in connection with the software or the use or other dealings in the software.
### 9. Limitation of Liability
In no event will the authors or copyright holders be liable for any special, incidental, indirect, or consequential damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of or inability to use the software, even if the authors or copyright holders have been advised of the possibility of such damages.
### 10. Termination
This License and the rights granted hereunder will terminate automatically if you fail to comply with the terms and conditions herein. Upon termination, you must cease all use of the software and destroy all copies, full or partial, of the software.
### 11. Protection of Copyright
The original authors or copyright holders of the software retain all rights, title, and interest in the software. This license does not transfer any ownership rights.
You must retain all copyright, patent, trademark, and attribution notices in the source code and documentation of the software.
By submitting contributions, you agree that the contributions are your original work and you grant the project a perpetual, worldwide, non-exclusive, royalty-free license to use, copy, modify, and distribute your contributions as part of the software.
Any unauthorized use, reproduction, or distribution of the software, or any portion thereof, may result in civil and criminal penalties.
### 12. Patent Rights
Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims to make, use, sell, offer for sale, import, and otherwise run, modify and propagate the contents of its contributor version.
If you initiate litigation (including a cross-claim or counterclaim) against any party alleging that the Program or a contribution incorporated within the Program constitutes direct or contributory patent infringement, then any patent licenses granted to you under this License for that Program shall terminate as of the date such litigation is filed.
### 13. Trademark Usage
This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for describing the origin of the Program and reproducing the content of the copyright notice.
### 14. Privacy and Data Protection
You must comply with all applicable privacy and data protection laws in connection with your use of the Program.
If the Program collects user data, you must provide clear notice and obtain any necessary consents for such collection.
### 15. Support and Updates
The Licensor has no obligation to provide support, updates, or maintenance for the Program. Any such support, updates, or maintenance will be provided at the sole discretion of the Licensor.
### 16. Compliance
You must comply with all applicable laws and regulations in connection with your use of the Program.
### 17. Miscellaneous
- Governing Law and Jurisdiction: This License shall be governed by and construed in accordance with the laws of Belgium. Any disputes arising out of or in connection with this License shall be subject to the exclusive jurisdiction of the courts located in Brussels, Belgium.
- Severability: If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable.
By using, Modifying, or contributing to the software, you acknowledge that you have read, understood, and agree to be bound by these terms and conditions.
This custom License aims to maintain the collaborative nature of the project while restricting the distribution of modified versions.

201
README Normal file
View File

@@ -0,0 +1,201 @@
Qmmp - Qt-based multimedia player
This program is an audio-player, written with the help of the Qt library.
Official home page: https://qmmp.ylsoftware.com/
Development: https://sourceforge.net/projects/qmmp-dev/
Translation: https://www.transifex.com/qmmp-development-team/public/
Supported operating systems:
- GNU/Linux
- FreeBSD
- Microsoft Windows
Supported formats:
- MPEG1 layer 2/3
- Ogg Vorbis
- Ogg Opus
- Native FLAC, Ogg FLAC
- Musepack
- WavePack
- tracker modules (mod, s3m, it, xm, etc)
- ADTS AAC
- CD Audio
- WMA, Monkey's Audio (and other formats provided by FFmpeg library)
- PCM WAVE (and other formats provided by libsndfile library)
- midi
- SID
- chiptune formats (AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ, VTX)
DSP effects:
- BS2B effect
- sample rate converter
- LADSPA effects
- extra stereo
- crossfade
Visual effects:
- projectM visualization
- spectrum analyzer
Output system support:
- OSS4 (FreeBSD)
- ALSA (Linux)
- PulseAudio
- PipeWire
- JACK
- QtMultimedia
- Icecast
- WaveOut (Win32)
- DirectSound (Win32)
- WASAPI (Win32)
Other features:
- XMMS and Winamp 2.x skins support
- alternative user interface based on standard widgets set
- 10-band equalizer
- MP3, Vorbis, AAC, AAC+ streams support
- mms support
- MPRIS
- removable device detection (via UDisks)
- video playback via Mplayer
- lyrics
- cover art support
- CUE sheet support
- embedded CUE support (for FLAC, WavPack and Monkey's Audio)
- multiple playlists
- automatic charset detection for cue files and ShoutCast metadata
- playlist formats: m3u, pls, xspf
- ReplayGain support
- sending listening history to Last.fm, Libre.fm and ListenBrainz
- CDDB support
- audio converter
- stream browser
- audio formats converter
- external programs execution on track change
- ReplayGain scanner
- archive reader (RAR and 7z)
- audio recording
- listening history
- media library
Requirements:
- Qt >= 6.2 (qtbase and qttools for build)
- tar, unzip, bzip2, gzip
- libmad
- libvorbis
- libogg
- libalsa >= 1.0.22
- taglib >= 1.12
- curl >= 7.32
- libmpg123 >= 1.13.0 (optional)
- qtmultimedia >= 6.2 (optional)
- libmms >= 0.4 (optional)
- flac >= 1.1.3 (optional)
- libmpcdec >= 1.3.0 (optional)
- jackit1 >= 0.121.0 or jackit2 >= 1.9.8 (optional)
- libsoxr >= 0.1.0 (optional)
- libxmp >= 4.2.0 (optional)
- libsndfile >= 1.0.22 (optional)
- wavpack >= 4.41 (optional)
- pulseaudio >= 0.9.15 (optional)
- pipewire >= 0.3.26 (optional)
- ffmpeg >= 3.4 (optional)
- libcdio >= 1.0 (optional)
- libcdio-paranoia >= 10.2+0.90 (optional)
- libcddb >= 1.3.1 (optional)
- faad2 >= 2.6.1 (optional)
- game-music-emu >= 0.5.5 (optional)
- opus >= 1.0.2 (optional)
- opusfile >= 0.2 (optional)
- libWildMidi >= 0.2.3.4 (optional)
- libsidplayfp >= 1.0.3 (optional)
- libbs2b >= 3.0.0 (optional)
- libprojectM >= 2.0.0 (optional)
- libenca >= 1.9 (optional)
- libarchive >= 3.2.0 (optional)
- libshout >= 2.4.3 (optional)
- mplayer (optional)
- libx11, libxcb, xorgproto (optional)
- librcd >= 0.1.13 (optional)
- cmake >= 3.18.0 (for build only)
Attention! Qmmp build needs lrelease installed.
Configure:
cmake ./
Build:
make
Installation:
make install
If someone plugin (for example, Jack plugin) doesn't build or doesn't needed you can disable it
by running the following command:
cmake ./ -DUSE_JACK:BOOL=FALSE
Available options:
- USE_CURL, USE_MMS (transports);
- USE_MAD, USE_MPG123, USE_FLAC, USE_VORBIS, USE_MPC, USE_XMP, USE_SNDFILE, USE_WAVPACK, USE_FFMPEG, USE_AAC, USE_CUE,
USE_MPLAYER, USE_CDA, USE_MIDI, USE_GME, USE_OPUS, USE_SID, USE_ARCHIVE (decoders);
- USE_ALSA, USE_OSS, USE_JACK, USE_PULSE, USE_PIPEWIRE, USE_NULL, USE_OSS4, USE_WAVEOUT, UDE_DSOUND, USE_QTMULTIMEDIA,
USE_WASAPI, USE_SHOUT (output plugins);
- USE_SOXR, USE_BS2B, USE_LADSPA, USE_CROSSFADE, USE_STEREO, USE_FILEWRITER, USE_MONOTOSTEREO (effects);
- USE_ANALYZER, USE_PROJECTM (visualization);
- USE_MPRIS, USE_SCROBBLER, USE_LISTENBRAINZ, USE_STATICON, USE_NOTIFIER, USE_LYRICS, USE_HOTKEY, USE_FILEOPS,
USE_COVER, USE_KDENOTIFY, USE_UDISKS, USE_CONVERTER, USE_SB, USE_RGSCAN, USE_TRACKCHANGE, USE_COPYPASTE,
USE_GNOMEHOTKEY, USE_LIBRARY (general plugins);
- USE_QMMP_DIALOG, USE_TWO_PANEL_DIALOG (file dialogs);
- USE_ENCA (automatic charset detection);
- USE_SKINNED (standard skinned UI);
- USE_QSUI (simple UI);
- USE_DIR_ASSOC (inode/directory mime type association);
- USE_LIBRCD (using LibRCD library for charset detection of ID3v1/v2 tags, disabled by default);
- QMMP_DEFAULT_OUTPUT (default output plugin, example: -DQMMP_DEFAULT_OUTPUT=pulse);
- QMMP_DEFAULT_UI (default user interface, example: -DQMMP_DEFAULT_UI=qsui).
Also you can use ccmake for changing plugins configuration.
By default program will be installed in /usr/local. You can change default path by running:
cmake ./ -DCMAKE_INSTALL_PREFIX=custom_path
For more information see GNUInstallDirs module documentation:
https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html
OSS3 support.
OSS3 plugin is deprecated and disabled by default.
To enable it, run 'cmake ./ -DUSE_OSS:BOOL=TRUE' before compilation.
UDisks support and FreeBSD.
Under FreeBSD you are able to use UDisks plugin. Also, you should install port sysutils/bsdisks.
Bsdisks is an implementation of UDisks service for FreeBSD.
In some cases, you can use qmake for building and installation.
Configure:
qmake PREFIX=custom_path (default: /usr)
Build:
make
Installation:
make install
Executable:
./bin/qmmp
If someone module doesn't build or doesn't needed you can disable it in qmmp.pri file - just comment corresponding
line( symbol '#') or execute qmake with special parameters:
qmake DISABLED_PLUGINS+=JACK_PLUGIN DISABLED_PLUGINS+=OSS_PLUGIN
Attention! By default all plugins are enabled by default.
Changing shared library install path (for some 64-bit distributions).
By default, all libraries and plugins will be installed to $(INSTALL PREFIX)/lib. You can change "lib"
to "lib64" by running qmake or cmake with the special parameter:
qmake LIB_DIR=/usr/lib64
or
cmake ./ -DCMAKE_INSTALL_LIBDIR=lib64
All patches, bug reports, ideas etc. send to bug tracker https://sourceforge.net/p/qmmp-dev/tickets/ or
forkotov02@ya.ru

207
README.RUS Normal file
View File

@@ -0,0 +1,207 @@
Qmmp - Qt-based multimedia player
Программа является аудио-плеером, написанным с использованием библиотеки Qt.
Официальная домашняя страница: https://qmmp.ylsoftware.com/
Разработка: https://sourceforge.net/projects/qmmp-dev/
Перевод: https://www.transifex.com/qmmp-development-team/public/
Поддерживаемые операционные системы:
- GNU/Linux
- FreeBSD
- Microsoft Windows
Поддерживаемые форматы:
- MPEG1 layer 2/3
- Ogg Vorbis
- Ogg Opus
- Native FLAC, Ogg FLAC
- Musepack
- WavePack
- трекерные форматы (mod, s3m, it, xm и т.д.)
- ADTS AAC
- CD Audio
- WMA, Monkey's Audio (и др. форматы библиотеки FFmpeg)
- PCM WAVE (и др. форматы библиотеки libsndfile)
- midi
- SID
- форматы звука игровых консолей (AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ, VTX)
Аудио-эффекты:
- эффект BS2B
- Передискретизация
- эффекты LADSPA
- расширение стереобазы
- плавный переход между треками
Визуальные эффекты:
- визуализация projectM
- анализатор спектра
Системы вывода звука:
- OSS4 (FreeBSD)
- ALSA (Linux)
- PulseAudio
- PipeWire
- JACK
- QtMultimedia
- Icecast
- WaveOut (Win32)
- DirectSound (Win32)
- WASAPI (Win32)
Другие возможности:
- поддержка обложек XMMS и Winamp 2.x
- альтернативный пользовательский интерфейс с использованием стандартного оформления
- 10-полосный эквалайзер
- поддержка потоков MP3, Vorbis, AAC, AAC+
- поддержка протокола MMS
- MPRIS
- автоопределение съёмных устройств (с помощью UDisks)
- воспроизведение видео с помощью Mplayer-а
- получение текстов песен
- просмотр обложек
- поддержка CUE
- поддержка "встроенного" CUE (для файлов FLAC, WavPack и Monkey's Audio)
- возможность использовать несколько списков воспроизведения
- автоматическое определение кодировки для cue-файлов и ShoutCast-метаданных
- поддерживаемые форматы списков воспроизведения: m3u, pls, xspf
- поддержка ReplayGain
- отправка истории прослушивания на Last.fm, Libre.fm и ListenBrainz
- поддержка CDDB
- обзор потоков
- преобразователь аудио-форматов
- запуск внешних программ при смене трека
- сканер ReplayGain
- чтение архивов (RAR и 7z)
- запись аудио
- история прослушивания
- музыкальная библиотека
Требования:
- Qt >= 6.2 (qtbase и qttools для сборки)
- tar, unzip, bzip2, gzip
- libmad
- libvorbis
- libogg
- libalsa >= 1.0.22
- taglib >= 1.12
- curl >= 7.32
- libmpg123 >= 1.13.0 (опционально)
- qtmultimedia >= 6.2 (опционально)
- libmms >= 0.4 (опционально)
- flac >= 1.1.3 (опционально)
- libmpcdec >= 1.3.0 (опционально)
- jackit1 >= 0.121.0 или jackit2 >= 1.9.8 (опционально)
- soxr >= 0.1.0 (опционально)
- libxmp >= 4.2.0 (опционально)
- libsndfile >= 1.0.22 (опционально)
- wavpack >= 4.41 (опционально)
- pulseaudio >= 0.9.15 (опционально)
- pipewire >= 0.3.26 (опционально)
- ffmpeg >= 3.4 (опционально)
- libcdio >= 1.0 (опционально)
- libcdio-paranoia >= 10.2+0.90 (опционально)
- libcddb >= 1.3.1 (опционально)
- faad2 >= 2.6.1 (опционально)
- game-music-emu >= 0.5.5 (опционально)
- opus >= 1.0.2 (опционально)
- opusfile >= 0.2 (опционально)
- libWildMidi >= 0.2.3.4 (опционально)
- libsidplayfp >= 1.0.3 (опционально)
- libbs2b >= 3.0.0 (опционально)
- libprojectM >= 2.0.0 (опционально)
- libenca >= 1.9 (опционально)
- libarchive >= 3.2.0 (опционально)
- libshout >= 2.4.3 (опционально)
- mplayer (опционально)
- libx11, libxcb, xorgproto (опционально)
- librcd >= 0.1.13 (опционально)
- cmake >= 3.18.0 (только для сборки)
Внимание! Для сборки Qmmp нужна утилита lrelease.
Конфигурация:
cmake ./
Сборка:
make
Установка:
make install
Если какой-либо модуль (например, Jack) не собирается, или не нужен, то вы можете отключить его командой:
cmake ./ -DUSE_JACK:BOOL=FALSE
Доступные опции:
- USE_CURL, USE_MMS (транспортные модули);
- USE_MAD, USE_MPG123, USE_FLAC, USE_VORBIS, USE_MPC, USE_XMP, USE_SNDFILE, USE_WAVPACK, USE_FFMPEG, USE_AAC, USE_CUE,
USE_MPLAYER, USE_CDA, USE_MIDI, USE_GME, USE_OPUS, USE_SID, USE_ARCHIVE (декодеры);
- USE_ALSA, USE_OSS, USE_JACK, USE_PULSE, USE_PIPEWIRE, USE_NULL, USE_OSS4, USE_WAVEOUT, USE_DSOUND, USE_QTMULTIMEDIA,
USE_WASAPI, USE_SHOUT (модули вывода);
- USE_SOXR, USE_BS2B, USE_LADSPA, USE_CROSSFADE, USE_STEREO, USE_FILEWRITER, USE_MONOTOSTEREO (эффекты);
- USE_ANALYZER, USE_PROJECTM (визуализация);
- USE_MPRIS, USE_SCROBBLER, USE_LISTENBRAINZ, USE_STATICON, USE_NOTIFIER, USE_LYRICS, USE_HOTKEY, USE_FILEOPS,
USE_COVER, USE_KDENOTIFY, USE_UDISKS, USE_CONVERTER, USE_RGSCAN, USE_SB, USE_TRACKCHANGE, USE_COPYPASTE,
USE_GNOMEHOTKEY, USE_LIBRARY (модули общего назначения);
- USE_QMMP_DIALOG, USE_TWO_PANEL_DIALOG (файловые диалоги);
- USE_ENCA (автоматическое определение кодировки);
- USE_SKINNED (стандартный пользовательский интерфейс);
- USE_QSUI (простой интерфейс);
- USE_DIR_ASSOC (привязка к mime-типу inode/directory);
- USE_LIBRCD (использование библиотеки LibRCD для определения кодировок ID3v1/v2-тегов, по умолчанию отключено);
- QMMP_DEFAULT_OUTPUT (модуль вывода по умолчанию, пример использования: -DQMMP_DEFAULT_OUTPUT=pulse);
- QMMP_DEFAULT_UI (интерфейс пользователя по умолчанию, пример использования: -DQMMP_DEFAULT_UI=qsui).
Также вы можете использовать ccmake для изменения конфигурации модулей.
По умолчанию программа будет установлена в /usr/local. Вы можете изменить этот путь командой:
cmake ./ -DCMAKE_INSTALL_PREFIX=другой_путь
Для получения дополнительной информации смотрите документацию модуля GNUInstallDirs:
https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html
Поддержка OSS3.
Модуль OSS3 устарел и отключён по умолчанию.
Для его включения выполните 'cmake ./ -DUSE_OSS:BOOL=TRUE' перед сборкой.
Поддержка UDisks и FreeBSD.
Под FreeBSD есть возможность использовать модуль Udisks. Для этого вы также должны установить порт
sysutils/bsdisks. Bsdisks является реализацией сервиса UDisks для FreeBSD.
В некоторых случаях вы можете использовать qmake для сборки и установки.
Конфигурация:
qmake PREFIX=путь_для_установки (по умолчанию: /usr)
Сборка:
make
Установка:
make install
Исполняемый файл:
./bin/qmmp
Если какой-либо модуль не собирается или не нужен, в файле qmmp.pri можно его отключить.
Для отключения необходимо закомментировать соответствующую строчку (символ "#").
Кроме того, отключить модуль можно из командной строки:
qmake DISABLED_PLUGINS+=JACK_PLUGIN DISABLED_PLUGINS+=OSS_PLUGIN
Внимание! по умолчанию включены все модули.
Изменение пути установки разделяемых библиотек и модулей (для некоторых 64-битных дистрибутивов).
По умолчанию все библиотеки и модули будут установлены в $(INSTALL PREFIX)/lib. Вы можете сменить "lib"
на "lib64" запустив qmake или cmake со специальным параметром:
qmake LIB_DIR=/usr/lib64
или
cmake ./ -DCMAKE_INSTALL_LIBDIR=lib64
Патчи, багрепорты, идеи и т.п.: https://sourceforge.net/p/qmmp-dev/tickets/ или forkotov02@ya.ru
Автор выражает благодарность Вадиму Калинникову (www.ylsoftware.com) за предоставленный
хостинг и тестирование программы.
Также выражается благодарность всем, приславшим патчи и багрепорты.
Просьба к присылающим патчи. Во избежание проблем с определением авторства, пожалуйста,
указывайте также свою контактную информацию.

183
README.UKR Normal file
View File

@@ -0,0 +1,183 @@
Qmmp - Qt-based multimedia player
Програма є аудіо-плеєром, написаним з використанням бібліотеки Qt.
Офіційна домашня сторінка: https://qmmp.ylsoftware.com/
Підтримуються операційні системи:
- GNU/Linux
- FreeBSD
- Microsoft Windows
Підтримувані формати:
- MPEG1 layer 2/3
- Ogg Vorbis
- Ogg Opus
- Native FLAC, Ogg FLAC
- Musepack
- WavePack
- трекерні формати (mod, s3m, it, xm і т.д.)
- ADTS AAC
- CD Audio
- WMA, Monkey's Audio (та інші формати бібліотеки FFmpeg)
- PCM WAVE (та інші формати бібліотеки libsndfile)
- midi
- SID
- формати звуку ігрових консолей (AY, GBS, GYM, HES, KSS, NSF, NSFE, SAP, SPC, VGM, VGZ, VTX)
Аудіо-ефекти:
- ефект BS2B
- Передискретизація
- ефекти LADSPA
- розширення стереобази
- плавний перехід між треками
Візуальні ефекти:
- візуалізація projectM
- аналізатор спектру
Системи виведення звуку:
- OSS4 (FreeBSD)
- ALSA (Linux)
- PulseAudio
- PipeWire
- JACK
- WaveOut (Win32)
- DirectSound (Win32)
Інші можливості:
- підтримка обкладинок XMMS та Winamp 2.x
- 10-полосний еквалайзер
- підтримка потоків MP3, Vorbis, AAC, AAC+
- підтримка протоколу MMS
- MPRIS (1.0 і 2.0)
- автовизначення змінних пристроїв (за допомогою UDisks)
- відтворення відео за допомогою Mplayer-а
- отримання текстів пісень
- перегляд обкладинок
- підтримка CUE
- підтримка "вбудованого" CUE (для файлів FLAC та WavPack)
- можливість використовувати декілька списків відтворення
- автоматичне визначення кодування для cue-файлів і ShoutCast-метаданих
- підтримувані формати списків відтворення: m3u, pls, xspf
- підтримка ReplayGain
- скробблер Last.fm/Libre.fm
- підтримка CDDB
- огляд потоків
- конвертер аудіо-форматів
- запуск зовнішніх команд при зміні треку
- сканер ReplayGain
Вимоги:
- Qt >= 6.2 (qtbase, qtx11extras та qttools для компіляції)
- tar, unzip, bzip2, gzip
- libmad
- libvorbis
- libogg
- libalsa >= 1.0.22
- taglib >= 1.11
- curl >= 7.32
- libmms >= 0.4 (Опціонально)
- flac >= 1.1.3 (Опціонально)
- libmpcdec >= 1.3.0 (Опціонально)
- jackit1 >= 0.121.0 чи jackit2 >= 1.9.8 (Опціонально)
- libsamplerate >= 0.1.2 (Опціонально)
- libmodplug >= 0.8.4 (Опціонально)
- libsndfile >= 1.0.21 (Опціонально)
- wavpack >= 4.41 (Опціонально)
- pulseaudio >= 0.9.15 (Опціонально)
- pipewire >= 0.3.26 (Опціонально)
- ffmpeg >= 3.4 (Опціонально)
- libcdio >= 0.80 (Опціонально)
- libcdio-paranoia >= 10.2 (починаючи з libcdio 0.90)
- libcddb >= 1.3.1 (Опціонально)
- faad2 >= 2.6.1 (Опціонально)
- game-music-emu >= 0.5.5 (Опціонально)
- opus >= 1.0.2 (Опціонально)
- opusfile >= 0.2 (Опціонально)
- libWildMidi >= 0.2.3.4 (Опціонально)
- libsidplayfp >= 1.0.3 (Опціонально)
- libbs2b >= 3.0.0 (Опціонально)
- libprojectM >= 2.0.0 (Опціонально)
- libenca >= 1.9 (Опціонально)
- mplayer (Опціонально)
- libx11, libxcb, xorgproto (Опціонально)
- cmake >= 3.5.0 (тільки для компіляції)
Увага! Для компіляції Qmmp потрібна утиліта lrelease. Дуже часто вона знаходиться в пакеті libqt4-devel.
Конфігурування:
cmake ./
Компіляція:
make
Встановлення:
make install
Якщо який-небудь модуль (наприклад, Jack) не збирається або не потрібен, то ви можете вимкнути його командою:
cmake ./ -DUSE_JACK:BOOL=FALSE
Доступні опції:
- USE_CURL, USE_MMS (транспортні модулі);
- USE_MAD, USE_FLAC, USE_VORBIS, USE_MPC, USE_MODPLUG, USE_SNDFILE, USE_WAVPACK, USE_FFMPEG, USE_AAC, USE_CUE,
USE_MPLAYER, USE_CDA, USE_MIDI, USE_GME, USE_OPUS, USE_SID (декодери);
- USE_ALSA, USE_OSS, USE_JACK, USE_PULSE, USE_PIPEWIRE, USE_NULL, USE_OSS4, USE_WAVEOUT, USE_DSOUND, USE_QTMULTIMEDIA,
USE_WASAPI (модулі виведення);
- USE_SOXR, USE_BS2B, USE_LADSPA, USE_CROSSFADE, USE_STEREO, USE_FILEWRITER, USE_MONOTOSTEREO (ефекти);
- USE_ANALYZER, USE_PROJECTM (візуалізація);
- USE_MPRIS, USE_SCROBBLER, USE_LISTENBRAINZ, USE_STATICON, USE_NOTIFIER, USE_LYRICS, USE_HOTKEY, USE_FILEOPS,
USE_COVER, USE_KDENOTIFY, USE_UDISKS, USE_CONVERTER, USE_RGSCAN, USE_TRACKCHANGE, USE_COPYPASTE,
USE_GNOMEHOTKEY, USE_LIBRARY (модулі загального призначення);
- USE_QMMP_DIALOG (файловий діалог);
- USE_ENCA (автоматичне визначення кодування);
- USE_SKINNED (стандартний інтерфейс користувача);
- USE_QSUI (простий інтерфейс);
- USE_DIR_ASSOC (прив'язка до mime-типу inode/directory);
- QMMP_DEFAULT_OUTPUT (модуль виведення за замовчанням, приклад використання: -DQMMP_DEFAULT_OUTPUT=pulse).
Також ви можете використовувати ccmake для зміни конфігурації модулів.
За замовчуванням програма буде встановлена в /usr/local. Ви можете змінити цей шлях командою:
cmake ./ -DCMAKE_INSTALL_PREFIX=інший_шлях
Підтримка OSS3 та Udisks.
Модулі OSS3 та UDisks застаріли і вимкнені за замовчанням.
Для їх увімкнення виконайте 'cmake ./ -DUSE_OSS:BOOL=TRUE' чи 'cmake ./ -DUSE_OSS:UDISKS=TRUE' перед компіляцією.
Підтримка HAL та UDisks.
Більшість дистрибутивів Linux більше не підтримують HAL. Для відключення модуля HAL виконайте перед компіляцією наступну команду:
cmake ./ -DUSE_HAL:BOOL=FALSE
Проект UDisks не підтримує FreeBSD, тому під FreeBSD рекомендується вимикати модуль Udisks з компіляції наступною командою:
cmake ./ -DUSE_UDISKS:BOOL=FALSE
У деяких випадках ви можете використовувати qmake для компіляції та встановлення.
Компіляція:
qmake && make
Інсталяція:
make install INSTALL_ROOT=/usr/local
Виконуваний файл:
./bin/qmmp
Якщо який-небудь модуль не збирається або не потрібен, у файлі qmmp.pri можна його відключити.
Для відключення необхідно закоментувати відповідну строчку (символ "#").
Увага! за замовчуванням включені всі модулі крім OSS4.
Зміна шляху встановлення поділюваних бібліотек і модулів (потрібно для деяких 64-бітних дистрибутивів).
За умовчанням усі бібліотеки та модулі будуть встановлені в $(INSTALL PREFIX)/lib. Ви можете змінити "lib"
на "lib64" за допомогою запуску qmake-qt4 або cmake зі спеціальним параметром:
qmake LIB_DIR=/lib64
або
cmake ./ -DLIB_DIR=lib64
Патчі, багрепорти, ідеї тощо: forkotov02@ya.ru або https://sourceforge.net/p/qmmp-dev/tickets/
Автор висловлює подяку Вадиму Каліннікову (www.ylsoftware.com) за наданий
хостинг і тестування програми.
Також висловлюється подяка всім, хто надіслав патчі та/чи багрепорти.
Прохання до тих, хто надсилає пачті. Для запобігання проблем з визначення авторства, будь ласка,
вказуйте також свою контактну інформацію.

View File

@@ -1,44 +0,0 @@
# Winamp
## About
Winamp is a multimedia player launched in 1997, iconic for its flexibility and wide compatibility with audio formats. Originally developed by Nullsoft, it gained massive popularity with still millions of users. Its development slowed down, but now, its source code was opened to the community, allowing developers to improve and modernize the playerto meet current user needs.
## Usage
Building of the Winamp desktop client is current based around Visual Studio 2019 (VS2019) and Intel IPP libs (You need to use exactly v6.1.1.035).
There are differnt options of how to build Winamp:
1 Use a build_winampAll_2019.cmd script file that makes 4 versions x86/x64 (Debug and Release). In this case Visual Studio IDE not running.
2 Use a winampAll_2019.sln file to build and debug in Visual Studio IDE.
### Dependencies
#### libvpx
We take libvpx from https://github.com/ShiftMediaProject/libvpx, modify it and pack to archive.
Run unpack_libvpx_v1.8.2_msvc16.cmd to unpack.
#### libmpg123
We take libmpg123 from https://www.mpg123.de/download.shtml, modify it and pack to archive.
Run unpack_libmpg123.cmd to unpack and process dlls.
#### OpenSSL
You need to use openssl-1.0.1u. For that you need to build a static version of these libs.
Run build_vs_2019_openssl_x86.cmd and build_vs_2019_openssl_64.cmd.
To build OpenSSL you need to install
7-Zip, NASM and Perl.
#### DirectX 9 SDK
We take DirectX 9 SDK (June 2010) from Microsoft, modify it and pack to archive.
Run unpack_microsoft_directx_sdk_2010.cmd to unpack it.
#### Microsoft ATLMFC lib fix
In file C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\atlmfc\include\atltransactionmanager.h
goto line 427 and change from 'return ::DeleteFile((LPTSTR)lpFileName);' to 'return DeleteFile((LPTSTR)lpFileName);'
#### Intel IPP 6.1.1.035
We take Intel IPP 6.1.1.035, modify it and pack to archive.
Run unpack_intel_ipp_6.1.1.035.cmd to unpack it.

18
bin/qmmp_launcher Executable file
View File

@@ -0,0 +1,18 @@
#!/bin/sh
MYDIR=$(dirname $0)
#QT_LIB_DIR=$(dirname $(which qmake))/../lib
QT_LIB_DIR=/home/user/qt6/lib
QMMP_LIB_DIRS=$MYDIR/../lib:$MYDIR/../src/qmmpui
if [ -z ${LD_LIBRARY_PATH} ]; then
LD_LIBRARY_PATH=${QMMP_LIB_DIRS}:${QT_LIB_DIR}
else
LD_LIBRARY_PATH=${QMMP_LIB_DIRS}:${QT_LIB_DIR}:${LD_LIBRARY_PATH}
fi
echo 'Setting LD_LIBRARY_PATH to'
echo "$LD_LIBRARY_PATH" | awk -F: '{ for(i = 1; i <= NF; i++) printf "%d) %s\n", i, $i; }'
export LD_LIBRARY_PATH
echo
exec $MYDIR/qmmp "$@"

4
clear_qmake.cmd Normal file
View File

@@ -0,0 +1,4 @@
for /r %%B in (*.qm *.dll *.a *.Release Makefile* *resource.rc *.Debug *.exe object_script.* *.pc *.prl) do del /s /q %%B
for /d /r %%B in (.build debug release) do rmdir /s /q %%B
rmdir /s /q bin\plugins

17
cmake_uninstall.cmake.in Normal file
View File

@@ -0,0 +1,17 @@
IF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
ENDIF(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
FILE(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
STRING(REGEX REPLACE "\n" ";" files "${files}")
FOREACH(file ${files})
MESSAGE(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
EXEC_PROGRAM(
rm ARGS "-rf \"$ENV{DESTDIR}${file}\""
OUTPUT_VARIABLE rm_out
RETURN_VALUE rm_retval
)
IF(NOT "${rm_retval}" STREQUAL 0)
MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
ENDIF(NOT "${rm_retval}" STREQUAL 0)
ENDFOREACH(file)

8
doc/CMakeLists.txt Normal file
View File

@@ -0,0 +1,8 @@
project(doc)
CONFIGURE_FILE(
"${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.cmake"
IMMEDIATE @ONLY)
add_custom_target(docs COMMAND doxygen ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile.cmake WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})

2452
doc/Doxyfile Normal file

File diff suppressed because it is too large Load Diff

2452
doc/Doxyfile.cmake.in Normal file

File diff suppressed because it is too large Load Diff

1
doc/README Normal file
View File

@@ -0,0 +1 @@
Run "doxygen Doxyfile" to generate the Qmmp API documentation.

103
qmmp.pri Normal file
View File

@@ -0,0 +1,103 @@
#Common settings for Qmmp build
#Extra clean target
unix: QMAKE_DISTCLEAN += -r .build
#Some conf to redirect intermediate stuff in separate dirs
UI_DIR=./.build/ui/
MOC_DIR=./.build/moc/
OBJECTS_DIR=./.build/obj
RCC_DIR=./.build/rcc
#Defines
DEFINES += QT_NO_CAST_FROM_BYTEARRAY QT_STRICT_ITERATORS QT_NO_FOREACH
unix:DEFINES += QMMP_WS_X11
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060200 QT_WARN_DEPRECATED_UP_TO=0x060200 QT_DEPRECATED_WARNINGS
#Configuration
CONFIG -= depend_includepath
CONFIG += hide_symbols
CONFIG += c++17
QT += widgets
#Version
QMMP_VERSION = 2.1.9
#Install paths
VERSIONS = $$split(QMMP_VERSION, ".")
QMMP_VERSION_MAJOR = $$member(VERSIONS, 0)
QMMP_VERSION_MINOR = $$member(VERSIONS, 1)
#Include and link paths
win32 {
EXTRA_INCDIR = C:/devel/mingw32-libs/include
QMAKE_CXXFLAGS += "-isystem $${EXTRA_INCDIR}"
QMAKE_CFLAGS += "-isystem $${EXTRA_INCDIR}"
QMAKE_LIBDIR += C:/devel/mingw32-libs/lib
}
#APP_NAME_SUFFIX = "-1"
unix {
isEmpty(PREFIX): PREFIX=/usr
isEmpty(BIN_DIR): BIN_DIR=$$PREFIX/bin
isEmpty(DATA_DIR): DATA_DIR=$$PREFIX/share
isEmpty(LIB_DIR): LIB_DIR=$$PREFIX/lib
isEmpty(PLUGIN_DIR): PLUGIN_DIR=$$LIB_DIR/qmmp-$${QMMP_VERSION_MAJOR}.$${QMMP_VERSION_MINOR}
}
#QMAKE_LFLAGS_DEBUG += "-Wl,--as-needed -Wl,--no-undefined -Wl,-z,relro -Wl,--build-id -Wl,--enable-new-dtags"
#QMAKE_LFLAGS += "-Wl,--as-needed -Wl,--no-undefined -Wl,-z,relro -Wl,--build-id -Wl,--enable-new-dtags"
#*-g++ {
# QMAKE_CXXFLAGS += -Werror=zero-as-null-pointer-constant
# QMAKE_CXXFLAGS += -Werror=suggest-override
#}
#Comment/uncomment this if you want to change plugins list
CONFIG += ARCHIVE_PLUGIN
CONFIG += JACK_PLUGIN
CONFIG += FLAC_PLUGIN
CONFIG += MUSEPACK_PLUGIN
CONFIG += FFMPEG_PLUGIN
CONFIG += XMP_PLUGIN
CONFIG += WILDMIDI_PLUGIN
CONFIG += GME_PLUGIN
CONFIG += OPUS_PLUGIN
CONFIG += OSS_PLUGIN #deprecated
CONFIG += PULSE_AUDIO_PLUGIN
CONFIG += ALSA_PLUGIN
CONFIG += OSS4_PLUGIN
#CONFIG += PIPEWIRE_PLUGIN
CONFIG += AAC_PLUGIN
CONFIG += MPLAYER_PLUGIN
CONFIG += CDAUDIO_PLUGIN
CONFIG += BS2B_PLUGIN
CONFIG += SOXR_PLUGIN
CONFIG += LADSPA_PLUGIN
CONFIG += FILEWRITER_PLUGIN
CONFIG += PROJECTM_PLUGIN
CONFIG += UDISKS_PLUGIN
CONFIG += SID_PLUGIN
CONFIG += QTMULTIMEDIA_PLUGIN
CONFIG += SHOUT_PLUGIN
CONFIG += HISTORY_PLUGIN
CONFIG += SLEEPINHIBITOR_PLUGIN
#additional features
CONFIG += WITH_MPG123
CONFIG += WITH_MAD
CONFIG += WITH_LIBRCD
CONFIG += WITH_ENCA
CONFIG += WITH_SKINNED
CONFIG += WITH_QSUI
CONFIG -= $$DISABLED_PLUGINS

46
qmmp.pro Normal file
View File

@@ -0,0 +1,46 @@
CONFIG += ordered
include (qmmp.pri)
TEMPLATE = subdirs
SUBDIRS = src/qmmp src/qmmpui src/app src/plugins
unix:exists($$[QT_INSTALL_BINS]/lrelease){
LRELEASE_EXECUTABLE = $$[QT_INSTALL_BINS]/lrelease
}
unix:exists($$[QT_INSTALL_BINS]/lrelease-qt5){
LRELEASE_EXECUTABLE = $$[QT_INSTALL_BINS]/lrelease-qt5
}
win32:exists($$[QT_INSTALL_BINS]/lrelease.exe){
LRELEASE_EXECUTABLE = $$[QT_INSTALL_BINS]/lrelease.exe
}
isEmpty(LRELEASE_EXECUTABLE){
error(Could not find lrelease executable)
}
else {
message(Found lrelease executable: $$LRELEASE_EXECUTABLE)
}
message(generating translations)
unix {
system(find . -name *.ts | xargs $$LRELEASE_EXECUTABLE -compress)
QMAKE_DISTCLEAN += $$system(find . -name *.qm)
QMAKE_DISTCLEAN += r lib
}
win32:system(for /r %B in (*.ts) do $$LRELEASE_EXECUTABLE -compress %B)
message("******* BUILD CONFIGURATION *******")
for(out, CONFIG):message($$out)
message(PREFIX=$$PREFIX)
message(BIN_DIR=$$BIN_DIR)
message(DATA_DIR=$$DATA_DIR)
message(PLUGIN_DIR=$$PLUGIN_DIR)
message("*** END OF BUILD CONFIGURATION ****")

47
src/app/CMakeLists.txt Normal file
View File

@@ -0,0 +1,47 @@
project(app)
INCLUDE(UsePkgConfig)
include_directories(${CMAKE_CURRENT_SOURCE_DIR})
# libqmmp & libqmmpui
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../)
link_directories(${CMAKE_INSTALL_PREFIX}/${LIB_DIR})
link_directories(${CMAKE_CURRENT_BINARY_DIR}/../qmmpui)
link_directories(${CMAKE_CURRENT_BINARY_DIR}/../qmmp)
SET(app_SRCS
builtincommandlineoption.cpp
main.cpp
qmmpstarter.cpp
images/images.qrc
translations/qmmp_locales.qrc
)
# Don't forget to include output directory, otherwise
# the UI file won't be wrapped!
include_directories(${CMAKE_CURRENT_BINARY_DIR})
ADD_EXECUTABLE(qmmp ${app_SRCS})
target_link_libraries(qmmp PRIVATE Qt6::Widgets Qt6::Network libqmmp libqmmpui)
SET_TARGET_PROPERTIES(qmmp PROPERTIES OUTPUT_NAME qmmp${APP_NAME_SUFFIX})
add_dependencies(qmmp libqmmpui libqmmp)
install(TARGETS qmmp DESTINATION ${CMAKE_INSTALL_BINDIR})
install(FILES qmmp-opencda${APP_NAME_SUFFIX}.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/solid/actions)
install(FILES qmmp${APP_NAME_SUFFIX}.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
install(FILES images/16x16/qmmp${APP_NAME_SUFFIX}.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/16x16/apps)
install(FILES images/32x32/qmmp${APP_NAME_SUFFIX}.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/32x32/apps)
install(FILES images/48x48/qmmp${APP_NAME_SUFFIX}.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/48x48/apps)
install(FILES images/56x56/qmmp${APP_NAME_SUFFIX}.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/56x56/apps)
install(FILES images/64x64/qmmp${APP_NAME_SUFFIX}.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/64x64/apps)
install(FILES images/128x128/qmmp${APP_NAME_SUFFIX}.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/128x128/apps)
install(FILES images/256x256/qmmp${APP_NAME_SUFFIX}.png DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/256x256/apps)
install(FILES images/scalable/qmmp${APP_NAME_SUFFIX}.svgz images/scalable/qmmp-simple${APP_NAME_SUFFIX}.svgz DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps)
install(FILES appdata/qmmp${APP_NAME_SUFFIX}.appdata.xml DESTINATION ${CMAKE_INSTALL_DATADIR}/metainfo)
IF(USE_DIR_ASSOC)
install(FILES qmmp-enqueue${APP_NAME_SUFFIX}.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
install(FILES qmmp-dir${APP_NAME_SUFFIX}.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications)
ENDIF(USE_DIR_ASSOC)

69
src/app/app.pro Normal file
View File

@@ -0,0 +1,69 @@
include(../../qmmp.pri)
TEMPLATE = app
unix:TARGET = ../../bin/qmmp$$APP_NAME_SUFFIX
win32:TARGET = ../../../bin/qmmp
QT += network
HEADERS += qmmpstarter.h \
builtincommandlineoption.h
SOURCES += qmmpstarter.cpp \
builtincommandlineoption.cpp \
main.cpp
RESOURCES = images/images.qrc translations/qmmp_locales.qrc
INCLUDEPATH += ../
unix {
LIBS += -lqmmp$$APP_NAME_SUFFIX -lqmmpui$$APP_NAME_SUFFIX
QMAKE_LIBDIR += ../../lib
target.path = $$BIN_DIR
desktop.files = qmmp$${APP_NAME_SUFFIX}.desktop \
qmmp-enqueue$${APP_NAME_SUFFIX}.desktop \
qmmp-dir$${APP_NAME_SUFFIX}.desktop
desktop.path = $$DATA_DIR/applications
solidaction.files = qmmp-opencda$${APP_NAME_SUFFIX}.desktop
solidaction.path = $$DATA_DIR/solid/actions
icon16.files = images/16x16/qmmp$${APP_NAME_SUFFIX}.png
icon32.files = images/32x32/qmmp$${APP_NAME_SUFFIX}.png
icon48.files = images/48x48/qmmp$${APP_NAME_SUFFIX}.png
icon56.files = images/56x56/qmmp$${APP_NAME_SUFFIX}.png
icon64.files = images/64x64/qmmp$${APP_NAME_SUFFIX}.png
icon128.files = images/128x128/qmmp$${APP_NAME_SUFFIX}.png
icon256.files = images/256x256/qmmp$${APP_NAME_SUFFIX}.png
icon_svg.files = images/scalable/qmmp$${APP_NAME_SUFFIX}.svgz \
images/scalable/qmmp-simple$${APP_NAME_SUFFIX}.svgz
appdata.files = appdata/qmmp$${APP_NAME_SUFFIX}.appdata.xml
icon16.path = $$DATA_DIR/icons/hicolor/16x16/apps
icon32.path = $$DATA_DIR/icons/hicolor/32x32/apps
icon48.path = $$DATA_DIR/icons/hicolor/48x48/apps
icon56.path = $$DATA_DIR/icons/hicolor/56x56/apps
icon64.path = $$DATA_DIR/icons/hicolor/64x64/apps
icon128.path = $$DATA_DIR/icons/hicolor/128x128/apps
icon256.path = $$DATA_DIR/icons/hicolor/256x256/apps
icon_svg.path = $$DATA_DIR/icons/hicolor/scalable/apps
appdata.path = $$DATA_DIR/metainfo
INSTALLS += desktop \
solidaction \
target \
icon16 \
icon32 \
icon48 \
icon56 \
icon64 \
icon128 \
icon256 \
icon_svg \
appdata
}
win32 {
LIBS += -lqmmp2 -lqmmpui2
QMAKE_LIBDIR += ../../bin
RC_FILE = qmmp.rc
}

View File

@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>qmmp.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-2.0+</project_license>
<name>Qmmp</name>
<name xml:lang="ru">Плеер Qmmp</name>
<name xml:lang="sr">Кумп</name>
<name xml:lang="sr@Ijekavian">Кумп</name>
<summary>Qt-based Multimedia Player</summary>
<summary xml:lang="cs">Přehrávač hudby založený na Qt</summary>
<summary xml:lang="de">Qt-basierter Audio-Player</summary>
<summary xml:lang="el">Αναπαραγωγέας πολυμέσων βασισμένος στην Qt</summary>
<summary xml:lang="es">Reproductor de Medios basado sobre Qt</summary>
<summary xml:lang="fi">Qt-pohjainen multimediasoitin</summary>
<summary xml:lang="fr">Lecteur multimédia en Qt</summary>
<summary xml:lang="gl_ES">Reproductor multimedia basado en Qt</summary>
<summary xml:lang="he">נגן מולטימדיה מבוסס Qt</summary>
<summary xml:lang="id">Pemain Multimedia Berbasis-Qt</summary>
<summary xml:lang="it">Riproduttore audio basato su Qt (Qt-based Multimedia Player)</summary>
<summary xml:lang="ja">Qt を用いたマルティミディアプレイヤー</summary>
<summary xml:lang="pl_PL">Odtwarzacz multimedialny oparty na Qt</summary>
<summary xml:lang="pt">Reprodutor multimédia em Qt</summary>
<summary xml:lang="pt_BR">Reprodutor multimídia em Qt</summary>
<summary xml:lang="ru">Медиа-проигрыватель на базе Qt</summary>
<summary xml:lang="sr">Кут медија плејер</summary>
<summary xml:lang="sr@Ijekavian">Кут медија плејер</summary>
<summary xml:lang="sr@ijekavianlatin">Qt medija plejer</summary>
<summary xml:lang="sr@latin">Qt medija plejer</summary>
<summary xml:lang="tr">Qt tabanlı Çokluortam Oynatıcı</summary>
<summary xml:lang="uk">Медіа-програвач на базі Qt</summary>
<summary xml:lang="zh_CN">基于Qt的多媒体播放器</summary>
<summary xml:lang="zh_TW">基于Qt的多媒體播放器</summary>
<description>
<p>
Qmmp is a cross-platform audio-player, written with the help of the Qt library.
It has two different user interfaces, Winamp/XMMS skins support and other features provided by plugins.
</p>
<p xml:lang="ru">
Qmmp является кросс-платформенным аудио-плеером, написанным с использованием библиотеки Qt.
Плеер имеет два различных пользовательских интерфейса, поддержку обложек Winamp/XMMS и другие возможности, предоставляемые модулями.
</p>
</description>
<categories>
<category>AudioVideo</category>
<category>Audio</category>
</categories>
<keywords>
<keyword>audio</keyword>
<keyword>multimedia</keyword>
<keyword>video</keyword>
<keyword xml:lang="es">audio</keyword>
<keyword xml:lang="es">multimedios</keyword>
<keyword xml:lang="es">video</keyword>
<keyword xml:lang="fr">audio</keyword>
<keyword xml:lang="fr">lecteur</keyword>
<keyword xml:lang="fr">multimédia</keyword>
<keyword xml:lang="fr">vidéo</keyword>
<keyword xml:lang="ru">аудио</keyword>
<keyword xml:lang="ru">мультимедиа</keyword>
<keyword xml:lang="ru">видео</keyword>
</keywords>
<content_rating type="oars-1.1" />
<url type="bugtracker">https://sourceforge.net/p/qmmp-dev/tickets/</url>
<url type="donation">https://qmmp.ylsoftware.com/index.php</url>
<url type="help">https://sourceforge.net/p/qmmp-dev/tickets/</url>
<url type="homepage">https://qmmp.ylsoftware.com/index.php</url>
<url type="translate">https://www.transifex.com/qmmp-development-team/</url>
<project_group>none</project_group>
<screenshots>
<screenshot type="default">
<image type="source">https://qmmp.ylsoftware.com/images/qmmp-0.9_full_2.png</image>
</screenshot>
<screenshot>
<image type="source">https://qmmp.ylsoftware.com/images/qmmp-0.9_full_1.png</image>
</screenshot>
<screenshot>
<image type="source">https://qmmp.ylsoftware.com/images/qmmp-1.4_full_1.png</image>
</screenshot>
<screenshot>
<image type="source">https://qmmp.ylsoftware.com/images/qmmp-1.4_full_2.png</image>
</screenshot>
</screenshots>
<launchable type="desktop-id">qmmp.desktop</launchable>
<update_contact>forkotov02_AT_ya.ru</update_contact>
<translation type="qt">qmmp</translation>
<developer_name>Qmmp Development Team</developer_name>
<releases>
<release version="2.1" date="2022-05-17" />
<release version="2.0" date="2022-03-28" />
<release version="1.6" date="2022-05-17" />
<release version="1.5" date="2022-03-28" />
<release version="1.4" date="2021-06-22" />
<release version="1.3" date="2021-06-22" />
<release version="1.2" date="2021-06-22" />
<release version="1.1" date="2021-06-22" />
<release version="1.0" date="2021-06-22" />
<release version="0.12" date="2022-05-24" />
<release version="0.11" date="2021-06-22" />
<release version="0.10" date="2021-06-22" />
<release version="0.9" date="2021-06-22" />
<release version="0.8" date="2021-06-22" />
<release version="0.7" date="2021-06-22" />
<release version="0.6" date="2021-06-22" />
<release version="0.5" date="2021-06-22" />
<release version="0.4" date="2021-06-22" />
<release version="0.3" date="2021-06-22" />
<release version="0.2" date="2021-06-22" />
<release version="0.1" date="2021-06-22" />
<release version="0.0" date="2021-06-22" />
</releases>
</component>

View File

@@ -0,0 +1,283 @@
/***************************************************************************
* Copyright (C) 2008-2022 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
#include <QApplication>
#include <QFileInfo>
#include <qmmp/soundcore.h>
#include <qmmpui/mediaplayer.h>
#include <qmmpui/uihelper.h>
#include <qmmpui/filedialog.h>
#include <qmmpui/uihelper.h>
#include <qmmpui/qmmpuisettings.h>
#include <qmmpui/playlistdownloader.h>
#include <qmmpui/playlistparser.h>
#include <qmmp/metadatamanager.h>
#include "builtincommandlineoption.h"
BuiltinCommandLineOption::BuiltinCommandLineOption(QObject *parent) : QObject(parent)
{
m_model = nullptr;
m_options << "--enqueue" << "-e"
<< "--play" << "-p"
<< "--pause" << "-u"
<< "--play-pause" << "-t"
<< "--stop" << "-s"
<< "--jump-to-file" << "-j"
<< "--quit" << "-q"
<< "--volume" << "--volume-status"
<< "--toggle-mute" << "--mute-status"
<< "--next" << "--previous"
<< "--toggle-visibility"
<< "--show-mw"
<< "--add-file" << "--add-dir";
#ifdef Q_OS_WIN
m_timer = new QTimer(this);
m_timer->setSingleShot(true);
m_timer->setInterval(500);
connect(m_timer, SIGNAL(timeout()), SLOT(addPendingPaths()));
#endif
}
BuiltinCommandLineOption::~BuiltinCommandLineOption()
{
}
// BuiltinCommandLineOption methods implementation
bool BuiltinCommandLineOption::identify(const QString &str) const
{
return m_options.contains(str);
}
const QStringList BuiltinCommandLineOption::helpString() const
{
return QStringList()
<< QString("-e, --enqueue") + "||" + tr("Don't clear the playlist")
<< QString("-p, --play") + "||" + tr("Start playing current song")
<< QString("-u, --pause") + "||" + tr("Pause current song")
<< QString("-t, --play-pause") + "||" + tr("Pause if playing, play otherwise")
<< QString("-s, --stop") + "||" + tr("Stop current song")
<< QString("-j, --jump-to-file") + "||" + tr("Display Jump to File dialog")
<< QString("-q, --quit") + "||" + tr("Quit application")
<< QString("--volume <0..100>") + "||" + tr("Set playback volume (example: qmmp --volume 20)")
<< QString("--volume-status") + "||" + tr("Print volume level")
<< QString("--toggle-mute") + "||" + tr("Mute/Restore volume")
<< QString("--mute-status") + "||" + tr("Print mute status")
<< QString("--next") + "||" + tr("Skip forward in playlist")
<< QString("--previous") + "||" + tr("Skip backwards in playlist")
<< QString("--toggle-visibility") + "||" + tr("Show/hide application")
<< QString("--show-mw") + "||" + tr("Show main window")
<< QString("--add-file") + "||" + tr("Display Add File dialog")
<< QString("--add-dir") + "||" + tr("Display Add Directory dialog");
}
QString BuiltinCommandLineOption::executeCommand(const QString &option_string, const QStringList &args, const QString &cwd)
{
SoundCore *core = SoundCore::instance();
MediaPlayer *player = MediaPlayer::instance();
PlayListManager *pl_manager = PlayListManager::instance();
QmmpUiSettings *settings = QmmpUiSettings::instance();
QString out;
if(!core || !player)
return out;
if(option_string == "--enqueue" || option_string == "-e" || option_string.isEmpty())
{
if(args.isEmpty())
return out;
QStringList full_path_list, remote_pls_list;
for(QString s : qAsConst(args))
{
#ifdef Q_OS_WIN
s.replace("\\","/");
#endif
if (QFileInfo(s).isAbsolute()) //absolute path
full_path_list << s;
else if(s.contains("://")) //url
{
if(PlayListParser::findByUrl(s)) //remote playlist
remote_pls_list << s;
else
full_path_list << s; //url
}
else //relative path
full_path_list << cwd + "/" + s;
}
//default playlist
if(settings->useDefaultPlayList())
{
if(!pl_manager->playListNames().contains(settings->defaultPlayListName()))
pl_manager->createPlayList(settings->defaultPlayListName());
pl_manager->selectPlayList(settings->defaultPlayListName());
}
pl_manager->activatePlayList(pl_manager->selectedPlayList());
m_model = pl_manager->selectedPlayList();
if(option_string.isEmpty())
{
m_model->clear(); //clear playlist if option is empty
m_pending_path_list << full_path_list;
#ifdef Q_OS_WIN
//windows starts instance for each selected file,
//so we should wait paths from all started qmmp instances
m_timer->start();
#else
addPendingPaths();
#endif
}
else
m_model->add(full_path_list);
if(!remote_pls_list.isEmpty())
{
PlayListDownloader *downloader = new PlayListDownloader(this);
connect(downloader, SIGNAL(finished(bool,QString)), downloader, SLOT(deleteLater()));
downloader->start(remote_pls_list.at(0), m_model);
}
}
else if (option_string == "--play" || option_string == "-p")
{
player->play();
}
else if (option_string == "--stop" || option_string == "-s")
{
core->stop();
}
else if (option_string == "--pause" || option_string == "-u")
{
if(core->state() == Qmmp::Playing)
core->pause();
}
else if (option_string == "--next")
{
player->next();
if (core->state() == Qmmp::Stopped)
player->play();
}
else if (option_string == "--previous")
{
player->previous();
if (core->state() == Qmmp::Stopped)
player->play();
}
else if (option_string == "--play-pause" || option_string == "-t")
{
if (core->state() == Qmmp::Playing)
core->pause();
else
player->play();
}
else if (option_string == "--jump-to-file" || option_string == "-j")
{
UiHelper::instance()->jumpToTrack();
}
else if (option_string == "--quit" || option_string == "-q")
{
qApp->closeAllWindows();
qApp->quit();
}
else if (option_string == "--toggle-visibility")
{
UiHelper::instance()->toggleVisibility();
}
else if (option_string == "--show-mw")
{
UiHelper::instance()->showMainWindow();
}
else if (option_string == "--add-file")
{
UiHelper::instance()->addFiles();
}
else if (option_string == "--add-dir")
{
UiHelper::instance()->addDirectory();
}
else if (option_string == "--volume" && !args.isEmpty())
{
bool ok = false;
int volume = args.at(0).toInt(&ok);
if (ok)
core->setVolume(volume,volume);
}
else if (option_string == "--volume-status")
{
out += QString("%1\n").arg(core->volume());
}
else if (option_string == "--toggle-mute")
{
core->setMuted(!core->isMuted());
}
else if (option_string == "--mute-status")
{
out += QString("%1\n").arg(core->isMuted());
}
return out;
}
QHash <QString, QStringList> BuiltinCommandLineOption::splitArgs(const QStringList &args) const
{
QHash <QString, QStringList> commands;
QString lastCmd;
for(const QString &arg : qAsConst(args))
{
QString cmd = arg.trimmed();
if(cmd.startsWith("-") || cmd.startsWith("--"))
{
commands.insert(cmd, QStringList());
lastCmd = cmd;
}
else if(!commands.isEmpty() && !lastCmd.isEmpty())
commands[lastCmd] << arg;
}
return commands;
}
void BuiltinCommandLineOption::disconnectPl()
{
if(m_model)
{
disconnect(m_model, SIGNAL(trackAdded(PlayListTrack*)), MediaPlayer::instance(), SLOT(play()));
disconnect(m_model, SIGNAL(trackAdded(PlayListTrack*)), this, SLOT(disconnectPl()));
disconnect(m_model, SIGNAL(loaderFinished()), this, SLOT(disconnectPl()));
m_model = nullptr;
}
}
void BuiltinCommandLineOption::addPendingPaths()
{
if(m_pending_path_list.isEmpty())
return;
SoundCore *core = SoundCore::instance();
MediaPlayer *player = MediaPlayer::instance();
PlayListManager *pl_manager = PlayListManager::instance();
if (core->state() != Qmmp::Stopped)
{
core->stop();
qApp->processEvents(); //receive stop signal
}
m_model = pl_manager->selectedPlayList();
m_model->clear();
connect(m_model, SIGNAL(trackAdded(PlayListTrack*)), player, SLOT(play()));
connect(m_model, SIGNAL(trackAdded(PlayListTrack*)), SLOT(disconnectPl()));
connect(m_model, SIGNAL(loaderFinished()), SLOT(disconnectPl()));
m_model->add(m_pending_path_list);
m_pending_path_list.clear();
}

View File

@@ -0,0 +1,63 @@
/***************************************************************************
* Copyright (C) 2008-2022 by Ilya Kotov *
* forkotov02@ya.ru *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
***************************************************************************/
#ifndef BUILTINCOMMANDLINEOPTION_H
#define BUILTINCOMMANDLINEOPTION_H
#include <QObject>
#include <QHash>
#include <QStringList>
#include <QTimer>
class PlayListModel;
/**
@author Vladimir Kuznetsov <vovanec@gmail.ru>
*/
/*!
* Represens command line option handling for standard operations.
*/
class BuiltinCommandLineOption : public QObject
{
Q_OBJECT
public:
BuiltinCommandLineOption(QObject *parent = nullptr);
~BuiltinCommandLineOption();
bool identify(const QString& str) const;
const QStringList helpString() const;
QString executeCommand(const QString &option, const QStringList &args, const QString &cwd);
QHash <QString, QStringList> splitArgs(const QStringList &args) const;
private slots:
void disconnectPl();
void addPendingPaths();
private:
QStringList m_options;
PlayListModel *m_model;
QStringList m_pending_path_list;
#ifdef Q_OS_WIN
QTimer *m_timer;
#endif
};
#endif

View File

@@ -0,0 +1,16 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt4-based Multimedia Player
GenericName=Audio player
Exec=qmmp %F
Icon=qmmp
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp-0 %F
Icon=qmmp-0
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Name[cs]=Qmmp
GenericName[cs]=Hudební přehrávač

View File

@@ -0,0 +1,20 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp %F
Icon=qmmp
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Icon[de]=qmmp
Name[de]=Qmmp
Comment[de]=Qt-basierter Multimediaabspieler
GenericName[de]=Audioabspieler

View File

@@ -0,0 +1,20 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp %F
Icon=qmmp
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Icon[el]=qmmp
Name[el]=Qmmp
Comment[el]=Αναπαραγωγέας πολυμέσων βασισμένος στην Qt
GenericName[el]=Αναπαραγωγέας ήχου

View File

@@ -0,0 +1,20 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp %F
Icon=qmmp
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Comment[es]=Reproductor de Medios basado sobre Qt
GenericName[es]=Reproductor de audio
Name[es]=Qmmp
Icon[es]=qmmp

View File

@@ -0,0 +1,20 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp %F
Icon=qmmp
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Icon[fi]=qmmp
Name[fi]=Qmmp
Comment[fi]=Qt-pohjainen multimediasoitin
GenericName[fi]=Äänisoitin

View File

@@ -0,0 +1,20 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp %F
Icon=qmmp
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Icon[fr]=qmmp
Name[fr]=Qmmp
Comment[fr]=Lecteur multimédia basé sur Qt
GenericName[fr]=Lecteur audio

View File

@@ -0,0 +1,20 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp %F
Icon=qmmp
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Icon[gl_ES]=qmmp
Name[gl_ES]=Qmmp
Comment[gl_ES]=Reproductor multimedia basado en Qt
GenericName[gl_ES]=Reproductor de audio

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp-0 %F
Icon=qmmp-0
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Name[he]=Qmmp
GenericName[he]=נגן שמע

View File

@@ -0,0 +1,16 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp-0 %F
Icon=qmmp-0
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations

View File

@@ -0,0 +1,20 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp %F
Icon=qmmp
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Icon[id]=qmmp
Name[id]=Qmmp
Comment[id]=Player Multimedia Berbasis Qt
GenericName[id]=Pemutar audio

View File

@@ -0,0 +1,20 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp %F
Icon=qmmp
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Comment[it]=Riproduttore audio basato su Qt (Qt-based Multimedia Player)
GenericName[it]=Riproduttore audio
Name[it]=Qmmp
Icon[it]=qmmp

View File

@@ -0,0 +1,16 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt4-based Multimedia Player
GenericName=Audio player
Exec=qmmp %F
Icon=qmmp
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations

View File

@@ -0,0 +1,20 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp %F
Icon=qmmp
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Icon[ko]=qmmp
Name[ko]=Qmmp
Comment[ko]=Qt 기반 멀티미디어 재생기
GenericName[ko]=오디오 재생기

View File

@@ -0,0 +1,20 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp %F
Icon=qmmp
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Icon[nl]=qmmp
Name[nl]=Qmmp
Comment[nl]=Op Qt gebaseerde multimediaspeler
GenericName[nl]=Audiospeler

View File

@@ -0,0 +1,20 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp %F
Icon=qmmp
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Icon[pl_PL]=qmmp
Name[pl_PL]=Qmmp
Comment[pl_PL]=Odtwarzacz multimedialny oparty na Qt
GenericName[pl_PL]=Odtwarzacz audio

View File

@@ -0,0 +1,20 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp %F
Icon=qmmp
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Comment[pt]=Reprodutor multimédia Qt-based
GenericName[pt]=Reprodutor áudio
Name[pt]=Qmmp
Icon[pt]=qmmp

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp-0 %F
Icon=qmmp-0
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Name[pt_BR]=Qmmp
GenericName[pt_BR]=Reprodutor de áudio

View File

@@ -0,0 +1,20 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp %F
Icon=qmmp
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Icon[ru]=qmmp
Name[ru]=Qmmp
Comment[ru]=Мультимедиа плеер на основе Qt
GenericName[ru]=Аудио-плеер

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp-0 %F
Icon=qmmp-0
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Name[sk]=Qmmp
GenericName[sk]=Prehrávač zvuku

View File

@@ -0,0 +1,17 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp-0 %F
Icon=qmmp-0
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Name[sr_RS]=Кумп

View File

@@ -0,0 +1,20 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp %F
Icon=qmmp
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Icon[sv]=qmmp
Name[sv]=Qmmp
Comment[sv]=Qt-baserad multimediaspelare
GenericName[sv]=Ljudspelare

View File

@@ -0,0 +1,16 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp-0 %F
Icon=qmmp-0
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt4-based Multimedia Player
GenericName=Audio player
Exec=qmmp %F
Icon=qmmp
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Comment[ru]=Мультимедійний програвач на базі Qt4
GenericName[ru]=Аудіо-програвач

View File

@@ -0,0 +1,20 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp %F
Icon=qmmp
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations
Icon[zh_CN]=qmmp
Name[zh_CN]=Qmmp
Comment[zh_CN]=基于 Qt 的多媒体播放器
GenericName[zh_CN]=音频播放器

View File

@@ -0,0 +1,16 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Exec=qmmp-0 %F
Icon=qmmp-0
Terminal=false
NoDisplay=true
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=inode/directory;
X-KDE-StartupNotify=false
# Translations

View File

@@ -0,0 +1,15 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp -e %F
Icon=qmmp
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;audio/x-ffmpeg-shorten;inode/directory;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations

View File

@@ -0,0 +1,15 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp-0 -e %F
Icon=qmmp-0
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;audio/x-ffmpeg-shorten;inode/directory;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp -e %F
Icon=qmmp
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/opus;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;audio/x-tta;audio/x-wavpack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Icon[de]=qmmp
Name[de]=In die Warteschlange von Qmmp einreihen
Comment[de]=Datei(en) zur Qmmp-Wiedergabeliste hinzufügen

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp -e %F
Icon=qmmp
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/opus;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;audio/x-tta;audio/x-wavpack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Icon[el]=qmmp
Name[el]=Στην ουρά αναμονής του Qmmp
Comment[el]=Προσθήκη αρχείου(ων) στη λίστα αναπαραγωγής Qmmp

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp -e %F
Icon=qmmp
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/opus;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;audio/x-tta;audio/x-wavpack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Comment[es]=Añadir archivo(s) a la lista de reproducción de Qmmp
Name[es]=Encolar en Qmmp
Icon[es]=qmmp

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp -e %F
Icon=qmmp
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/opus;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;audio/x-tta;audio/x-wavpack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Icon[fi]=qmmp
Name[fi]=Aseta jonoon Qmmp:ssä
Comment[fi]=Lisää tiedosto/tiedostoja Qmmp:n soittolistaan

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp -e %F
Icon=qmmp
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/opus;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;audio/x-tta;audio/x-wavpack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Icon[fr]=qmmp
Name[fr]=Mettre en queue dans Qmmp
Comment[fr]=Ajouter un ou des fichiers à la liste de Qmmp

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp -e %F
Icon=qmmp
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/opus;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;audio/x-tta;audio/x-wavpack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Icon[gl_ES]=qmmp
Name[gl_ES]=Engadir a Qmmp
Comment[gl_ES]=Engadir arquivo(s) a lista de reproducción de Qmmp

View File

@@ -0,0 +1,17 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp-0 -e %F
Icon=qmmp-0
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;audio/x-ffmpeg-shorten;inode/directory;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Name[he]=ספח לתוך Qmmp
Comment[he]=הוסף קבצים אל רשימת הניגון של Qmmp

View File

@@ -0,0 +1,15 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp-0 -e %F
Icon=qmmp-0
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;audio/x-ffmpeg-shorten;inode/directory;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp -e %F
Icon=qmmp
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/opus;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;audio/x-tta;audio/x-wavpack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Icon[id]=qmmp
Name[id]=Antrikan di Qmmp
Comment[id]=Tambah file(-file) ke daftarmain Qmmp

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp -e %F
Icon=qmmp
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/opus;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;audio/x-tta;audio/x-wavpack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Comment[it]=Aggiungi file alla scaletta di Qmmp
Name[it]=Accoda in Qmmp
Icon[it]=qmmp

View File

@@ -0,0 +1,15 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp -e %F
Icon=qmmp
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;audio/x-ffmpeg-shorten;inode/directory;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp -e %F
Icon=qmmp
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/opus;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;audio/x-tta;audio/x-wavpack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Icon[ko]=qmmp
Name[ko]=Qmmp의 대기열에 넣기
Comment[ko]=Qmmp 재생목록에 파일 추가

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp -e %F
Icon=qmmp
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/opus;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;audio/x-tta;audio/x-wavpack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Icon[nl]=qmmp
Name[nl]=Toevoegen aan Qmmp-wachtrij
Comment[nl]=Bestand(en) toevoegen aan Qmmp-afspeellijst

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp -e %F
Icon=qmmp
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/opus;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;audio/x-tta;audio/x-wavpack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Icon[pl_PL]=qmmp
Name[pl_PL]=Kolejkuj w Qmmp
Comment[pl_PL]=Dodaj plik(i) do listy odtwarzania Qmmp

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp -e %F
Icon=qmmp
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/opus;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;audio/x-tta;audio/x-wavpack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Comment[pt]=Adicionar ficheiro(s) à lista de reprodução do Qmmp
Name[pt]=Colocar na fila do Qmmp
Icon[pt]=qmmp

View File

@@ -0,0 +1,17 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp-0 -e %F
Icon=qmmp-0
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;audio/x-ffmpeg-shorten;inode/directory;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Name[pt_BR]=Colocar na fila do Qmmp
Comment[pt_BR]=Adicionar arquivo(s) à lista de reprodução do Qmmp

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp -e %F
Icon=qmmp
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/opus;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;audio/x-tta;audio/x-wavpack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Icon[ru]=qmmp
Name[ru]=Проиграть в Qmmp
Comment[ru]=Добавить файл(ы) в список воспроизведения Qmmp

View File

@@ -0,0 +1,17 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp-0 -e %F
Icon=qmmp-0
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;audio/x-ffmpeg-shorten;inode/directory;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Name[sk]=Zaradiť do fronty v Qmmp
Comment[sk]=Pridať súbory do zoznamu skladieb Qmmp

View File

@@ -0,0 +1,16 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp-0 -e %F
Icon=qmmp-0
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;audio/x-ffmpeg-shorten;inode/directory;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Name[sr_RS]=Стави у ред пуштања у Кумпу

View File

@@ -0,0 +1,16 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp -e %F
Icon=qmmp
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/opus;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;audio/x-tta;audio/x-wavpack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Icon[sv]=qmmp

View File

@@ -0,0 +1,15 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp-0 -e %F
Icon=qmmp-0
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;audio/x-ffmpeg-shorten;inode/directory;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations

View File

@@ -0,0 +1,17 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp -e %F
Icon=qmmp
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;audio/x-ffmpeg-shorten;inode/directory;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Comment[ru]=Додати файл(и) в перелік відтворення Qmmp
Name[ru]=Відтворити в Qmmp

View File

@@ -0,0 +1,18 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp -e %F
Icon=qmmp
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/opus;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;audio/x-tta;audio/x-wavpack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations
Icon[zh_CN]=qmmp
Name[zh_CN]=在Qmmp播放器中排队
Comment[zh_CN]=向Qmmp播放列表中添加(多个)文件

View File

@@ -0,0 +1,15 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Enqueue in Qmmp
Comment=Add file(s) to the Qmmp playlist
Exec=qmmp-0 -e %F
Icon=qmmp-0
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;audio/x-ffmpeg-shorten;inode/directory;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
Type=Application
X-KDE-StartupNotify=false
NoDisplay=true
Terminal=false
# Translations

View File

@@ -0,0 +1,13 @@
[Desktop Entry]
X-KDE-Solid-Predicate=[ StorageVolume.ignored == false AND OpticalDisc.availableContent & 'Audio' ]
Type=Service
Actions=open;
[Desktop Action open]
Name=Open with Qmmp
Exec=qmmp cdda://%d
Icon=qmmp
# Translations
Icon[de]=qmmp

View File

@@ -0,0 +1,14 @@
[Desktop Entry]
X-KDE-Solid-Predicate=[ StorageVolume.ignored == false AND OpticalDisc.availableContent & 'Audio' ]
Type=Service
Actions=open;
[Desktop Action open]
Name=Open with Qmmp
Exec=qmmp cdda://%d
Icon=qmmp
# Translations
Icon[el]=qmmp
Name[el]=Άνοιγμα με το Qmmp

View File

@@ -0,0 +1,14 @@
[Desktop Entry]
X-KDE-Solid-Predicate=[ StorageVolume.ignored == false AND OpticalDisc.availableContent & 'Audio' ]
Type=Service
Actions=open;
[Desktop Action open]
Name=Open with Qmmp
Exec=qmmp cdda://%d
Icon=qmmp
# Translations
Name[es]=Abrir con Qmmp
Icon[es]=qmmp

View File

@@ -0,0 +1,14 @@
[Desktop Entry]
X-KDE-Solid-Predicate=[ StorageVolume.ignored == false AND OpticalDisc.availableContent & 'Audio' ]
Type=Service
Actions=open;
[Desktop Action open]
Name=Open with Qmmp
Exec=qmmp cdda://%d
Icon=qmmp
# Translations
Icon[fi]=qmmp
Name[fi]=Avaa Qmmp:llä

View File

@@ -0,0 +1,13 @@
[Desktop Entry]
X-KDE-Solid-Predicate=[ StorageVolume.ignored == false AND OpticalDisc.availableContent & 'Audio' ]
Type=Service
Actions=open;
[Desktop Action open]
Name=Open with Qmmp
Exec=qmmp cdda://%d
Icon=qmmp
# Translations
Icon[fr]=qmmp

View File

@@ -0,0 +1,14 @@
[Desktop Entry]
X-KDE-Solid-Predicate=[ StorageVolume.ignored == false AND OpticalDisc.availableContent & 'Audio' ]
Type=Service
Actions=open;
[Desktop Action open]
Name=Open with Qmmp
Exec=qmmp cdda://%d
Icon=qmmp
# Translations
Icon[gl_ES]=qmmp
Name[gl_ES]=Abrir con Qmmp

View File

@@ -0,0 +1,13 @@
[Desktop Entry]
X-KDE-Solid-Predicate=[ StorageVolume.ignored == false AND OpticalDisc.availableContent & 'Audio' ]
Type=Service
Actions=open;
[Desktop Action open]
Name=Open with Qmmp
Exec=qmmp cdda://%d
Icon=qmmp
# Translations
Icon[id]=qmmp

View File

@@ -0,0 +1,14 @@
[Desktop Entry]
X-KDE-Solid-Predicate=[ StorageVolume.ignored == false AND OpticalDisc.availableContent & 'Audio' ]
Type=Service
Actions=open;
[Desktop Action open]
Name=Open with Qmmp
Exec=qmmp cdda://%d
Icon=qmmp
# Translations
Name[it]=Apri con Qmmp
Icon[it]=qmmp

View File

@@ -0,0 +1,14 @@
[Desktop Entry]
X-KDE-Solid-Predicate=[ StorageVolume.ignored == false AND OpticalDisc.availableContent & 'Audio' ]
Type=Service
Actions=open;
[Desktop Action open]
Name=Open with Qmmp
Exec=qmmp cdda://%d
Icon=qmmp
# Translations
Icon[ko]=qmmp
Name[ko]=Qmmp로 열기

View File

@@ -0,0 +1,14 @@
[Desktop Entry]
X-KDE-Solid-Predicate=[ StorageVolume.ignored == false AND OpticalDisc.availableContent & 'Audio' ]
Type=Service
Actions=open;
[Desktop Action open]
Name=Open with Qmmp
Exec=qmmp cdda://%d
Icon=qmmp
# Translations
Icon[nl]=qmmp
Name[nl]=Openen met Qmmp

View File

@@ -0,0 +1,14 @@
[Desktop Entry]
X-KDE-Solid-Predicate=[ StorageVolume.ignored == false AND OpticalDisc.availableContent & 'Audio' ]
Type=Service
Actions=open;
[Desktop Action open]
Name=Open with Qmmp
Exec=qmmp cdda://%d
Icon=qmmp
# Translations
Icon[pl_PL]=qmmp
Name[pl_PL]=Otwórz za pomocą Qmmp

View File

@@ -0,0 +1,14 @@
[Desktop Entry]
X-KDE-Solid-Predicate=[ StorageVolume.ignored == false AND OpticalDisc.availableContent & 'Audio' ]
Type=Service
Actions=open;
[Desktop Action open]
Name=Open with Qmmp
Exec=qmmp cdda://%d
Icon=qmmp
# Translations
Name[pt]=Abrir com Qmmp
Icon[pt]=qmmp

View File

@@ -0,0 +1,14 @@
[Desktop Entry]
X-KDE-Solid-Predicate=[ StorageVolume.ignored == false AND OpticalDisc.availableContent & 'Audio' ]
Type=Service
Actions=open;
[Desktop Action open]
Name=Open with Qmmp
Exec=qmmp cdda://%d
Icon=qmmp
# Translations
Icon[ru]=qmmp
Name[ru]=Открыть с помощью Qmmp

View File

@@ -0,0 +1,14 @@
[Desktop Entry]
X-KDE-Solid-Predicate=[ StorageVolume.ignored == false AND OpticalDisc.availableContent & 'Audio' ]
Type=Service
Actions=open;
[Desktop Action open]
Name=Open with Qmmp
Exec=qmmp cdda://%d
Icon=qmmp
# Translations
Icon[sv]=qmmp
Name[sv]=Öppna med Qmmp

View File

@@ -0,0 +1,13 @@
[Desktop Entry]
X-KDE-Solid-Predicate=[ StorageVolume.ignored == false AND OpticalDisc.availableContent & 'Audio' ]
Type=Service
Actions=open;
[Desktop Action open]
Name=Open with Qmmp
Exec=qmmp cdda://%d
Icon=qmmp
# Translations
Icon[zh_CN]=qmmp

View File

@@ -0,0 +1,37 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt4-based Multimedia Player
GenericName=Audio player
Keywords=player;audio;video;multimedia;
Exec=qmmp %F
Icon=qmmp
Terminal=false
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;
X-KDE-StartupNotify=false
Actions=Play;Pause;Stop;Previous;Next;
[Desktop Action Play]
Name=Play
Exec=qmmp --no-start --play
[Desktop Action Pause]
Name=Pause
Exec=qmmp --no-start --pause
[Desktop Action Stop]
Name=Stop
Exec=qmmp --no-start --stop
[Desktop Action Previous]
Name=Previous
Exec=qmmp --no-start --previous
[Desktop Action Next]
Name=Next
Exec=qmmp --no-start --next
# Translations

View File

@@ -0,0 +1,39 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Keywords=player;audio;video;multimedia;
Exec=qmmp-0 %F
Icon=qmmp-0
Terminal=false
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
X-KDE-StartupNotify=false
Actions=Play;Pause;Stop;Previous;Next;
[Desktop Action Play]
Name=Play
Exec=qmmp-0 --no-start --play
[Desktop Action Pause]
Name=Pause
Exec=qmmp-0 --no-start --pause
[Desktop Action Stop]
Name=Stop
Exec=qmmp-0 --no-start --stop
[Desktop Action Previous]
Name=Previous
Exec=qmmp-0 --no-start --previous
[Desktop Action Next]
Name=Next
Exec=qmmp-0 --no-start --next
# Translations
GenericName[cs]=Hudební přehrávač
Name[cs]=Qmmp

View File

@@ -0,0 +1,41 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Keywords=player;audio;video;multimedia;
Exec=qmmp %F
Icon=qmmp
Terminal=false
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/opus;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;audio/x-tta;audio/x-wavpack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
X-KDE-StartupNotify=false
Actions=Play;Pause;Stop;Previous;Next;
[Desktop Action Play]
Name=Play
Exec=qmmp --no-start --play
[Desktop Action Pause]
Name=Pause
Exec=qmmp --no-start --pause
[Desktop Action Stop]
Name=Stop
Exec=qmmp --no-start --stop
[Desktop Action Previous]
Name=Previous
Exec=qmmp --no-start --previous
[Desktop Action Next]
Name=Next
Exec=qmmp --no-start --next
# Translations
Comment[de]=Qt-basierter Multimediaabspieler
GenericName[de]=Audioabspieler
Name[de]=Qmmp
Icon[de]=qmmp

View File

@@ -0,0 +1,41 @@
[Desktop Entry]
X-Desktop-File-Install-Version=0.11
Name=Qmmp
Comment=Qt-based Multimedia Player
GenericName=Audio player
Keywords=player;audio;video;multimedia;
Exec=qmmp %F
Icon=qmmp
Terminal=false
Type=Application
Categories=AudioVideo;Player;Audio;Qt;
MimeType=application/x-ogg;audio/mp3;audio/mpeg;audio/flac;audio/opus;audio/x-mp3;audio/x-mpeg;audio/x-ms-wma;audio/x-musepack;audio/x-tta;audio/x-wavpack;application/ogg;audio/x-vorbis+ogg;audio/x-scpls;audio/x-mpegurl;audio/x-it;audio/x-mod;audio/x-s3m;audio/x-stm;audio/x-xm;audio/x-ape;application/x-cue;x-content/audio-cdda;audio/x-ffmpeg-shorten;audio/aac;audio/x-aac;audio/m4a;audio/x-m4a;
X-KDE-StartupNotify=false
Actions=Play;Pause;Stop;Previous;Next;
[Desktop Action Play]
Name=Play
Exec=qmmp --no-start --play
[Desktop Action Pause]
Name=Pause
Exec=qmmp --no-start --pause
[Desktop Action Stop]
Name=Stop
Exec=qmmp --no-start --stop
[Desktop Action Previous]
Name=Previous
Exec=qmmp --no-start --previous
[Desktop Action Next]
Name=Next
Exec=qmmp --no-start --next
# Translations
Comment[el]=Αναπαραγωγέας πολυμέσων βασισμένος στην Qt
GenericName[el]=Αναπαραγωγέας ήχου
Name[el]=Qmmp
Icon[el]=qmmp

Some files were not shown because too many files have changed in this diff Show More