///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// File:           reaper_cc121.h                                            //
//                                                                           //
// Functionality:  Global declarations and prototypes.                       //
//                                                                           //
// Author:         Rolf Meyerhoff (rm@matrix44.de)                           //
//                                                                           //
// Copyright:      (C) 2009 by Rolf Meyerhoff. All rights reserved.          //
//                                                                           //
///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// License:                                                                  //
//                                                                           //
// This library is free software;  you can redistribute it  and/or modify it //
// under the terms of the GNU Lesser  General Public License as published by //
// the Free Software Foundation;  either version 2.1 of the License,  or (at //
// your option) any later version.                                           //
//                                                                           //
// This  library 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 Lesser //
// General Public License for more details.                                  //
//                                                                           //
// You should have received a copy of  the GNU Lesser General Public License //
// along with this library;  if not,  write to the Free Software Foundation, //
// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.              //
///////////////////////////////////////////////////////////////////////////////
#ifndef __REAPER_CC121_H_INCLUDED__
#define __REAPER_CC121_H_INCLUDED__

///////////////////////////////////////////////////////////////////////////////
// Includes
///////////////////////////////////////////////////////////////////////////////

// Windows API:
#ifdef _WINDOWS
#  define WINVER         0x0501
#  define _WIN32_WINNT   0x0501
#  define _WIN32_WINDOWS 0x0410
#  define _WIN32_IE      0x0600
#  define WIN32_LEAN_AND_MEAN
#  include <windows.h>
#  include <tchar.h>
#  include <mmsystem.h>
#  include <commctrl.h>
#endif // #ifdef _WINDOWS

// Runtime:
#include <string.h>
#include <vector>
#include <string>
#include <assert.h>

// REAPER API:
class ReaProject;
class TrackEnvelope;
#include <reaper_plugin.h>
#include <reaper_plugin_functions.h>
#include "../WDL/db2val.h"

// Project:
#include "resource.h"
#include "ThreadedMIDIOutput.h"
#include "CC121Options.h"
#include "CC121EqMap.h"
#include "CC121.h"
#include "ConfigDialogs.h"

// Some REAPER command message defines
#define ID_SET_MASTER_VOLUME            12
#define ID_ZOOM_OUT_HORZ                1011
#define ID_ZOOM_IN_HORZ                 1012
#define ID_RECORD                       1013
#define IDC_REPEAT                      1068
#define ID_SHOW_MASTER_TRACK_IO         1087
#define ID_ZOOM_IN_VERT                 40111
#define ID_ZOOM_OUT_VERT                40112
#define ID_MARKER_PREV                  40172
#define ID_MARKER_NEXT                  40173
#define ID_SHOW_ROUTING_MATRIX          40251
#define ID_SHOW_DOCKER                  40279
#define ID_TRACK_NEXT                   40285
#define ID_TRACK_PREV                   40286
#define ID_SHOW_FX_BROWSER              40291
#define ID_SHOW_TRACK_IO                40293
#define ID_TOGGLE_METRONOME             40364
#define ID_SHOW_ACTION_LIST             40605
#define ID_SHOW_MASTER_FX               40846

// Globals:
REAPERAPI_DECL REAPER_PLUGIN_HINSTANCE hResourceInst;
REAPERAPI_DECL HWND hReaperWnd;

#endif // #ifndef __REAPER_CC121_H_INCLUDED__
///////////////////////////////// End of File /////////////////////////////////
