]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/wxMMedia/sndsnd.cpp
Removed wxMMedia
[wxWidgets.git] / utils / wxMMedia / sndsnd.cpp
diff --git a/utils/wxMMedia/sndsnd.cpp b/utils/wxMMedia/sndsnd.cpp
deleted file mode 100644 (file)
index b938f0a..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-////////////////////////////////////////////////////////////////////////////////
-// Name:       sndsnd.cpp
-// Purpose:    wxMMedia
-// Author:     Guilhem Lavaux
-// Created:    1997
-// Updated:    1998
-// Copyright:  (C) 1997, 1998, Guilhem Lavaux
-// License:    wxWindows license
-////////////////////////////////////////////////////////////////////////////////
-#ifdef __GNUG__
-#pragma implementation "sndsnd.h"
-#endif
-#ifdef WX_PRECOMP
-#include "wx_prec.h"
-#else
-#include "wx/wx.h"
-#endif
-#include "sndsnd.h"
-#include "sndfrmt.h"
-
-#ifdef __BORLANDC__
-#pragma hdrstop
-#endif
-
-#define PROCESS_EVENT() wxYield()
-// #define PROCESS_EVENT()
-
-// ----------------------------------------------------------------------------
-// wxSndBuffer: base sound buffer class
-// ----------------------------------------------------------------------------
-
-
-wxSndBuffer::wxSndBuffer()
-  : m_sndmode(wxSND_OUTPUT), m_sndflags(0), m_sndoutput(NULL), m_sndcodec(NULL)
-{
-}
-
-wxSndBuffer::~wxSndBuffer()
-{
-}
-
-void wxSndBuffer::Set(wxSndFlags flags)
-{
-  m_sndflags |= flags;
-
-  if ((m_sndflags & wxSND_BUFAUTO) && (flags & wxSND_BUFREADY))
-    m_sndoutput->QueueBuffer(*this);
-}
-
-void wxSndBuffer::SetError(wxSndError error)
-{
-  if (error == wxSND_NOERROR)
-    Clear(wxSND_BUFERR);
-  else
-    Set(wxSND_BUFERR);
-
-  m_snderror = error;
-}
-
-wxSndError wxSndBuffer::GetError()
-{
-  if (IsNotSet(wxSND_BUFERR))
-    return wxSND_NOERROR;
-  Clear(wxSND_BUFERR);
-  return m_snderror;
-}
-
-void wxSndBuffer::OnPlayFinished()
-{
-}
-
-void wxSndBuffer::OnBufferOutFinished()
-{
-}
-
-void wxSndBuffer::OnBufferInFinished(char *WXUNUSED(iobuf),
-                                     wxUint32& WXUNUSED(size))
-{
-}
-
-bool wxSndBuffer::Wait()
-{
-  if (IsNotSet(wxSND_BUFLOCKED))
-    return FALSE;
-
-  while (IsSet(wxSND_BUFLOCKED))
-    PROCESS_EVENT();
-
-  return IsNotSet(wxSND_BUFERR);
-}
-
-void wxSndBuffer::HardLock()
-{
-  m_mutex.Lock();
-}
-
-void wxSndBuffer::HardUnlock()
-{
-  m_mutex.Unlock();
-}
-
-void wxSndBuffer::ChangeCodec(int no)
-{
-  m_sndformat.SetCodecNo(no);
-  m_sndcodec = m_sndformat.GetCodec();
-  m_sndcodec->SetIOBuffer(this);
-}
-
-// ----------------------------------------------------------------------------
-// wxSndSimpleBuffer: the simplest sound buffer
-// ----------------------------------------------------------------------------
-
-
-wxSndSimpleBuffer::wxSndSimpleBuffer(char *buffer, wxUint32 bufsize,
-                                    wxSndMode mode)
-  : wxSndBuffer()
-{
-  m_sndbuf = buffer;
-  m_sndsize = bufsize;
-  m_sndmode = mode;
-
-  m_sndptr = 0;
-}
-
-wxSndSimpleBuffer::~wxSndSimpleBuffer()
-{
-}
-
-void wxSndSimpleBuffer::OnNeedOutputData(char *iobuf, wxUint32& size)
-{
-  char *buf = m_sndbuf + m_sndptr;
-  wxUint32 nbdata_left = m_sndsize - m_sndptr;
-
-  if (m_sndptr >= m_sndsize) {
-    size = 0;
-    return;
-  }
-
-  if (size > nbdata_left)
-    size = nbdata_left;
-
-  m_sndptr += size;
-
-  memcpy(iobuf, buf, size);
-}
-
-void wxSndSimpleBuffer::OnBufferOutFinished()
-{
-  if (m_sndptr >= m_sndsize)
-    OnPlayFinished();
-}
-
-void wxSndSimpleBuffer::OnBufferInFinished(char *iobuf, wxUint32& size)
-{
-  char *raw_buf = m_sndbuf + m_sndptr;
-  wxUint32 data_left = m_sndsize - m_sndptr;
-
-  if (!data_left) {
-    size = 0;
-    return;
-  }
-
-  if (size > data_left)
-    size = data_left;
-
-  memcpy(raw_buf, iobuf, size);
-  m_sndptr += size;
-}
-
-void wxSndSimpleBuffer::SetData(char *buffer, wxUint32 bufsize,
-                               wxSndMode mode)
-{
-  m_sndbuf = buffer;
-  m_sndsize = bufsize;
-  m_sndmode = mode;
-}
-
-bool wxSndSimpleBuffer::RestartBuffer(wxSndMode mode)
-{
-  m_sndptr = 0;
-  return TRUE;
-}
-
-wxUint32 wxSndSimpleBuffer::GetSize() const
-{
-  return m_sndsize;
-}
-
-wxUint32 wxSndSimpleBuffer::Available() const
-{
-  return m_sndsize - m_sndptr;
-}
-
-// ----------------------------------------------------------------------------
-// wxSound: base sound driver implementation
-// ----------------------------------------------------------------------------
-
-wxSound::wxSound()
-  : wxObject(),
-    m_lastbuf(NULL), m_sndcbk(NULL), m_snderror(wxSND_NOERROR)
-{
-  m_buffers.Clear();
-}
-
-wxSound::~wxSound()
-{
-  wxNode *node = m_buffers.First();
-
-  while (node) {
-    wxSndBuffer *buf = (wxSndBuffer *)node->Data();
-
-    buf->Clear(wxSND_BUFLOCKED);
-  }
-}
-
-bool wxSound::QueueBuffer(wxSndBuffer& buf)
-{
-  if (buf.IsSet(wxSND_BUFLOCKED) || buf.IsNotSet(wxSND_BUFREADY))
-    return FALSE;
-
-  buf.Set(wxSND_BUFLOCKED);
-  buf.SetOutput(*this);
-
-  m_buffers.Append(&buf);
-  return Wakeup(buf);
-}
-
-bool wxSound::UnqueueBuffer(wxSndBuffer& buf)
-{
-  wxNode *node;
-
-  if (buf.IsNotSet(wxSND_BUFLOCKED))
-    return FALSE;
-
-  node = m_buffers.Member(&buf);
-  if (!node)
-    return FALSE;
-
-  StopBuffer(buf);
-  node = m_buffers.Member(&buf);
-  if (node)
-    delete node;
-
-  return TRUE;
-}
-
-void wxSound::Callback(wxSndCallback cbk)
-{
-  m_sndcbk = cbk;
-}
-
-void wxSound::SetClientData(char *cdata)
-{
-  m_cdata = cdata;
-}
-
-void wxSound::OnPlayBuffer(wxSndBuffer& buf)
-{
-  m_lastbuf = &buf;
-  if (m_sndcbk)
-    m_sndcbk(*this, buf, m_cdata);
-}