#ifndef mackie_surface_mackie_h
#define mackie_surface_mackie_h
/*
	Generated by scripts/generate-surface.rb
*/

#include "surface.h"

namespace Mackie
{

class MackieButtonHandler;
class MackieSurface : public Surface
{
public:
	MackieSurface( uint32_t max_strips ) : Surface( max_strips )
	{
	}
	
	virtual void handle_button( MackieButtonHandler & mbh, ButtonState bs, Button & button );
	virtual void init_controls();

	virtual bool has_timecode_display() const { return true; }
	virtual void display_timecode( SurfacePort &, MackieMidiBuilder &, const std::string & timecode, const std::string & timecode_last );

	virtual float scrub_scaling_factor() { return 100.0; }
	virtual float scaled_delta( const ControlState & state, float current_speed );
};

}

#endif
