From e7b24dd7da9de84e218f7d7be623f0cf8b9d1b9c Mon Sep 17 00:00:00 2001 From: "N.N." Date: Mon, 17 Feb 2003 14:12:16 +0000 Subject: This commit was generated by cvs2svn to compensate for changes in r415, which included commits to RCS files with non-trunk default branches. svn path=/trunk/externals/dfx/; revision=416 --- dfx-library/TempoRateTable.cpp | 72 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100755 dfx-library/TempoRateTable.cpp (limited to 'dfx-library/TempoRateTable.cpp') diff --git a/dfx-library/TempoRateTable.cpp b/dfx-library/TempoRateTable.cpp new file mode 100755 index 0000000..bd39c5f --- /dev/null +++ b/dfx-library/TempoRateTable.cpp @@ -0,0 +1,72 @@ +#ifndef __TempoRateTable +#include "TempoRateTable.h" +#endif + +#include + + +//----------------------------------------------------------------------------- +TempoRateTable::TempoRateTable() +{ + int i; + + + scalars = 0; + scalars = new float[NUM_TEMPO_RATES]; + displays = 0; + displays = new char*[NUM_TEMPO_RATES]; + for (i = 0; i < NUM_TEMPO_RATES; i++) + displays[i] = new char[16]; + + i = 0; +#ifdef USE_SLOW_TEMPO_RATES + scalars[i] = 1.f/5.f; strcpy(displays[i++], "1/12"); + scalars[i] = 1.f/6.f; strcpy(displays[i++], "1/8"); + scalars[i] = 1.f/5.f; strcpy(displays[i++], "1/7"); +#endif +#ifndef USE_BUFFER_OVERRIDE_TEMPO_RATES + scalars[i] = 1.f/6.f; strcpy(displays[i++], "1/6"); + scalars[i] = 1.f/5.f; strcpy(displays[i++], "1/5"); +#endif + scalars[i] = 1.f/4.f; strcpy(displays[i++], "1/4"); + scalars[i] = 1.f/3.f; strcpy(displays[i++], "1/3"); + scalars[i] = 1.f/2.f; strcpy(displays[i++], "1/2"); + scalars[i] = 2.f/3.f; strcpy(displays[i++], "2/3"); + scalars[i] = 3.f/4.f; strcpy(displays[i++], "3/4"); + scalars[i] = 1.0f; strcpy(displays[i++], "1"); + scalars[i] = 2.0f; strcpy(displays[i++], "2"); + scalars[i] = 3.0f; strcpy(displays[i++], "3"); + scalars[i] = 4.0f; strcpy(displays[i++], "4"); + scalars[i] = 5.0f; strcpy(displays[i++], "5"); + scalars[i] = 6.0f; strcpy(displays[i++], "6"); + scalars[i] = 7.0f; strcpy(displays[i++], "7"); + scalars[i] = 8.0f; strcpy(displays[i++], "8"); + scalars[i] = 12.0f; strcpy(displays[i++], "12"); + scalars[i] = 16.0f; strcpy(displays[i++], "16"); + scalars[i] = 24.0f; strcpy(displays[i++], "24"); + scalars[i] = 32.0f; strcpy(displays[i++], "32"); + scalars[i] = 48.0f; strcpy(displays[i++], "48"); + scalars[i] = 64.0f; strcpy(displays[i++], "64"); + scalars[i] = 96.0f; strcpy(displays[i++], "96"); +#ifndef USE_SLOW_TEMPO_RATES + scalars[i] = 333.0f; strcpy(displays[i++], "333"); +#ifndef USE_BUFFER_OVERRIDE_TEMPO_RATES + scalars[i] = 3000.0f; strcpy(displays[i++], "infinity"); +#endif +#endif +} + +//----------------------------------------------------------------------------- +TempoRateTable::~TempoRateTable() +{ + if (scalars) + delete[] scalars; + for (int i=0; i < NUM_TEMPO_RATES; i++) + { + if (displays[i]) + delete[] displays[i]; + } + if (displays) + delete[] displays; + displays = 0; +} -- cgit v1.2.1