upgrade to JUCE 5.4.3. Remove (probably) unused JUCE modules. Remove VST2 target (it's been end-of-life'd by Steinberg and by JUCE)
This commit is contained in:
		@ -196,4 +196,81 @@ String BufferedInputStream::readString()
 | 
			
		||||
    return InputStream::readString();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//==============================================================================
 | 
			
		||||
#if JUCE_UNIT_TESTS
 | 
			
		||||
 | 
			
		||||
struct BufferedInputStreamTests   : public UnitTest
 | 
			
		||||
{
 | 
			
		||||
    BufferedInputStreamTests()
 | 
			
		||||
        : UnitTest ("BufferedInputStream", "Streams")
 | 
			
		||||
    {}
 | 
			
		||||
 | 
			
		||||
    void runTest() override
 | 
			
		||||
    {
 | 
			
		||||
        const MemoryBlock data ("abcdefghijklmnopqrstuvwxyz", 26);
 | 
			
		||||
        MemoryInputStream mi (data, true);
 | 
			
		||||
 | 
			
		||||
        BufferedInputStream stream (mi, (int) data.getSize());
 | 
			
		||||
 | 
			
		||||
        beginTest ("Read");
 | 
			
		||||
 | 
			
		||||
        expectEquals (stream.getPosition(), (int64) 0);
 | 
			
		||||
        expectEquals (stream.getTotalLength(), (int64) data.getSize());
 | 
			
		||||
        expectEquals (stream.getNumBytesRemaining(), stream.getTotalLength());
 | 
			
		||||
        expect (! stream.isExhausted());
 | 
			
		||||
 | 
			
		||||
        size_t numBytesRead = 0;
 | 
			
		||||
        MemoryBlock readBuffer (data.getSize());
 | 
			
		||||
 | 
			
		||||
        while (numBytesRead < data.getSize())
 | 
			
		||||
        {
 | 
			
		||||
            expectEquals (stream.peekByte(), *(char*) (data.begin() + numBytesRead));
 | 
			
		||||
 | 
			
		||||
            numBytesRead += (size_t) stream.read (&readBuffer[numBytesRead], 3);
 | 
			
		||||
 | 
			
		||||
            expectEquals (stream.getPosition(), (int64) numBytesRead);
 | 
			
		||||
            expectEquals (stream.getNumBytesRemaining(), (int64) (data.getSize() - numBytesRead));
 | 
			
		||||
            expect (stream.isExhausted() == (numBytesRead == data.getSize()));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        expectEquals (stream.getPosition(), (int64) data.getSize());
 | 
			
		||||
        expectEquals (stream.getNumBytesRemaining(), (int64) 0);
 | 
			
		||||
        expect (stream.isExhausted());
 | 
			
		||||
 | 
			
		||||
        expect (readBuffer == data);
 | 
			
		||||
 | 
			
		||||
        beginTest ("Skip");
 | 
			
		||||
 | 
			
		||||
        stream.setPosition (0);
 | 
			
		||||
        expectEquals (stream.getPosition(), (int64) 0);
 | 
			
		||||
        expectEquals (stream.getTotalLength(), (int64) data.getSize());
 | 
			
		||||
        expectEquals (stream.getNumBytesRemaining(), stream.getTotalLength());
 | 
			
		||||
        expect (! stream.isExhausted());
 | 
			
		||||
 | 
			
		||||
        numBytesRead = 0;
 | 
			
		||||
        const int numBytesToSkip = 5;
 | 
			
		||||
 | 
			
		||||
        while (numBytesRead < data.getSize())
 | 
			
		||||
        {
 | 
			
		||||
            expectEquals (stream.peekByte(), *(char*) (data.begin() + numBytesRead));
 | 
			
		||||
 | 
			
		||||
            stream.skipNextBytes (numBytesToSkip);
 | 
			
		||||
            numBytesRead += numBytesToSkip;
 | 
			
		||||
            numBytesRead = std::min (numBytesRead, data.getSize());
 | 
			
		||||
 | 
			
		||||
            expectEquals (stream.getPosition(), (int64) numBytesRead);
 | 
			
		||||
            expectEquals (stream.getNumBytesRemaining(), (int64) (data.getSize() - numBytesRead));
 | 
			
		||||
            expect (stream.isExhausted() == (numBytesRead == data.getSize()));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        expectEquals (stream.getPosition(), (int64) data.getSize());
 | 
			
		||||
        expectEquals (stream.getNumBytesRemaining(), (int64) 0);
 | 
			
		||||
        expect (stream.isExhausted());
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static BufferedInputStreamTests bufferedInputStreamTests;
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
} // namespace juce
 | 
			
		||||
 | 
			
		||||
@ -61,7 +61,7 @@ public:
 | 
			
		||||
        This may also delete the source stream, if that option was chosen when the
 | 
			
		||||
        buffered stream was created.
 | 
			
		||||
    */
 | 
			
		||||
    ~BufferedInputStream();
 | 
			
		||||
    ~BufferedInputStream() override;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    //==============================================================================
 | 
			
		||||
 | 
			
		||||
@ -43,11 +43,11 @@ public:
 | 
			
		||||
    FileInputSource (const File& file, bool useFileTimeInHashGeneration = false);
 | 
			
		||||
 | 
			
		||||
    /** Destructor. */
 | 
			
		||||
    ~FileInputSource();
 | 
			
		||||
    ~FileInputSource() override;
 | 
			
		||||
 | 
			
		||||
    InputStream* createInputStream();
 | 
			
		||||
    InputStream* createInputStreamFor (const String& relatedItemPath);
 | 
			
		||||
    int64 hashCode() const;
 | 
			
		||||
    InputStream* createInputStream() override;
 | 
			
		||||
    InputStream* createInputStreamFor (const String& relatedItemPath) override;
 | 
			
		||||
    int64 hashCode() const override;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    //==============================================================================
 | 
			
		||||
 | 
			
		||||
@ -38,10 +38,10 @@ class JUCE_API  InputSource
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
    //==============================================================================
 | 
			
		||||
    InputSource() noexcept      {}
 | 
			
		||||
    InputSource() = default;
 | 
			
		||||
 | 
			
		||||
    /** Destructor. */
 | 
			
		||||
    virtual ~InputSource()      {}
 | 
			
		||||
    virtual ~InputSource() = default;
 | 
			
		||||
 | 
			
		||||
    //==============================================================================
 | 
			
		||||
    /** Returns a new InputStream to read this item.
 | 
			
		||||
 | 
			
		||||
@ -37,7 +37,7 @@ class JUCE_API  InputStream
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
    /** Destructor. */
 | 
			
		||||
    virtual ~InputStream()  {}
 | 
			
		||||
    virtual ~InputStream() = default;
 | 
			
		||||
 | 
			
		||||
    //==============================================================================
 | 
			
		||||
    /** Returns the total number of bytes available for reading in this stream.
 | 
			
		||||
@ -243,16 +243,17 @@ public:
 | 
			
		||||
 | 
			
		||||
    /** Reads and discards a number of bytes from the stream.
 | 
			
		||||
 | 
			
		||||
        Some input streams might implement this efficiently, but the base
 | 
			
		||||
        Some input streams might implement this more efficiently, but the base
 | 
			
		||||
        class will just keep reading data until the requisite number of bytes
 | 
			
		||||
        have been done.
 | 
			
		||||
        have been done. For large skips it may be quicker to call setPosition()
 | 
			
		||||
        with the required position.
 | 
			
		||||
    */
 | 
			
		||||
    virtual void skipNextBytes (int64 numBytesToSkip);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
protected:
 | 
			
		||||
    //==============================================================================
 | 
			
		||||
    InputStream() noexcept {}
 | 
			
		||||
    InputStream() = default;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (InputStream)
 | 
			
		||||
 | 
			
		||||
@ -89,6 +89,11 @@ int64 MemoryInputStream::getPosition()
 | 
			
		||||
    return (int64) position;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void MemoryInputStream::skipNextBytes (int64 numBytesToSkip)
 | 
			
		||||
{
 | 
			
		||||
    if (numBytesToSkip > 0)
 | 
			
		||||
        setPosition (getPosition() + numBytesToSkip);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//==============================================================================
 | 
			
		||||
#if JUCE_UNIT_TESTS
 | 
			
		||||
@ -96,7 +101,9 @@ int64 MemoryInputStream::getPosition()
 | 
			
		||||
class MemoryStreamTests  : public UnitTest
 | 
			
		||||
{
 | 
			
		||||
public:
 | 
			
		||||
    MemoryStreamTests() : UnitTest ("MemoryInputStream & MemoryOutputStream", "Memory Streams") {}
 | 
			
		||||
    MemoryStreamTests()
 | 
			
		||||
        : UnitTest ("MemoryInputStream & MemoryOutputStream", "Streams")
 | 
			
		||||
    {}
 | 
			
		||||
 | 
			
		||||
    void runTest() override
 | 
			
		||||
    {
 | 
			
		||||
@ -127,6 +134,60 @@ public:
 | 
			
		||||
        expect (mi.readInt64BigEndian() == randomInt64);
 | 
			
		||||
        expect (mi.readDouble() == randomDouble);
 | 
			
		||||
        expect (mi.readDoubleBigEndian() == randomDouble);
 | 
			
		||||
 | 
			
		||||
        const MemoryBlock data ("abcdefghijklmnopqrstuvwxyz", 26);
 | 
			
		||||
        MemoryInputStream stream (data, true);
 | 
			
		||||
 | 
			
		||||
        beginTest ("Read");
 | 
			
		||||
 | 
			
		||||
        expectEquals (stream.getPosition(), (int64) 0);
 | 
			
		||||
        expectEquals (stream.getTotalLength(), (int64) data.getSize());
 | 
			
		||||
        expectEquals (stream.getNumBytesRemaining(), stream.getTotalLength());
 | 
			
		||||
        expect (! stream.isExhausted());
 | 
			
		||||
 | 
			
		||||
        size_t numBytesRead = 0;
 | 
			
		||||
        MemoryBlock readBuffer (data.getSize());
 | 
			
		||||
 | 
			
		||||
        while (numBytesRead < data.getSize())
 | 
			
		||||
        {
 | 
			
		||||
            numBytesRead += (size_t) stream.read (&readBuffer[numBytesRead], 3);
 | 
			
		||||
 | 
			
		||||
            expectEquals (stream.getPosition(), (int64) numBytesRead);
 | 
			
		||||
            expectEquals (stream.getNumBytesRemaining(), (int64) (data.getSize() - numBytesRead));
 | 
			
		||||
            expect (stream.isExhausted() == (numBytesRead == data.getSize()));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        expectEquals (stream.getPosition(), (int64) data.getSize());
 | 
			
		||||
        expectEquals (stream.getNumBytesRemaining(), (int64) 0);
 | 
			
		||||
        expect (stream.isExhausted());
 | 
			
		||||
 | 
			
		||||
        expect (readBuffer == data);
 | 
			
		||||
 | 
			
		||||
        beginTest ("Skip");
 | 
			
		||||
 | 
			
		||||
        stream.setPosition (0);
 | 
			
		||||
        expectEquals (stream.getPosition(), (int64) 0);
 | 
			
		||||
        expectEquals (stream.getTotalLength(), (int64) data.getSize());
 | 
			
		||||
        expectEquals (stream.getNumBytesRemaining(), stream.getTotalLength());
 | 
			
		||||
        expect (! stream.isExhausted());
 | 
			
		||||
 | 
			
		||||
        numBytesRead = 0;
 | 
			
		||||
        const int numBytesToSkip = 5;
 | 
			
		||||
 | 
			
		||||
        while (numBytesRead < data.getSize())
 | 
			
		||||
        {
 | 
			
		||||
            stream.skipNextBytes (numBytesToSkip);
 | 
			
		||||
            numBytesRead += numBytesToSkip;
 | 
			
		||||
            numBytesRead = std::min (numBytesRead, data.getSize());
 | 
			
		||||
 | 
			
		||||
            expectEquals (stream.getPosition(), (int64) numBytesRead);
 | 
			
		||||
            expectEquals (stream.getNumBytesRemaining(), (int64) (data.getSize() - numBytesRead));
 | 
			
		||||
            expect (stream.isExhausted() == (numBytesRead == data.getSize()));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        expectEquals (stream.getPosition(), (int64) data.getSize());
 | 
			
		||||
        expectEquals (stream.getNumBytesRemaining(), (int64) 0);
 | 
			
		||||
        expect (stream.isExhausted());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    static String createRandomWideCharString (Random& r)
 | 
			
		||||
 | 
			
		||||
@ -63,7 +63,7 @@ public:
 | 
			
		||||
                       bool keepInternalCopyOfData);
 | 
			
		||||
 | 
			
		||||
    /** Destructor. */
 | 
			
		||||
    ~MemoryInputStream();
 | 
			
		||||
    ~MemoryInputStream() override;
 | 
			
		||||
 | 
			
		||||
    /** Returns a pointer to the source data block from which this stream is reading. */
 | 
			
		||||
    const void* getData() const noexcept        { return data; }
 | 
			
		||||
@ -77,6 +77,7 @@ public:
 | 
			
		||||
    int64 getTotalLength() override;
 | 
			
		||||
    bool isExhausted() override;
 | 
			
		||||
    int read (void* destBuffer, int maxBytesToRead) override;
 | 
			
		||||
    void skipNextBytes (int64 numBytesToSkip) override;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    //==============================================================================
 | 
			
		||||
 | 
			
		||||
@ -101,11 +101,11 @@ char* MemoryOutputStream::prepareToWrite (size_t numBytes)
 | 
			
		||||
 | 
			
		||||
bool MemoryOutputStream::write (const void* const buffer, size_t howMany)
 | 
			
		||||
{
 | 
			
		||||
    jassert (buffer != nullptr);
 | 
			
		||||
 | 
			
		||||
    if (howMany == 0)
 | 
			
		||||
        return true;
 | 
			
		||||
 | 
			
		||||
    jassert (buffer != nullptr);
 | 
			
		||||
 | 
			
		||||
    if (auto* dest = prepareToWrite (howMany))
 | 
			
		||||
    {
 | 
			
		||||
        memcpy (dest, buffer, howMany);
 | 
			
		||||
 | 
			
		||||
@ -37,7 +37,7 @@ class JUCE_API  MemoryOutputStream  : public OutputStream
 | 
			
		||||
public:
 | 
			
		||||
    //==============================================================================
 | 
			
		||||
    /** Creates an empty memory stream, ready to be written into.
 | 
			
		||||
        @param initialSize  the intial amount of capacity to allocate for writing into
 | 
			
		||||
        @param initialSize  the initial amount of capacity to allocate for writing into
 | 
			
		||||
    */
 | 
			
		||||
    MemoryOutputStream (size_t initialSize = 256);
 | 
			
		||||
 | 
			
		||||
@ -66,7 +66,7 @@ public:
 | 
			
		||||
    /** Destructor.
 | 
			
		||||
        This will free any data that was written to it.
 | 
			
		||||
    */
 | 
			
		||||
    ~MemoryOutputStream();
 | 
			
		||||
    ~MemoryOutputStream() override;
 | 
			
		||||
 | 
			
		||||
    //==============================================================================
 | 
			
		||||
    /** Returns a pointer to the data that has been written to the stream.
 | 
			
		||||
 | 
			
		||||
@ -78,4 +78,81 @@ bool SubregionStream::isExhausted()
 | 
			
		||||
    return source->isExhausted();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
//==============================================================================
 | 
			
		||||
#if JUCE_UNIT_TESTS
 | 
			
		||||
 | 
			
		||||
struct SubregionInputStreamTests   : public UnitTest
 | 
			
		||||
{
 | 
			
		||||
    SubregionInputStreamTests()
 | 
			
		||||
        : UnitTest ("SubregionInputStream", "Streams")
 | 
			
		||||
    {}
 | 
			
		||||
 | 
			
		||||
    void runTest() override
 | 
			
		||||
    {
 | 
			
		||||
        const MemoryBlock data ("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz", 52);
 | 
			
		||||
        MemoryInputStream mi (data, true);
 | 
			
		||||
 | 
			
		||||
        const int offset = getRandom().nextInt ((int) data.getSize());
 | 
			
		||||
        const size_t subregionSize = data.getSize() - (size_t) offset;
 | 
			
		||||
 | 
			
		||||
        SubregionStream stream (&mi, offset, (int) subregionSize, false);
 | 
			
		||||
 | 
			
		||||
        beginTest ("Read");
 | 
			
		||||
 | 
			
		||||
        expectEquals (stream.getPosition(), (int64) 0);
 | 
			
		||||
        expectEquals (stream.getTotalLength(), (int64) subregionSize);
 | 
			
		||||
        expectEquals (stream.getNumBytesRemaining(), stream.getTotalLength());
 | 
			
		||||
        expect (! stream.isExhausted());
 | 
			
		||||
 | 
			
		||||
        size_t numBytesRead = 0;
 | 
			
		||||
        MemoryBlock readBuffer (subregionSize);
 | 
			
		||||
 | 
			
		||||
        while (numBytesRead < subregionSize)
 | 
			
		||||
        {
 | 
			
		||||
            numBytesRead += (size_t) stream.read (&readBuffer[numBytesRead], 3);
 | 
			
		||||
 | 
			
		||||
            expectEquals (stream.getPosition(), (int64) numBytesRead);
 | 
			
		||||
            expectEquals (stream.getNumBytesRemaining(), (int64) (subregionSize - numBytesRead));
 | 
			
		||||
            expect (stream.isExhausted() == (numBytesRead == subregionSize));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        expectEquals (stream.getPosition(), (int64) subregionSize);
 | 
			
		||||
        expectEquals (stream.getNumBytesRemaining(), (int64) 0);
 | 
			
		||||
        expect (stream.isExhausted());
 | 
			
		||||
 | 
			
		||||
        const MemoryBlock memoryBlockToCheck (data.begin() + (size_t) offset, data.getSize() - (size_t) offset);
 | 
			
		||||
        expect (readBuffer == memoryBlockToCheck);
 | 
			
		||||
 | 
			
		||||
        beginTest ("Skip");
 | 
			
		||||
 | 
			
		||||
        stream.setPosition (0);
 | 
			
		||||
        expectEquals (stream.getPosition(), (int64) 0);
 | 
			
		||||
        expectEquals (stream.getTotalLength(), (int64) subregionSize);
 | 
			
		||||
        expectEquals (stream.getNumBytesRemaining(), stream.getTotalLength());
 | 
			
		||||
        expect (! stream.isExhausted());
 | 
			
		||||
 | 
			
		||||
        numBytesRead = 0;
 | 
			
		||||
        const int64 numBytesToSkip = 5;
 | 
			
		||||
 | 
			
		||||
        while (numBytesRead < subregionSize)
 | 
			
		||||
        {
 | 
			
		||||
            stream.skipNextBytes (numBytesToSkip);
 | 
			
		||||
            numBytesRead += numBytesToSkip;
 | 
			
		||||
            numBytesRead = std::min (numBytesRead, subregionSize);
 | 
			
		||||
 | 
			
		||||
            expectEquals (stream.getPosition(), (int64) numBytesRead);
 | 
			
		||||
            expectEquals (stream.getNumBytesRemaining(), (int64) (subregionSize - numBytesRead));
 | 
			
		||||
            expect (stream.isExhausted() == (numBytesRead == subregionSize));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        expectEquals (stream.getPosition(), (int64) subregionSize);
 | 
			
		||||
        expectEquals (stream.getNumBytesRemaining(), (int64) 0);
 | 
			
		||||
        expect (stream.isExhausted());
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static SubregionInputStreamTests subregionInputStreamTests;
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
} // namespace juce
 | 
			
		||||
 | 
			
		||||
@ -62,7 +62,7 @@ public:
 | 
			
		||||
        This may also delete the source stream, if that option was chosen when the
 | 
			
		||||
        buffered stream was created.
 | 
			
		||||
    */
 | 
			
		||||
    ~SubregionStream();
 | 
			
		||||
    ~SubregionStream() override;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    //==============================================================================
 | 
			
		||||
 | 
			
		||||
@ -29,7 +29,7 @@ URLInputSource::URLInputSource (const URL& url)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
URLInputSource::URLInputSource (URL&& url)
 | 
			
		||||
    : u (static_cast<URL&&> (url))
 | 
			
		||||
    : u (std::move (url))
 | 
			
		||||
{
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -45,11 +45,11 @@ public:
 | 
			
		||||
    URLInputSource (URL&& url);
 | 
			
		||||
 | 
			
		||||
    /** Destructor. */
 | 
			
		||||
    ~URLInputSource();
 | 
			
		||||
    ~URLInputSource() override;
 | 
			
		||||
 | 
			
		||||
    InputStream* createInputStream();
 | 
			
		||||
    InputStream* createInputStreamFor (const String& relatedItemPath);
 | 
			
		||||
    int64 hashCode() const;
 | 
			
		||||
    InputStream* createInputStream() override;
 | 
			
		||||
    InputStream* createInputStreamFor (const String& relatedItemPath) override;
 | 
			
		||||
    int64 hashCode() const override;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    //==============================================================================
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user