ubuntuusers.de

Kompilieren

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Hinweis!

Fremdsoftware kann das System gefährden.


Anmerkung: Dieser Artikel beschreibt das Kompilieren und die manuelle Installation eines Programms und seiner Abhängigkeiten.

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

Paketliste zum Kopieren:

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

PulseAudio/pulseaudio.png Für die Verwendung von PulseAudio muss folgendes Paket installiert werden:

Paketliste zum Kopieren:

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

JACK/Grafische_Konfiguration/jack.png 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)

Paketliste zum Kopieren:

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:

Diese Revision wurde am 3. Februar 2020 18:13 von Heinrich_Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Tonstudio