newsAdvanced Gtk+ Sequencer - News: Goals of GSequencer 1.4.x

 
 
Latest News
Advanced Gtk+ Sequencer v2.3.2 released posted by jkraehemann, Tue 10 Sep 2019 07:32:44 AM UTC - 0 replies
Advanced Gtk+ Sequencer v2.3.x - implementing ags_filter_util.c posted by jkraehemann, Sun 18 Aug 2019 10:10:42 AM UTC - 0 replies
Further optimization in ags_audio_buffer_util.c posted by jkraehemann, Wed 07 Aug 2019 12:22:48 AM UTC - 0 replies
GCC builtin vector functions and a lock free soundcard buffer posted by jkraehemann, Mon 29 Jul 2019 03:36:31 PM UTC - 0 replies
Advanced Gtk+ Sequencer v2.2.5 released posted by jkraehemann, Tue 25 Jun 2019 06:43:09 PM UTC - 0 replies
[Submit News]
[85 news in archive]

Goals of GSequencer 1.4.x

Item posted by Joël Krähemann <jkraehemann> on Fri 05 Jan 2018 01:43:07 AM UTC.

The audio editor should be definitely available with this version. Since I really wanted to have the 4 paste modes available to you. I decided to post-pone the following goals:

  • implement AgsWaveWindow, AgsWaveEditor, AgsWaveToolbar and AgsWaveEdit
  • implement AgsSelectBuffer and AgsPositionAudioSignalCursor
  • implement AgsLevel, AgsLevelBox, AgsVLevelBox, AgsHScaleBox and AgsScrolledScaleBox in libags-gui
  • implement ags-capture-sound recall
  • implement ags-jit-buffer recall
  • implement ags-jit-copy recall
  • implement AgsAudiorec
  • implement AgsInputCollectionEditor, AgsInputListingEditor and AgsInputEditor

Just in time

There is going to be a JIT counterpart of ags-buffer and ags-copy recalls. I decided to use AgsAudioSignal with template flag getting modified by ags-capture-sound recall.

This recall is responsible to copy from AgsSoundcard to AgsAudioSignal template. Then come ags-jit-buffer or ags-jit-copy recall in. These recalls do continuous accept changes in the template AgsAudioSignal.

Currently ags-copy-pattern and ags-play-notation do create a copy of the template AgsAudioSignal as the pattern or notation wants a new AgsAudioSignal.

void ags_recycling_create_audio_signal_with_defaults(AgsRecycling *recycling,
                                                     AgsAudioSignal *audio_signal,
                                                     gdouble delay, guint attack);

AgsConcurrentAudioSignal

It seems obviously that we need to sub-type AGS_TYPE_AUDIO_SIGNAL and extend it with mutexes, the AgsConcurrentAudioSignal. It shall be locked by accessing its struct fields. 

GSequencer is able to perform lock free operations on audio data, because the AgsAudioSignal is tied to an AgsRecyclingContext. This usually means its own parallelism context is guaranteed.

New machine and widgets

AgsAudiorec machine shall give you the ability to interface with the ags-capture-sound recall. To configure the audio source you can use either AgsInputCollectionEditor or AgsInputEditor. They are provided by the AgsConnectionEditor, opened by activate appropriate machine's context menu entry.

AgsChannel:soundcard of AgsInput is used to assign the source of ags-capture-sound.

libags-gui.so.1 just got some new widgets. They are very familiar to AgsScale and related.

  • AgsLevel
  • AgsLevelBox
  • AgsVLevelBox
  • AgsHScaleBox
  • AgsScrolledScaleBox

by Joël

No messages in Goals of GSequencer 1.4.x

 

Back to the top


Powered by Savane 3.5