A simple class which implements a automatic looping file. In order to support different file implementation the file class is a template parameter. The number of loops can be defined by calling setLoopCount(). You can also optinally limit the total looping file size by calling setSize();.
More...
#include <FileLoop.h>
|
| FileLoopT (FileType file, int count=-1, int rewindPos=-1) |
|
int | available () override |
|
virtual int | availableForWrite () override |
|
bool | begin () |
|
void | end () |
|
FileType & | file () |
| Returns the file.
|
|
virtual void | flush () override |
|
bool | isLoopActive () |
|
| operator bool () |
|
size_t | readBytes (uint8_t *data, size_t len) override |
|
void | setCallback (void(*cb)(FileLoopT &loop)) |
| You can be notified about a rewind.
|
|
void | setFile (FileType file) |
| defines the file that is used for looping
|
|
void | setLoopCount (int count) |
|
void | setSize (size_t len) |
| optionally defines the requested playing size in bytes
|
|
void | setStartPos (int pos) |
| defines the start position after the rewind. E.g. for wav files this should be 44
|
|
size_t | size () |
| Returns the (requested) file size.
|
|
size_t | write (const uint8_t *data, size_t len) |
|
virtual size_t | write (uint8_t ch) override |
|
|
int | _timeout = 10 |
|
void(* | callback )(FileLoopT &loop) = nullptr |
|
FileType | current_file |
|
int | loop_count = -1 |
|
int | size_open = -1 |
|
int | start_pos = -1 |
|
RingBuffer< uint8_t > | tmp_in {0} |
|
RingBuffer< uint8_t > | tmp_out {0} |
|
int | total_size = -1 |
|
template<class FileType>
class audio_tools::FileLoopT< FileType >
A simple class which implements a automatic looping file. In order to support different file implementation the file class is a template parameter. The number of loops can be defined by calling setLoopCount(). You can also optinally limit the total looping file size by calling setSize();.
- Author
- Phil Schatzmann
- Copyright
- GPLv3
◆ isLoopActive()
- Returns
- true as long as we are looping
◆ setLoopCount()
void setLoopCount |
( |
int |
count | ) |
|
|
inline |
count values: 0) do not loop, 1) loop once, n) loop n times, -1) loop endless
The documentation for this class was generated from the following file: