lots of ios file related updates, now use URLs internally. icons added.

This commit is contained in:
essej
2022-04-13 13:48:09 -04:00
parent e2178da076
commit dd89d80959
18 changed files with 169 additions and 69 deletions

@ -71,10 +71,10 @@ public:
return &m_readbuf;
return nullptr;
}
bool openAudioFile(File file) override
bool openAudioFile(const URL & url) override
{
m_silenceoutputted = 0;
AudioFormatReader* reader = m_manager->createReaderFor(file);
AudioFormatReader* reader = m_manager->createReaderFor(url.getLocalFile());
if (reader)
{
ScopedLock locker(m_mutex);

@ -35,7 +35,7 @@ public:
{
};
[[nodiscard]] virtual bool openAudioFile(File file)=0;
[[nodiscard]] virtual bool openAudioFile(const URL & url)=0;
virtual void close()=0;
virtual int readNextBlock(AudioBuffer<float>& abuf, int smps, int numchans)=0;

@ -158,7 +158,7 @@ void StretchAudioSource::setAudioBufferAsInputSource(AudioBuffer<float>* buf, in
m_inputfile->setAudioBuffer(buf, sr, len);
m_seekpos = 0.0;
m_audiobuffer_is_source = true;
m_curfile = File();
m_curfile = URL();
if (m_playrange.isEmpty())
setPlayRange({ 0.0,1.0 });
++m_param_change_count;
@ -505,12 +505,12 @@ bool StretchAudioSource::isLooping() const
return false;
}
String StretchAudioSource::setAudioFile(File file)
String StretchAudioSource::setAudioFile(const URL & url)
{
ScopedLock locker(m_cs);
if (m_inputfile->openAudioFile(file))
if (m_inputfile->openAudioFile(url))
{
m_curfile = file;
m_curfile = url;
m_firstbuffer = true;
m_audiobuffer_is_source = false;
return String();
@ -518,7 +518,7 @@ String StretchAudioSource::setAudioFile(File file)
return "Could not open file";
}
File StretchAudioSource::getAudioFile()
URL StretchAudioSource::getAudioFile()
{
return m_curfile;
}

@ -46,8 +46,8 @@ public:
bool isLooping() const override;
String setAudioFile(File file);
File getAudioFile();
String setAudioFile(const URL & file);
URL getAudioFile();
AudioBuffer<float>* getSourceAudioBuffer();
@ -148,7 +148,7 @@ private:
bool m_stream_end_reached = false;
int64_t m_output_silence_counter = 0;
File m_curfile;
URL m_curfile;
bool m_audiobuffer_is_source = false;
int64_t m_maxloops = 0;
std::unique_ptr<WDL_Resampler> m_resampler;