newsAdvanced Gtk+ Sequencer - News

 
 

Advanced Gtk+ Sequencer version 7.0.x announcement

Item posted by Joël Krähemann <jkraehemann> on Sun 13 Oct 2024 09:43:06 AM UTC.

Highlights of the new major release of GSequencer are the use of AgsVector256Manager resulting in better optimized vector intrinsic operations and support for MIDI version 1 and 2 control change messages. Further MIDI version 2 record ability of ags-fx-notation and ags-fx-envelope with enable LFO port.

Some refactorings have taken place, too. Resulting in some ABI breakage.

The AgsVector256Manager provding prefaulted vector arrays


Following new functions are provided by this object:


Usual use-case is you try acquire some buffers perform vector operations on prefaulted memory and then release the buffer, again.


AgsVector256Manager *vector_256_manager = ags_vector_256_manager_get_instance();

AgsVectorArr *buffer_arr;

guint j;

while((buffer_arr = ags_vector_256_manager_try_acquire(vector_256_manager,
                                                       AGS_VECTOR_256_SIGNED_16_BIT)) != NULL){
  g_thread_yield();
}

  // call audio buffer fill functions
  // then perform vector operations
  // and call audio buffer fetch functions

ags_vector_256_manager_release(vector_256_manager,
                               buffer_arr);


Improved MIDI version 1 and 2 support


AgsRecall has seen some updates and has got support to poll for MIDI control change messages. These are the new AgsRecallFlags introduced:



These new functions support hash tables mapping control change messages and to poll for those messages:


ags-fx-notation is now capable to consume MIDI version 2 key-on and key-off messages.

ags-fx-envelope with enable LFO port


AgsEnvelopeUtil supports now to apply a LFO resulting in smoother envelope, it is triggered by AgsFxEnvelopeAudio:enable-lfo property as AgsPort.

Deprecated functions






by Joël

Back to the top

Powered by Savane 3.14-8aba.
Corresponding source code