QString TimeInstantLayer::getFeatureDescription(View *v, QPoint &pos) const { int x = pos.x(); if (!m_model || !m_model->getSampleRate()) return ""; SparseOneDimensionalModel::PointList points = getLocalPoints(v, x); if (points.empty()) { if (!m_model->isReady()) { return tr("In progress"); } else { return tr("No local points"); } } long useFrame = points.begin()->frame; RealTime rt = RealTime::frame2RealTime(useFrame, m_model->getSampleRate()); QString text; if (points.begin()->label == "") { text = QString(tr("Time:\t%1\nNo label")) .arg(rt.toText(true).c_str()); } else { text = QString(tr("Time:\t%1\nLabel:\t%2")) .arg(rt.toText(true).c_str()) .arg(points.begin()->label); } pos = QPoint(v->getXForFrame(useFrame), pos.y()); return text; }
static Vamp::Plugin::Feature snappedCurveValue(RealTime r, RealTime sn, int i, int n) { stringstream s; Vamp::Plugin::Feature f; f.hasTimestamp = true; f.timestamp = r; f.hasDuration = false; float v = float(i) / float(n); f.values.push_back(v); s << i+1 << " of " << n << ": " << v << " at " << r.toText() << " snap to " << sn.toText(); f.label = s.str(); return f; }
static Vamp::Plugin::Feature noteOrRegion(RealTime r, RealTime d, int i, int n) { stringstream s; Vamp::Plugin::Feature f; f.hasTimestamp = true; f.timestamp = r; f.hasDuration = true; f.duration = d; float v = float(i) / float(n); f.values.push_back(v); s << i+1 << " of " << n << ": " << v << " at " << r.toText() << " dur. " << d.toText(); f.label = s.str(); return f; }
static Vamp::Plugin::Feature instant(RealTime r, int i, int n) { stringstream s; Vamp::Plugin::Feature f; f.hasTimestamp = true; f.timestamp = r; f.hasDuration = false; s << i+1 << " of " << n << " at " << r.toText(); f.label = s.str(); return f; }
static Vamp::Plugin::Feature gridColumn(RealTime r, int i, int n) { stringstream s; Vamp::Plugin::Feature f; f.hasTimestamp = false; f.hasDuration = false; for (int j = 0; j < 10; ++j) { float v = float(j + i + 2) / float(n + 10); f.values.push_back(v); } s << i+1 << " of " << n << " at " << r.toText(); f.label = s.str(); return f; }
JNIEXPORT jstring JNICALL Java_org_vamp_1plugins_RealTime_toText(JNIEnv *env, jobject obj) { RealTime rt = getRealTime(env, obj); return env->NewStringUTF(rt.toText().c_str()); }