Browse Source

Remove a few more juce related code

tags/1.9.8
falkTX 7 years ago
parent
commit
c4d5106563
9 changed files with 47 additions and 120 deletions
  1. +3
    -0
      source/backend/engine/CarlaEngineBridge.cpp
  2. +3
    -0
      source/backend/engine/CarlaEngineGraph.cpp
  3. +10
    -17
      source/backend/engine/CarlaEngineJack.cpp
  4. +1
    -0
      source/backend/engine/CarlaEngineNative.cpp
  5. +7
    -2
      source/utils/CarlaBinaryUtils.hpp
  6. +0
    -93
      source/utils/CarlaEngineUtils.hpp
  7. +0
    -6
      source/utils/CarlaJuceUtils.hpp
  8. +1
    -1
      source/utils/CarlaPatchbayUtils.hpp
  9. +22
    -1
      source/utils/CarlaStringList.hpp

+ 3
- 0
source/backend/engine/CarlaEngineBridge.cpp View File

@@ -31,6 +31,9 @@
# include <xmmintrin.h>
#endif

#include "AppConfig.h"
#include "juce_core/juce_core.h"

// must be last
#include "jackbridge/JackBridge.hpp"



+ 3
- 0
source/backend/engine/CarlaEngineGraph.cpp View File

@@ -22,6 +22,9 @@
#include "CarlaMathUtils.hpp"
#include "CarlaMIDI.h"

#include "AppConfig.h"
#include "juce_audio_basics/juce_audio_basics.h"

using juce::AudioBuffer;
using juce::FloatVectorOperations;
using juce::MemoryBlock;


+ 10
- 17
source/backend/engine/CarlaEngineJack.cpp View File

@@ -26,7 +26,6 @@
#include "CarlaStringList.hpp"

#include "jackey.h"
#include "juce_audio_basics/juce_audio_basics.h"

#ifdef __SSE2_MATH__
# include <xmmintrin.h>
@@ -37,10 +36,6 @@

#define URI_CANVAS_ICON "http://kxstudio.sf.net/ns/canvas/icon"

using juce::FloatVectorOperations;
using juce::String;
using juce::StringArray;

CARLA_BACKEND_START_NAMESPACE

class CarlaEngineJack;
@@ -137,7 +132,7 @@ public:
}

if (! kIsInput)
FloatVectorOperations::clear(fBuffer, static_cast<int>(bufferSize));
carla_zeroFloats(fBuffer, static_cast<int>(bufferSize));
}

void invalidate() noexcept
@@ -229,7 +224,7 @@ public:
}

if (! kIsInput)
FloatVectorOperations::clear(fBuffer, static_cast<int>(bufferSize));
carla_zeroFloats(fBuffer, static_cast<int>(bufferSize));
}

void invalidate() noexcept
@@ -1560,10 +1555,10 @@ protected:
if (pData->aboutToClose)
{
if (float* const audioOut1 = (float*)jackbridge_port_get_buffer(fRackPorts[kRackPortAudioOut1], nframes))
FloatVectorOperations::clear(audioOut1, static_cast<int>(nframes));
carla_zeroFloats(audioOut1, nframes);

if (float* const audioOut2 = (float*)jackbridge_port_get_buffer(fRackPorts[kRackPortAudioOut2], nframes))
FloatVectorOperations::clear(audioOut2, static_cast<int>(nframes));
carla_zeroFloats(audioOut2, nframes);
}
else if (pData->curPluginCount == 0)
{
@@ -1579,8 +1574,8 @@ protected:
CARLA_SAFE_ASSERT_RETURN(audioOut2 != nullptr,);

// pass-through
FloatVectorOperations::copy(audioOut1, audioIn1, static_cast<int>(nframes));
FloatVectorOperations::copy(audioOut2, audioIn2, static_cast<int>(nframes));
carla_copyFloats(audioOut1, audioIn1, nframes);
carla_copyFloats(audioOut2, audioIn2, nframes);

// TODO pass-through MIDI as well
if (void* const eventOut = jackbridge_port_get_buffer(fRackPorts[kRackPortEventOut], nframes))
@@ -2024,11 +2019,11 @@ private:
{
CARLA_SAFE_ASSERT_RETURN(ourName != nullptr && ourName[0] != '\0',);

StringArray parsedGroups;
CarlaStringList parsedGroups;

// add our client first
{
parsedGroups.add(String(ourName));
parsedGroups.append(ourName);

GroupNameToId groupNameToId;
groupNameToId.setData(++fUsedGroups.lastId, ourName);
@@ -2061,9 +2056,7 @@ private:

CARLA_SAFE_ASSERT_CONTINUE(found);

String jGroupName(groupName.buffer());

if (parsedGroups.contains(jGroupName))
if (parsedGroups.contains(groupName))
{
groupId = fUsedGroups.getGroupId(groupName);
CARLA_SAFE_ASSERT_CONTINUE(groupId > 0);
@@ -2071,7 +2064,7 @@ private:
else
{
groupId = ++fUsedGroups.lastId;
parsedGroups.add(jGroupName);
parsedGroups.append(groupName);

int pluginId = -1;
PatchbayIcon icon = (jackPortFlags & JackPortIsPhysical) ? PATCHBAY_ICON_HARDWARE : PATCHBAY_ICON_APPLICATION;


+ 1
- 0
source/backend/engine/CarlaEngineNative.cpp View File

@@ -34,6 +34,7 @@
#include "CarlaHost.h"
#include "CarlaNative.hpp"

#include "AppConfig.h"
#include "juce_audio_basics/juce_audio_basics.h"

using juce::File;


+ 7
- 2
source/utils/CarlaBinaryUtils.hpp View File

@@ -22,6 +22,7 @@
#include "CarlaUtils.hpp"

#if defined(CARLA_OS_WIN)
# include "AppConfig.h"
# include "juce_core/juce_core.h"
#elif defined(HAVE_LIBMAGIC)
# include <magic.h>
@@ -129,10 +130,14 @@ BinaryType getBinaryTypeFromFile(const char* const filename)

if (std::strstr(output, "MS Windows") != nullptr)
if (std::strstr(output, "PE32 executable") != nullptr || std::strstr(output, "PE32+ executable") != nullptr)
return (std::strstr(output, "x86-64") != nullptr) ? BINARY_WIN64 : BINARY_WIN32;
return (std::strstr(output, "x86-64") != nullptr)
? BINARY_WIN64
: BINARY_WIN32;

if (std::strstr(output, "ELF") != nullptr)
return (std::strstr(output, "x86-64") != nullptr || std::strstr(output, "aarch64") != nullptr) ? BINARY_POSIX64 : BINARY_POSIX32;
return (std::strstr(output, "x86-64") != nullptr || std::strstr(output, "aarch64") != nullptr)
? BINARY_POSIX64
: BINARY_POSIX32;
#endif

return BINARY_NATIVE;


+ 0
- 93
source/utils/CarlaEngineUtils.hpp View File

@@ -21,11 +21,6 @@
#include "CarlaEngine.hpp"
#include "CarlaUtils.hpp"

#include "CarlaMIDI.h"

#include "AppConfig.h"
#include "juce_audio_basics/juce_audio_basics.h"

CARLA_BACKEND_START_NAMESPACE

// -----------------------------------------------------------------------
@@ -115,94 +110,6 @@ const char* EngineControlEventType2Str(const EngineControlEventType type) noexce
return nullptr;
}

// -----------------------------------------------------------------------

static inline
void fillEngineEventsFromJuceMidiBuffer(EngineEvent engineEvents[kMaxEngineEventInternalCount], const juce::MidiBuffer& midiBuffer)
{
const uint8_t* midiData;
int numBytes, sampleNumber;
ushort engineEventIndex = 0;

for (ushort i=0; i < kMaxEngineEventInternalCount; ++i)
{
const EngineEvent& engineEvent(engineEvents[i]);

if (engineEvent.type != kEngineEventTypeNull)
continue;

engineEventIndex = i;
break;
}

for (juce::MidiBuffer::Iterator midiBufferIterator(midiBuffer); midiBufferIterator.getNextEvent(midiData, numBytes, sampleNumber) && engineEventIndex < kMaxEngineEventInternalCount;)
{
CARLA_SAFE_ASSERT_CONTINUE(numBytes > 0);
CARLA_SAFE_ASSERT_CONTINUE(sampleNumber >= 0);
CARLA_SAFE_ASSERT_CONTINUE(numBytes < 0xFF /* uint8_t max */);

EngineEvent& engineEvent(engineEvents[engineEventIndex++]);

engineEvent.time = static_cast<uint32_t>(sampleNumber);
engineEvent.fillFromMidiData(static_cast<uint8_t>(numBytes), midiData, 0);
}
}

// -----------------------------------------------------------------------

static inline
void fillJuceMidiBufferFromEngineEvents(juce::MidiBuffer& midiBuffer, const EngineEvent engineEvents[kMaxEngineEventInternalCount])
{
uint8_t size = 0;
uint8_t mdata[3] = { 0, 0, 0 };
const uint8_t* mdataPtr = mdata;
uint8_t mdataTmp[EngineMidiEvent::kDataSize];

for (ushort i=0; i < kMaxEngineEventInternalCount; ++i)
{
const EngineEvent& engineEvent(engineEvents[i]);

if (engineEvent.type == kEngineEventTypeNull)
{
break;
}
else if (engineEvent.type == kEngineEventTypeControl)
{
const EngineControlEvent& ctrlEvent(engineEvent.ctrl);

ctrlEvent.convertToMidiData(engineEvent.channel, size, mdata);
mdataPtr = mdata;
}
else if (engineEvent.type == kEngineEventTypeMidi)
{
const EngineMidiEvent& midiEvent(engineEvent.midi);

size = midiEvent.size;

if (size > EngineMidiEvent::kDataSize && midiEvent.dataExt != nullptr)
{
mdataPtr = midiEvent.dataExt;
}
else
{
// copy
carla_copy<uint8_t>(mdataTmp, midiEvent.data, size);
// add channel
mdataTmp[0] = static_cast<uint8_t>(mdataTmp[0] | (engineEvent.channel & MIDI_CHANNEL_BIT));
// done
mdataPtr = mdataTmp;
}
}
else
{
continue;
}

if (size > 0)
midiBuffer.addEvent(mdataPtr, static_cast<int>(size), static_cast<int>(engineEvent.time));
}
}

// -------------------------------------------------------------------
// Helper classes



+ 0
- 6
source/utils/CarlaJuceUtils.hpp View File

@@ -202,12 +202,6 @@ private:
CARLA_PREVENT_HEAP_ALLOCATION
};

#ifdef CARLA_OS_WIN
namespace juce {
extern bool juce_isRunningInWine();
}
#endif

//=====================================================================================================================

#endif // CARLA_JUCE_UTILS_HPP_INCLUDED

+ 1
- 1
source/utils/CarlaPatchbayUtils.hpp View File

@@ -1,6 +1,6 @@
/*
* Carla patchbay utils
* Copyright (C) 2011-2014 Filipe Coelho <falktx@falktx.com>
* Copyright (C) 2011-2017 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as


+ 22
- 1
source/utils/CarlaStringList.hpp View File

@@ -1,6 +1,6 @@
/*
* Carla String List
* Copyright (C) 2014 Filipe Coelho <falktx@falktx.com>
* Copyright (C) 2014-2017 Filipe Coelho <falktx@falktx.com>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@@ -261,6 +261,27 @@ public:

// -------------------------------------------------------------------

bool contains(const char* const string) noexcept
{
CARLA_SAFE_ASSERT_RETURN(string != nullptr, false);

if (fCount == 0)
return false;

for (Itenerator it = begin2(); it.valid(); it.next())
{
const char* const stringComp(it.getValue(nullptr));
CARLA_SAFE_ASSERT_CONTINUE(stringComp != nullptr);

if (std::strcmp(string, stringComp) == 0)
return true;
}

return false;
}

// -------------------------------------------------------------------

void remove(Itenerator& it) noexcept
{
if (const char* const string = it.getValue(nullptr))


Loading…
Cancel
Save