mirror of
https://github.com/Ardour/ardour.git
synced 2026-01-30 00:43:18 +01:00
add note IDs and use them for looking up notes during a history rebuild. NOTE: INVALIDATES OLDER HISTORY FILES
git-svn-id: svn://localhost/ardour2/branches/3.0@7449 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
3ef1a678b4
commit
bf91ed99ec
24 changed files with 496 additions and 395 deletions
|
|
@ -16,20 +16,42 @@
|
|||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include <glib.h>
|
||||
#include "evoral/Event.hpp"
|
||||
|
||||
namespace Evoral {
|
||||
|
||||
static event_id_t _event_id_counter = 0;
|
||||
|
||||
event_id_t
|
||||
event_id_counter()
|
||||
{
|
||||
return g_atomic_int_get (&_event_id_counter);
|
||||
}
|
||||
|
||||
void
|
||||
init_event_id_counter(event_id_t n)
|
||||
{
|
||||
g_atomic_int_set (&_event_id_counter, n);
|
||||
}
|
||||
|
||||
event_id_t
|
||||
next_event_id ()
|
||||
{
|
||||
return g_atomic_int_exchange_and_add (&_event_id_counter, 1);
|
||||
}
|
||||
|
||||
#ifdef EVORAL_EVENT_ALLOC
|
||||
|
||||
template<typename Timestamp>
|
||||
Event<Timestamp>::Event(EventType type, Timestamp time, uint32_t size, uint8_t* buf, bool alloc)
|
||||
: _type(type)
|
||||
: _type(type)
|
||||
, _original_time(time)
|
||||
, _nominal_time(time)
|
||||
, _size(size)
|
||||
, _buf(buf)
|
||||
, _owns_buf(alloc)
|
||||
, _id (-1)
|
||||
{
|
||||
if (alloc) {
|
||||
_buf = (uint8_t*)malloc(_size);
|
||||
|
|
@ -49,6 +71,7 @@ Event<Timestamp>::Event(const Event& copy, bool owns_buf)
|
|||
, _size(copy._size)
|
||||
, _buf(copy._buf)
|
||||
, _owns_buf(owns_buf)
|
||||
, _id (copy.id())
|
||||
{
|
||||
if (owns_buf) {
|
||||
_buf = (uint8_t*)malloc(_size);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue