Robin Gareus
ff95d81612
* boost::unordered_map -> std::unordered_map * BOOST_STATIC_ASSERT/static_assert * BOOST_FOREACH -> for * boost::tuple -> std::tuple/g * boost::math::isnormal -> std::isnormal * boost::container::set -> std::set * boost::none -> std::nullopt * boost::optional -> std::optional
38 lines
889 B
C++
38 lines
889 B
C++
#ifndef __gtk2_ardour_ghost_event_h__
|
|
#define __gtk2_ardour_ghost_event_h__
|
|
|
|
#include <unordered_map>
|
|
#include <sigc++/trackable.h>
|
|
|
|
#include "evoral/Note.h"
|
|
#include "temporal/beats.h"
|
|
|
|
namespace ArdourCanvas {
|
|
class Container;
|
|
class Item;
|
|
}
|
|
|
|
class NoteBase;
|
|
|
|
class GhostEvent : public sigc::trackable
|
|
{
|
|
public:
|
|
GhostEvent (::NoteBase *, ArdourCanvas::Container *);
|
|
GhostEvent (::NoteBase *, ArdourCanvas::Container *, ArdourCanvas::Item* i);
|
|
virtual ~GhostEvent ();
|
|
|
|
NoteBase* event;
|
|
ArdourCanvas::Item* item;
|
|
bool is_hit;
|
|
int velocity_while_editing;
|
|
|
|
/* must match typedef in NoteBase */
|
|
typedef Evoral::Note<Temporal::Beats> NoteType;
|
|
typedef std::unordered_map<std::shared_ptr<NoteType>, GhostEvent* > EventList;
|
|
|
|
static GhostEvent* find (std::shared_ptr<NoteType> parent, EventList& events, EventList::iterator& opti);
|
|
};
|
|
|
|
|
|
#endif /* __gtk2_ardour_ghost_event_h__ */
|