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.
More...
#include <AudioSourceFTP.h>
|
| int | count () |
| | Lists the directory and counts the matching files.
|
| bool | endsWith (const char *file, const char *ext) |
| bool | findFile (int index, Str &path) |
| | Lists the directory and provides the path of the n-th matching file.
|
| bool | isValidIdx (int index) |
| Stream * | openFile (const char *path) |
| void | toPath (const char *name, Str &result) |
| | Some servers list the names with the directory, others without it.
|
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 file names are not stored: the directory is listed on the server each time a new file is selected and the n-th matching file is opened. So only the name of the actual file is kept in memory.
- 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);.
◆ begin()
template<class ClientType>
Checks that the directory contains some files.
Implements AudioSource.
◆ count()
template<class ClientType>
Lists the directory and counts the matching files.
◆ end()
template<class ClientType>
◆ endsWith()
template<class ClientType>
| bool endsWith |
( |
const char * | file, |
|
|
const char * | ext ) |
|
inlineprotected |
◆ findFile()
template<class ClientType>
| bool findFile |
( |
int | index, |
|
|
Str & | path ) |
|
inlineprotected |
Lists the directory and provides the path of the n-th matching file.
◆ index()
template<class ClientType>
Returns the actual index of the stream.
Reimplemented from AudioSource.
◆ isAutoNext()
| virtual bool isAutoNext |
( |
| ) |
|
|
inlinevirtualinherited |
Returns default setting go to the next.
Reimplemented in AudioSourceCallback, AudioSourceIdxSD, AudioSourceIdxSDFAT< AudioFs, AudioFile >, AudioSourceIdxSDMMC, AudioSourceLittleFS, AudioSourceSD, AudioSourceSDFAT< AudioFs, AudioFile >, AudioSourceSDMMC, AudioSourceSPIFFS, AudioSourceSTD, AudioSourceURL, AudioSourceVFS, and AudioSourceZephyr.
◆ isValidIdx()
template<class ClientType>
| bool isValidIdx |
( |
int | index | ) |
|
|
inlineprotected |
◆ nextStream()
template<class ClientType>
| Stream * nextStream |
( |
int | offset | ) |
|
|
inlineoverridevirtual |
◆ openFile()
template<class ClientType>
| Stream * openFile |
( |
const char * | path | ) |
|
|
inlineprotected |
◆ 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 |
Opens the indicated file: if the path does not match the file extension it is considered to be a directory and the first file is opened.
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 |
◆ setFileExtension()
template<class ClientType>
| void setFileExtension |
( |
const char * | ext | ) |
|
|
inline |
Defines the file extension filter (e.g. "mp3"): nullptr for all files.
◆ 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 files that were found by begin().
◆ timeoutAutoNext()
| virtual int timeoutAutoNext |
( |
| ) |
|
|
inlinevirtualinherited |
Provides the timeout which is triggering to move to the next stream.
◆ toPath()
template<class ClientType>
| void toPath |
( |
const char * | name, |
|
|
Str & | result ) |
|
inlineprotected |
Some servers list the names with the directory, others without it.
◆ toStr()
template<class ClientType>
provides the actual file name
Reimplemented from AudioSource.
◆ directory
template<class ClientType>
◆ file
template<class ClientType>
◆ file_count
template<class ClientType>
◆ idx
template<class ClientType>
◆ is_auto_next
◆ 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 |
◆ timeout_auto_next_value
| int timeout_auto_next_value = 500 |
|
protectedinherited |
The documentation for this class was generated from the following file: