//------------------------------------------------------------------------------------------------- Class& ClassManager::addClass(StringId id, const char* name) { // First make sure that the class doesn't already exist SortedClassVector::const_iterator iterator = std::lower_bound(m_classes.cbegin(), m_classes.cend(), id, OrderByClassId()); if (iterator != m_classes.end() && iterator->id == id) { CAMP_ERROR(ClassAlreadyCreated(name)); } // Create the new class Class* newClass = new Class(id, name); // Insert it into the sorted vector m_classes.emplace(iterator, ClassEntry(id, newClass)); // Notify observers notifyClassAdded(*newClass); // Done return *newClass; }
#endif #if QT_VERSION < QT_VERSION_CHECK( 5, 5, 0 ) #define qInfo qDebug #endif #include "portaudiooutputnode.h" #include "portaudioinputnode.h" #include "deviceportaudio.h" QList<QUuid> NodeControlBase::PID_UUID; ClassEntry PortAudioPlugin::mNodeClasses[] = { ClassEntry( QT_TR_NOOP( "Audio Input" ), "PortAudio", NID_PORT_AUDIO_INPUT, &PortAudioInputNode::staticMetaObject ), ClassEntry( QT_TR_NOOP( "Audio Output" ), "PortAudio", NID_PORT_AUDIO_OUTPUT, &PortAudioOutputNode::staticMetaObject ), ClassEntry() }; ClassEntry PortAudioPlugin::mPinClasses[] = { ClassEntry() }; PortAudioPlugin *PortAudioPlugin::mInstance = nullptr; PortAudioPlugin::PortAudioPlugin( void ) : mApp( 0 ) { mInstance = this;
#include "arccosnode.h" #include "radianstodegreesnode.h" #include "comparenumbersnode.h" #include "rotationfromvectorsnode.h" MathPlugin *MathPlugin::mInstance = nullptr; QList<QUuid> NodeControlBase::PID_UUID; ClassEntry NodeClasses[] = { ClassEntry( "Abs", "Number", NID_ABS, &AbsNode::staticMetaObject ), ClassEntry( "Add", "Math", NID_ADD, &AddNode::staticMetaObject ), ClassEntry( "AND", "Logic", NID_AND, &AndNode::staticMetaObject ), ClassEntry( "ArcCos", "Number", NID_ARCCOS, &ArcCosNode::staticMetaObject ), ClassEntry( "Compare", "Number", NID_COMPARE_NUMBERS, &CompareNumbersNode::staticMetaObject ), ClassEntry( "Cross Product", "Vector3", NID_CROSS_PRODUCT, &CrossProductNode::staticMetaObject ), ClassEntry( "Radians to Degrees", "Number", NID_RADIANS_TO_DEGREES, &RadiansToDegreesNode::staticMetaObject ), ClassEntry( "Dot Product", "Vector3", NID_DOT_PRODUCT, &DotProductNode::staticMetaObject ), ClassEntry( "Divide", "Math", NID_DIVIDE, &DivideNode::staticMetaObject ), ClassEntry( "Join", "Vector3", NID_JOIN_VECTOR3, &JoinVector3Node::staticMetaObject ), ClassEntry( "Look At", "Matrix", NID_MATRIX_LOOKAT, &MatrixLookAtNode::staticMetaObject ), ClassEntry( "Multiply", "Math", NID_MULTIPLY, &MultiplyNode::staticMetaObject ), ClassEntry( "NAND", "Logic", NID_NAND, &NandNode::staticMetaObject ), ClassEntry( "NOT", "Logic", NID_NOT, &NotNode::staticMetaObject ), ClassEntry( "NOR", "Logic", NID_NOR, &NorNode::staticMetaObject ), ClassEntry( "Normalise", "Vector3", NID_NORMALISE, &NormaliseNode::staticMetaObject ),
#include <QDebug> #include <QTranslator> #include <QApplication> #include <fugio/fftw/uuid.h> #include <fugio/nodecontrolbase.h> #include "fftnode.h" QList<QUuid> NodeControlBase::PID_UUID; ClassEntry FftwPlugin::mNodeClasses[] = { ClassEntry( "FFT", "FFTW", NID_FFT, &FFTNode::staticMetaObject ), ClassEntry() }; ClassEntry FftwPlugin::mPinClasses[] = { ClassEntry() }; FftwPlugin::FftwPlugin( void ) : mApp( 0 ) { //------------------------------------------------------------------------- // Install translator static QTranslator Translator;