15 |
#include <stdlib.h> |
#include <stdlib.h> |
16 |
#include "tree.h" |
#include "tree.h" |
17 |
#include "ScriptVM.h" |
#include "ScriptVM.h" |
18 |
|
#include "../common/RTMath.h" |
19 |
|
|
20 |
namespace LinuxSampler { |
namespace LinuxSampler { |
21 |
|
|
72 |
VMFnResult* CoreVMFunction_message::exec(VMFnArgs* args) { |
VMFnResult* CoreVMFunction_message::exec(VMFnArgs* args) { |
73 |
if (!args->argsCount()) return errorResult(); |
if (!args->argsCount()) return errorResult(); |
74 |
|
|
75 |
|
uint64_t usecs = RTMath::unsafeMicroSeconds(RTMath::real_clock); |
76 |
|
|
77 |
VMStringExpr* strExpr = dynamic_cast<VMStringExpr*>(args->arg(0)); |
VMStringExpr* strExpr = dynamic_cast<VMStringExpr*>(args->arg(0)); |
78 |
if (strExpr) { |
if (strExpr) { |
79 |
std::cout << "[ScriptVM] " << strExpr->evalStr() << "\n"; |
printf("[ScriptVM %.3f] %s\n", usecs/1000000.f, strExpr->evalStr().c_str()); |
80 |
return successResult(); |
return successResult(); |
81 |
} |
} |
82 |
|
|
83 |
VMIntExpr* intExpr = dynamic_cast<VMIntExpr*>(args->arg(0)); |
VMIntExpr* intExpr = dynamic_cast<VMIntExpr*>(args->arg(0)); |
84 |
if (intExpr) { |
if (intExpr) { |
85 |
std::cout << "[ScriptVM] " << intExpr->evalInt() << "\n"; |
printf("[ScriptVM %.3f] %d\n", usecs/1000000.f, intExpr->evalInt()); |
86 |
return successResult(); |
return successResult(); |
87 |
} |
} |
88 |
|
|