dsound.h File Reference

#include <config.h>
#include <time.h>
#include <unistd.h>

Include dependency graph for dsound.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  note_t
 the note structure describing a single note. More...

Defines

#define WHOLE   16
 Whole note in terms of sixteenths.
#define HALF   8
 Half note in terms of sixteenths.
#define QUARTER   4
 Quater note in terms of sixteenths.
#define EIGHTH   2
 Eighth note in terms of sixteenths.
#define PITCH_A0   0
 notePitches standard note pitch values
#define PITCH_Am0   1
#define PITCH_H0   2
#define PITCH_C1   3
#define PITCH_Cm1   4
#define PITCH_D1   5
#define PITCH_Dm1   6
#define PITCH_E1   7
#define PITCH_F1   8
#define PITCH_Fm1   9
#define PITCH_G1   10
#define PITCH_Gm1   11
#define PITCH_A1   12
#define PITCH_Am1   13
#define PITCH_H1   14
#define PITCH_C2   15
#define PITCH_Cm2   16
#define PITCH_D2   17
#define PITCH_Dm2   18
#define PITCH_E2   19
#define PITCH_F2   20
#define PITCH_Fm2   21
#define PITCH_G2   22
#define PITCH_Gm2   23
#define PITCH_A2   24
#define PITCH_Am2   25
#define PITCH_H2   26
#define PITCH_C3   27
#define PITCH_Cm3   28
#define PITCH_D3   29
#define PITCH_Dm3   30
#define PITCH_E3   31
#define PITCH_F3   32
#define PITCH_Fm3   33
#define PITCH_G3   34
#define PITCH_Gm3   35
#define PITCH_A3   36
#define PITCH_Am3   37
#define PITCH_H3   38
#define PITCH_C4   39
#define PITCH_Cm4   40
#define PITCH_D4   41
#define PITCH_Dm4   42
#define PITCH_E4   43
#define PITCH_F4   44
#define PITCH_Fm4   45
#define PITCH_G4   46
#define PITCH_Gm4   47
#define PITCH_A4   48
#define PITCH_Am4   49
#define PITCH_H4   50
#define PITCH_C5   51
#define PITCH_Cm5   52
#define PITCH_D5   53
#define PITCH_Dm5   54
#define PITCH_E5   55
#define PITCH_F5   56
#define PITCH_Fm5   57
#define PITCH_G5   58
#define PITCH_Gm5   59
#define PITCH_A5   60
#define PITCH_Am5   61
#define PITCH_H5   62
#define PITCH_C6   63
#define PITCH_Cm6   64
#define PITCH_D6   65
#define PITCH_Dm6   66
#define PITCH_E6   67
#define PITCH_F6   68
#define PITCH_Fm6   69
#define PITCH_G6   70
#define PITCH_Gm6   71
#define PITCH_A6   72
#define PITCH_Am6   73
#define PITCH_H6   74
#define PITCH_C7   75
#define PITCH_Cm7   76
#define PITCH_D7   77
#define PITCH_Dm7   78
#define PITCH_E7   79
#define PITCH_F7   80
#define PITCH_Fm7   81
#define PITCH_G7   82
#define PITCH_Gm7   83
#define PITCH_A7   84
#define PITCH_Am7   85
#define PITCH_H7   86
#define PITCH_C8   87
#define PITCH_Cm8   88
#define PITCH_D8   89
#define PITCH_Dm8   90
#define PITCH_E8   91
#define PITCH_F8   92
#define PITCH_Fm8   93
#define PITCH_G8   94
#define PITCH_Gm8   95
#define PITCH_A8   96
#define PITCH_PAUSE   97
 specify a pause (rest)
#define PITCH_MAX   98
 maximum pitch value
#define PITCH_END   255
 mark the end of a list of note_t entries
#define DSOUND_BEEP   0
 system sounds
#define DSOUND_SYS_MAX   1
 max system sound
#define DSOUND_DEFAULT_16th_ms   200
 default duration of 1/16th note in ms
#define DSOUND_DEFAULT_internote_ms   15
 default duration internote spacing in ms

Functions

static void dsound_play (const note_t *notes)
 play a sequence of notes
static void dsound_system (unsigned nr)
 play a system sound
static unsigned dsound_set_duration (unsigned duration)
 set duration of a 16th note in ms; return the previous duration.
static void dsound_set_internote (unsigned duration)
 set duration of inter-note spacing (subtracted from note duration)
static int dsound_playing (void)
 returns nonzero value if a sound is playing
wakeup_t dsound_finished (wakeup_t data)
 sound finished event wakeup function
void dsound_stop (void)
 stop playing sound

Variables

unsigned dsound_16th_ms
 length of 1/16 note in ms
unsigned dsound_internote_ms
 length of internote spacing in ms
volatile note_tdsound_next_note
 pointer to current note
volatile time_t dsound_next_time
 when to play next note
const note_tdsound_system_sounds []
 system sound data


Define Documentation

#define DSOUND_BEEP   0

system sounds

Definition at line 197 of file dsound.h.

Referenced by Sound::beep().

#define DSOUND_DEFAULT_16th_ms   200

default duration of 1/16th note in ms

Definition at line 204 of file dsound.h.

Referenced by show_on().

#define DSOUND_DEFAULT_internote_ms   15

default duration internote spacing in ms

Definition at line 207 of file dsound.h.

#define DSOUND_SYS_MAX   1

max system sound

Definition at line 200 of file dsound.h.

Referenced by dsound_system().

#define PITCH_END   255

mark the end of a list of note_t entries

Definition at line 193 of file dsound.h.

#define PITCH_MAX   98

maximum pitch value

Definition at line 190 of file dsound.h.

#define PITCH_PAUSE   97

specify a pause (rest)

Definition at line 187 of file dsound.h.


Function Documentation

wakeup_t dsound_finished ( wakeup_t  data  ) 

sound finished event wakeup function

static void dsound_play ( const note_t notes  )  [inline, static]

play a sequence of notes

Definition at line 234 of file dsound.h.

Referenced by dsound_system(), and Sound::play().

static int dsound_playing ( void   )  [inline, static]

returns nonzero value if a sound is playing

Definition at line 260 of file dsound.h.

Referenced by Sound::playing().

static unsigned dsound_set_duration ( unsigned  duration  )  [inline, static]

set duration of a 16th note in ms; return the previous duration.

Definition at line 246 of file dsound.h.

Referenced by Sound::duration(), and show_on().

static void dsound_set_internote ( unsigned  duration  )  [inline, static]

set duration of inter-note spacing (subtracted from note duration)

set to 0 for perfect legato.

Definition at line 255 of file dsound.h.

Referenced by Sound::internote().

void dsound_stop ( void   ) 

stop playing sound

Referenced by Sound::stop().

static void dsound_system ( unsigned  nr  )  [inline, static]

play a system sound

Definition at line 240 of file dsound.h.

References dsound_play(), and DSOUND_SYS_MAX.

Referenced by Sound::beep().


Variable Documentation

unsigned dsound_16th_ms

length of 1/16 note in ms

length of internote spacing in ms

pointer to current note

when to play next note

system sound data


brickOS is released under the Mozilla Public License.
Original code copyright 1998-2005 by the authors.

Generated on Thu May 8 16:12:10 2008 for brickOS Kernel Developer by doxygen 1.5.5