Browse Source

Fix plugin testing, add airwindows-lv2 package

Signed-off-by: falkTX <falktx@falktx.com>
master
falkTX 2 years ago
parent
commit
73434d89bc
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
10 changed files with 3998 additions and 0 deletions
  1. +16
    -0
      sources/.gitignore
  2. +989
    -0
      sources/libs/kxstudio-build-scripts/carla-fixes.patch
  3. +6
    -0
      sources/libs/kxstudio-build-scripts/debian/changelog
  4. +1
    -0
      sources/libs/kxstudio-build-scripts/debian/rules
  5. +5
    -0
      sources/plugins/airwindows-lv2/debian/changelog
  6. +21
    -0
      sources/plugins/airwindows-lv2/debian/control
  7. +2924
    -0
      sources/plugins/airwindows-lv2/debian/patches/01_optimizations.patch
  8. +21
    -0
      sources/plugins/airwindows-lv2/debian/patches/02_9cced339c34db7213cfb81c5c13a1b963fb9db75.patch
  9. +2
    -0
      sources/plugins/airwindows-lv2/debian/patches/series
  10. +13
    -0
      sources/plugins/airwindows-lv2/debian/rules

+ 16
- 0
sources/.gitignore View File

@@ -5,6 +5,7 @@
*.dsc
*.orig.*
*.tar.*
*.upload

files
include-binaries
@@ -24,8 +25,23 @@ include-binaries
!/libs/*/debian/rules

!/libs/kxstudio-build-scripts/*.mk
!/libs/kxstudio-build-scripts/*.patch
!/libs/kxstudio-build-scripts/*.sh
!/libs/kxstudio-build-scripts/*.supp
!/libs/kxstudio-build-scripts/debian/copyright

/plugins/*/*
!/plugins/*/debian
/plugins/*/debian/*
!/plugins/*/debian/patches
/plugins/*/debian/patches/*
!/plugins/*/debian/patches/*.patch
!/plugins/*/debian/patches/series
!/plugins/*/debian/source/format
!/plugins/*/debian/changelog
!/plugins/*/debian/control
!/plugins/*/debian/install
!/plugins/*/debian/*.install
!/plugins/*/debian/rules

/kxstudio/kxstudio-repos/keyrings/

+ 989
- 0
sources/libs/kxstudio-build-scripts/carla-fixes.patch View File

@@ -0,0 +1,989 @@
diff --git a/source/modules/water/buffers/AudioSampleBuffer.h b/source/modules/water/buffers/AudioSampleBuffer.h
index 1716c5efd..8ae1e6388 100644
--- a/source/modules/water/buffers/AudioSampleBuffer.h
+++ b/source/modules/water/buffers/AudioSampleBuffer.h
@@ -205,39 +205,6 @@ public:
*/
~AudioSampleBuffer() noexcept {}
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- /** Move constructor */
- AudioSampleBuffer (AudioSampleBuffer&& other) noexcept
- : numChannels (other.numChannels),
- size (other.size),
- allocatedBytes (other.allocatedBytes),
- channels (other.channels),
- allocatedData (static_cast<HeapBlock<char>&&> (other.allocatedData)),
- isClear (other.isClear)
- {
- std::memcpy (preallocatedChannelSpace, other.preallocatedChannelSpace, sizeof (preallocatedChannelSpace));
- other.numChannels = 0;
- other.size = 0;
- other.allocatedBytes = 0;
- }
-
- /** Move assignment */
- AudioSampleBuffer& operator= (AudioSampleBuffer&& other) noexcept
- {
- numChannels = other.numChannels;
- size = other.size;
- allocatedBytes = other.allocatedBytes;
- channels = other.channels;
- allocatedData = static_cast<HeapBlock<char>&&> (other.allocatedData);
- isClear = other.isClear;
- memcpy (preallocatedChannelSpace, other.preallocatedChannelSpace, sizeof (preallocatedChannelSpace));
- other.numChannels = 0;
- other.size = 0;
- other.allocatedBytes = 0;
- return *this;
- }
- #endif
-
//==============================================================================
/** Returns the number of channels of audio data that this buffer contains.
@see getSampleData
diff --git a/source/modules/water/containers/Array.h b/source/modules/water/containers/Array.h
index a03857e55..e4367c9f2 100644
--- a/source/modules/water/containers/Array.h
+++ b/source/modules/water/containers/Array.h
@@ -81,15 +81,6 @@ public:
new (data.elements + i) ElementType (other.data.elements[i]);
}
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- Array (Array<ElementType>&& other) noexcept
- : data (static_cast<ArrayAllocationBase<ElementType>&&> (other.data)),
- numUsed (other.numUsed)
- {
- other.numUsed = 0;
- }
- #endif
-
/** Initalises from a null-terminated C array of values.
@param values the array to copy from
@@ -137,17 +128,6 @@ public:
return *this;
}
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- Array& operator= (Array&& other) noexcept
- {
- deleteAllElements();
- data = static_cast<ArrayAllocationBase<ElementType>&&> (other.data);
- numUsed = other.numUsed;
- other.numUsed = 0;
- return *this;
- }
- #endif
-
//==============================================================================
/** Compares this array to another one.
Two arrays are considered equal if they both contain the same set of
@@ -380,22 +360,6 @@ public:
return true;
}
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- /** Appends a new element at the end of the array.
-
- @param newElement the new object to add to the array
- @see set, insert, addIfNotAlreadyThere, addSorted, addUsingDefaultSort, addArray
- */
- bool add (ElementType&& newElement) noexcept
- {
- if (! data.ensureAllocatedSize (static_cast<size_t>(numUsed + 1)))
- return false;
-
- new (data.elements + numUsed++) ElementType (static_cast<ElementType&&> (newElement));
- return true;
- }
- #endif
-
/** Inserts a new element into the array at a given position.
If the index is less than 0 or greater than the size of the array, the
diff --git a/source/modules/water/containers/ArrayAllocationBase.h b/source/modules/water/containers/ArrayAllocationBase.h
index f3049d8e5..878ad81fc 100644
--- a/source/modules/water/containers/ArrayAllocationBase.h
+++ b/source/modules/water/containers/ArrayAllocationBase.h
@@ -44,29 +44,6 @@ namespace water {
template <class ElementType>
class ArrayAllocationBase
{
-#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
-private:
- #if defined(__GNUC__) && !defined(__clang__) && __GNUC__ < 5
- template <typename T>
- struct IsTriviallyCopyable : std::integral_constant<bool, false> {};
- #else
- template <typename T>
- using IsTriviallyCopyable = std::is_trivially_copyable<T>;
- #endif
-
- template <typename T>
- using TriviallyCopyableVoid = typename std::enable_if<IsTriviallyCopyable<T>::value, void>::type;
-
- template <typename T>
- using TriviallyCopyableBool = typename std::enable_if<IsTriviallyCopyable<T>::value, bool>::type;
-
- template <typename T>
- using NonTriviallyCopyableVoid = typename std::enable_if<! IsTriviallyCopyable<T>::value, void>::type;
-
- template <typename T>
- using NonTriviallyCopyableBool = typename std::enable_if<! IsTriviallyCopyable<T>::value, bool>::type;
-#endif // WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
-
public:
//==============================================================================
/** Creates an empty array. */
@@ -81,19 +58,6 @@ public:
{
}
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- ArrayAllocationBase (ArrayAllocationBase<ElementType>&& other) noexcept
- : elements (static_cast<HeapBlock<ElementType>&&> (other.elements)),
- numAllocated (other.numAllocated) {}
-
- ArrayAllocationBase& operator= (ArrayAllocationBase<ElementType>&& other) noexcept
- {
- elements = static_cast<HeapBlock<ElementType>&&> (other.elements);
- numAllocated = other.numAllocated;
- return *this;
- }
- #endif
-
//==============================================================================
/** Changes the amount of storage allocated.
@@ -102,12 +66,7 @@ public:
@param numNewElements the number of elements that are needed
*/
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- template <typename T = ElementType> TriviallyCopyableBool<T>
- #else
- bool
- #endif
- setAllocatedSize (const size_t numNewElements) noexcept
+ bool setAllocatedSize (const size_t numNewElements) noexcept
{
if (numAllocated != numNewElements)
{
@@ -127,43 +86,6 @@ public:
return true;
}
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- template <typename T = ElementType>
- NonTriviallyCopyableBool<T> setAllocatedSize (const size_t numNewElements) noexcept
- {
- if (numAllocated == numNewElements)
- return true;
-
- if (numNewElements > 0)
- {
- HeapBlock<ElementType> newElements;
-
- if (! newElements.malloc (numNewElements))
- return false;
-
- size_t i = 0;
-
- for (; i < numAllocated && i < numNewElements; ++i)
- {
- new (newElements + i) ElementType (std::move (elements[i]));
- elements[i].~ElementType();
- }
-
- for (; i < numNewElements; ++i)
- new (newElements + i) ElementType ();
-
- elements = std::move (newElements);
- }
- else
- {
- elements.free();
- }
-
- numAllocated = numNewElements;
- return true;
- }
- #endif
-
/** Increases the amount of storage allocated if it is less than a given amount.
This will retain any data currently held in the array, but will add
@@ -198,12 +120,7 @@ public:
std::swap (numAllocated, other.numAllocated);
}
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- template <typename T = ElementType> TriviallyCopyableVoid<T>
- #else
- void
- #endif
- moveMemory (ElementType* target, const ElementType* source, const size_t numElements) noexcept
+ void moveMemory (ElementType* target, const ElementType* source, const size_t numElements) noexcept
{
CARLA_SAFE_ASSERT_RETURN(target != nullptr,);
CARLA_SAFE_ASSERT_RETURN(source != nullptr,);
@@ -213,42 +130,6 @@ public:
std::memmove (target, source, ((size_t) numElements) * sizeof (ElementType));
}
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- template <typename T = ElementType>
- NonTriviallyCopyableVoid<T> moveMemory (ElementType* target, const ElementType* source, const size_t numElements) noexcept
- {
- CARLA_SAFE_ASSERT_RETURN(target != nullptr,);
- CARLA_SAFE_ASSERT_RETURN(source != nullptr,);
- CARLA_SAFE_ASSERT_RETURN(target != source,);
- CARLA_SAFE_ASSERT_RETURN(numElements != 0,);
-
- if (target > source)
- {
- for (size_t i = 0; i < numElements; ++i)
- {
- moveElement (target, std::move (*source));
- ++target;
- ++source;
- }
- }
- else
- {
- for (size_t i = 0; i < numElements; ++i)
- {
- moveElement (target, std::move (*source));
- --target;
- --source;
- }
- }
- }
-
- void moveElement (ElementType* destination, const ElementType&& source)
- {
- destination->~ElementType();
- new (destination) ElementType (std::move (source));
- }
- #endif
-
//==============================================================================
HeapBlock<ElementType> elements;
size_t numAllocated;
diff --git a/source/modules/water/containers/LinkedListPointer.h b/source/modules/water/containers/LinkedListPointer.h
index c71d52d23..ed75fc268 100644
--- a/source/modules/water/containers/LinkedListPointer.h
+++ b/source/modules/water/containers/LinkedListPointer.h
@@ -81,23 +81,6 @@ public:
return *this;
}
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- LinkedListPointer (LinkedListPointer&& other) noexcept
- : item (other.item)
- {
- other.item = nullptr;
- }
-
- LinkedListPointer& operator= (LinkedListPointer&& other) noexcept
- {
- wassert (this != &other); // hopefully the compiler should make this situation impossible!
-
- item = other.item;
- other.item = nullptr;
- return *this;
- }
- #endif
-
//==============================================================================
/** Returns the item which this pointer points to. */
inline operator ObjectType*() const noexcept
diff --git a/source/modules/water/containers/NamedValueSet.cpp b/source/modules/water/containers/NamedValueSet.cpp
index 9302e1691..7543af158 100644
--- a/source/modules/water/containers/NamedValueSet.cpp
+++ b/source/modules/water/containers/NamedValueSet.cpp
@@ -44,19 +44,6 @@ NamedValueSet& NamedValueSet::operator= (const NamedValueSet& other)
return *this;
}
-#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
-NamedValueSet::NamedValueSet (NamedValueSet&& other) noexcept
- : values (static_cast<Array<NamedValue>&&> (other.values))
-{
-}
-
-NamedValueSet& NamedValueSet::operator= (NamedValueSet&& other) noexcept
-{
- other.values.swapWith (values);
- return *this;
-}
-#endif
-
NamedValueSet::~NamedValueSet() noexcept
{
}
@@ -117,23 +104,6 @@ var* NamedValueSet::getVarPointer (const Identifier& name) const noexcept
return nullptr;
}
-#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
-bool NamedValueSet::set (const Identifier& name, var&& newValue)
-{
- if (var* const v = getVarPointer (name))
- {
- if (v->equalsWithSameType (newValue))
- return false;
-
- *v = static_cast<var&&> (newValue);
- return true;
- }
-
- values.add (NamedValue (name, static_cast<var&&> (newValue)));
- return true;
-}
-#endif
-
bool NamedValueSet::set (const Identifier& name, const var& newValue)
{
if (var* const v = getVarPointer (name))
diff --git a/source/modules/water/containers/NamedValueSet.h b/source/modules/water/containers/NamedValueSet.h
index 7d0caa02e..ea4ef421d 100644
--- a/source/modules/water/containers/NamedValueSet.h
+++ b/source/modules/water/containers/NamedValueSet.h
@@ -50,11 +50,6 @@ public:
/** Replaces this set with a copy of another set. */
NamedValueSet& operator= (const NamedValueSet&);
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- NamedValueSet (NamedValueSet&&) noexcept;
- NamedValueSet& operator= (NamedValueSet&&) noexcept;
- #endif
-
/** Destructor. */
~NamedValueSet() noexcept;
@@ -68,27 +63,6 @@ public:
NamedValue (const Identifier& n, const var& v) : name (n), value (v) {}
NamedValue (const NamedValue& other) : name (other.name), value (other.value) {}
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- NamedValue (NamedValue&& other) noexcept
- : name (static_cast<Identifier&&> (other.name)),
- value (static_cast<var&&> (other.value))
- {
- }
-
- NamedValue (Identifier&& n, var&& v) noexcept
- : name (static_cast<Identifier&&> (n)),
- value (static_cast<var&&> (v))
- {
- }
-
- NamedValue& operator= (NamedValue&& other) noexcept
- {
- name = static_cast<Identifier&&> (other.name);
- value = static_cast<var&&> (other.value);
- return *this;
- }
- #endif
-
bool operator== (const NamedValue& other) const noexcept { return name == other.name && value == other.value; }
bool operator!= (const NamedValue& other) const noexcept { return ! operator== (other); }
@@ -124,14 +98,6 @@ public:
*/
bool set (const Identifier& name, const var& newValue);
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- /** Changes or adds a named value.
- @returns true if a value was changed or added; false if the
- value was already set the value passed-in.
- */
- bool set (const Identifier& name, var&& newValue);
- #endif
-
/** Returns true if the set contains an item with the specified name. */
bool contains (const Identifier& name) const noexcept;
diff --git a/source/modules/water/containers/OwnedArray.h b/source/modules/water/containers/OwnedArray.h
index 1a90100cd..ffa89203f 100644
--- a/source/modules/water/containers/OwnedArray.h
+++ b/source/modules/water/containers/OwnedArray.h
@@ -73,25 +73,6 @@ public:
deleteAllObjects();
}
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- OwnedArray (OwnedArray&& other) noexcept
- : data (static_cast<ArrayAllocationBase <ObjectClass*>&&> (other.data)),
- numUsed (other.numUsed)
- {
- other.numUsed = 0;
- }
-
- OwnedArray& operator= (OwnedArray&& other) noexcept
- {
- deleteAllObjects();
-
- data = static_cast<ArrayAllocationBase <ObjectClass*>&&> (other.data);
- numUsed = other.numUsed;
- other.numUsed = 0;
- return *this;
- }
- #endif
-
//==============================================================================
/** Clears the array, optionally deleting the objects inside it first. */
void clear (bool deleteObjects = true)
diff --git a/source/modules/water/containers/Variant.cpp b/source/modules/water/containers/Variant.cpp
index a93dba9fb..0472b10e3 100644
--- a/source/modules/water/containers/Variant.cpp
+++ b/source/modules/water/containers/Variant.cpp
@@ -265,34 +265,6 @@ var& var::operator= (const double v) { type->cleanUp (value); type =
var& var::operator= (const char* const v) { type->cleanUp (value); type = &VariantType_String::instance; new (value.stringValue) String (v); return *this; }
var& var::operator= (const String& v) { type->cleanUp (value); type = &VariantType_String::instance; new (value.stringValue) String (v); return *this; }
-#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
-var::var (var&& other) noexcept
- : type (other.type),
- value (other.value)
-{
- other.type = &VariantType_Void::instance;
-}
-
-var& var::operator= (var&& other) noexcept
-{
- swapWith (other);
- return *this;
-}
-
-var::var (String&& v) : type (&VariantType_String::instance)
-{
- new (value.stringValue) String (static_cast<String&&> (v));
-}
-
-var& var::operator= (String&& v)
-{
- type->cleanUp (value);
- type = &VariantType_String::instance;
- new (value.stringValue) String (static_cast<String&&> (v));
- return *this;
-}
-#endif
-
//==============================================================================
bool var::equals (const var& other) const noexcept
{
diff --git a/source/modules/water/containers/Variant.h b/source/modules/water/containers/Variant.h
index 0e181712a..c1472a733 100644
--- a/source/modules/water/containers/Variant.h
+++ b/source/modules/water/containers/Variant.h
@@ -69,13 +69,6 @@ public:
var& operator= (const char* value);
var& operator= (const String& value);
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- var (var&&) noexcept;
- var (String&&);
- var& operator= (var&&) noexcept;
- var& operator= (String&&);
- #endif
-
void swapWith (var& other) noexcept;
/** Returns a var object that can be used where you need the javascript "undefined" value. */
diff --git a/source/modules/water/files/File.cpp b/source/modules/water/files/File.cpp
index 2ce0f6f8e..8c74854f0 100644
--- a/source/modules/water/files/File.cpp
+++ b/source/modules/water/files/File.cpp
@@ -86,19 +86,6 @@ File& File::operator= (const File& other)
return *this;
}
-#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
-File::File (File&& other) noexcept
- : fullPath (static_cast<String&&> (other.fullPath))
-{
-}
-
-File& File::operator= (File&& other) noexcept
-{
- fullPath = static_cast<String&&> (other.fullPath);
- return *this;
-}
-#endif
-
bool File::isNull() const
{
return fullPath.isEmpty();
diff --git a/source/modules/water/files/File.h b/source/modules/water/files/File.h
index 1fa1a7c3e..2c8077963 100644
--- a/source/modules/water/files/File.h
+++ b/source/modules/water/files/File.h
@@ -89,11 +89,6 @@ public:
/** Copies from another file object. */
File& operator= (const File& otherFile);
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- File (File&&) noexcept;
- File& operator= (File&&) noexcept;
- #endif
-
//==============================================================================
/** Checks whether the file actually exists.
diff --git a/source/modules/water/memory/HeapBlock.h b/source/modules/water/memory/HeapBlock.h
index b8c232e11..98656e872 100644
--- a/source/modules/water/memory/HeapBlock.h
+++ b/source/modules/water/memory/HeapBlock.h
@@ -94,20 +94,6 @@ public:
std::free (data);
}
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- HeapBlock (HeapBlock&& other) noexcept
- : data (other.data)
- {
- other.data = nullptr;
- }
-
- HeapBlock& operator= (HeapBlock&& other) noexcept
- {
- std::swap (data, other.data);
- return *this;
- }
- #endif
-
//==============================================================================
/** Returns a raw pointer to the allocated data.
This may be a null pointer if the data hasn't yet been allocated, or if it has been
diff --git a/source/modules/water/memory/MemoryBlock.cpp b/source/modules/water/memory/MemoryBlock.cpp
index 6e83b8dfc..8b380da88 100644
--- a/source/modules/water/memory/MemoryBlock.cpp
+++ b/source/modules/water/memory/MemoryBlock.cpp
@@ -87,22 +87,6 @@ MemoryBlock& MemoryBlock::operator= (const MemoryBlock& other)
return *this;
}
-#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
-MemoryBlock::MemoryBlock (MemoryBlock&& other) noexcept
- : data (static_cast<HeapBlock<char>&&> (other.data)),
- size (other.size)
-{
-}
-
-MemoryBlock& MemoryBlock::operator= (MemoryBlock&& other) noexcept
-{
- data = static_cast<HeapBlock<char>&&> (other.data);
- size = other.size;
- return *this;
-}
-#endif
-
-
//==============================================================================
bool MemoryBlock::operator== (const MemoryBlock& other) const noexcept
{
diff --git a/source/modules/water/memory/MemoryBlock.h b/source/modules/water/memory/MemoryBlock.h
index 4383139d6..701120cfa 100644
--- a/source/modules/water/memory/MemoryBlock.h
+++ b/source/modules/water/memory/MemoryBlock.h
@@ -68,11 +68,6 @@ public:
*/
MemoryBlock& operator= (const MemoryBlock&);
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- MemoryBlock (MemoryBlock&&) noexcept;
- MemoryBlock& operator= (MemoryBlock&&) noexcept;
- #endif
-
//==============================================================================
/** Compares two memory blocks.
@returns true only if the two blocks are the same size and have identical contents.
diff --git a/source/modules/water/memory/ReferenceCountedObject.h b/source/modules/water/memory/ReferenceCountedObject.h
index 4f5a256ee..b23ed914d 100644
--- a/source/modules/water/memory/ReferenceCountedObject.h
+++ b/source/modules/water/memory/ReferenceCountedObject.h
@@ -301,22 +301,6 @@ public:
return *this;
}
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- /** Takes-over the object from another pointer. */
- ReferenceCountedObjectPtr (ReferenceCountedObjectPtr&& other) noexcept
- : referencedObject (other.referencedObject)
- {
- other.referencedObject = nullptr;
- }
-
- /** Takes-over the object from another pointer. */
- ReferenceCountedObjectPtr& operator= (ReferenceCountedObjectPtr&& other)
- {
- std::swap (referencedObject, other.referencedObject);
- return *this;
- }
- #endif
-
/** Destructor.
This will decrement the object's reference-count, which will cause the
object to be deleted when the ref-count hits zero.
diff --git a/source/modules/water/midi/MidiMessage.cpp b/source/modules/water/midi/MidiMessage.cpp
index 21c90f508..a4354222e 100644
--- a/source/modules/water/midi/MidiMessage.cpp
+++ b/source/modules/water/midi/MidiMessage.cpp
@@ -286,24 +286,6 @@ MidiMessage& MidiMessage::operator= (const MidiMessage& other)
return *this;
}
-#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
-MidiMessage::MidiMessage (MidiMessage&& other) noexcept
- : timeStamp (other.timeStamp), size (other.size)
-{
- packedData.allocatedData = other.packedData.allocatedData;
- other.size = 0;
-}
-
-MidiMessage& MidiMessage::operator= (MidiMessage&& other) noexcept
-{
- packedData.allocatedData = other.packedData.allocatedData;
- timeStamp = other.timeStamp;
- size = other.size;
- other.size = 0;
- return *this;
-}
-#endif
-
MidiMessage::~MidiMessage() noexcept
{
if (isHeapAllocated())
diff --git a/source/modules/water/midi/MidiMessage.h b/source/modules/water/midi/MidiMessage.h
index 07f15c467..6b78d55f8 100644
--- a/source/modules/water/midi/MidiMessage.h
+++ b/source/modules/water/midi/MidiMessage.h
@@ -113,11 +113,6 @@ public:
/** Copies this message from another one. */
MidiMessage& operator= (const MidiMessage& other);
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- MidiMessage (MidiMessage&&) noexcept;
- MidiMessage& operator= (MidiMessage&&) noexcept;
- #endif
-
//==============================================================================
/** Returns a pointer to the raw midi data.
@see getRawDataSize
diff --git a/source/modules/water/midi/MidiMessageSequence.h b/source/modules/water/midi/MidiMessageSequence.h
index f85f5fd05..bfe27d061 100644
--- a/source/modules/water/midi/MidiMessageSequence.h
+++ b/source/modules/water/midi/MidiMessageSequence.h
@@ -55,18 +55,6 @@ public:
/** Replaces this sequence with another one. */
MidiMessageSequence& operator= (const MidiMessageSequence&);
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- MidiMessageSequence (MidiMessageSequence&& other) noexcept
- : list (static_cast<OwnedArray<MidiEventHolder>&&> (other.list))
- {}
-
- MidiMessageSequence& operator= (MidiMessageSequence&& other) noexcept
- {
- list = static_cast<OwnedArray<MidiEventHolder>&&> (other.list);
- return *this;
- }
- #endif
-
/** Destructor. */
~MidiMessageSequence();
diff --git a/source/modules/water/misc/Result.cpp b/source/modules/water/misc/Result.cpp
index b8706e771..49f1f85e1 100644
--- a/source/modules/water/misc/Result.cpp
+++ b/source/modules/water/misc/Result.cpp
@@ -45,19 +45,6 @@ Result& Result::operator= (const Result& other)
return *this;
}
-#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
-Result::Result (Result&& other) noexcept
- : errorMessage (static_cast<String&&> (other.errorMessage))
-{
-}
-
-Result& Result::operator= (Result&& other) noexcept
-{
- errorMessage = static_cast<String&&> (other.errorMessage);
- return *this;
-}
-#endif
-
bool Result::operator== (const Result& other) const noexcept
{
return errorMessage == other.errorMessage;
diff --git a/source/modules/water/misc/Result.h b/source/modules/water/misc/Result.h
index ab4cf9bf1..495a19fc9 100644
--- a/source/modules/water/misc/Result.h
+++ b/source/modules/water/misc/Result.h
@@ -100,11 +100,6 @@ public:
Result (const Result&);
Result& operator= (const Result&);
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- Result (Result&&) noexcept;
- Result& operator= (Result&&) noexcept;
- #endif
-
bool operator== (const Result& other) const noexcept;
bool operator!= (const Result& other) const noexcept;
diff --git a/source/modules/water/text/Identifier.cpp b/source/modules/water/text/Identifier.cpp
index e542d6eeb..3f1850369 100644
--- a/source/modules/water/text/Identifier.cpp
+++ b/source/modules/water/text/Identifier.cpp
@@ -32,16 +32,6 @@ Identifier::~Identifier() noexcept {}
Identifier::Identifier (const Identifier& other) noexcept : name (other.name) {}
-#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
-Identifier::Identifier (Identifier&& other) noexcept : name (static_cast<String&&> (other.name)) {}
-
-Identifier& Identifier::operator= (Identifier&& other) noexcept
-{
- name = static_cast<String&&> (other.name);
- return *this;
-}
-#endif
-
Identifier& Identifier::operator= (const Identifier& other) noexcept
{
name = other.name;
diff --git a/source/modules/water/text/Identifier.h b/source/modules/water/text/Identifier.h
index a044b3a3a..ab768cd10 100644
--- a/source/modules/water/text/Identifier.h
+++ b/source/modules/water/text/Identifier.h
@@ -70,14 +70,6 @@ public:
/** Creates a copy of another identifier. */
Identifier& operator= (const Identifier& other) noexcept;
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- /** Creates a copy of another identifier. */
- Identifier (Identifier&& other) noexcept;
-
- /** Creates a copy of another identifier. */
- Identifier& operator= (Identifier&& other) noexcept;
- #endif
-
/** Destructor */
~Identifier() noexcept;
diff --git a/source/modules/water/text/String.cpp b/source/modules/water/text/String.cpp
index 51b20bc25..1dd593468 100644
--- a/source/modules/water/text/String.cpp
+++ b/source/modules/water/text/String.cpp
@@ -247,19 +247,6 @@ String& String::operator= (const String& other) noexcept
return *this;
}
-#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
-String::String (String&& other) noexcept : text (other.text)
-{
- other.text = &(emptyString.text);
-}
-
-String& String::operator= (String&& other) noexcept
-{
- std::swap (text, other.text);
- return *this;
-}
-#endif
-
inline String::PreallocationBytes::PreallocationBytes (const size_t num) noexcept : numBytes (num) {}
String::String (const PreallocationBytes& preallocationSize)
diff --git a/source/modules/water/text/String.h b/source/modules/water/text/String.h
index 0a0ba99f1..ffa8ecf3b 100644
--- a/source/modules/water/text/String.h
+++ b/source/modules/water/text/String.h
@@ -56,10 +56,6 @@ public:
/** Creates a copy of another string. */
String (const String& other) noexcept;
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- String (String&& other) noexcept;
- #endif
-
/** Creates a string from a zero-terminated ascii text string.
The string passed-in must not contain any characters with a value above 127, because
@@ -139,10 +135,6 @@ public:
/** Replaces this string's contents with another string. */
String& operator= (const String& other) noexcept;
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- String& operator= (String&& other) noexcept;
- #endif
-
/** Appends another string at the end of this one. */
String& operator+= (const String& stringToAppend);
/** Appends another string at the end of this one. */
diff --git a/source/modules/water/text/StringArray.cpp b/source/modules/water/text/StringArray.cpp
index c0fddb5db..36856f4a7 100644
--- a/source/modules/water/text/StringArray.cpp
+++ b/source/modules/water/text/StringArray.cpp
@@ -36,13 +36,6 @@ StringArray::StringArray (const StringArray& other)
{
}
-#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
-StringArray::StringArray (StringArray&& other) noexcept
- : strings (static_cast<Array <String>&&> (other.strings))
-{
-}
-#endif
-
StringArray::StringArray (const String& firstValue)
{
strings.add (firstValue);
@@ -69,14 +62,6 @@ StringArray& StringArray::operator= (const StringArray& other)
return *this;
}
-#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
-StringArray& StringArray::operator= (StringArray&& other) noexcept
-{
- strings = static_cast<Array<String>&&> (other.strings);
- return *this;
-}
-#endif
-
StringArray::~StringArray()
{
}
@@ -125,13 +110,6 @@ bool StringArray::add (const String& newString)
return strings.add (newString);
}
-#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
-bool StringArray::add (String&& stringToAdd)
-{
- return strings.add (static_cast<String&&> (stringToAdd));
-}
-#endif
-
bool StringArray::insert (const int index, const String& newString)
{
return strings.insert (index, newString);
diff --git a/source/modules/water/text/StringArray.h b/source/modules/water/text/StringArray.h
index 57ed5d300..d7244a066 100644
--- a/source/modules/water/text/StringArray.h
+++ b/source/modules/water/text/StringArray.h
@@ -47,10 +47,6 @@ public:
/** Creates a copy of another string array */
StringArray (const StringArray&);
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- StringArray (StringArray&&) noexcept;
- #endif
-
/** Creates an array containing a single string. */
explicit StringArray (const String& firstValue);
@@ -80,10 +76,6 @@ public:
/** Copies the contents of another string array into this one */
StringArray& operator= (const StringArray&);
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- StringArray& operator= (StringArray&&) noexcept;
- #endif
-
/** Swaps the contents of this and another StringArray. */
void swapWith (StringArray&) noexcept;
@@ -159,11 +151,6 @@ public:
/** Appends a string at the end of the array. */
bool add (const String& stringToAdd);
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- /** Appends a string at the end of the array. */
- bool add (String&& stringToAdd);
- #endif
-
/** Inserts a string into the array.
This will insert a string into the array at the given index, moving
diff --git a/source/modules/water/water.h b/source/modules/water/water.h
index 33b908c27..d8305a0ee 100644
--- a/source/modules/water/water.h
+++ b/source/modules/water/water.h
@@ -32,18 +32,12 @@
// Compiler support
#if (__cplusplus >= 201103L || defined (__GXX_EXPERIMENTAL_CXX0X__)) && (__GNUC__ * 100 + __GNUC_MINOR__) >= 405
- #define WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS 1
-
#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && ! defined (WATER_DELETED_FUNCTION)
#define WATER_DELETED_FUNCTION = delete
#endif
#endif
#ifdef __clang__
- #if __has_feature (cxx_implicit_moves) && __clang_major__ >= 9
- #define WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS 1
- #endif
-
#if __has_feature (cxx_deleted_functions)
#define WATER_DELETED_FUNCTION = delete
#endif
diff --git a/source/modules/water/xml/XmlElement.cpp b/source/modules/water/xml/XmlElement.cpp
index 2de0fa34e..92bfecc7e 100644
--- a/source/modules/water/xml/XmlElement.cpp
+++ b/source/modules/water/xml/XmlElement.cpp
@@ -133,31 +133,6 @@ XmlElement& XmlElement::operator= (const XmlElement& other)
return *this;
}
-#if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
-XmlElement::XmlElement (XmlElement&& other) noexcept
- : nextListItem (static_cast<LinkedListPointer<XmlElement>&&> (other.nextListItem)),
- firstChildElement (static_cast<LinkedListPointer<XmlElement>&&> (other.firstChildElement)),
- attributes (static_cast<LinkedListPointer<XmlAttributeNode>&&> (other.attributes)),
- tagName (static_cast<String&&> (other.tagName))
-{
-}
-
-XmlElement& XmlElement::operator= (XmlElement&& other) noexcept
-{
- wassert (this != &other); // hopefully the compiler should make this situation impossible!
-
- removeAllAttributes();
- deleteAllChildElements();
-
- nextListItem = static_cast<LinkedListPointer<XmlElement>&&> (other.nextListItem);
- firstChildElement = static_cast<LinkedListPointer<XmlElement>&&> (other.firstChildElement);
- attributes = static_cast<LinkedListPointer<XmlAttributeNode>&&> (other.attributes);
- tagName = static_cast<String&&> (other.tagName);
-
- return *this;
-}
-#endif
-
void XmlElement::copyChildrenAndAttributesFrom (const XmlElement& other)
{
wassert (firstChildElement.get() == nullptr);
diff --git a/source/modules/water/xml/XmlElement.h b/source/modules/water/xml/XmlElement.h
index d27b7d98d..273d28e4c 100644
--- a/source/modules/water/xml/XmlElement.h
+++ b/source/modules/water/xml/XmlElement.h
@@ -166,11 +166,6 @@ public:
/** Creates a (deep) copy of another element. */
XmlElement& operator= (const XmlElement&);
- #if WATER_COMPILER_SUPPORTS_MOVE_SEMANTICS
- XmlElement (XmlElement&&) noexcept;
- XmlElement& operator= (XmlElement&&) noexcept;
- #endif
-
/** Deleting an XmlElement will also delete all of its child elements. */
~XmlElement() noexcept;

+ 6
- 0
sources/libs/kxstudio-build-scripts/debian/changelog View File

@@ -1,3 +1,9 @@
kxstudio-build-scripts (6) focal; urgency=medium

* Fix carla mem leaks

-- falkTX <falktx@falktx.com> Mon, 09 May 2022 20:25:28 +0100

kxstudio-build-scripts (5) focal; urgency=medium

* Tweak default flags


+ 1
- 0
sources/libs/kxstudio-build-scripts/debian/rules View File

@@ -34,6 +34,7 @@ export LDFLAGS=
override_dh_auto_configure:
mkdir -p build
tar -x -C build --overwrite --strip-components=1 -f carla.tar.gz
patch -d build -p1 -i ../carla-fixes.patch

override_dh_auto_build:
$(MAKE) all -C build $(CARLA_BACKEND_EXTRAFLAGS)


+ 5
- 0
sources/plugins/airwindows-lv2/debian/changelog View File

@@ -0,0 +1,5 @@
airwindows-lv2 (6:1.0-1kxstudio1) focal; urgency=medium

* Initial package

-- falkTX <falktx@falktx.com> Sun, 17 Apr 2022 15:05:47 +0100

+ 21
- 0
sources/plugins/airwindows-lv2/debian/control View File

@@ -0,0 +1,21 @@
Source: airwindows-lv2
Section: sound
Priority: optional
Maintainer: falkTX <falktx@falktx.com>
Build-Depends: debhelper-compat (= 13),
kxstudio-audio-plugin-tester (>= 6)
Standards-Version: 4.5.0
Homepage: https://github.com/hannesbraun/airwindows-lv2
Rules-Requires-Root: no

Package: airwindows-lv2
Architecture: any
Depends: ${misc:Depends}, ${shlibs:Depends}
Provides: lv2-plugin
Description: LV2 port of Airwindows plugins by Chris Johnson
Airwindows is a collection of modular, graphic-less, stripped-down audio
plugins.
.
Airwindows’ reputation was built out of generic-interface plugins, which
typically focus on doing only one thing, often with very simple controls,
labelled to help understanding but not to encourage formulaic work.

+ 2924
- 0
sources/plugins/airwindows-lv2/debian/patches/01_optimizations.patch
File diff suppressed because it is too large
View File


+ 21
- 0
sources/plugins/airwindows-lv2/debian/patches/02_9cced339c34db7213cfb81c5c13a1b963fb9db75.patch View File

@@ -0,0 +1,21 @@
From 9cced339c34db7213cfb81c5c13a1b963fb9db75 Mon Sep 17 00:00:00 2001
From: Fabio Pesari <fpesari@tuxfamily.org>
Date: Fri, 22 Apr 2022 14:14:05 +0200
Subject: [PATCH] Added -lm to plugins

---
CMakeLists.txt | 1 +
1 file changed, 1 insertion(+)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9636c5e..f0ad4e1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -28,6 +28,7 @@ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/Airwindows.lv2)
function(add_plugin PLUGIN_NAME)
add_library(${PLUGIN_NAME} SHARED src/${PLUGIN_NAME}/${PLUGIN_NAME}.c)
target_include_directories(${PLUGIN_NAME} PRIVATE ${LV2_INCLUDE_DIRS})
+ target_link_libraries(${PLUGIN_NAME} m)
set_target_properties(${PLUGIN_NAME} PROPERTIES PREFIX "")
if(MSVC)

+ 2
- 0
sources/plugins/airwindows-lv2/debian/patches/series View File

@@ -0,0 +1,2 @@
01_optimizations.patch
02_9cced339c34db7213cfb81c5c13a1b963fb9db75.patch

+ 13
- 0
sources/plugins/airwindows-lv2/debian/rules View File

@@ -0,0 +1,13 @@
#!/usr/bin/make -f

include /usr/share/dpkg/kxstudio-audio-plugin.mk

override_dh_auto_configure:
dh_auto_configure -- -DCMAKE_INSTALL_PREFIX=/usr/lib/lv2 -DCMAKE_BUILD_TYPE=Release

override_dh_auto_install:
dh_auto_install
$(call kxstudio_audio_plugin_test)

%:
dh $@ -Scmake

Loading…
Cancel
Save