diff options
Diffstat (limited to 'libs/surfaces/mackie/scripts/generate-button-handlers-h.erb')
-rw-r--r-- | libs/surfaces/mackie/scripts/generate-button-handlers-h.erb | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/libs/surfaces/mackie/scripts/generate-button-handlers-h.erb b/libs/surfaces/mackie/scripts/generate-button-handlers-h.erb new file mode 100644 index 0000000000..605b6c29dc --- /dev/null +++ b/libs/surfaces/mackie/scripts/generate-button-handlers-h.erb @@ -0,0 +1,54 @@ +<%# + Copyright (C) 2006,2007 John Anderson + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +-%> +<%- +require 'controls.rb' + +sf = Surface.new +sf.parse( File.open "mackie-controls.csv" ) +buttons = sf.controls.find_all{|x| x.class == Button && x.group.class != Strip} +-%> +#ifndef mackie_button_handler_h +#define mackie_button_handler_h +/* + Generated by scripts/generate-button-handlers.erb +*/ + +#include "types.h" + +namespace Mackie +{ + +class MackieButtonHandler +{ +public: + virtual ~MackieButtonHandler() {} + + virtual LedState default_button_press( Button & button ); + virtual LedState default_button_release( Button & button ); + + virtual void update_led( Button & button, LedState ls ) = 0; + +<%- buttons.each do |button| %> + virtual LedState <%=button.name%>_press( Button & ); + virtual LedState <%=button.name%>_release( Button & ); +<% end %> +}; + +} + +#endif |