mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-02 03:47:42 +01:00
Make (MIDI) event time stamp type a template parameter.
git-svn-id: svn://localhost/ardour2/branches/3.0@4473 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
ead5dd4568
commit
166ef64e3d
54 changed files with 534 additions and 424 deletions
|
|
@ -16,27 +16,34 @@
|
|||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include <string>
|
||||
#include "evoral/MIDIEvent.hpp"
|
||||
#ifdef EVORAL_MIDI_XML
|
||||
#include <pbd/xml++.h>
|
||||
#endif
|
||||
|
||||
using namespace std;
|
||||
|
||||
namespace Evoral {
|
||||
|
||||
#ifdef EVORAL_MIDI_XML
|
||||
|
||||
MIDIEvent::MIDIEvent(const XMLNode& event)
|
||||
: Event()
|
||||
template<typename T>
|
||||
MIDIEvent<T>::MIDIEvent(const XMLNode& event)
|
||||
: Event<T>()
|
||||
{
|
||||
string name = event.name();
|
||||
|
||||
if (name == "ControlChange") {
|
||||
_buffer = (uint8_t*) ::malloc(3);
|
||||
_owns_buffer = true;
|
||||
this->_buf = (uint8_t*) ::malloc(3);
|
||||
this->_owns_buf = true;
|
||||
set_type(MIDI_CMD_CONTROL);
|
||||
|
||||
set_cc_number(atoi(event.property("Control")->value().c_str()));
|
||||
set_cc_value (atoi(event.property("Value")->value().c_str()));
|
||||
} else if (name == "ProgramChange") {
|
||||
_buffer = (uint8_t*) ::malloc(2);
|
||||
_owns_buffer = true;
|
||||
this->_buf = (uint8_t*) ::malloc(2);
|
||||
this->_owns_buf = true;
|
||||
set_type(MIDI_CMD_PGM_CHANGE);
|
||||
|
||||
set_pgm_number(atoi(event.property("Number")->value().c_str()));
|
||||
|
|
@ -44,8 +51,9 @@ MIDIEvent::MIDIEvent(const XMLNode& event)
|
|||
}
|
||||
|
||||
|
||||
template<typename T>
|
||||
boost::shared_ptr<XMLNode>
|
||||
MIDIEvent::to_xml() const
|
||||
MIDIEvent<T>::to_xml() const
|
||||
{
|
||||
XMLNode *result = 0;
|
||||
|
||||
|
|
@ -73,5 +81,7 @@ MIDIEvent::to_xml() const
|
|||
|
||||
#endif // EVORAL_MIDI_XML
|
||||
|
||||
} // namespace MIDI
|
||||
template class MIDIEvent<double>;
|
||||
|
||||
} // namespace Evoral
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue