13
0
livetrax/gtk2_ardour/ghost_event.h
Robin Gareus ff95d81612
Reduce reliance on boost - the easy part
* 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
2024-10-19 03:41:16 +02:00

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__ */