1 # currently needs to be installed into an environment and needs a `kbuildsycoca5` run afterwards for plugin discovery
42 withUnfreeAac ? false,
60 assert withAac -> withFfmpeg || withUnfreeAac;
61 assert withUnfreeAac -> withAac;
66 ++ lib.optional withCD cdparanoia
67 ++ lib.optional withFlac flac
68 ++ lib.optional withSpeex speex
69 ++ lib.optional withFfmpeg ffmpeg-full
70 ++ lib.optional withMplayer mplayer
71 ++ lib.optional withSox sox
72 ++ lib.optional withOpus opusTools
73 ++ lib.optional withTwolame twolame
74 ++ lib.optional withApe monkeysAudio
75 ++ lib.optional withWavpack wavpack
76 ++ lib.optional withUnfreeAac faac
77 ++ lib.optionals withMidi [
81 ++ lib.optionals withVorbis [
85 ++ lib.optionals withMp3 [
89 ++ lib.optionals withAac [
96 pname = "soundkonverter";
98 src = fetchFromGitHub {
100 repo = "soundkonverter";
102 sha256 = "1g2khdsjmsi4zzynkq8chd11cbdhjzmi37r9jhpal0b730nq9x7l";
105 # already merged into master, so it can go during the next release
107 url = "https://patch-diff.githubusercontent.com/raw/dfaust/soundkonverter/pull/87.patch";
108 sha256 = "sha256-XIpD4ZMTZVcu+F27OtpRy51H+uQgpd5l22IZ6XsD64w=";
109 name = "soundkonverter_taglib.patch";
114 nativeBuildInputs = [
121 propagatedBuildInputs = [
134 buildInputs = [ taglib ] ++ runtimeDeps;
135 # encoder plugins go to ${out}/lib so they're found by kbuildsycoca5
136 cmakeFlags = [ "-DCMAKE_INSTALL_PREFIX=$out" ];
137 sourceRoot = "${src.name}/src";
138 # add runt-time deps to PATH
140 wrapProgram $out/bin/soundkonverter --prefix PATH : ${lib.makeBinPath runtimeDeps}
143 homepage = "https://github.com/dfaust/soundkonverter";
144 license = lib.licenses.gpl2;
145 maintainers = [ lib.maintainers.schmittlauch ];
146 description = "Audio file converter, CD ripper and Replay Gain tool";
147 mainProgram = "soundkonverter";
149 soundKonverter is a frontend to various audio converters.
151 The key features are:
152 - Audio file conversion
153 - Replay Gain calculation
156 soundKonverter supports reading and writing tags and covers for many formats, so they are preserved when converting files.
158 It is extendable by plugins and supports many backends including:
160 - Audio file conversion
161 Backends: faac, faad, ffmpeg, flac, lame, mplayer, neroaac, timidity, fluidsynth, vorbistools, opustools, sox, twolame,
162 flake, mac, shorten, wavpack and speex
163 Formats: ogg vorbis, mp3, flac, wma, aac, ac3, opus, alac, mp2, als, amr nb, amr wb, ape, speex, m4a, mp1, musepack shorten,
164 tta, wavpack, ra, midi, mod, 3gp, rm, avi, mkv, ogv, mpeg, mov, mp4, flv, wmv and rv
166 - Replay Gain calculation
167 Backends: aacgain, metaflac, mp3gain, vorbisgain, wvgain, mpcgain
168 Formats: aac, mp3, flac, ogg vorbis, wavpack, musepack