# Song Class Reference

`#include <Song.h>`

Inheritance diagram for Song:

List of all members.

## Public Member Functions
| Song ()
| ~Song ()
void | Initialise (const bool &bPreCreate, const UInt &bpm, const UInt &numUniqueSections, const UInt &lengthInSections, const UInt &timePerSection)
void | Output ()
virtual Sint16 * | GetBuffer (const UInt &position, const int &len, bool isLooping=false)
## Protected Member Functions
Sint16 * | GetDynamicBuffer (const UInt &pos, const int &len)
## Protected Attributes
char * | m_name
bool | m_bIsPreCreated
UInt | m_lastBufferRequested
Sint16 ** | m_pSongData
UInt | m_numSampleSets
SongSection ** | m_pSongSections
SongSection * | m_pUniqueSections
UInt | m_numSections
UInt | m_length
UInt | m_timePerSection
UInt | m_bpm
UInt | m_lastPointPlayed

## Detailed Description

Definition at line 62 of file Song.h.

## Constructor & Destructor Documentation

Song::Song | ( |  | ) |

Definition at line 298 of file Song.cpp.

Song::~Song | ( |  | ) |

Definition at line 304 of file Song.cpp.

## Member Function Documentation

Sint16 * Song::GetBuffer | ( | const UInt & | position,
|  | const int & | len,
|  | bool | isLooping = `false` |
| ) |  |  | `[virtual]`

Implements ISound.

Definition at line 388 of file Song.cpp.

Sint16 * Song::GetDynamicBuffer | ( | const UInt & | pos,
|  | const int & | len |
| ) |  |  | `[protected]`

Definition at line 422 of file Song.cpp.

void Song::Initialise | ( | const bool & | bPreCreate,
|  | const UInt & | bpm,
|  | const UInt & | numUniqueSections,
|  | const UInt & | lengthInSections,
|  | const UInt & | timePerSection |
| ) |  |  |

memcpy(&(m_pSongData[i][0]), pBuffer, pSpec->samples * sizeof(Sint16));

Definition at line 313 of file Song.cpp.

void Song::Output | ( |  | ) | `[virtual]`

Implements ISound.

Definition at line 373 of file Song.cpp.

## Member Data Documentation

bool Song::m_bIsPreCreated`[protected]`

Definition at line 76 of file Song.h.

UInt Song::m_bpm`[protected]`

Definition at line 83 of file Song.h.

UInt Song::m_lastBufferRequested`[protected]`

Definition at line 77 of file Song.h.

UInt Song::m_lastPointPlayed`[protected]`

Definition at line 83 of file Song.h.

UInt Song::m_length`[protected]`

Definition at line 83 of file Song.h.

char* Song::m_name`[protected]`

Definition at line 74 of file Song.h.

UInt Song::m_numSampleSets`[protected]`

Definition at line 79 of file Song.h.

UInt Song::m_numSections`[protected]`

Definition at line 83 of file Song.h.

Sint16** Song::m_pSongData`[protected]`

Definition at line 78 of file Song.h.

SongSection** Song::m_pSongSections`[protected]`

Definition at line 81 of file Song.h.

SongSection* Song::m_pUniqueSections`[protected]`

Definition at line 82 of file Song.h.

UInt Song::m_timePerSection`[protected]`

Definition at line 83 of file Song.h.

The documentation for this class was generated from the following files:

- C:/Users/Public/AGS Final Folder/BFLETCHER D4010283/Source/Game/Source/Song.h
- C:/Users/Public/AGS Final Folder/BFLETCHER D4010283/Source/Game/Source/Song.cpp