An AudioSource that uses the https://github.com/pschatzmann/TinyFTPClient library to retrieve files from a FTP Server. You need to provide an FTPClient object to the constructor and make sure that you open it before you access the files. The storage of the expanded file names is done on the heap, so in order to limit the requested memory we can limit the number of files.
More...
#include <AudioSourceFTP.h>
|
| | AudioSourceFTP (FTPClient< ClientType > &client, const char *path, const char *ext, int files=0) |
| | Default constructor: Provide the client class as template argument e.g. AudioSourceFTP<WiFiClient> source(client, path, ext);.
|
| |
| bool | addDirectory (const char *path) |
| | Adds all the files of a directory.
|
| |
| bool | begin () override |
| | Resets the actual data.
|
| |
| void | end () |
| | Resets the actual data.
|
| |
| int | index () override |
| | Retrieves all files and returns the actual index of the stream.
|
| |
| virtual bool | isAutoNext () |
| | Returns default setting go to the next.
|
| |
| Stream * | nextStream (int offset) override |
| | Returns next audio stream.
|
| |
| Stream * | operator[] (int idx) |
| | access with array syntax
|
| |
| Stream * | previousStream (int offset) override |
| | Returns previous audio stream.
|
| |
| Stream * | selectStream (const char *path) override |
| | Returns the FTPFile for the indicated path.
|
| |
| Stream * | selectStream (int index) override |
| |
| virtual void | setAutoNext (bool flag) |
| |
| virtual Stream * | setIndex (int index) |
| | same as selectStream - I just prefer this name
|
| |
| void | setMaxFiles (int maxCount) |
| | Defines the max number of files (if value is >0)
|
| |
| virtual bool | setMetadataCallback (void(*fn)(MetaDataType info, const char *str, int len), ID3TypeSelection sel=SELECT_ICY) |
| |
| virtual void | setTimeout (int millisec) |
| | Sets the timeout of Stream in milliseconds.
|
| |
| virtual void | setTimeoutAutoNext (int millisec) |
| |
| size_t | size () |
| | Returns the number of available files.
|
| |
| virtual int | timeoutAutoNext () |
| | Provides the timeout which is triggering to move to the next stream.
|
| |
| const char * | toStr () override |
| | provides the actual stream (e.g. file) name or url
|
| |
template<class ClientType>
class audio_tools::AudioSourceFTP< ClientType >
An AudioSource that uses the https://github.com/pschatzmann/TinyFTPClient library to retrieve files from a FTP Server. You need to provide an FTPClient object to the constructor and make sure that you open it before you access the files. The storage of the expanded file names is done on the heap, so in order to limit the requested memory we can limit the number of files.
- Note
- supported only by Arduino platforms!
- Author
- Phil Schatzmann
- Copyright
- GPLv3
◆ AudioSourceFTP()
template<class ClientType >
| AudioSourceFTP |
( |
FTPClient< ClientType > & |
client, |
|
|
const char * |
path, |
|
|
const char * |
ext, |
|
|
int |
files = 0 |
|
) |
| |
|
inline |
Default constructor: Provide the client class as template argument e.g. AudioSourceFTP<WiFiClient> source(client, path, ext);.
◆ addDirectory()
template<class ClientType >
| bool addDirectory |
( |
const char * |
path | ) |
|
|
inline |
Adds all the files of a directory.
◆ addFiles()
template<class ClientType >
| void addFiles |
( |
FTPFile & |
dir, |
|
|
int |
level |
|
) |
| |
|
inlineprotected |
Adds all files recursively.
◆ begin()
template<class ClientType >
◆ end()
template<class ClientType >
◆ endsWith()
template<class ClientType >
| bool endsWith |
( |
const char * |
file, |
|
|
const char * |
ext |
|
) |
| |
|
inlineprotected |
◆ index()
template<class ClientType >
Retrieves all files and returns the actual index of the stream.
Reimplemented from AudioSource.
◆ isAutoNext()
| virtual bool isAutoNext |
( |
| ) |
|
|
inlinevirtualinherited |
Returns default setting go to the next.
Reimplemented in AudioSourceIdxSD, AudioSourceIdxSDFAT< AudioFs, AudioFile >, AudioSourceIdxSDMMC, AudioSourceLittleFS, AudioSourceSD, AudioSourceSDFAT< AudioFs, AudioFile >, AudioSourceSDMMC, AudioSourceSPIFFS, AudioSourceSTD, AudioSourceURL, AudioSourceVFS, AudioSourceCallback, and AudioSourceZephyr.
◆ isValidIdx()
template<class ClientType >
| bool isValidIdx |
( |
int |
index | ) |
|
|
inlineprotected |
◆ nextStream()
template<class ClientType >
| Stream * nextStream |
( |
int |
offset | ) |
|
|
inlineoverridevirtual |
◆ operator[]()
| Stream * operator[] |
( |
int |
idx | ) |
|
|
inlineinherited |
◆ previousStream()
template<class ClientType >
| Stream * previousStream |
( |
int |
offset | ) |
|
|
inlineoverridevirtual |
Returns previous audio stream.
Reimplemented from AudioSource.
◆ selectStream() [1/2]
template<class ClientType >
| Stream * selectStream |
( |
const char * |
path | ) |
|
|
inlineoverridevirtual |
Returns the FTPFile for the indicated path.
Implements AudioSource.
◆ selectStream() [2/2]
template<class ClientType >
| Stream * selectStream |
( |
int |
index | ) |
|
|
inlineoverridevirtual |
Returns audio stream at the indicated index (the index is zero based, so the first value is 0!)
Reimplemented from AudioSource.
◆ setAutoNext()
| virtual void setAutoNext |
( |
bool |
flag | ) |
|
|
inlinevirtualinherited |
◆ setIndex()
| virtual Stream * setIndex |
( |
int |
index | ) |
|
|
inlinevirtualinherited |
same as selectStream - I just prefer this name
◆ setMaxFiles()
template<class ClientType >
| void setMaxFiles |
( |
int |
maxCount | ) |
|
|
inline |
Defines the max number of files (if value is >0)
◆ setMetadataCallback()
◆ setTimeout()
| virtual void setTimeout |
( |
int |
millisec | ) |
|
|
inlinevirtualinherited |
◆ setTimeoutAutoNext()
| virtual void setTimeoutAutoNext |
( |
int |
millisec | ) |
|
|
inlinevirtualinherited |
Sets the timeout which is triggering to move to the next stream. - the default value is 500 ms
◆ size()
template<class ClientType >
Returns the number of available files.
◆ timeoutAutoNext()
| virtual int timeoutAutoNext |
( |
| ) |
|
|
inlinevirtualinherited |
Provides the timeout which is triggering to move to the next stream.
◆ toStr()
template<class ClientType >
provides the actual stream (e.g. file) name or url
Reimplemented from AudioSource.
◆ file
template<class ClientType >
◆ files
template<class ClientType >
| std::vector<FTPFile> files |
|
protected |
◆ idx
template<class ClientType >
◆ is_auto_next
◆ is_first
template<class ClientType >
◆ max_files
template<class ClientType >
◆ p_client
template<class ClientType >
| FTPClient<ClientType>* p_client = nullptr |
|
protected |
◆ p_ext
template<class ClientType >
| const char* p_ext = nullptr |
|
protected |
◆ p_path
template<class ClientType >
◆ timeout_auto_next_value
| int timeout_auto_next_value = 500 |
|
protectedinherited |
The documentation for this class was generated from the following file: