1234567891011121314151617181920212223242526272829303132 |
- #ifndef NULLSOFT_OUT_DS_SOUNDBLOCKLIST_H
- #define NULLSOFT_OUT_DS_SOUNDBLOCKLIST_H
- #include "SoundBlock.h"
- class SoundBlockList
- {
- public:
- SoundBlockList(int sil);
- ~SoundBlockList();
- void AddBlock(void * data, size_t size);
- size_t DumpBlocks(void * out1, size_t size1);
- void Reset();
- size_t DataSize();
-
- private:
- void connect(SoundBlock * b1, SoundBlock * b2) {if (b1) b1->next = b2;if (b2) b2->prev = b1;}
- void advance(SoundBlock * &b);
- void goback(SoundBlock * &b);
- void mount(SoundBlock * &first, SoundBlock * add);
- void mount2(SoundBlock * &first, SoundBlock * add, SoundBlock * &last);
- SoundBlock * remove(SoundBlock * &list);
- SoundBlock * removelast(SoundBlock * &first, SoundBlock * &last);
- size_t data_buffered;
- SoundBlock *b_first, *b_last, *b_free;
- int silence_filler;
- };
- #endif
|