comparison rdf/RDFFeatureWriter.cpp @ 730:27c861cce97b dataquay

Further fixes for Dataquay compatibility
author Chris Cannam
date Mon, 21 May 2012 14:33:35 +0100
parents f3fd2988fc9b
children 79c0955f559c
comparison
equal deleted inserted replaced
729:11289d40a57a 730:27c861cce97b
172 172
173 if (m_startedStreamTransforms[stream].find(transform) == 173 if (m_startedStreamTransforms[stream].find(transform) ==
174 m_startedStreamTransforms[stream].end()) { 174 m_startedStreamTransforms[stream].end()) {
175 m_startedStreamTransforms[stream].insert(transform); 175 m_startedStreamTransforms[stream].insert(transform);
176 writeLocalFeatureTypes 176 writeLocalFeatureTypes
177 (stream, transform, output, m_rdfDescriptions[pluginId]); 177 (stream, transform, output, m_rdfDescriptions[pluginId],
178 summaryType);
178 } 179 }
179 180
180 if (m_singleFileName != "" || m_stdout) { 181 if (m_singleFileName != "" || m_stdout) {
181 if (m_startedTrackIds.find(trackId) == m_startedTrackIds.end()) { 182 if (m_startedTrackIds.find(trackId) == m_startedTrackIds.end()) {
182 writeSignalDescription(stream, trackId); 183 writeSignalDescription(stream, trackId);
395 396
396 void 397 void
397 RDFFeatureWriter::writeLocalFeatureTypes(QTextStream *sptr, 398 RDFFeatureWriter::writeLocalFeatureTypes(QTextStream *sptr,
398 const Transform &transform, 399 const Transform &transform,
399 const Plugin::OutputDescriptor &od, 400 const Plugin::OutputDescriptor &od,
400 PluginRDFDescription &desc) 401 PluginRDFDescription &desc,
402 std::string summaryType)
401 { 403 {
402 QString outputId = od.identifier.c_str(); 404 QString outputId = od.identifier.c_str();
403 QTextStream &stream = *sptr; 405 QTextStream &stream = *sptr;
404 406
405 // There is no "needFeatureType" for track-level outputs, because 407 // There is no "needFeatureType" for track-level outputs, because
410 bool needEventType = false; 412 bool needEventType = false;
411 bool needSignalType = false; 413 bool needSignalType = false;
412 414
413 //!!! bin names, extents and so on can be written out using e.g. vamp:bin_names ( "a" "b" "c" ) 415 //!!! bin names, extents and so on can be written out using e.g. vamp:bin_names ( "a" "b" "c" )
414 416
415 if (desc.getOutputDisposition(outputId) == 417 if (summaryType == "" &&
418 desc.getOutputDisposition(outputId) ==
416 PluginRDFDescription::OutputDense) { 419 PluginRDFDescription::OutputDense) {
417 420
418 // no feature events, so may need signal type but won't need 421 // no feature events, so may need signal type but won't need
419 // event type 422 // event type
420 423
474 } 477 }
475 478
476 if (needEventType && m_fixedEventTypeURI == "") { 479 if (needEventType && m_fixedEventTypeURI == "") {
477 480
478 QString uri; 481 QString uri;
479 if (m_syntheticEventTypeURIs.find(transform) != 482 if (m_syntheticEventTypeURIs.find(transform) ==
480 m_syntheticEventTypeURIs.end()) { 483 m_syntheticEventTypeURIs.end()) {
481 uri = m_syntheticEventTypeURIs[transform]; 484 uri = m_syntheticEventTypeURIs[transform];
482 } else { 485 } else {
483 uri = QString(":event_type_%1").arg(m_count++); 486 uri = QString(":event_type_%1").arg(m_count++);
484 m_syntheticEventTypeURIs[transform] = uri; 487 m_syntheticEventTypeURIs[transform] = uri;