Advanced Gtk+ Sequencer - News: Advanced Gtk+ Sequencer v2.0.0 - new major release
Advanced Gtk+ Sequencer v2.0.0 - new major release
Item posted by Joël Krähemann <jkraehemann> on Mon 10 Sep 2018 03:20:12 AM UTC.
Yay, it is out. The work of a ½ year has finally arrived. It was February of 2018 I started to develop this release. My thoughts on it is GSequencer was never that great!
New features
There are 3 new machines, ready to use, available.
- AgsSpectrometer
- AgsEqualizer10
- AgsAudiorec
The spectrometer machine does visualize the frequency spectrum using the FFTW3 library.
The equalizer machine does resonance/gain adjustment using 10 band scales and additional pressure control.
The audio recorder can open large files organizing it in the AgsWave object. Further it provides the ability to assign input source to capture audio from your soundcard.
Configure input soundcard
ALSA, OSSv4, JACK Audio Connection Kit and Core Audio are yet supported recording soundcards. Yes, no pulseaudio so far.
The configuration is done as usual from preferences dialog. You might want to invoke it from main menu.
The wave form editor
You are able to assign the AgsAudiorec machine to the wave form editor. It supports copy & paste. Provides the usual tool dialogs.
API improvements and bug-fixes
There some notable API improvements resulting of revising every file in libags_audio.so.2.
There are some bug-fixes available related to MIDI import/export as well to the notation and automation editor. The changes are probably applied to 1.4.36. So there is going to be yet another 1.4.x release.
More intuitive
The dispatcher was reworked from scratch and AgsRecylingContext is used in a different way. Thought the 1.x series had straight forward inherited parallelism. Whereas 2.x limits it a bit but makes the handling much easier and less error prone.
But anyway recursive threaded tree is still not implemented. The objects doing this were even removed:
- AgsRecyclingThread and related
Better playback domain
The situation about AgsPlaybackDomain was problematic since prior it didn't distinguish between input and output. This changed now and following functions are available now:
/* add and remove */
void ags_playback_domain_add_playback(AgsPlaybackDomain *playback_domain,
GObject *playback, GType channel_type);
void ags_playback_domain_remove_playback(AgsPlaybackDomain *playback_domain,
GObject *playback, GType channel_type);
by Joël
Powered by Savane 3.14-8aba.
Corresponding source code