fix mistaken "do not roll" conclusion in TransportFSM::compute_should_roll()
[ardour.git] / scripts / meter_tap.lua
index 6f8f62c22917dff79618a59a8650380450c0ce15..645af522bd7e97003d46a57dcf3be43d2687dce7 100644 (file)
@@ -17,34 +17,26 @@ function factory () return function ()
        }
 
        local rv = LuaDialog.Dialog("Change all Meter Taps:", dialog_options):run()
-       if rv then
-               meter_point = rv['select']
-               if rv['select-tracks'] then
-                       local sel = Editor:get_selection ()
-                       for route in sel.tracks:routelist():iter() do
-                               if not(route:to_track():isnil()) then
-                                       if rv['rec-tracks'] then
-                                               if route:rec_enable_control():get_value() == 1.0 then
-                                                       route:to_track():set_meter_point(meter_point, false)
-                                               end
-                                       else
-                                               route:to_track():set_meter_point(meter_point, false)
-                                       end
-                               end
-                       end
-               else
-                       for route in Session:get_routes():iter() do
-                               if not(route:to_track():isnil()) then
-                                       if rv['rec-tracks'] then
-                                               if route:rec_enable_control():get_value() == 1.0 then
-                                                       route:to_track():set_meter_point(meter_point, false)
-                                               end
-                                       else
-                                               route:to_track():set_meter_point(meter_point, false)
-                                       end
+       if not rv then return end -- user cancelled
+
+       local rl;
+       if rv['select-tracks'] then
+               rl = Editor:get_selection ()
+       else
+               rl = Session:get_routes()
+       end
+
+       local meter_point = rv['select']
+
+       for route in rl:iter() do
+               if not(route:to_track():isnil()) then
+                       if rv['rec-tracks'] then
+                               if route:rec_enable_control():get_value() == 1.0 then
+                                       route:to_track():set_meter_point(meter_point, false)
                                end
+                       else
+                               route:to_track():set_meter_point(meter_point, false)
                        end
                end
        end
-
 end end