[[Vorlage(Getestet, bionic)]] [[Vorlage(Fremd, Software, "Dieser Artikel beschreibt das Kompilieren und die manuelle Installation eines Programms und seiner Abhängigkeiten.")]] {{{#!vorlage Wissen [:Terminal: Ein Terminal bedienen] [:Git: Git verwenden] [:Editor: Einen Editor verwenden] [:Pakete_installieren: Installation von Programmen] [:Programme_kompilieren: Pakete aus dem Quellcode erstellen] }}} [[Inhaltsverzeichnis()]] [:mhWaveEdit:] bietet Unterstützung für eine Vielzahl von [:Soundsystem: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] {{{#!vorlage Befehl 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]: {{{#!vorlage Paketinstallation libgtk2.0-dev, für die [:GTK:]-Oberfläche libasound2-dev, für [:Soundsystem#ALSA:ALSA]-Unterstützung libsamplerate0-dev, für Audio-[wikipedia:Abtastratenkonvertierung:Resampling] libsndfile1-dev, universe, für den Umgang mit vielen Sound-Formaten, siehe auch [http://www.mega-nerd.com/libsndfile/ libsndfile] {en} libsdl1.2-dev, [wikipedia:Simple DirectMedia Layer:] 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: {{{#!vorlage 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 [:mhWaveEditor#Mixer-starten:Mixer-Anwendung] und die angepassten Abhängigkeiten für den `checkinstall`-Aufruf angegeben. == Beispiel PulseAudio == [[Bild(PulseAudio/pulseaudio.png, 32, right)]] Für die Verwendung von PulseAudio muss folgendes Paket installiert werden: {{{#!vorlage Paketinstallation libpulse-dev, für [:PulseAudio:] }}} PulseAudio wird als Standard-Treiber gesetzt, [:PulseAudio#pavucontrol:pavucontrol] als Mixer-Anwendung: {{{#!vorlage Befehl ./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 == [[Bild(JACK/Grafische_Konfiguration/jack.png, 32, right)]] 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 [wikipedia:Linux Audio Developer’s Simple Plugin API:LADSPA]-Plugins wird folgendes Paket zusätzlich benötigt: {{{#!vorlage Paketinstallation ladspa-sdk, universe }}} JACK wird als Standard-Treiber gesetzt und auf PulseAudio wird verzichtet. [:JACK/Grafische_Konfiguration#JackEQ:JackEQ] dient als Mixer-Anwendung: {{{#!vorlage Befehl ./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 [:JACK/Grafische_Konfiguration#Qjackctl: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''' - [:Soundsystem#ESD:ESD] * '''libportaudio-dev''' (''universe'') - [wikipedia_en:PortAudio:] * '''oss4-dev''' (''universe'') - [wikipedia:Open_Sound_System:] = Links = * [:mhWaveEdit:] - Hauptartikel #tag: Tonstudio