Revert "outer frame for carla-lv2" stuff, make it verbose instead
Signed-off-by: falkTX <falktx@falktx.com>
This commit is contained in:
parent
6435102228
commit
1671118eb6
|
@ -231,25 +231,25 @@ public:
|
|||
|
||||
if (fPorts.numMidiIns > 0 || fPorts.hasUI)
|
||||
{
|
||||
uint32_t numEventsIn;
|
||||
uint32_t numEventPortsIn;
|
||||
|
||||
if (fPorts.numMidiIns > 0)
|
||||
{
|
||||
numEventsIn = fPorts.numMidiIns;
|
||||
numEventPortsIn = fPorts.numMidiIns;
|
||||
fMidiEventCount = 0;
|
||||
carla_zeroStructs(fMidiEvents, kMaxMidiEvents);
|
||||
}
|
||||
else
|
||||
{
|
||||
numEventsIn = 1;
|
||||
numEventPortsIn = 1;
|
||||
}
|
||||
|
||||
for (uint32_t i=0; i < numEventsIn; ++i)
|
||||
for (uint32_t i=0; i < numEventPortsIn; ++i)
|
||||
{
|
||||
const LV2_Atom_Sequence* const eventsIn(fPorts.eventsIn[i]);
|
||||
CARLA_SAFE_ASSERT_CONTINUE(eventsIn != nullptr);
|
||||
const LV2_Atom_Sequence* const eventPortIn(fPorts.eventsIn[i]);
|
||||
CARLA_SAFE_ASSERT_CONTINUE(eventPortIn != nullptr);
|
||||
|
||||
LV2_ATOM_SEQUENCE_FOREACH(eventsIn, event)
|
||||
LV2_ATOM_SEQUENCE_FOREACH(eventPortIn, event)
|
||||
{
|
||||
if (event == nullptr)
|
||||
continue;
|
||||
|
@ -351,19 +351,16 @@ public:
|
|||
if (fNeedsNotifyFileChanged || fPreviewData.shouldSend)
|
||||
{
|
||||
uint8_t atomBuf[4096];
|
||||
LV2_Atom_Forge atomForge = fAtomForge;
|
||||
lv2_atom_forge_set_buffer(&atomForge, atomBuf, sizeof(atomBuf));
|
||||
|
||||
LV2_Atom_Forge_Frame outerFrame;
|
||||
lv2_atom_forge_sequence_head(&atomForge, &outerFrame, 0);
|
||||
|
||||
const int numEvents = fNeedsNotifyFileChanged && fPreviewData.shouldSend ? 2 : 1;
|
||||
LV2_Atom* atom = (LV2_Atom*)atomBuf;
|
||||
LV2_Atom_Sequence* const seq = fPorts.eventsOut[0];
|
||||
Ports::EventsOutData& mData(fPorts.eventsOutData[0]);
|
||||
|
||||
if (fNeedsNotifyFileChanged)
|
||||
{
|
||||
fNeedsNotifyFileChanged = false;
|
||||
|
||||
lv2_atom_forge_frame_time(&atomForge, 0);
|
||||
LV2_Atom_Forge atomForge = fAtomForge;
|
||||
lv2_atom_forge_set_buffer(&atomForge, atomBuf, sizeof(atomBuf));
|
||||
|
||||
LV2_Atom_Forge_Frame forgeFrame;
|
||||
lv2_atom_forge_object(&atomForge, &forgeFrame, 0, fURIs.patchSet);
|
||||
|
@ -384,6 +381,20 @@ public:
|
|||
static_cast<uint32_t>(fLoadedFile.length()+1));
|
||||
|
||||
lv2_atom_forge_pop(&atomForge, &forgeFrame);
|
||||
|
||||
if (sizeof(LV2_Atom_Event) + atom->size <= mData.capacity - mData.offset)
|
||||
{
|
||||
LV2_Atom_Event* const aev = (LV2_Atom_Event*)(LV2_ATOM_CONTENTS(LV2_Atom_Sequence, seq) + mData.offset);
|
||||
|
||||
aev->time.frames = 0;
|
||||
aev->body.size = atom->size;
|
||||
aev->body.type = atom->type;
|
||||
std::memcpy(LV2_ATOM_BODY(&aev->body), atom + 1, atom->size);
|
||||
|
||||
const uint32_t size = lv2_atom_pad_size(static_cast<uint32_t>(sizeof(LV2_Atom_Event) + atom->size));
|
||||
mData.offset += size;
|
||||
seq->atom.size += size;
|
||||
}
|
||||
}
|
||||
|
||||
if (fPreviewData.shouldSend)
|
||||
|
@ -393,7 +404,8 @@ public:
|
|||
const void* const pbuffer = fPreviewData.buffer;
|
||||
fPreviewData.shouldSend = false;
|
||||
|
||||
lv2_atom_forge_frame_time(&atomForge, 0);
|
||||
LV2_Atom_Forge atomForge = fAtomForge;
|
||||
lv2_atom_forge_set_buffer(&atomForge, atomBuf, sizeof(atomBuf));
|
||||
|
||||
LV2_Atom_Forge_Frame forgeFrame;
|
||||
lv2_atom_forge_object(&atomForge, &forgeFrame, 0, fURIs.patchSet);
|
||||
|
@ -420,16 +432,7 @@ public:
|
|||
}
|
||||
|
||||
lv2_atom_forge_pop(&atomForge, &forgeFrame);
|
||||
}
|
||||
|
||||
lv2_atom_forge_pop(&atomForge, &outerFrame);
|
||||
|
||||
LV2_Atom* atom = (LV2_Atom*)atomBuf;
|
||||
LV2_Atom_Sequence* const seq = fPorts.eventsOut[0];
|
||||
Ports::EventsOutData& mData(fPorts.eventsOutData[0]);
|
||||
|
||||
for (int i=0; i<numEvents; ++i)
|
||||
{
|
||||
if (sizeof(LV2_Atom_Event) + atom->size <= mData.capacity - mData.offset)
|
||||
{
|
||||
LV2_Atom_Event* const aev = (LV2_Atom_Event*)(LV2_ATOM_CONTENTS(LV2_Atom_Sequence, seq) + mData.offset);
|
||||
|
@ -443,8 +446,6 @@ public:
|
|||
mData.offset += size;
|
||||
seq->atom.size += size;
|
||||
}
|
||||
|
||||
atom = (LV2_Atom*)(atomBuf + lv2_atom_total_size(atom));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue