1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-11-23 09:20:16 +01:00

WaveClip does not depend on ondemand files besides ODTaskThread...

... Lifting the specification of factory function arguments for Sequence even
higher

This frees ODPCMAliasBlockFile from cycles
This commit is contained in:
Paul Licameli
2019-06-22 13:47:01 -04:00
parent 91a2ff2560
commit f1b04c79d8
7 changed files with 42 additions and 68 deletions

View File

@@ -25,6 +25,8 @@
#include <vector>
class BlockArray;
class BlockFile;
using BlockFilePtr = std::shared_ptr<BlockFile>;
class DirManager;
class Envelope;
class ProgressDialog;
@@ -32,6 +34,7 @@ class Sequence;
class SpectrogramSettings;
class WaveCache;
class WaveTrackCache;
class wxFileNameWrapper;
class SpecCache {
public:
@@ -281,11 +284,9 @@ public:
/// Flush must be called after last Append
void Flush();
void AppendAlias(const FilePath &fName, sampleCount start,
size_t len, int channel,bool useOD);
void AppendCoded(const FilePath &fName, sampleCount start,
size_t len, int channel, int decodeType);
using BlockFileFactory =
std::function< BlockFilePtr( wxFileNameWrapper, size_t /* len */ ) >;
void AppendBlockFile( const BlockFileFactory &factory, size_t len);
/// This name is consistent with WaveTrack::Clear. It performs a "Cut"
/// operation (but without putting the cutted audio to the clipboard)