/[svn]/linuxsampler/trunk/src/diskthread.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/diskthread.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 25 by schoenebeck, Sun Dec 7 05:03:43 2003 UTC revision 26 by schoenebeck, Fri Dec 26 16:39:58 2003 UTC
# Line 40  Stream* DiskThread::SLOT_RESERVED = (Str Line 40  Stream* DiskThread::SLOT_RESERVED = (Str
40   * Returns -1 if command queue or pickup pool is full, 0 on success (will be   * Returns -1 if command queue or pickup pool is full, 0 on success (will be
41   * called by audio thread within the voice class).   * called by audio thread within the voice class).
42   */   */
43  int DiskThread::OrderNewStream(Stream::reference_t* pStreamRef, gig::Sample* pSample, unsigned long SampleOffset) {  int DiskThread::OrderNewStream(Stream::reference_t* pStreamRef, gig::Sample* pSample, unsigned long SampleOffset, bool DoLoop) {
44      dmsg(4,("Disk Thread: new stream ordered\n"));      dmsg(4,("Disk Thread: new stream ordered\n"));
45      if (CreationQueue->write_space() < 1) {      if (CreationQueue->write_space() < 1) {
46          dmsg(1,("DiskThread: Order queue full!\n"));          dmsg(1,("DiskThread: Order queue full!\n"));
# Line 60  int DiskThread::OrderNewStream(Stream::r Line 60  int DiskThread::OrderNewStream(Stream::r
60      cmd.pStreamRef   = pStreamRef;      cmd.pStreamRef   = pStreamRef;
61      cmd.pSample      = pSample;      cmd.pSample      = pSample;
62      cmd.SampleOffset = SampleOffset;      cmd.SampleOffset = SampleOffset;
63        cmd.DoLoop       = DoLoop;
64    
65      CreationQueue->push(&cmd);      CreationQueue->push(&cmd);
66      return 0;      return 0;
# Line 203  void DiskThread::CreateStream(create_com Line 204  void DiskThread::CreateStream(create_com
204          std::cerr << "No unused stream found (OrderID:" << Command.OrderID << ") - report if this happens, this is a bug!\n" << std::flush;          std::cerr << "No unused stream found (OrderID:" << Command.OrderID << ") - report if this happens, this is a bug!\n" << std::flush;
205          return;          return;
206      }      }
207      newstream->Launch(Command.hStream, Command.pStreamRef, Command.pSample, Command.SampleOffset);      newstream->Launch(Command.hStream, Command.pStreamRef, Command.pSample, Command.SampleOffset, Command.DoLoop);
208      dmsg(4,("new Stream launched by disk thread (OrderID:%d,StreamHandle:%d)\n", Command.OrderID, Command.hStream));      dmsg(4,("new Stream launched by disk thread (OrderID:%d,StreamHandle:%d)\n", Command.OrderID, Command.hStream));
209      if (pCreatedStreams[Command.OrderID] != SLOT_RESERVED) {      if (pCreatedStreams[Command.OrderID] != SLOT_RESERVED) {
210          std::cerr << "DiskThread: Slot " << Command.OrderID << " already occupied! Please report this!\n" << std::flush;          std::cerr << "DiskThread: Slot " << Command.OrderID << " already occupied! Please report this!\n" << std::flush;

Legend:
Removed from v.25  
changed lines
  Added in v.26

  ViewVC Help
Powered by ViewVC