Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
Macros | Functions
playback.c File Reference
#include <ultra64.h>
#include <macros.h>
#include "memory.h"
#include "data.h"
#include "load.h"
#include "seqplayer.h"
#include "playback.h"
#include "synthesis.h"
#include "effects.h"

Macros

#define PREPEND(item, head_arg)
 
#define POP(item)
 

Functions

s32 note_init_for_layer (struct Note *note, struct SequenceChannelLayer *seqLayer)
 
void func_80318870 (struct Note *note)
 
void note_disable2 (struct Note *note)
 
void func_80318908 (void)
 
void seq_channel_layer_decay_release_internal (struct SequenceChannelLayer *seqLayer, s32 target)
 
void seq_channel_layer_note_decay (struct SequenceChannelLayer *seqLayer)
 
void seq_channel_layer_note_release (struct SequenceChannelLayer *seqLayer)
 
void func_80318F04 (struct Note *note, struct SequenceChannelLayer *seqLayer)
 
void func_80319164 (struct Note *note, struct SequenceChannelLayer *seqLayer)
 
void init_note_list (struct AudioListItem *list)
 
void init_note_lists (struct NotePool *pool)
 
void init_note_free_list (void)
 
void note_pool_clear (struct NotePool *pool)
 
void note_pool_fill (struct NotePool *pool, s32 count)
 
void audio_list_push_front (struct AudioListItem *list, struct AudioListItem *item)
 
void audio_list_remove (struct AudioListItem *item)
 
struct Notepop_node_with_value_less_equal (struct AudioListItem *list, s32 limit)
 
void func_80319728 (struct Note *note, struct SequenceChannelLayer *seqLayer)
 
void note_release_and_take_ownership (struct Note *note, struct SequenceChannelLayer *seqLayer)
 
struct Notealloc_note_from_disabled (struct NotePool *pool, struct SequenceChannelLayer *seqLayer)
 
struct Notealloc_note_from_decaying (struct NotePool *pool, struct SequenceChannelLayer *seqLayer)
 
struct Notealloc_note_from_active (struct NotePool *pool, struct SequenceChannelLayer *seqLayer)
 
struct Notealloc_note (struct SequenceChannelLayer *seqLayer)
 
void func_80319BC8 (void)
 
void note_init_all (void)
 

Macro Definition Documentation

◆ POP

#define POP (   item)
Value:
((it = (item), it->prev == NULL) \
? it \
: (it->prev->next = it->next, it->next->prev = it->prev, it->prev = NULL, it))
#define NULL
Definition: mbi.h:101

◆ PREPEND

#define PREPEND (   item,
  head_arg 
)
Value:
((it = (item), it->prev != NULL) \
? it \
: (it->prev = (head_arg), it->next = (head_arg)->next, (head_arg)->next->prev = it, \
(head_arg)->next = it, (head_arg)->u.count++, it->pool = (head_arg)->pool, it))
#define NULL
Definition: mbi.h:101

Function Documentation

◆ alloc_note()

struct Note* alloc_note ( struct SequenceChannelLayer seqLayer)

◆ alloc_note_from_active()

struct Note* alloc_note_from_active ( struct NotePool pool,
struct SequenceChannelLayer seqLayer 
)

◆ alloc_note_from_decaying()

struct Note* alloc_note_from_decaying ( struct NotePool pool,
struct SequenceChannelLayer seqLayer 
)

◆ alloc_note_from_disabled()

struct Note* alloc_note_from_disabled ( struct NotePool pool,
struct SequenceChannelLayer seqLayer 
)

◆ audio_list_push_front()

void audio_list_push_front ( struct AudioListItem list,
struct AudioListItem item 
)

◆ audio_list_remove()

void audio_list_remove ( struct AudioListItem item)

◆ func_80318870()

void func_80318870 ( struct Note note)

◆ func_80318908()

void func_80318908 ( void  )

◆ func_80318F04()

void func_80318F04 ( struct Note note,
struct SequenceChannelLayer seqLayer 
)

◆ func_80319164()

void func_80319164 ( struct Note note,
struct SequenceChannelLayer seqLayer 
)

◆ func_80319728()

void func_80319728 ( struct Note note,
struct SequenceChannelLayer seqLayer 
)

◆ func_80319BC8()

void func_80319BC8 ( void  )

◆ init_note_free_list()

void init_note_free_list ( void  )

◆ init_note_list()

void init_note_list ( struct AudioListItem list)

◆ init_note_lists()

void init_note_lists ( struct NotePool pool)

◆ note_disable2()

void note_disable2 ( struct Note note)

◆ note_init_all()

void note_init_all ( void  )

◆ note_init_for_layer()

s32 note_init_for_layer ( struct Note note,
struct SequenceChannelLayer seqLayer 
)

◆ note_pool_clear()

void note_pool_clear ( struct NotePool pool)

◆ note_pool_fill()

void note_pool_fill ( struct NotePool pool,
s32  count 
)

◆ note_release_and_take_ownership()

void note_release_and_take_ownership ( struct Note note,
struct SequenceChannelLayer seqLayer 
)

◆ pop_node_with_value_less_equal()

struct Note* pop_node_with_value_less_equal ( struct AudioListItem list,
s32  limit 
)

◆ seq_channel_layer_decay_release_internal()

void seq_channel_layer_decay_release_internal ( struct SequenceChannelLayer seqLayer,
s32  target 
)

◆ seq_channel_layer_note_decay()

void seq_channel_layer_note_decay ( struct SequenceChannelLayer seqLayer)

◆ seq_channel_layer_note_release()

void seq_channel_layer_note_release ( struct SequenceChannelLayer seqLayer)