diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2016-07-10 12:38:55 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2016-09-27 14:59:31 -0500 |
commit | 995f3f80bbe963437d0b6365e1a6dee032a454b9 (patch) | |
tree | 08f44efcbeab369c1cb1b3838394689076d2f593 /libs | |
parent | 268945850033200d57a89fb33e00136c03711f2a (diff) |
push2: skeleton for track mix layout
Diffstat (limited to 'libs')
-rw-r--r-- | libs/surfaces/push2/track_mix.cc | 100 | ||||
-rw-r--r-- | libs/surfaces/push2/track_mix.h | 53 | ||||
-rw-r--r-- | libs/surfaces/push2/wscript | 1 |
3 files changed, 154 insertions, 0 deletions
diff --git a/libs/surfaces/push2/track_mix.cc b/libs/surfaces/push2/track_mix.cc new file mode 100644 index 0000000000..36af9dbf34 --- /dev/null +++ b/libs/surfaces/push2/track_mix.cc @@ -0,0 +1,100 @@ +/* + Copyright (C) 2016 Paul Davis + + 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. +*/ + +#include <pangomm/layout.h> + +#include "pbd/compose.h" +#include "pbd/convert.h" +#include "pbd/debug.h" +#include "pbd/failed_constructor.h" +#include "pbd/file_utils.h" +#include "pbd/search_path.h" +#include "pbd/enumwriter.h" + +#include "midi++/parser.h" +#include "timecode/time.h" +#include "timecode/bbt_time.h" + +#include "ardour/async_midi_port.h" +#include "ardour/audioengine.h" +#include "ardour/debug.h" +#include "ardour/filesystem_paths.h" +#include "ardour/midiport_manager.h" +#include "ardour/midi_track.h" +#include "ardour/midi_port.h" +#include "ardour/session.h" +#include "ardour/tempo.h" + +#include "menu.h" +#include "push2.h" +#include "track_mix.h" + +#include "i18n.h" + +using namespace ARDOUR; +using namespace std; +using namespace PBD; +using namespace Glib; +using namespace ArdourSurface; + +TrackMixLayout::TrackMixLayout (Push2& p, Session& s, Cairo::RefPtr<Cairo::Context> context) + : Push2Layout (p, s) + , _dirty (false) +{ +} + +TrackMixLayout::~TrackMixLayout () +{ +} + +bool +TrackMixLayout::redraw (Cairo::RefPtr<Cairo::Context> context) const +{ + context->set_source_rgb (0.764, 0.882, 0.882); + context->rectangle (0, 0, 960, 160); + context->fill (); + + return false; +} + +void +TrackMixLayout::button_upper (uint32_t n) +{ +} + +void +TrackMixLayout::button_lower (uint32_t n) +{ +} + +void +TrackMixLayout::strip_vpot (int n, int delta) +{ +} + +void +TrackMixLayout::strip_vpot_touch (int, bool) +{ +} + +void +TrackMixLayout::set_stripable (boost::shared_ptr<Stripable> s) +{ + stripable = s; + _dirty = true; +} diff --git a/libs/surfaces/push2/track_mix.h b/libs/surfaces/push2/track_mix.h new file mode 100644 index 0000000000..bbcdc0210a --- /dev/null +++ b/libs/surfaces/push2/track_mix.h @@ -0,0 +1,53 @@ +/* + Copyright (C) 2016 Paul Davis + + 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. +*/ + +#ifndef __ardour_push2_track_mix_layout_h__ +#define __ardour_push2_track_mix_layout_h__ + +#include "layout.h" + +namespace ARDOUR { + class Stripable; +} + +namespace ArdourSurface { + +class TrackMixLayout : public Push2Layout +{ + public: + TrackMixLayout (Push2& p, ARDOUR::Session&, Cairo::RefPtr<Cairo::Context>); + ~TrackMixLayout (); + + void set_stripable (boost::shared_ptr<ARDOUR::Stripable>); + + bool redraw (Cairo::RefPtr<Cairo::Context>) const; + + void button_upper (uint32_t n); + void button_lower (uint32_t n); + + void strip_vpot (int, int); + void strip_vpot_touch (int, bool); + + private: + boost::shared_ptr<ARDOUR::Stripable> stripable; + bool _dirty; +}; + +} /* namespace */ + +#endif /* __ardour_push2_track_mix_layout_h__ */ diff --git a/libs/surfaces/push2/wscript b/libs/surfaces/push2/wscript index 1469bd523c..ca872208c9 100644 --- a/libs/surfaces/push2/wscript +++ b/libs/surfaces/push2/wscript @@ -31,6 +31,7 @@ def build(bld): menu.cc mix.cc scale.cc + track_mix.cc ''' obj.export_includes = ['.'] obj.defines = [ 'PACKAGE="ardour_push2"' ] |