jdkmidi class library documentation

Copyright © 2004 J.D. Koftinoff Software, Ltd.

Released under the GNU General Public License (GPL)




Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

src/jdkmidi_queue.cpp

Go to the documentation of this file.
00001 /*
00002  *  libjdkmidi-2004 C++ Class Library for MIDI
00003  *
00004  *  Copyright (C) 2004  J.D. Koftinoff Software, Ltd.
00005  *  www.jdkoftinoff.com
00006  *  jeffk@jdkoftinoff.com
00007  *
00008  *  *** RELEASED UNDER THE GNU GENERAL PUBLIC LICENSE (GPL) April 27, 2004 ***
00009  *
00010  *  This program is free software; you can redistribute it and/or modify
00011  *  it under the terms of the GNU General Public License as published by
00012  *  the Free Software Foundation; either version 2 of the License, or
00013  *  (at your option) any later version.
00014  *
00015  *  This program is distributed in the hope that it will be useful,
00016  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00017  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018  *  GNU General Public License for more details.
00019  *
00020  *  You should have received a copy of the GNU General Public License
00021  *  along with this program; if not, write to the Free Software
00022  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00023 */
00024 #include "jdkmidi/world.h"
00025 #include "jdkmidi/queue.h"
00026 
00027 namespace jdkmidi
00028 {
00029   
00030   
00031   MIDIQueue::MIDIQueue( int num_msgs ) 
00032     :
00033     buf( new MIDITimedBigMessage[ num_msgs ] ),
00034     bufsize( num_msgs ),
00035     next_in(0),
00036     next_out(0)
00037   {
00038     
00039   }
00040   
00041   
00042   MIDIQueue::~MIDIQueue()
00043   {
00044     delete [] buf;
00045   }
00046   
00047   void MIDIQueue::Clear()
00048   {
00049     next_in=0; 
00050     next_out=0;   
00051   }
00052   
00053   bool MIDIQueue::CanPut() const
00054   {
00055     return next_out != ((next_in+1)%bufsize);
00056   }
00057   
00058   bool MIDIQueue::CanGet() const
00059   {
00060     return next_in != next_out;
00061   }
00062   
00063   
00064   
00065 }