Marsyas
0.6.0-alpha
|
00001 /* 00002 ** Copyright (C) 1998-2005 George Tzanetakis <gtzan@cs.uvic.ca> 00003 ** 00004 ** This program is free software; you can redistribute it and/or modify 00005 ** it under the terms of the GNU General Public License as published by 00006 ** the Free Software Foundation; either version 2 of the License, or 00007 ** (at your option) any later version. 00008 ** 00009 ** This program is distributed in the hope that it will be useful, 00010 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 ** GNU General Public License for more details. 00013 ** 00014 ** You should have received a copy of the GNU General Public License 00015 ** along with this program; if not, write to the Free Software 00016 ** Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00017 */ 00018 00019 00020 #include <marsyas/sched/Repeat.h> 00021 00022 using namespace std; 00023 using namespace Marsyas; 00024 00025 Repeat::Repeat() 00026 { 00027 set(false,"",0); 00028 } 00029 00030 Repeat::Repeat(mrs_string time_interval) 00031 { 00032 set(true,time_interval,0); 00033 } 00034 00035 Repeat::Repeat(mrs_string time_interval, mrs_natural rep_count) 00036 { 00037 set(false,time_interval,rep_count); 00038 } 00039 00040 bool 00041 Repeat::repeat() 00042 { 00043 return infinite_ || count_>0; 00044 } 00045 00046 Repeat::~Repeat() { } 00047 00048 void 00049 Repeat::set(bool inf, mrs_string time_interval, mrs_natural rep_count) 00050 { 00051 infinite_=inf; 00052 interval_=time_interval; 00053 count_=rep_count; 00054 } 00055 00056 mrs_natural 00057 Repeat::interval2samples(mrs_real srate) 00058 { 00059 return time2samples(interval_,srate); 00060 }