Skip to content

Instantly share code, notes, and snippets.

#pragma once
#include "libMTSClient.h"
#include <cmath>
namespace mtsesp_wrapper
{
class MIDIKeyTuner
{
public:
#define WIN32_LEAN_AND_MEAN
#define _WINSOCK_DEPRECATED_NO_WARNINGS
#include <memory>
#include <iostream>
#include <format>
#include "offlineclaphost.h"
#include "oscpkt.hh"
#include "udp.hh"
bool implementsGui() const noexcept override { return true; }
bool guiIsApiSupported(const char *api, bool isFloating) noexcept override
{
if (strcmp(api, "win32") == 0)
return true;
return false;
}
bool guiCreate(const char *api, bool isFloating) noexcept override
{
Shortcircuit XT.clap!common_assert_to_message_box<wchar_t>(const wchar_t * const expression, const wchar_t * const file_name, const unsigned int line_number, void * const return_address) Line 388 (c:\develop\shortcircuit-xt\build\minkernel\crts\ucrt\src\appcrt\startup\assert.cpp:388)
Shortcircuit XT.clap!common_assert<wchar_t>(const wchar_t * const expression, const wchar_t * const file_name, const unsigned int line_number, void * const return_address) Line 424 (c:\develop\shortcircuit-xt\build\minkernel\crts\ucrt\src\appcrt\startup\assert.cpp:424)
Shortcircuit XT.clap!_wassert(const wchar_t * expression, const wchar_t * file_name, unsigned int line_number) Line 444 (c:\develop\shortcircuit-xt\build\minkernel\crts\ucrt\src\appcrt\startup\assert.cpp:444)
Shortcircuit XT.clap!scxt::SampleRateSupport::assertSampleRateSet() Line 198 (c:\develop\shortcircuit-xt\src\utils.h:198)
Shortcircuit XT.clap!scxt::engine::Group::processWithOS<1>(scxt::engine::Engine & e) Line 72 (c:\develop\shortcircuit-xt\src\engine\group.
void handleNextEvent(const clap_event_header_t *nextEvent, bool is_from_ui)
{
if (nextEvent->space_id != CLAP_CORE_EVENT_SPACE_ID)
return;
switch (nextEvent->type)
{
case CLAP_EVENT_NOTE_OFF:
case CLAP_EVENT_NOTE_CHOKE:
{
FixedMatrix<Config> m;
FixedMatrix<Config>::RoutingTable rt;
auto source0 = Config::SourceIdentifier{Config::SourceIdentifier::SI::LFO1};
auto source1 = Config::SourceIdentifier{Config::SourceIdentifier::SI::LFO2};
auto source2 = Config::SourceIdentifier{Config::SourceIdentifier::SI::LFO3};
auto source3 = Config::SourceIdentifier{Config::SourceIdentifier::SI::LFO4};
auto source4 = Config::SourceIdentifier{Config::SourceIdentifier::SI::BKENV1};
auto target0 = Config::TargetIdentifier{0};
auto target1 = Config::TargetIdentifier{1};
// based on event list from free-audio clap-wrapper
class SortingEventList
{
public:
union clap_multi_event
{
clap_event_header_t header;
clap_event_note_t note;
clap_event_midi_t midi;
clap_event_midi2_t midi2;
@Xenakios
Xenakios / gist:21bae3f322c73e42e08ceb8a2bc29c37
Created October 22, 2023 19:43
conduit polymetric delay crash
Conduit.clap!sst::jucegui::data::Discrete::~Discrete() Line 33 (c:\develop\conduit\libs\sst\sst-jucegui\include\sst\jucegui\data\Discrete.h:33)
Conduit.clap!sst::conduit::shared::EditorCommunicationsHandler<sst::conduit::polymetric_delay::ConduitPolymetricDelay,sst::conduit::polymetric_delay::editor::ConduitPolymetricDelayEditor>::D2QDiscreteParam::~D2QDiscreteParam() (Unknown Source:0)
Conduit.clap!sst::conduit::shared::EditorCommunicationsHandler<sst::conduit::polymetric_delay::ConduitPolymetricDelay,sst::conduit::polymetric_delay::editor::ConduitPolymetricDelayEditor>::D2QDiscreteParam::`scalar deleting destructor'(unsigned int) (Unknown Source:0)
Conduit.clap!std::default_delete<sst::conduit::shared::EditorCommunicationsHandler<sst::conduit::polymetric_delay::ConduitPolymetricDelay,sst::conduit::polymetric_delay::editor::ConduitPolymetricDelayEditor>::D2QDiscreteParam>::operator()(sst::conduit::shared::EditorCommunicationsHandler<sst::conduit::polymetric_delay::ConduitPolymetricDelay,sst::conduit::polymet
/*
==============================================================================
This file is part of the JUCE tutorials.
Copyright (c) 2020 - Raw Material Software Limited
The code included in this file is provided under the terms of the ISC license
http://www.isc.org/downloads/software-support-policy/isc-license. Permission
To use, copy, modify, and/or distribute this software for any purpose with or
without fee is hereby granted provided that the above copyright notice and
struct ClapManufacturingInfo
{
ClapManufacturingInfo() {}
ClapManufacturingInfo(int index, juce::String fn, const clap_plugin_descriptor_t* desc)
: filename(fn), subpluginindex(index)
{
manufacturer = desc->vendor;
name = desc->name;
auto ptr = desc->features;
while (ptr)