comparison rdf/RDFImporter.cpp @ 1713:978c143c767f

Merge from branch single-point
author Chris Cannam
date Fri, 17 May 2019 10:02:43 +0100
parents 353a2d15f213
children 565575463752
comparison
equal deleted inserted replaced
1709:ab4fd193262b 1713:978c143c767f
345 SparseTimeValueModel *m = new SparseTimeValueModel 345 SparseTimeValueModel *m = new SparseTimeValueModel
346 (sampleRate, hopSize, false); 346 (sampleRate, hopSize, false);
347 347
348 for (int j = 0; j < values.size(); ++j) { 348 for (int j = 0; j < values.size(); ++j) {
349 float f = values[j].toFloat(); 349 float f = values[j].toFloat();
350 SparseTimeValueModel::Point point(j * hopSize, f, ""); 350 Event e(j * hopSize, f, "");
351 m->addPoint(point); 351 m->add(e);
352 } 352 }
353 353
354 getDenseModelTitle(m, feature, type); 354 getDenseModelTitle(m, feature, type);
355 355
356 m->setRDFTypeURI(type); 356 m->setRDFTypeURI(type);
707 // SVDEBUG << "RDFImporterImpl::fillModel: adding point at frame " << ftime << endl; 707 // SVDEBUG << "RDFImporterImpl::fillModel: adding point at frame " << ftime << endl;
708 708
709 SparseOneDimensionalModel *sodm = 709 SparseOneDimensionalModel *sodm =
710 dynamic_cast<SparseOneDimensionalModel *>(model); 710 dynamic_cast<SparseOneDimensionalModel *>(model);
711 if (sodm) { 711 if (sodm) {
712 SparseOneDimensionalModel::Point point(ftime, label); 712 Event point(ftime, label);
713 sodm->addPoint(point); 713 sodm->add(point);
714 return; 714 return;
715 } 715 }
716 716
717 TextModel *tm = 717 TextModel *tm =
718 dynamic_cast<TextModel *>(model); 718 dynamic_cast<TextModel *>(model);
719 if (tm) { 719 if (tm) {
720 TextModel::Point point 720 Event e
721 (ftime, 721 (ftime,
722 values.empty() ? 0.5f : values[0] < 0.f ? 0.f : values[0] > 1.f ? 1.f : values[0], // I was young and feckless once too 722 values.empty() ? 0.5f : values[0] < 0.f ? 0.f : values[0] > 1.f ? 1.f : values[0], // I was young and feckless once too
723 label); 723 label);
724 tm->addPoint(point); 724 tm->add(e);
725 return; 725 return;
726 } 726 }
727 727
728 SparseTimeValueModel *stvm = 728 SparseTimeValueModel *stvm =
729 dynamic_cast<SparseTimeValueModel *>(model); 729 dynamic_cast<SparseTimeValueModel *>(model);
730 if (stvm) { 730 if (stvm) {
731 SparseTimeValueModel::Point point 731 Event e(ftime, values.empty() ? 0.f : values[0], label);
732 (ftime, values.empty() ? 0.f : values[0], label); 732 stvm->add(e);
733 stvm->addPoint(point);
734 return; 733 return;
735 } 734 }
736 735
737 NoteModel *nm = 736 NoteModel *nm =
738 dynamic_cast<NoteModel *>(model); 737 dynamic_cast<NoteModel *>(model);
743 value = values[0]; 742 value = values[0];
744 if (values.size() > 1) { 743 if (values.size() > 1) {
745 level = values[1]; 744 level = values[1];
746 } 745 }
747 } 746 }
748 NoteModel::Point point(ftime, value, fduration, level, label); 747 Event e(ftime, value, fduration, level, label);
749 nm->addPoint(point); 748 nm->add(e);
750 } else { 749 } else {
751 float value = 0.f, duration = 1.f, level = 1.f; 750 float value = 0.f, duration = 1.f, level = 1.f;
752 if (!values.empty()) { 751 if (!values.empty()) {
753 value = values[0]; 752 value = values[0];
754 if (values.size() > 1) { 753 if (values.size() > 1) {
756 if (values.size() > 2) { 755 if (values.size() > 2) {
757 level = values[2]; 756 level = values[2];
758 } 757 }
759 } 758 }
760 } 759 }
761 NoteModel::Point point(ftime, value, sv_frame_t(lrintf(duration)), 760 Event e(ftime, value, sv_frame_t(lrintf(duration)),
762 level, label); 761 level, label);
763 nm->addPoint(point); 762 nm->add(e);
764 } 763 }
765 return; 764 return;
766 } 765 }
767 766
768 RegionModel *rm = 767 RegionModel *rm =
777 value = m_labelValueMap[model][label]; 776 value = m_labelValueMap[model][label];
778 } else { 777 } else {
779 value = values[0]; 778 value = values[0];
780 } 779 }
781 if (haveDuration) { 780 if (haveDuration) {
782 RegionModel::Point point(ftime, value, fduration, label); 781 Event e(ftime, value, fduration, label);
783 rm->addPoint(point); 782 rm->add(e);
784 } else { 783 } else {
785 // This won't actually happen -- we only create region models 784 // This won't actually happen -- we only create region models
786 // if we do have duration -- but just for completeness 785 // if we do have duration -- but just for completeness
787 float duration = 1.f; 786 float duration = 1.f;
788 if (!values.empty()) { 787 if (!values.empty()) {
789 value = values[0]; 788 value = values[0];
790 if (values.size() > 1) { 789 if (values.size() > 1) {
791 duration = values[1]; 790 duration = values[1];
792 } 791 }
793 } 792 }
794 RegionModel::Point point(ftime, value, 793 Event e(ftime, value, sv_frame_t(lrintf(duration)), label);
795 sv_frame_t(lrintf(duration)), label); 794 rm->add(e);
796 rm->addPoint(point);
797 } 795 }
798 return; 796 return;
799 } 797 }
800 798
801 cerr << "WARNING: RDFImporterImpl::fillModel: Unknown or unexpected model type" << endl; 799 cerr << "WARNING: RDFImporterImpl::fillModel: Unknown or unexpected model type" << endl;