Krotos Modules 3
Loading...
Searching...
No Matches
krotos Namespace Reference

Namespaces

namespace  KColours
 
namespace  krotos
 
namespace  UCS
 
namespace  utils
 
namespace  WindowFunctions
 

Classes

class  AirAbsorptionFilter
 
struct  AnalysisCoefficients
 AnalysisCoefficients - A class containing attributes used during analysis of audio. More...
 
struct  AnalysisCoefficientsPhase
 AnalysisCoefficientsPhase - A class containing attributes used during phase analysis of audio. More...
 
class  AnthropicAPIException
 
class  AreaSelectionComp
 
class  AssetException
 An exception for asset manager. More...
 
class  AssetManager
 Helper class for handling audio files. More...
 
class  AssetManagerUI
 UI Helper class for handling audio files. More...
 
class  AsyncListenerUpdater
 
class  AttachedComboBox
 This class combines a ComboBox and a ComboboxParameterAttachment to simplify the process of adding toggle buttons to a GUI element. More...
 
class  AttachedLabel
 This class ... More...
 
class  AttachedSlider
 This class combines a Slider, Label, and a SliderAttachment to simplify the process of adding knobs to a GUI element. More...
 
class  AttachedToggleButton
 This class combines a ToggleButton, Label, and a ButtonParameterAttachment to simplify the process of adding toggle buttons to a GUI element. More...
 
class  AudioDataset
 
struct  AudioDescriptor
 A class to contains any attributes we want to store for the described audio. More...
 
class  AudioEmbedding
 
class  AudioSampleCircularBuffer
 A fractional delay line with several interpolation methods. More...
 
struct  AudioSegment
 A struct to describe an audio sample (as appears in the waveform view) More...
 
class  Autocorrelation
 
class  BipolarSliderLAF
 
class  BiquadFilter
 
class  BM25
 ATIRE BM25 ranking function. This variant does not result in negative IDF values. Trotman, A., Jia, X., & Crane, M. (2012, August). Towards an Efficient and Effective Search Engine. In OSIR@ SIGIR (pp. 40-47). More...
 
class  CatIDSearch
 
class  CloseButton
 A simple, image based Close Button using a drawable with default, hover and selected properties. More...
 
class  ContextMenuButton
 Draws a context menu button which has a kebab icon with mouse hover states. More...
 
class  ConvolutionComputationThread
 A thread class designed to load and preprocess an impulse response. More...
 
class  ConvolutionReverb
 Audio processing class that uses multi-threading to convolve an input signal with an impulse response. More...
 
class  Convolver
 
class  ConvolverBackgroundThread
 
class  CustomLayout
 
class  CustomParameter
 A wrapper around juce::ValueTree designed to store custom plugin state (strings, arrays, etc.). More...
 
class  CustomParameterTree
 
struct  Dataset
 
struct  Dataset2D
 
class  DeClicker
 
class  DirectoryWatcher
 directory watcher class for text to preset module to process data when there is changes in the rpesets root directory More...
 
class  DiscreteCosineTransform
 
class  DragComponent
 A component designed to represent a draggable element with a visual representation. More...
 
class  DraggableLabel
 A Label that can be dragged and dropped e.g. onto a DropComponent. More...
 
class  DrawingHelper
 
class  DropComponent
 A component for dropping draggable juce objects onto. More...
 
class  DryWet
 Stores a mix value and provides the dry & wet gain values using constant-power mixing. More...
 
class  DSPConstants
 
class  EarFilter
 
class  EMAFilter
 
class  EncryptedAssetException
 An exception for asset manager, specifc to encrypted assets. More...
 
class  EnvelopeFollowerSPD
 
class  ERB_FFTSpectrogram
 FFT-based cochlear power spectrogram. More...
 
class  FactoryAssetsWatcher
 Trigger processing of data when there is changes in the factory assets root directory. More...
 
class  Filter
 Filter an audio signal. More...
 
class  FloatBuffer
 
class  FloatBufferSource
 
class  FrequencyDomainAnalysisFramework
 
struct  FrequencyRange
 
class  GenericParameter
 A subclass of RangedAudioParameter that can act as an alias for another audio parameter, used in the parameter routing system. More...
 
class  Grain
 
class  GrainDisplay
 
class  GrainRange
 
class  GrainVisualiser
 A component to display the grains of the reformer engine. More...
 
class  GranularOscillator
 Generates sounds by decimating and reconstructing audio samples. More...
 
class  HarmonicRepresentation
 
class  ImagePopup
 A component with images, a header and a description used for info popup messages. More...
 
class  IRConvolver
 Used in the ConvolutionReverb class, performs single-channel convolution. More...
 
class  JsonException
 An exception for the JSON file class. More...
 
class  JsonFile
 
class  KAttachment
 Attaches to a KParameter to provide parameter smoothing and modulation. More...
 
class  KDTree
 
class  KDTreeND
 
class  KParameter
 Internal Kwidget parameter that can receive changes from a GenericParameter. More...
 
class  Krotos_LookAndFeel
 
class  KrotosAudioBuffer
 
class  KrotosAudioBufferDSP
 
struct  KrotosImage
 A structure to associate a Juce image with any other required variables. More...
 
class  KrotosLabel
 This class was initally created to add right-click edit functionality to labels. More...
 
class  KrotosSampleOscillatorSound
 
class  KrotosSynthesiserSound
 
class  Kwidget
 
class  Kwidget_Adsr
 
class  Kwidget_AudioOut
 
class  Kwidget_ConvolutionReverb
 Kwidget class for a convolution reverb effect. More...
 
class  Kwidget_CoreEngine
 
class  Kwidget_Filter
 
class  Kwidget_Lfo
 
class  Kwidget_MacroControls
 
class  Kwidget_MacroSlider
 
class  Kwidget_MoogVcf
 
class  Kwidget_OfflineAnalyser
 
class  Kwidget_Pan
 
class  Kwidget_PhaseVocoder
 
class  Kwidget_Recorder
 
class  Kwidget_Reformer
 
class  Kwidget_SAFilter
 
class  Kwidget_Saturation
 
class  Kwidget_Sawtooth
 
class  Kwidget_Scaledadsr
 
class  Kwidget_Sine
 
class  Kwidget_Template
 
class  Kwidget_TriggerButton
 
class  Kwidget_XyPad
 
class  KwidgetAudioProcessor
 
class  KwidgetFactory
 
class  KwidgetGUI
 Interface for a UI Component that controls a KwidgetProcessor. More...
 
class  KwidgetGUI_Adsr
 
class  KwidgetGUI_AudioOut
 
class  KwidgetGUI_ConvolutionReverb
 
class  KwidgetGUI_CoreEngine
 
class  KwidgetGUI_Filter
 
class  KwidgetGUI_Lfo
 
class  KwidgetGUI_MacroControls
 
class  KwidgetGUI_MacroSlider
 
class  KwidgetGUI_MoogVcf
 
class  KwidgetGUI_OfflineAnalyser
 
class  KwidgetGUI_Pan
 
class  KwidgetGUI_PhaseVocoder
 
class  KwidgetGUI_Recorder
 
class  KwidgetGUI_Reformer
 
class  KwidgetGUI_SAFilter
 
class  KwidgetGUI_Saturation
 
class  KwidgetGUI_Sawtooth
 
class  KwidgetGUI_Scaledadsr
 
class  KwidgetGUI_Sine
 
class  KwidgetGUI_Template
 
class  KwidgetGUI_TriggerButton
 
class  KwidgetGUI_XyPad
 
struct  KwidgetLoadRequest
 A middleware request object for a Kwidget load event. More...
 
struct  KwidgetLoadResponse
 A middleware response object for the Kwidget load operation. More...
 
class  KwidgetProcessor
 An interface for an audio processor designed for modular use. More...
 
class  KwidgetProcessor_Adsr
 
class  KwidgetProcessor_AudioOut
 
class  KwidgetProcessor_ConvolutionReverb
 
class  KwidgetProcessor_CoreEngine
 
class  KwidgetProcessor_Filter
 
class  KwidgetProcessor_Lfo
 
class  KwidgetProcessor_MacroControls
 
class  KwidgetProcessor_MacroSlider
 
class  KwidgetProcessor_MoogVcf
 
class  KwidgetProcessor_OfflineAnalyser
 
class  KwidgetProcessor_Pan
 
class  KwidgetProcessor_PhaseVocoder
 
class  KwidgetProcessor_Recorder
 The processing power of the KwidgetRecorder that performs the recording of the plugins output and writes it to a temp File in a temp directory. More...
 
class  KwidgetProcessor_Reformer
 
class  KwidgetProcessor_SAFilter
 
class  KwidgetProcessor_Saturation
 
class  KwidgetProcessor_Sawtooth
 
class  KwidgetProcessor_Scaledadsr
 
class  KwidgetProcessor_Sine
 
class  KwidgetProcessor_Template
 
class  KwidgetProcessor_TriggerButton
 
class  KwidgetProcessor_XyPad
 
class  KwidgetProcessorGraph
 Uses juce::AudioProcessorGraph to store Kwidgets and their audio connections, and process audio through them. More...
 
class  KwidgetSynth
 A subclass of juce::Synthesiser for creating polyphonic output from a modular arrangement of Kwidgets. More...
 
class  KwidgetSynthSound
 Concrete subclass of juce::SynthesiserSound. More...
 
class  KwidgetSynthVoice
 Adapter for using KwidgetProcessorGraph objects with juce::Synthesiser. More...
 
class  LabelCustomParameterAttachment
 
class  LinearInterpolator
 
class  LinearModel
 class that infers linear model it supports multiple fully connected hidden layers and calculates multiple outputs focusing on classification It features an optional sigmoid and a relu activation function More...
 
class  LLMJsonParseException
 
class  LowpassFilter
 
class  McLeod
 An implementation of the 'McLeod Pitch Method': http://miracle.otago.ac.nz/tartini/papers/A_Smarter_Way_to_Find_Pitch.pdf. More...
 
class  MelFrequencySpectrum
 
class  ModulationAssigner
 
class  ModulationAssignerDropArea
 
class  ModulationAssignerTable
 
class  Modulator
 Holds a list of modulation destinations and sends events to them when the modulator output is updated. More...
 
class  MonitoredBool
 A bool which is monitored for changes of state. More...
 
class  MoogVcf
 Apply the Moog voltage controlled filter to an audio signal. More...
 
class  MouseVelocityExtractor
 A class specifically designed to extract some kind of useable velocity value from parameters whose values are driven by mouse move messages The signal is very noisy, and unpredictable with respect to when it changes. More...
 
class  MultiDropComponent
 A simple container for a holding multiple drop components used for assigning modulation to a kwidget which has more than 1 modulation source. More...
 
class  MusicScaleFilterBank
 
class  MuteStateMachine
 
class  MuteValueGenerator
 
class  NearestNeighbourSearch
 
class  NearestNeighbourSearch2D
 
class  NER
 NER is a Named Entity Recognition (NER) class designed to identify and extract named entities from unstructured text data. More...
 
class  OnsetDetector
 A class calculating onset positions of signal based on a slope vector describing it's envelope. More...
 
class  OpacityDrawableButton
 Helper class to create DrawableButtons with opacity hover states using a single Drawable resource. Lower overhead than the traditional method as it only instantiates as many drawables as needed. More...
 
class  Oscillator
 
class  ParameterManager
 Holds the overall state of a plugin that uses Kwidgets, including parameters, custom parameters, connection data, and any other needed state items. More...
 
class  PhaseGenerator
 
class  PhaseVocoder
 
class  PresetBundler
 
struct  PresetEventHook
 An abstract base class for preset event hooks. These can be used to intercept and modify preset and Kwidget loading events. More...
 
class  PresetEventMiddleware
 Middleware class for managing preset events and hooks. More...
 
class  PresetException
 An exception for preset manager. More...
 
struct  PresetLoadRequest
 A middleware request object for a preset load event. More...
 
struct  PresetLoadResponse
 A simple middleware response object containing the success status and a message. More...
 
class  PresetManager
 Helper class for saving and loading presets. More...
 
class  PresetManagerUI
 UI Helper class for saving and loading presets. More...
 
class  ProgressTracker
 ProgressTracker - a class to help with display of a progresas bar during audio analysis. More...
 
class  Randomiser
 
class  RecorderDropName
 
class  ReformerOscillator
 Generates sounds by decimating and reconstructing audio samples. More...
 
class  RelativeSamplePathRewriteHook
 A hook for preset bundle loading that rewrites relative asset paths in a kwidget to be absolute to the a given directory. More...
 
class  ResizableComponent
 
class  ResourceLock
 Class used to manage access to a resource from multiple users / threads In this version, requests must pass in a unique identifier ID. Doing so allows keeping track of access requests seperately. This is necessary because it can happen that the same caller can request access many times, even after it has been granted access. Conversely a caller may call finishedAccessing() many times after access finished has already been registered. This ID could in fact be simply a unique integer, however, using a human readable String is a boon to debugging when sent to the logger, and the CPU overhead should not be high as these requests are not prohibitively frequent ... about 25 Hz in the case of the grain display redraw, and audio block rate in the case of access to audio data. TODO: perhaps some profiling if in doubt ? More...
 
class  SampleBrowser
 A scrollable list of samples with mute/solo, play and remove buttons. As it is a subclass of PopupMenu::CustomComponent, it must be added to a PopupMenu. Populate the browser by passing in an Array of SampleBrowser::Sample objects. More...
 
class  SampleBrowserButton
 A ComboBox-like TextButton with some extra components used for the SampleBrowser UI/UX. More...
 
class  SampleEngine
 
class  SampleEngineShallow
 A structure to hold a "shallow" copy of a SampleEngine structure It contains only the data from a SampleEngine which is required to render the grain visualiser. More...
 
class  SampleItem
 An individual sample item component shown in the SampleBrowser. A parent component for the various buttons and labels for the browser functionality. More...
 
class  SamplerUtils
 
class  SamplesTree
 A CustomParameterTree for managing a list of samples, with parameters for mute, solo, path and name. Defines the Types and Properties used within their respective structs as well as methods for getting/setting/serialising data. More...
 
class  Saturation
 Applies distortion to an audio signal using various transfer functions. More...
 
class  ScrollAndZoomManager
 A class containing the logic to zoom and scroll within a timeline. More...
 
struct  Selector
 A structure to hold info on a selected area. More...
 
class  SentenceTransformer
 
class  Serialiser
 
class  SettingsFile
 A class to manage the settings.json file, derived privately from JsonFile. More...
 
class  ShapePreservingCubicInterpolator
 The function uses a shape-preserving cubic interpolation algorithm to estimate the y-value corresponding to the given x-coordinate. More...
 
class  ShortTimeFourierTransform
 Apply STFT analysis to a full audio signal offline. More...
 
class  SignalBuffer
 Use this instead of AudioBuffer to share additional signalling regards the state and usage of the data in the buffer. More...
 
class  SignalSaver
 Add this to an AudioProcessor to save a signal as a .wav for analysis. More...
 
class  SlewLimiter
 
class  SlopeGenerator
 Calculates the slope of the Envelope Follower. More...
 
class  SmoothedFloat
 
class  StartStopButton
 A rectangular StartStopButton UI component. More...
 
class  StereoSample
 
class  SuperFluxOnsetDetection
 Performs Onset Detection with vibrato suppresion. More...
 
class  SWIPE_PitchEstimation
 A Sawtooth waveform inspired pitch estimator for speech and music. Paper: https://www.researchgate.net/publication/23558616_A_sawtooth_waveform_inspired_pitch_estimator_for_speech_and_music. More...
 
class  TextToAssets
 take a user text query and return 4 assets that can be loaded as an ambience preset More...
 
class  TextToAssetsShared
 wrapper class for text to file module shared resource pointer More...
 
class  TextToFile
 
class  TextToPreset
 text to preset class for text to preset embeddings calculation and dictionary creation More...
 
class  TextToPresetShared
 wrapper class for text to preset module shared resource pointer More...
 
class  ThreadedTimer
 
class  TimeDomainAnalysisFramework
 
class  TopBarComponent
 The TopBarComponent in each Kwidget containing the 3 Buttons and their functionality. More...
 
class  TriggerButton
 A circular TriggerButton UI component. More...
 
class  TriggerButtonParameterAttachment
 A custom TriggerButton attachment class. More...
 
class  UCSToFile
 
class  UniversalCategorySystem
 
class  ValueTreeAttachment
 
class  VersionChecker
 
class  WatchValue
 
class  WaveformViewer
 
class  WaveformViewerAndEditor
 
class  WeightingFilter
 
class  Windowing
 
class  XmlType
 Common names for storing data in a ValueTree. More...
 
class  XYButton
 An XY Button UI component with a puck following the mouse position. More...
 
class  XYButtonParameterAttachment
 A class that creates a custom ParameterAttachment between the x and y axis positions of the puck with the respective parameters. More...
 
class  ZoomableComponent
 Enables zooming of a painted component using special drawing methods. More...
 

Typedefs

using Parameters = Kwidget_CoreEngine::Parameters
 
using Mode = PhaseVocoder::PhaseVocoderMode
 
using LAFProperty = Krotos_LookAndFeel::Properties
 

Enumerations

enum class  GranularPlaybackMode { MSampler = 0 , MGranular , MVehicle , NUM_MODES }
 
enum class  MIDIMode {
  All = 0 , C3 , CS3 , D3 ,
  DS3 , E3 , F3 , FS3 ,
  G3 , GS3 , A3 , AS3 ,
  B3 , C4 , CS4 , D4 ,
  DS4 , E4 , F4 , FS4 ,
  G4 , GS4 , A4 , AS4 ,
  B4 , NUM_MODES
}
 
enum class  WindowType {
  Hann , Hamming , Rectangular , BlackmanHarris ,
  None
}
 
enum  AssetsStatus { kAssetsRemoved , kAssetsAdded , kAssetsNoChange , kAssetsInit }
 

Functions

int clamp (int val, int min, int max)
 
bool isPositivePowerOfTwo (int x)
 
float phaseWrap (float p)
 
static bool compareByAudioIndex (const AudioDescriptor &a, const AudioDescriptor &b)
 
static bool compareByAudioFrequency (const AudioDescriptor &a, const AudioDescriptor &b)
 
template<typename Functor >
void normaliseAudioDescriptorFeature (std::vector< AudioDescriptor > &decriptors, Functor functor, float border=0.f)
 Normalise a chosen field within a vector of AudioDescriptors.
 
template<typename Functor2 >
void normaliseAndInvertAudioDescriptorFeature (std::vector< AudioDescriptor > &decriptors, Functor2 functor, float border=0.f)
 Normalise then invert a chosen field within a vector of AudioDescriptors.
 
void findPeaks (std::vector< float > &graphArray, std::vector< Point< float > > &markerArray, int maxPeaks)
 
int centralise (std::vector< float > &graphArray, int position)
 
void sortMarkersByX (std::vector< juce::Point< float > > &markerArray, bool decending=false)
 
void sortMarkersByY (std::vector< Point< float > > &markerArray, bool decending=false)
 
const String kafFileExtension ("kaf")
 

Variables

static const int MIDI_NOTE_MASK {0x7f}
 
static const int MIDI_NOTE_FLAG_DRONE {0x80}
 
static const int MIDI_NOTE_FLAG_DRONE_NOTEUP {0x100}
 
static const int MIDI_NOTE_FLAG_FLUSH {0x200}
 
static const int MIDI_NOTE_FLAG_NOR {0x400}
 
static const int MIDI_NOTE_NUMBER_C3 {60}
 
static const int MIDI_NOTE_NUMBER_CS3 {61}
 
static const int MIDI_NOTE_NUMBER_D3 {62}
 
static const int MIDI_NOTE_NUMBER_DS3 {63}
 
static const int MIDI_NOTE_NUMBER_E3 {64}
 
static const int NUM_VOICES_POLY = 8
 
static const int NUM_VOICES_DRONE = 1
 
static const int NUM_VOICES_TOTAL = NUM_VOICES_POLY + NUM_VOICES_DRONE
 
static const int SEMITONES_PER_OCTAVE {12}
 
int debugCounter = 0
 
static const int START_SAMPLE {0}
 
const int k_padding {5}
 
const float k_borderThickness {1.0f}
 
const int k_buttonSize {15}
 
const int k_minimumHeight {25}
 
const float k_topBarCornerSize {6.0f}
 
static const String fileEmbeddingsIdentifier {"FilesEmbeddings"}
 
constexpr char modelFileName [] = ".ttpmodel"
 
constexpr char ttfEmbeddingsFileName [] = ".ttfEmbCache"
 
constexpr char ttfStatusFileName [] = ".ttfStatus"
 
constexpr char ttfStatusDateProperty [] = "date modified"
 
constexpr char ttfStatusSizeProperty [] = "folder size"
 
constexpr char ttfNumericalMetadata [] = "-0123456789"
 
static const Identifier FilesEmbeddingsIdentifier {"FilesEmbeddings"}
 
static const Identifier fileNameIdentifier {"fileName"}
 
static const Identifier catIDNameIdentifier {"catID"}
 
static const Identifier ttfEmbeddingsNameIdentifier {"embeddings"}
 
static const Identifier customParamIdentifier {"CUSTOMPARAM"}
 
static const Identifier samplePathsIdentifier {"SamplePaths"}
 
static const Identifier contentIdentifier {"content"}
 
static const Identifier textIdentifier {"text"}
 
static const Identifier soundscapeIdentifier {"Soundscape"}
 
static const Identifier layer1Identifier {"Layer-1"}
 
static const Identifier layer2Identifier {"Layer-2"}
 
static const Identifier layer3Identifier {"Layer-3"}
 
static const Identifier layer4Identifier {"Layer-4"}
 
constexpr char textToFileEmbeddingsFilename [] = ".ttfEmbCache.json"
 
constexpr char embeddingsFileName [] = ".ttpEmbCache"
 
constexpr char ttpStatusFileName [] = ".ttpStatus"
 
constexpr char ttpStatusDateProperty [] = "date modified"
 
constexpr char ttpNumericalMetadata [] = "-0123456789"
 
constexpr char wavMetadataFieldInFile [] = "bwav description"
 
constexpr char presetNameField [] = "presetName"
 
constexpr char embeddingsNameField [] = "embeddings"
 
constexpr char tagsNameField [] = "tags"
 
static const String ttpThreadName {"TTPThread"}
 
static constexpr size_t BUF_SIZE = 32
 
constexpr size_t BUFFER_SIZE = 1024
 
constexpr size_t IV_SIZE = 16
 

Detailed Description

Copyright Krotos LTD 2015

All rights reserved.

Copyright Krotos LTD 2023

All rights reserved.

TODO: I think we should leave it here for now, even though it is not used. We are currently using the juce::windowingFunctions however it is itneresting to leave if we wanna check the code for symmetic/periodic windows

Typedef Documentation

◆ LAFProperty

◆ Mode

◆ Parameters

Enumeration Type Documentation

◆ AssetsStatus

Enumerator
kAssetsRemoved 
kAssetsAdded 
kAssetsNoChange 
kAssetsInit 

◆ GranularPlaybackMode

enum class krotos::GranularPlaybackMode
strong
Enumerator
MSampler 
MGranular 
MVehicle 
NUM_MODES 

◆ MIDIMode

enum class krotos::MIDIMode
strong
Enumerator
All 
C3 
CS3 
D3 
DS3 
E3 
F3 
FS3 
G3 
GS3 
A3 
AS3 
B3 
C4 
CS4 
D4 
DS4 
E4 
F4 
FS4 
G4 
GS4 
A4 
AS4 
B4 
NUM_MODES 

◆ WindowType

enum class krotos::WindowType
strong
Enumerator
Hann 
Hamming 
Rectangular 
BlackmanHarris 
None 

Function Documentation

◆ centralise()

int krotos::centralise ( std::vector< float > & graphArray,
int position )

◆ clamp()

int krotos::clamp ( int val,
int min,
int max )
inline

◆ compareByAudioFrequency()

static bool krotos::compareByAudioFrequency ( const AudioDescriptor & a,
const AudioDescriptor & b )
static

◆ compareByAudioIndex()

static bool krotos::compareByAudioIndex ( const AudioDescriptor & a,
const AudioDescriptor & b )
static

◆ findPeaks()

void krotos::findPeaks ( std::vector< float > & graphArray,
std::vector< Point< float > > & markerArray,
int maxPeaks )

◆ isPositivePowerOfTwo()

bool krotos::isPositivePowerOfTwo ( int x)

◆ kafFileExtension()

const String krotos::kafFileExtension ( "kaf" )

◆ normaliseAndInvertAudioDescriptorFeature()

template<typename Functor2 >
void krotos::normaliseAndInvertAudioDescriptorFeature ( std::vector< AudioDescriptor > & decriptors,
Functor2 functor,
float border = 0.f )

Normalise then invert a chosen field within a vector of AudioDescriptors.

Parameters
decriptorsSupplied vector of AudioDescriptors
functorLambda to access the feild we want to normalise
borderOptional factor to scale within a subrange (from border to 1 - border)

◆ normaliseAudioDescriptorFeature()

template<typename Functor >
void krotos::normaliseAudioDescriptorFeature ( std::vector< AudioDescriptor > & decriptors,
Functor functor,
float border = 0.f )

Normalise a chosen field within a vector of AudioDescriptors.

Parameters
decriptorsSupplied vector of AudioDescriptors
functorLambda to access the feild we want to normalise
borderOptional factor to scale within a subrange (from border to 1 - border)

◆ phaseWrap()

float krotos::phaseWrap ( float p)

◆ sortMarkersByX()

void krotos::sortMarkersByX ( std::vector< juce::Point< float > > & markerArray,
bool decending = false )

◆ sortMarkersByY()

void krotos::sortMarkersByY ( std::vector< Point< float > > & markerArray,
bool decending = false )

Variable Documentation

◆ BUF_SIZE

size_t krotos::BUF_SIZE = 32
staticconstexpr

◆ BUFFER_SIZE

size_t krotos::BUFFER_SIZE = 1024
constexpr

◆ catIDNameIdentifier

const Identifier krotos::catIDNameIdentifier {"catID"}
static

◆ contentIdentifier

const Identifier krotos::contentIdentifier {"content"}
static

◆ customParamIdentifier

const Identifier krotos::customParamIdentifier {"CUSTOMPARAM"}
static

◆ debugCounter

int krotos::debugCounter = 0

◆ embeddingsFileName

char krotos::embeddingsFileName[] = ".ttpEmbCache"
constexpr

◆ embeddingsNameField

char krotos::embeddingsNameField[] = "embeddings"
constexpr

◆ fileEmbeddingsIdentifier

const String krotos::fileEmbeddingsIdentifier {"FilesEmbeddings"}
static

◆ fileNameIdentifier

const Identifier krotos::fileNameIdentifier {"fileName"}
static

◆ FilesEmbeddingsIdentifier

const Identifier krotos::FilesEmbeddingsIdentifier {"FilesEmbeddings"}
static

◆ IV_SIZE

size_t krotos::IV_SIZE = 16
constexpr

◆ k_borderThickness

const float krotos::k_borderThickness {1.0f}

◆ k_buttonSize

const int krotos::k_buttonSize {15}

◆ k_minimumHeight

const int krotos::k_minimumHeight {25}

◆ k_padding

const int krotos::k_padding {5}

◆ k_topBarCornerSize

const float krotos::k_topBarCornerSize {6.0f}

◆ layer1Identifier

const Identifier krotos::layer1Identifier {"Layer-1"}
static

◆ layer2Identifier

const Identifier krotos::layer2Identifier {"Layer-2"}
static

◆ layer3Identifier

const Identifier krotos::layer3Identifier {"Layer-3"}
static

◆ layer4Identifier

const Identifier krotos::layer4Identifier {"Layer-4"}
static

◆ MIDI_NOTE_FLAG_DRONE

const int krotos::MIDI_NOTE_FLAG_DRONE {0x80}
static

◆ MIDI_NOTE_FLAG_DRONE_NOTEUP

const int krotos::MIDI_NOTE_FLAG_DRONE_NOTEUP {0x100}
static

◆ MIDI_NOTE_FLAG_FLUSH

const int krotos::MIDI_NOTE_FLAG_FLUSH {0x200}
static

◆ MIDI_NOTE_FLAG_NOR

const int krotos::MIDI_NOTE_FLAG_NOR {0x400}
static

◆ MIDI_NOTE_MASK

const int krotos::MIDI_NOTE_MASK {0x7f}
static

◆ MIDI_NOTE_NUMBER_C3

const int krotos::MIDI_NOTE_NUMBER_C3 {60}
static

◆ MIDI_NOTE_NUMBER_CS3

const int krotos::MIDI_NOTE_NUMBER_CS3 {61}
static

◆ MIDI_NOTE_NUMBER_D3

const int krotos::MIDI_NOTE_NUMBER_D3 {62}
static

◆ MIDI_NOTE_NUMBER_DS3

const int krotos::MIDI_NOTE_NUMBER_DS3 {63}
static

◆ MIDI_NOTE_NUMBER_E3

const int krotos::MIDI_NOTE_NUMBER_E3 {64}
static

◆ modelFileName

char krotos::modelFileName[] = ".ttpmodel"
constexpr

◆ NUM_VOICES_DRONE

const int krotos::NUM_VOICES_DRONE = 1
static

◆ NUM_VOICES_POLY

const int krotos::NUM_VOICES_POLY = 8
static

◆ NUM_VOICES_TOTAL

const int krotos::NUM_VOICES_TOTAL = NUM_VOICES_POLY + NUM_VOICES_DRONE
static

◆ presetNameField

char krotos::presetNameField[] = "presetName"
constexpr

◆ samplePathsIdentifier

const Identifier krotos::samplePathsIdentifier {"SamplePaths"}
static

◆ SEMITONES_PER_OCTAVE

const int krotos::SEMITONES_PER_OCTAVE {12}
static

◆ soundscapeIdentifier

const Identifier krotos::soundscapeIdentifier {"Soundscape"}
static

◆ START_SAMPLE

const int krotos::START_SAMPLE {0}
static

◆ tagsNameField

char krotos::tagsNameField[] = "tags"
constexpr

◆ textIdentifier

const Identifier krotos::textIdentifier {"text"}
static

◆ textToFileEmbeddingsFilename

char krotos::textToFileEmbeddingsFilename[] = ".ttfEmbCache.json"
constexpr

◆ ttfEmbeddingsFileName

char krotos::ttfEmbeddingsFileName[] = ".ttfEmbCache"
constexpr

◆ ttfEmbeddingsNameIdentifier

const Identifier krotos::ttfEmbeddingsNameIdentifier {"embeddings"}
static

◆ ttfNumericalMetadata

char krotos::ttfNumericalMetadata[] = "-0123456789"
constexpr

◆ ttfStatusDateProperty

char krotos::ttfStatusDateProperty[] = "date modified"
constexpr

◆ ttfStatusFileName

char krotos::ttfStatusFileName[] = ".ttfStatus"
constexpr

◆ ttfStatusSizeProperty

char krotos::ttfStatusSizeProperty[] = "folder size"
constexpr

◆ ttpNumericalMetadata

char krotos::ttpNumericalMetadata[] = "-0123456789"
constexpr

◆ ttpStatusDateProperty

char krotos::ttpStatusDateProperty[] = "date modified"
constexpr

◆ ttpStatusFileName

char krotos::ttpStatusFileName[] = ".ttpStatus"
constexpr

◆ ttpThreadName

const String krotos::ttpThreadName {"TTPThread"}
static

◆ wavMetadataFieldInFile

char krotos::wavMetadataFieldInFile[] = "bwav description"
constexpr