newsAdvanced Gtk+ Sequencer - News: GSequencer v2.0.0 - forecast

 
 
Latest News
GSequencer v3.6.x release goals posted by jkraehemann, Fri 31 Jul 2020 10:17:04 AM UTC - 0 replies
GSequencer v3.4.x release goals posted by jkraehemann, Thu 11 Jun 2020 06:58:14 PM UTC - 0 replies
GSequencer v3.3.x replaced all recalls by ags-fx engine posted by jkraehemann, Wed 20 May 2020 07:25:15 AM UTC - 0 replies
Refactor GSequencer's recalls - the ags-fx engine posted by jkraehemann, Sun 03 May 2020 12:08:19 AM UTC - 0 replies
GSequencer v3.3.x release goals posted by jkraehemann, Fri 17 Apr 2020 12:36:11 PM UTC - 0 replies
[Submit News]
[97 news in archive]

GSequencer v2.0.0 - forecast

Item posted by Joël Krähemann <jkraehemann> on Tue 06 Feb 2018 03:04:57 PM UTC.

The Advanced Gtk+ Sequencer branch 2.0.x was just created, few days ago. First a big refactoring will take place. I have tried to figure out common enumerations and specify them in ags/audio/ags_sound_enums.h. It looks currently like:

typedef enum{
  AGS_SOUND_ABILITY_PLAYBACK            = 1,
  AGS_SOUND_ABILITY_NOTATION            = 1 <<  1,
  AGS_SOUND_ABILITY_SEQUENCER           = 1 <<  2,
  AGS_SOUND_ABILITY_WAVE                = 1 <<  3,
  AGS_SOUND_ABILITY_MIDI                = 1 <<  4,
}AgsSoundAbilityFlags;

typedef enum{
  AGS_SOUND_BEHAVIOUR_PATTERN_MODE           = 1,
  AGS_SOUND_BEHAVIOUR_BULK_MODE              = 1 <<  1,
  AGS_SOUND_BEHAVIOUR_REVERSE_MAPPING        = 1 <<  2,
  AGS_SOUND_BEHAVIOUR_DEFAULTS_TO_OUTPUT     = 1 <<  3,
  AGS_SOUND_BEHAVIOUR_DEFAULTS_TO_INPUT      = 1 <<  4,
  AGS_SOUND_BEHAVIOUR_CHAINED_TO_OUTPUT      = 1 <<  5,
  AGS_SOUND_BEHAVIOUR_CHAINED_TO_INPUT       = 1 <<  6,
  AGS_SOUND_BEHAVIOUR_PERSISTENT             = 1 <<  7,
  AGS_SOUND_BEHAVIOUR_PERSISTENT_PLAYBACK    = 1 <<  8,
  AGS_SOUND_BEHAVIOUR_PERSISTENT_NOTATION    = 1 <<  9,
  AGS_SOUND_BEHAVIOUR_PERSISTENT_SEQUENCER   = 1 << 10,
  AGS_SOUND_BEHAVIOUR_PERSISTENT_WAVE        = 1 << 11,
  AGS_SOUND_BEHAVIOUR_PERSISTENT_MIDI        = 1 << 12,
  AGS_SOUND_BEHAVIOUR_PROPAGATE_DONE         = 1 << 13,
}AgsSoundBehaviourFlags;

typedef enum{
  AGS_SOUND_SCOPE_PLAYBACK,
  AGS_SOUND_SCOPE_NOTATION,
  AGS_SOUND_SCOPE_SEQUENCER,
  AGS_SOUND_SCOPE_WAVE,
  AGS_SOUND_SCOPE_MIDI,
  AGS_SOUND_SCOPE_LAST,
}AgsSoundScope;

typedef enum{
  AGS_SOUND_STAGING_CHECK_RT_DATA       = 1,
  AGS_SOUND_STAGING_RUN_INIT_PRE        = 1 <<  1,
  AGS_SOUND_STAGING_RUN_INIT_INTER      = 1 <<  2,
  AGS_SOUND_STAGING_RUN_INIT_POST       = 1 <<  3,
  AGS_SOUND_STAGING_FEED_INPUT_QUEUE    = 1 <<  4,
  AGS_SOUND_STAGING_AUTOMATE            = 1 <<  5,
  AGS_SOUND_STAGING_RUN_PRE             = 1 <<  6,
  AGS_SOUND_STAGING_RUN                 = 1 <<  7,
  AGS_SOUND_STAGING_RUN_POST            = 1 <<  8,
  AGS_SOUND_STAGING_DO_FEEDBACK         = 1 <<  9,
  AGS_SOUND_STAGING_FEED_OUTPUT_QUEUE   = 1 << 10,
  AGS_SOUND_STAGING_CANCEL              = 1 << 11,
  AGS_SOUND_STAGING_DONE                = 1 << 12,
  AGS_SOUND_STAGING_REMOVE              = 1 << 13,
}AgsSoundStagingFlags;

tyepdef enum{
  AGS_SOUND_STATE_IS_WAITING                  = 1,
  AGS_SOUND_STATE_IS_ACTIVE                   = 1 <<  1,
  AGS_SOUND_STATE_IS_PROCESSING               = 1 <<  2,
  AGS_SOUND_STATE_IS_TERMINATING              = 1 <<  3,
}AgsSoundStateFlags;

Resources only per ability

To distinguish what an AgsAudio or alike can do and what no, the AgsSoundAbilityFlags was created.

Behaviour of processing

Processing audio data has got many flavors and are updated, too.

The 5 scopes

The highlight are definitively the specified scopes. 2 of them are completely new: AGS_SCOPE_WAVE and AGS_SCOPE_MIDI. A scope is usually processed by its own thread. AgsWave has yet been added to the source code and is yet ready for use. But the addition of AgsMidi is still missing. It shall be able to record raw MIDI data and store it as SMF.

Staging specification

Better semantics of what is processed seems to be necessary as extending the capabilities of GSequencer.

State handling

An other common enumeration is done to tell what state the scope currently is in.

No messages in GSequencer v2.0.0 - forecast

 

Back to the top


Powered by Savane 3.5