summaryrefslogtreecommitdiff
path: root/attic/muse2-oom/muse2/muse/node.h
diff options
context:
space:
mode:
Diffstat (limited to 'attic/muse2-oom/muse2/muse/node.h')
-rw-r--r--attic/muse2-oom/muse2/muse/node.h131
1 files changed, 0 insertions, 131 deletions
diff --git a/attic/muse2-oom/muse2/muse/node.h b/attic/muse2-oom/muse2/muse/node.h
deleted file mode 100644
index b54faea9..00000000
--- a/attic/muse2-oom/muse2/muse/node.h
+++ /dev/null
@@ -1,131 +0,0 @@
-//=========================================================
-// MusE
-// Linux Music Editor
-// $Id: node.h,v 1.8.2.2 2006/04/13 19:09:48 spamatica Exp $
-//
-// (C) Copyright 2001 Werner Schweer (ws@seh.de)
-//=========================================================
-
-#ifndef __AUDIONODE_H__
-#define __AUDIONODE_H__
-
-#include <list>
-
-#ifndef i386
-#include <pthread.h>
-typedef struct { pthread_mutex_t lock; int counter; } muse_atomic_t;
-#else
-typedef struct { int counter; } muse_atomic_t;
-#endif
-
-static inline int muse_atomic_read(muse_atomic_t *v) {
-#ifndef i386
- int ret;
- pthread_mutex_lock(&v->lock);
- ret = v->counter;
- pthread_mutex_unlock(&v->lock);
- return ret;
-#else
- return v->counter;
-#endif
-}
-
-static inline void muse_atomic_set(muse_atomic_t *v, int i) {
-#ifndef i386
- pthread_mutex_lock(&v->lock);
- v->counter = i;
- pthread_mutex_unlock(&v->lock);
-#else
- v->counter = i;
-#endif
-}
-static inline void muse_atomic_inc(muse_atomic_t *v) {
-#ifndef i386
- pthread_mutex_lock(&v->lock);
- v->counter++;
- pthread_mutex_unlock(&v->lock);
-#else
- __asm__ __volatile__(
- "lock ; " "incl %0"
- :"=m" (v->counter)
- :"m" (v->counter));
-#endif
-}
-static inline void muse_atomic_dec(muse_atomic_t *v) {
-#ifndef i386
- pthread_mutex_lock(&v->lock);
- v->counter--;
- pthread_mutex_unlock(&v->lock);
-#else
- __asm__ __volatile__(
- "lock ; " "decl %0"
- :"=m" (v->counter)
- :"m" (v->counter));
-#endif
-}
-#ifndef i386
-static inline void muse_atomic_init(muse_atomic_t *v) {
- pthread_mutex_init(&v->lock, NULL);
- }
-#else
-static inline void muse_atomic_init(muse_atomic_t*) {}
-#endif
-
-#ifndef i386
-static inline void muse_atomic_destroy(muse_atomic_t *v) {
- pthread_mutex_destroy(&v->lock);
- }
-#else
-static inline void muse_atomic_destroy(muse_atomic_t*) {}
-#endif
-
-class Xml;
-class Pipeline;
-class SndFile;
-
-// superceeded by dynamic allocation of fifoLength
-//const int FIFO_BUFFER = 4096;//64;
-
-//---------------------------------------------------------
-// Fifo
-//---------------------------------------------------------
-
-struct FifoBuffer {
- float* buffer;
- int size;
- int maxSize;
- unsigned pos;
- int segs;
-
- FifoBuffer() {
- buffer = 0;
- size = 0;
- maxSize = 0;
- }
- };
-
-class Fifo {
- int nbuffer;
- int ridx; // read index; only touched by reader
- int widx; // write index; only touched by writer
- muse_atomic_t count; // buffer count; writer increments, reader decrements
- FifoBuffer** buffer;
-
- public:
- Fifo();
- ~Fifo();
- void clear() {
- ridx = 0;
- widx = 0;
- muse_atomic_set(&count, 0);
- }
- bool put(int, unsigned long, float** buffer, unsigned pos);
- bool getWriteBuffer(int, unsigned long, float** buffer, unsigned pos);
- void add();
- bool get(int, unsigned long, float** buffer, unsigned* pos);
- void remove();
- int getCount();
- };
-
-#endif
-