Kompilieren
Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:
Dieser Artikel ist mit keiner aktuell unterstützten Ubuntu-Version getestet! Bitte teste diesen Artikel für eine Ubuntu-Version, welche aktuell unterstützt wird. Dazu sind die Hinweise zum Testen von Artikeln zu beachten.
Hinweis!
Fremdsoftware kann das System gefährden.
Anmerkung: Dieser Artikel beschreibt das Kompilieren und die manuelle Installation eines Programms und seiner Abhängigkeiten.
Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:
mhWaveEdit bietet Unterstützung für eine Vielzahl von Soundsystemen. Das Paket aus den Ubuntu-Quellen unterstützt übliche Schnittstellen und bietet in der Regel aktuelle, stabile Versionen. Möchte man dennoch eine angepasste, optimierte oder neuere Version erstellen, bietet dieser Artikel einen Einstieg.
Quellcode¶
Der aktuelle Quellcode kann im Terminal[1] mit[2]
git clone https://salsa.debian.org/multimedia-team/mhwaveedit.git/
bezogen werden. Den entstehenden Ordner mhwaveedit mit der aktuellen Versionsnummer versehen, also z.B. mhwaveedit-1.4.24. In der Datei /src/sound-pulse.c muss, wenn PulseAudio verwendet werden soll, in einem Editor die Zeile
#include "int_box.h"
nach Zeile 23 eingefügt werden.
Abhängigkeiten¶
Folgende Pakete müssen vor dem Kompilieren des Quellcodes installiert werden [3]:
libgtk2.0-dev (für die GTK-Oberfläche)
libasound2-dev (für ALSA-Unterstützung)
libsamplerate0-dev (für Audio-Resampling)
libsndfile1-dev (universe, für den Umgang mit vielen Sound-Formaten, siehe auch libsndfile 🇬🇧)
libsdl1.2-dev (Simple DirectMedia Layer )
libpango1.0.0
Befehl zum Installieren der Pakete:
sudo apt-get install libgtk2.0-dev libasound2-dev libsamplerate0-dev libsndfile1-dev libsdl1.2-dev libpango1.0.0
Oder mit apturl installieren, Link: apt://libgtk2.0-dev,libasound2-dev,libsamplerate0-dev,libsndfile1-dev,libsdl1.2-dev,libpango1.0.0
Dies ist eine grundlegende Auswahl, weitere Pakete sollten passend zur eigenen Konfiguration gewählt werden. Die Konfigurationsmöglichkeiten werden weiter unten anhand von Beispielen erläutert. Dabei sind auch die weiteren Abhängigkeiten zum Bauen aufgeführt.
Kompilieren und Installieren¶
Anschließend kann der Quellcode mit dem gewohnten Dreischritt kompiliert und installiert werden [4], wobei durch Parameter der Kompilier-Prozess beeinflusst wird. Um eine vollständige Übersicht über mögliche Parameter zu erhalten, dient folgender Befehl:
./configure --help
Im Folgenden werden zwei Beispiele vorgestellt, die jeweils ALSA und zusätzlich PulseAudio oder JACK und LADSPA-Plugins unterstützen - aber keine weiteren Backends. Zusätzlich werden eine passende Mixer-Anwendung und die angepassten Abhängigkeiten für den checkinstall
-Aufruf angegeben.
Beispiel PulseAudio¶
Für die Verwendung von PulseAudio muss folgendes Paket installiert werden:
libpulse-dev (für PulseAudio)
Befehl zum Installieren der Pakete:
sudo apt-get install libpulse-dev
Oder mit apturl installieren, Link: apt://libpulse-dev
PulseAudio wird als Standard-Treiber gesetzt, pavucontrol als Mixer-Anwendung:
./configure --with-default-driver=PulseAudio --with-default-mixerapp=pavucontrol --without-portaudio --without-esound --without-arts --without-oss --without-jack make sudo checkinstall --requires "libasound2, libatk1.0-0, libc6, libcairo2, libfontconfig1, libfreetype6, libglib2.0-0, libgtk2.0-0, libpango1.0-0, libsamplerate0, libsndfile1, libpulse0"
Beispiel JACK und LADSPA¶
Für die Unterstützung von JACK muss je nach Ubuntu- und JACK-Version das passende Entwicklerpaket installiert werden. Ab Ubuntu 14.04 hat man die Wahl zwischen libjack-dev für JACK und libjack-jackd2-dev für JACK 2,
Für die LADSPA-Plugins wird folgendes Paket zusätzlich benötigt:
ladspa-sdk (universe)
Befehl zum Installieren der Pakete:
sudo apt-get install ladspa-sdk
Oder mit apturl installieren, Link: apt://ladspa-sdk
JACK wird als Standard-Treiber gesetzt und auf PulseAudio wird verzichtet. JackEQ dient als Mixer-Anwendung:
./configure --with-default-driver=jack --with-default-mixerapp=jackeq --without-portaudio --without-esound --without-arts --without-oss --without-pulseaudio make sudo checkinstall --requires "libasound2, libatk1.0-0, libc6, libcairo2, libfontconfig1, libfreetype6, libglib2.0-0, libgtk2.0-0, libpango1.0-0, libsamplerate0, libsndfile1, libjack0"
Bei Verwendung von JACK 2 muss entsprechend statt
libjack0
libjack-jackd2-0
angegeben werden.Statt JackEQ ist hier unter Umständen auch die direkte Verwendung von Qjackctl interessant.
Weitere Backends¶
In diesem Artikel wird nicht auf alle unterstützten Backends eingegangen. Die nötigen Entwickler-Pakete für weitere Schnittstellen sind im Einzelnen:
libesd0-dev - ESD
libportaudio-dev (universe) - PortAudio
oss4-dev (universe) - Open_Sound_System
Links¶
mhWaveEdit - Hauptartikel