Advanced Gtk+ Sequencer - News
GSequencer version 4.0.5 released
Item posted by Joël Krähemann <jkraehemann> on Tue 24 May 2022 05:54:00 PM UTC.
Today, we released the new GSequencer major release version 4.0.0.
I was working on the version 4.0.x branch for 6 months. We migrated to Gtk4 and libsoup-3.0.
The migration to Gtk4 was a big task. Implementing GtkOrientable was a thing and for sure the removal of GtkContainer. But with these changes we have a better libgsequencer.so, now. The introduction of AgsConnectableFlags was affecting many objects in following shared libraries: libags.so, libags_thread.so, libags_server.so and libags_audio.so.
The hamburger menu replaced the traditional menubar, but it is still available. The editor's machine selector widget has seen some changes. You enable or disable machines by a popover menu. The machines are in order of machine's vertical box.
The wave form editor clipboard was fixed.
uniform API for utility functions
For all audio processing functions we have a matching utility header. The audio processing functions are tied to a boxed type. This struct allows you to prefault memory and adjusting parameters.
- ags/audio/ags_chorus_util.h
- ags/audio/ags_envelope_util.h
- ags/audio/ags_fast_pitch_util.h
- ags/audio/ags_fluid_iir_filter_util.h
- ags/audio/ags_fluid_interpolate_4th_order_util.h
- ags/audio/ags_fluid_interpolate_7th_order_util.h
- ags/audio/ags_fluid_interpolate_linear_util.h
- ags/audio/ags_fluid_interpolate_none_util.h
- ags/audio/ags_fm_synth_util.h
- ags/audio/ags_frequency_aliase_util.h
- ags/audio/ags_hq_pitch_util.h
- ags/audio/ags_lfo_synth_util.h
- ags/audio/ags_linear_interpolate_util.h
- ags/audio/ags_noise_util.h
- ags/audio/ags_peak_util.h
- ags/audio/ags_phase_shift_util.h
- ags/audio/ags_resample_util.h
- ags/audio/ags_sf2_synth_util.h
- ags/audio/ags_sfz_synth_util.h
- ags/audio/ags_synth_util.h
- ags/audio/ags_time_stretch_util.h
- ags/audio/ags_volume_util.h
Common fields for audio buffers are destination, destination_stride, source and source_stride or for presets buffer_length, format and samplerate. The struct's fields have getter/setter functions in general.
The format field was unified to use these formats:
- AGS_SOUNDCARD_SIGNED_8_BIT
- AGS_SOUNDCARD_SIGNED_16_BIT
- AGS_SOUNDCARD_SIGNED_24_BIT
- AGS_SOUNDCARD_SIGNED_32_BIT
- AGS_SOUNDCARD_SIGNED_64_BIT
- AGS_SOUNDCARD_FLOAT
- AGS_SOUNDCARD_DOUBLE
- AGS_SOUNDCARD_COMPLEX
The destination and source field usually have got the very same format. The functions take 1 argument, the box type struct as a pointer.
Powered by Savane 3.14-3b9d.
Corresponding source code