2012-05-26 14:26:10 +02:00
|
|
|
//=============================================================================
|
|
|
|
// MuseScore
|
|
|
|
// Music Composition & Notation
|
|
|
|
//
|
|
|
|
// Copyright (C) 2002-2011 Werner Schweer
|
|
|
|
//
|
|
|
|
// This program is free software; you can redistribute it and/or modify
|
|
|
|
// it under the terms of the GNU General Public License version 2
|
|
|
|
// as published by the Free Software Foundation and appearing in
|
|
|
|
// the file LICENCE.GPL
|
|
|
|
//=============================================================================
|
|
|
|
|
|
|
|
#include "fifo.h"
|
|
|
|
|
2013-05-13 18:49:17 +02:00
|
|
|
namespace Ms {
|
|
|
|
|
2012-05-26 14:26:10 +02:00
|
|
|
//---------------------------------------------------------
|
|
|
|
// clear
|
|
|
|
//---------------------------------------------------------
|
|
|
|
|
|
|
|
void FifoBase::clear()
|
2014-05-30 13:35:44 +02:00
|
|
|
{
|
|
|
|
ridx = 0;
|
2012-05-26 14:26:10 +02:00
|
|
|
widx = 0;
|
|
|
|
counter = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
//---------------------------------------------------------
|
|
|
|
// push
|
|
|
|
//---------------------------------------------------------
|
|
|
|
|
|
|
|
void FifoBase::push()
|
|
|
|
{
|
|
|
|
widx = (widx + 1) % maxCount;
|
|
|
|
// q_atomic_increment(&counter);
|
|
|
|
++counter;
|
|
|
|
}
|
|
|
|
|
|
|
|
//---------------------------------------------------------
|
|
|
|
// pop
|
|
|
|
//---------------------------------------------------------
|
|
|
|
|
|
|
|
void FifoBase::pop()
|
|
|
|
{
|
|
|
|
ridx = (ridx + 1) % maxCount;
|
|
|
|
// q_atomic_decrement(&counter);
|
|
|
|
--counter;
|
|
|
|
}
|
|
|
|
|
2013-05-13 18:49:17 +02:00
|
|
|
}
|
|
|
|
|