00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef TSE3_UTIL_PHRASE_H
00018 #define TSE3_UTIL_PHRASE_H
00019
00020 #include <string>
00021 #include <vector>
00022
00023 namespace TSE3
00024 {
00025 class Phrase;
00026 class PhraseEdit;
00027 class Song;
00028 class Track;
00029 class Playable;
00030 class Part;
00031
00032 namespace Util
00033 {
00046 void Phrase_Merge(std::vector<TSE3::Playable*> &play,
00047 TSE3::PhraseEdit *pe);
00048
00057 void Phrase_Add(TSE3::Phrase *p1, TSE3::Phrase *p2,
00058 TSE3::PhraseEdit *pe);
00059
00069 void Phrase_Subtract(TSE3::Phrase *p1, TSE3::Phrase *p2,
00070 TSE3::PhraseEdit *pe);
00071
00079 void Phrase_Arpeggiate(TSE3::Phrase *p1, TSE3::Phrase *p2,
00080 TSE3::PhraseEdit *pe);
00081
00096 void Phrase_Explode(TSE3::Phrase *p, std::string baseName,
00097 int channels, bool insertParts,
00098 TSE3::Song *song);
00099 }
00100 }
00101
00102 #endif