GSequencer
GSequencer
| |
---|---|
Logo von Advanced Gtk+ Sequencer | |
Basisdaten
| |
Maintainer | Joël Krähemann |
Entwickler | Lua-Fehler in Modul:Wikidata, Zeile 639: attempt to index field 'wikibase' (a nil value) |
Erscheinungsjahr | Lua-Fehler in Modul:Wikidata, Zeile 639: attempt to index field 'wikibase' (a nil value) |
Aktuelle Version | 0.7.67 (18. September 2016) |
Aktuelle Vorabversion | 0.7.67 (18. September 2016) |
Betriebssystem | Linux, FreeBSD |
Programmiersprache | C |
Kategorie | Digital Audio Workstation |
Lizenz | GPLv3 |
http://nongnu.org/gsequencer |
Advanced Gtk+ Sequencer ist der generische Name eines Audio-Sequencer Framework ursprünglich entwickelt für GNU/Linux und dessen Ein-/Ausgabe-Bibliothek ALSA. Mittlerweilen enthält es Ausgabe-Schnittstellen für Open Sound System v4.0 und JACK Audio Connection Kit. GSequencer ist das Programm von dem folgende Bibliotheken abgeleited sind:
- libags.so
- libags_thread.so
- libags_server.so
- libags_audio.so
- libags_gui.so
- libgsequencer.so
Es beinhalted einen integrierten Notationseditor und Patterneditor, die Copy & Paste unterstützen und zudem Atk Schnittstellen implementieren. Mit GSequencer kann man mittels der GUI Netzwerke von Drum-, Matrix-Sequencern, Soundfont2-Players, Softsynths, Mixern und einem Ausgabe-Panels erstellen. Unterstützt werden offene Pluginformate wie LADSPA, DSSI und Lv2. Wobei für Synthesizer-Plugins der Notationseditor zur Verfügung steht. GSequencer bietet einen Automationseditor, mit dem man Ports automatisieren kann.
Ein weiteres Programm das mit GSequencer packetiert wird, ist midi2xml, das forwiegend von dem MIDI parser, der in libags_audio vorhanden ist, abhängt. Die Bibliotheken sind in einer Objekt-Orientierten Art programmiert. Dabei baut es auf dem GObject-Typsystem auf und verirbt forwiegend von GObject und erstellt Composite-Widgets für die GUI.
libags, libags_thread und libags_server[Bearbeiten]
Diese Bibliotheken beinhalten den AgsApplicationContext und AgsThreadApplicationContext, welche die Grundlage für weitere Kontizen bilden. Funktionalität wird mittels Interfaces hinzugefügt und abgerufen. Diese lösen Schnittstellen für übliche Probleme, Parallelismus mittels AgsThread und Synchronisation auf das ::clock Signal, als auch mit dem AgsMainLoop Interface. Der Multi-Threaded Baum wird 1000 mal pro Sekunde synchronisiert, wobei das AgsMainLoop Interface vom Toplevel-Thread implementiert wird und den Takt angiebt. Persistierung kann mittels XML und XPath gelöst werden, dafür gibt es das AgsFile Objekt.
libags_audio[Bearbeiten]
Beinhaltet die Audio Sequencer und Soundkarten Schnittstelle für die Audio-Baumstruktur, geformt durch AgsAudio, AgsChannel, AgsRecycling und AgsAudioSignal. Advanced Gtk+ Sequencer unterscheidet zwischen 3 Geltungsbereichen für paralleles Verarbeiten der Baumstruktur: Playback, Sequencer und Notation. Wobei es für jene jeweils eine AgsRecallID für playback oder recall gibt, die den AgsRecyclingContext bilden. Die AgsRecallID unterscheidet dies, um eine verfeinerte Kontrolle über die Rekursion zu erhalten.
libgsequencer[Bearbeiten]
Ist die private Bibliothek für GSequencer.
Siehe auch[Bearbeiten]
Weblinks[Bearbeiten]
![](https://upload.wikimedia.org/wikipedia/commons/thumb/4/4a/Commons-logo.svg/langde-12px-Commons-logo.svg.png)
Diese artikel "GSequencer" ist von Wikipedia The list of its authors can be seen in its historical.