diff --git a/libs/ardour/ardour/scale.h b/libs/ardour/ardour/scale.h new file mode 100644 index 0000000000..cc561cbcb9 --- /dev/null +++ b/libs/ardour/ardour/scale.h @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef __ardour_scale_h__ +#define __ardour_scale_h__ + +#include "ardour/mode.h" + +class MusicalScale : MusicalMode +{ + public: + MusicalScale (Type t, int root) : MusicalMode (t), _root (root) {} + ~MusicalScale (); + + int root () const { return _root; } + void set_root (int); + + private: + int _root; + +}; + +#endif /* __ardour_scale_h__ */ diff --git a/libs/ardour/scale.cc b/libs/ardour/scale.cc new file mode 100644 index 0000000000..908ca54285 --- /dev/null +++ b/libs/ardour/scale.cc @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2021 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., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#include "ardour/scale.h" + +void +MusicalScale::set_root (int r) +{ + _root = r; +} + diff --git a/libs/ardour/wscript b/libs/ardour/wscript index 4be9caae82..7e64b1ccc4 100644 --- a/libs/ardour/wscript +++ b/libs/ardour/wscript @@ -206,7 +206,8 @@ libardour_sources = [ 'route_group_member.cc', 'rb_effect.cc', 'rt_tasklist.cc', - 'scene_change.cc', + 'scale.cc', + 'scene_change.cc', 'search_paths.cc', 'selection.cc', 'send.cc',