• R/O
  • SSH
  • HTTPS

cadencii: コミット


コミットメタ情報

リビジョン1859 (tree)
日時2011-12-04 03:05:01
作者kbinani

ログメッセージ

[luavsq] TempoTableItem: modified; timeフィールドを_timeに改名し、getterを設置した

変更サマリ

差分

--- luavsq/trunk/TempoTable.lua (revision 1858)
+++ luavsq/trunk/TempoTable.lua (revision 1859)
@@ -95,13 +95,13 @@
9595 elseif( c == 1 )then
9696 tempo = self._array[0].tempo;
9797 base_clock = self._array[0].clock;
98- base_time = self._array[0].time;
98+ base_time = self._array[0]._time;
9999 else
100100 local i;
101101 for i = c - 1, 0, -1 do
102102 local item = self._array[i];
103- if( item.time < time )then
104- return item.clock + (time - item.time) * TempoTable.gatetimePerQuater * 1000000.0 / item.tempo;
103+ if( item._time < time )then
104+ return item.clock + (time - item._time) * TempoTable.gatetimePerQuater * 1000000.0 / item.tempo;
105105 end
106106 end
107107 end
@@ -120,11 +120,11 @@
120120 self._array:sort( TempoTableItem.compare );
121121 local item0 = self._array[0];
122122 if( item0.clock ~= 0 )then
123- item0.time = TempoTable.baseTempo * item0.clock / (TempoTable.gatetimePerQuater * 1000000.0);
123+ item0._time = TempoTable.baseTempo * item0.clock / (TempoTable.gatetimePerQuater * 1000000.0);
124124 else
125- item0.time = 0.0;
125+ item0._time = 0.0;
126126 end
127- local prev_time = item0.time;
127+ local prev_time = item0._time;
128128 local prev_clock = item0.clock;
129129 local prev_tempo = item0.tempo;
130130 local inv_tpq_sec = 1.0 / (TempoTable.gatetimePerQuater * 1000000.0);
@@ -131,8 +131,8 @@
131131 local i;
132132 for i = 1, c - 1, 1 do
133133 local itemi = self._array[i];
134- itemi.time = prev_time + prev_tempo * (itemi.clock - prev_clock) * inv_tpq_sec;
135- prev_time = itemi.time;
134+ itemi._time = prev_time + prev_tempo * (itemi.clock - prev_clock) * inv_tpq_sec;
135+ prev_time = itemi._time;
136136 prev_tempo = itemi.tempo;
137137 prev_clock = itemi.clock;
138138 end
@@ -149,7 +149,7 @@
149149 for i = c - 1, 0, -1 do
150150 local item = self._array[i];
151151 if( item.clock < clock )then
152- local init = item.time;
152+ local init = item:getTime();
153153 local dclock = clock - item.clock;
154154 local sec_per_clock1 = item.tempo * 1e-6 / 480.0;
155155 return init + dclock * sec_per_clock1;
--- luavsq/trunk/test/SequenceTest.lua (revision 1858)
+++ luavsq/trunk/test/SequenceTest.lua (revision 1859)
@@ -130,7 +130,7 @@
130130 assert_equal( 1, sequence.tempoTable:size() );
131131 assert_equal( 0, sequence.tempoTable:get( 0 ).clock );
132132 assert_equal( 500000, sequence.tempoTable:get( 0 ).tempo );
133- assert_equal( 0.0, sequence.tempoTable:get( 0 ).time );
133+ assert_equal( 0.0, sequence.tempoTable:get( 0 ):getTime() );
134134 end
135135
136136 function test()
--- luavsq/trunk/test/TempoTableTest.lua (revision 1858)
+++ luavsq/trunk/test/TempoTableTest.lua (revision 1859)
@@ -16,10 +16,10 @@
1616 assert_equal( 2, list:size() );
1717 assert_equal( 0, list:get( 0 ).clock );
1818 assert_equal( 500000, list:get( 0 ).tempo );
19- assert_equal( 0.0, list:get( 0 ).time );
19+ assert_equal( 0.0, list:get( 0 ):getTime() );
2020 assert_equal( 480, list:get( 1 ).clock );
2121 assert_equal( 525000, list:get( 1 ).tempo );
22- assert_equal( 0.5, list:get( 1 ).time );
22+ assert_equal( 0.5, list:get( 1 ):getTime() );
2323 end
2424
2525 function testIterator()
@@ -34,12 +34,12 @@
3434 local item = i:next();
3535 assert_equal( 0, item.clock );
3636 assert_equal( 500000, item.tempo );
37- assert_equal( 0.0, item.time );
37+ assert_equal( 0.0, item:getTime() );
3838 assert_true( i:hasNext() );
3939 item = i:next();
4040 assert_equal( 480, item.clock );
4141 assert_equal( 525000, item.tempo );
42- assert_equal( 0.5, item.time );
42+ assert_equal( 0.5, item:getTime() );
4343 assert_false( i:hasNext() );
4444 end
4545
@@ -47,16 +47,16 @@
4747 local list = luavsq.TempoTable.new();
4848 list:push( luavsq.TempoTableItem.new( 480, 525000 ) );
4949 list:push( luavsq.TempoTableItem.new( 0, 500000 ) );
50- list:get( 0 ).time = 0.5;
50+ list:get( 0 )._time = 0.5;
5151
5252 list:sort();
5353
5454 assert_equal( 0, list:get( 0 ).clock );
5555 assert_equal( 500000, list:get( 0 ).tempo );
56- assert_equal( 0.0, list:get( 0 ).time );
56+ assert_equal( 0.0, list:get( 0 ):getTime() );
5757 assert_equal( 480, list:get( 1 ).clock );
5858 assert_equal( 525000, list:get( 1 ).tempo );
59- assert_equal( 0.5, list:get( 1 ).time );
59+ assert_equal( 0.5, list:get( 1 ):getTime() );
6060 end
6161
6262 function testClockFromSec()
@@ -77,7 +77,7 @@
7777 assert_equal( 1, list:size() );
7878 assert_equal( 0, list:get( 0 ).clock );
7979 assert_equal( 500000, list:get( 0 ).tempo );
80- assert_equal( 0.0, list:get( 0 ).time );
80+ assert_equal( 0.0, list:get( 0 ):getTime() );
8181
8282 list = luavsq.TempoTable.new();
8383 list:push( luavsq.TempoTableItem.new( 480, 525000 ) );
@@ -86,10 +86,10 @@
8686 assert_equal( 2, list:size() );
8787 assert_equal( 0, list:get( 0 ).clock );
8888 assert_equal( 500000, list:get( 0 ).tempo );
89- assert_equal( 0.0, list:get( 0 ).time );
89+ assert_equal( 0.0, list:get( 0 ):getTime() );
9090 assert_equal( 480, list:get( 1 ).clock );
9191 assert_equal( 525000, list:get( 1 ).tempo );
92- assert_equal( 0.5, list:get( 1 ).time );
92+ assert_equal( 0.5, list:get( 1 ):getTime() );
9393 end
9494
9595 function testGetSecFromClock()
--- luavsq/trunk/test/TempoTableItemTest.lua (revision 1858)
+++ luavsq/trunk/test/TempoTableItemTest.lua (revision 1859)
@@ -6,7 +6,7 @@
66 local entry = luavsq.TempoTableItem.new();
77 assert_equal( 0, entry.clock );
88 assert_equal( 0, entry.tempo );
9- assert_equal( 0.0, entry.time );
9+ assert_equal( 0.0, entry:getTime() );
1010
1111 entry = luavsq.TempoTableItem.new( 480, 500000 );
1212 assert_equal( 480, entry.clock );
@@ -20,12 +20,12 @@
2020
2121 function testClone()
2222 local entry = luavsq.TempoTableItem.new( 480, 500000 );
23- entry.time = 0.5;
23+ entry._time = 0.5;
2424
2525 local copy = entry:clone();
2626 assert_equal( 480, copy.clock );
2727 assert_equal( 500000, copy.tempo );
28- assert_equal( 0.5, copy.time );
28+ assert_equal( 0.5, copy:getTime() );
2929 end
3030
3131 function testCompareTo()
@@ -39,14 +39,14 @@
3939 function testEquals()
4040 local a = luavsq.TempoTableItem.new( 480, 500000 );
4141 local b = luavsq.TempoTableItem.new( 480, 500000 );
42- a.time = 0.5;
43- b.time = 0.5;
42+ a._time = 0.5;
43+ b._time = 0.5;
4444 assert_true( a:equals( b ) );
4545 -- クロックは同じだがtimeが違う
46- b.time = 1;
46+ b._time = 1;
4747 assert_true( a:equals( b ) );
4848 b.clock = 1;
49- b.time = 0.5;
49+ b._time = 0.5;
5050 assert_false( a:equals( b ) );
5151 end
5252
--- luavsq/trunk/TempoTableItem.lua (revision 1858)
+++ luavsq/trunk/TempoTableItem.lua (revision 1859)
@@ -20,7 +20,6 @@
2020 -- @name TempoTableItem
2121 -- @field clock (integer) Tick 単位の時刻
2222 -- @field tempo (integer) テンポ値。四分音符の長さをマイクロ秒単位で表した値
23--- @field time (double) 秒単位の時刻
2423 TempoTableItem = {};
2524
2625 --
@@ -31,7 +30,7 @@
3130 local arguments = { ... };
3231 this.clock = 0;
3332 this.tempo = 0;
34- this.time = 0.0;
33+ this._time = 0.0;
3534
3635 ---
3736 -- 文字列に変換する
@@ -38,7 +37,7 @@
3837 -- @return (string) 変換後の文字列
3938 -- @name toString
4039 function this:toString()
41- return "{Clock=" .. self.clock .. ", Tempo=" .. self.tempo .. ", Time=" .. self.time .. "}";
40+ return "{Clock=" .. self.clock .. ", Tempo=" .. self.tempo .. ", Time=" .. self._time .. "}";
4241 end
4342
4443 ---
@@ -47,7 +46,7 @@
4746 -- @name clone
4847 function this:clone()
4948 local result = TempoTableItem.new( self.clock, self.tempo );
50- result.time = self.time;
49+ result._time = self._time;
5150 return result;
5251 end
5352
@@ -84,6 +83,14 @@
8483 end
8584 end
8685
86+ ---
87+ -- 秒単位の時刻を取得する
88+ -- @return (double) 秒単位の時刻
89+ -- @name getTime
90+ function this:getTime()
91+ return self._time;
92+ end
93+
8794 if( #arguments == 2 )then
8895 this:_init_2( arguments[1], arguments[2] );
8996 end
旧リポジトリブラウザで表示