<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -149,7 +149,7 @@ Controllers are instructions to the performer. They have a duration of zero.
 
 =end
   
-  def ctl(name, value, attrs = {})
-    Controller.new(name, value, attrs)
+  def ctl(name, attrs = {})
+    Controller.new(name, attrs)
   end
 end</diff>
      <filename>lib/music.rb</filename>
    </modified>
    <modified>
      <diff>@@ -325,8 +325,8 @@ module Music
       include Instant
       attr_reader :attributes
       
-      def initialize(name, data, attrs = {})
-        @attributes = attrs.merge(:name =&gt; name, :data =&gt; Array(data))
+      def initialize(name, as = {})
+        @attributes = as.merge(:name =&gt; name)
       end
       
       def ==(other)
@@ -339,8 +339,7 @@ module Music
       
       def update(key, val)
         a = attributes.merge(key =&gt; val)
-        n, v = attributes.values_at(:name, :value)
-        self.class.new(n, v, a)
+        self.class.new(name, a)
       end
       
       def eval(interpreter, context)</diff>
      <filename>lib/music/score.rb</filename>
    </modified>
    <modified>
      <diff>@@ -64,9 +64,9 @@ module Music
         
         track &lt;&lt; case ctl.name.to_s
           when 'tempo'
-            SetTempo.new(offset, ctl.data[0])
+            SetTempo.new(offset, bpm_to_qn_per_usec(ctl.tempo))
           when /^cc(0?[1-9]|1[0-6])$/
-            ControlChange.new(offset, channel, $1, ctl.data[0])
+            ControlChange.new(offset, channel, $1, ctl.value)
         end
       end
   end</diff>
      <filename>lib/music/smf_writer.rb</filename>
    </modified>
    <modified>
      <diff>@@ -52,7 +52,7 @@ end
 
 describe Controller do
   before(:all) do
-    @object = Controller.new(60, 1)
+    @object = Controller.new(:cc1, :value =&gt; 64)
   end
   it_should_behave_like &quot;all attributes implementations&quot;
 end</diff>
      <filename>spec/attribute_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -226,13 +226,13 @@ end
 
 describe Controller do
   before(:all) do
-    @object = Controller.new(:tempo, 120)
+    @object = Controller.new(:tempo, :tempo =&gt; 120)
   end
   
   it_should_behave_like &quot;all scores&quot;
-
+  
   it &quot;should carry associated data&quot; do
-    @object.data.should == [120]
+    @object.tempo.should == 120
   end
 end
 </diff>
      <filename>spec/score_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -107,7 +107,7 @@ end
 describe Controller do
   before(:all) do
     @dur = 0
-    @object = ctl(:tempo, 120)
+    @object = ctl(:tempo, :tempo =&gt; 120)
   end
   it_should_behave_like &quot;all temporal objects&quot;
 end</diff>
      <filename>spec/temporal_spec.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>ba072f8f849179ab970adf13d04495054a93d2f1</id>
    </parent>
  </parents>
  <author>
    <name>Jeremy Voorhis</name>
    <email>jvoorhis@jeremy-voorhiss-macbook-2.local</email>
  </author>
  <url>http://github.com/jvoorhis/music.rb/commit/61bcf339c2896b13763e1d0b00f1d07f4a096042</url>
  <id>61bcf339c2896b13763e1d0b00f1d07f4a096042</id>
  <committed-date>2008-11-18T08:27:07-08:00</committed-date>
  <authored-date>2008-11-18T08:27:07-08:00</authored-date>
  <message>Changed attribute layout of Controller. Converting bpm to qn/usec for SetTempo.</message>
  <tree>3137becb3b31ab247fffa08ab0da300bf7e34298</tree>
  <committer>
    <name>Jeremy Voorhis</name>
    <email>jvoorhis@jeremy-voorhiss-macbook-2.local</email>
  </committer>
</commit>
