Julian GroßFix copyright headersae7d2293 years agoHistory
49 lines · 1.7 KB · C++
RawDownload
////  MIDIEvent.cpp//  libraries/script-engine/src////  Created by Stephen Birarda on 2014-06-30.//  Copyright 2014 High Fidelity, Inc.//  Copyright 2022-2023 Overte e.V.////  Distributed under the Apache License, Version 2.0.//  See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html//  SPDX-License-Identifier: Apache-2.0// #include "MIDIEvent.h" #include <QtCore/QVariant> #include "ScriptEngine.h"#include "ScriptEngineCast.h"#include "ScriptValue.h"#include "ScriptManager.h" STATIC_SCRIPT_TYPES_INITIALIZER((+[](ScriptManager* manager){    auto scriptEngine = manager->engine().get();     scriptRegisterMetaType<MIDIEvent, midiEventToScriptValue, midiEventFromScriptValue>(scriptEngine, "MIDIEvent");})); const QString MIDI_DELTA_TIME_PROP_NAME = "deltaTime";const QString MIDI_EVENT_TYPE_PROP_NAME = "type";const QString MIDI_DATA_1_PROP_NAME = "data1";const QString MIDI_DATA_2_PROP_NAME = "data2"; ScriptValue midiEventToScriptValue(ScriptEngine* engine, const MIDIEvent& event) {    ScriptValue obj = engine->newObject();    obj.setProperty(MIDI_DELTA_TIME_PROP_NAME, event.deltaTime);    obj.setProperty(MIDI_EVENT_TYPE_PROP_NAME, event.type);    obj.setProperty(MIDI_DATA_1_PROP_NAME, event.data1);    obj.setProperty(MIDI_DATA_2_PROP_NAME, event.data2);    return obj;} bool midiEventFromScriptValue(const ScriptValue &object, MIDIEvent& event) {    event.deltaTime = object.property(MIDI_DELTA_TIME_PROP_NAME).toVariant().toDouble();    event.type = object.property(MIDI_EVENT_TYPE_PROP_NAME).toVariant().toUInt();    event.data1 = object.property(MIDI_DATA_1_PROP_NAME).toVariant().toUInt();    event.data2 = object.property(MIDI_DATA_2_PROP_NAME).toVariant().toUInt();    return true;}