Site Tools


documentation:development:opera:pf25:ppgfldr:smmfldr:gspfldr:12pgs070

tsp_algorithmic

Advanced sound player example showing algorithmic sequencing of sound playback.

Synopsis

tsp_algorithmic

Description

Assume you have two short sounds in memory and one long sound file with the following markers:

  • BEGIN beginning segment (attack)
  • Loop loop segment (sustain)
  • First Ending 1st ending segment (gap)
  • Second Ending 2nd ending segment (release, end)

END

Given this, algorithmically play the following sequence of sounds:

  • Segment What you should hear
  • long sound beginning segment attack
  • long sound loop segment sustain
  • long sound 1st ending segment gap
  • long sound loop segment sustain
  • long sound 2nd ending segment release, end
  • short sound 1 <blast>
  • long sound loop segment sustain
  • long sound 1st ending segment gap
  • long sound loop segment sustain
  • long sound 2nd ending segment release, end
  • short sound 2 <honk>

The technique used to implement this sequence involves the use of static branches, where one segment always leads into another, (e.g. after playing the 1st ending always go back to the loop segment), and decision functions where a conditional branching is required (e.g. from the end of the loop segment either go to the 1st or 2nd ending).

This also demonstrates using sounds spooled from disc and played directly from memory.

Associated Files

tsp_algorithmic.c

$samples, words.aiff

Location

examples/Audio/Advanced_Sound_Player

See Also

spCreatePlayer, ./12PGS073.html#XREF12413">tsp_switcher, ./12PGS071.html#XREF30384">tsp_rooms

documentation/development/opera/pf25/ppgfldr/smmfldr/gspfldr/12pgs070.txt · Last modified: 2022/10/10 16:53 by 127.0.0.1