Mercurial > hg > svcore
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; |