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>
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 >
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 AudioSourceIdxSD, AudioSourceIdxSDFAT< AudioFs, AudioFile >, AudioSourceIdxSDMMC, AudioSourceLittleFS, AudioSourceSD, AudioSourceSDFAT< AudioFs, AudioFile >, AudioSourceSDMMC, AudioSourceSPIFFS, AudioSourceSTD, AudioSourceURL, AudioSourceVFS, AudioSourceCallback, and AudioSourceZephyr.
◆ isValidIdx()
template<class ClientType >
◆ nextStream()
template<class ClientType >
◆ openFile()
template<class ClientType >
| Stream * openFile |
( |
const char * |
path | ) |
|
|
inlineprotected |
◆ operator[]()
◆ previousStream()
template<class ClientType >
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 >
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()
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: