summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Anderson <ardour@semiosix.com>2007-07-16 20:50:16 +0000
committerJohn Anderson <ardour@semiosix.com>2007-07-16 20:50:16 +0000
commit21a260ebf46c9c57061b3319f81e8306c1a8f4af (patch)
treeaa5018ba7c19a9f1f4727eeb52a8b439e45f620a
parent1516d52ffab61cb0e117f1829ede387e2d2eb021 (diff)
better variables. Display warning if duplicate control ids are encountered.
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@2131 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--libs/surfaces/mackie/scripts/controls.rb5
-rwxr-xr-xlibs/surfaces/mackie/scripts/generate-surface.rb10
-rwxr-xr-xlibs/surfaces/mackie/scripts/test_controls.rb2
3 files changed, 12 insertions, 5 deletions
diff --git a/libs/surfaces/mackie/scripts/controls.rb b/libs/surfaces/mackie/scripts/controls.rb
index b56fd6010d..1644672077 100644
--- a/libs/surfaces/mackie/scripts/controls.rb
+++ b/libs/surfaces/mackie/scripts/controls.rb
@@ -191,6 +191,11 @@ class Surface
end
# add the new control to the various lookups
+ if @controls_by_id.has_key?( row.id ) && control.group.class != Strip
+ duplicated = @controls_by_id[row.id]
+ puts "duplicate id #{control.id}:#{control.name} of #{duplicated.id}:#{duplicated.name}"
+ end
+
@controls_by_id[row.id] = control
@controls << control
group << control
diff --git a/libs/surfaces/mackie/scripts/generate-surface.rb b/libs/surfaces/mackie/scripts/generate-surface.rb
index c6a028804a..1c7eda6da3 100755
--- a/libs/surfaces/mackie/scripts/generate-surface.rb
+++ b/libs/surfaces/mackie/scripts/generate-surface.rb
@@ -1,18 +1,20 @@
#! /usr/bin/ruby
+this_dir = File.dirname(__FILE__)
+
require 'erb'
-require File.dirname(__FILE__) + '/controls.rb'
+require this_dir + '/controls.rb'
cc_template = ''
-File.open( File.dirname(__FILE__) + "/surface-cc-template.erb", "r" ) { |f| cc_template = f.read }
+File.open( this_dir + "/surface-cc-template.erb", "r" ) { |f| cc_template = f.read }
h_template = ''
-File.open( File.dirname(__FILE__) + "/surface-h-template.erb", "r" ) { |f| h_template = f.read }
+File.open( this_dir + "/surface-h-template.erb", "r" ) { |f| h_template = f.read }
sf = Surface.new( ARGV[0] )
control_data = ''
-File.open( File.dirname(__FILE__) + "/#{sf.name.downcase}-controls.csv", "r") { |f| control_data = f.read }
+File.open( this_dir + "/#{sf.name.downcase}-controls.csv", "r") { |f| control_data = f.read }
sf.parse control_data
@result = ""
diff --git a/libs/surfaces/mackie/scripts/test_controls.rb b/libs/surfaces/mackie/scripts/test_controls.rb
index 782b0d427c..5fd34914d8 100755
--- a/libs/surfaces/mackie/scripts/test_controls.rb
+++ b/libs/surfaces/mackie/scripts/test_controls.rb
@@ -4,6 +4,6 @@ require 'controls.rb'
require 'pp'
sf = Surface.new
-sf.parse
+sf.parse( ARGV[0] )
sf.types.each{|k,v| puts "%02.x #{v}" % k}