newsAdvanced Gtk+ Sequencer - News: GSequencer version 4.0.5 released

 
 
Latest News
Advanced Gtk+ Sequencer version 6.5.x posted by jkraehemann, Sun 11 Feb 2024 05:06:15 PM UTC
Advanced Gtk+ Sequencer version 6.3.5 posted by jkraehemann, Fri 19 Jan 2024 11:53:24 AM UTC
Advanced Gtk+ Sequencer v6.1.0 released posted by jkraehemann, Thu 28 Sep 2023 04:55:19 AM UTC
Advanced Gtk+ Sequencer v6.0.0 released posted by jkraehemann, Mon 21 Aug 2023 11:48:52 AM UTC
Advanced Gtk+ Sequencer v5.5.0 released posted by jkraehemann, Sat 05 Aug 2023 10:21:52 AM UTC

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.


 

Back to the top

Powered by Savane 3.13-f8d8.
Corresponding source code