diff options
Diffstat (limited to 'noatun-plugins/synaescope')
-rw-r--r-- | noatun-plugins/synaescope/core.cpp | 18 | ||||
-rw-r--r-- | noatun-plugins/synaescope/sdlwrap.cpp | 6 | ||||
-rw-r--r-- | noatun-plugins/synaescope/syna.h | 24 |
3 files changed, 6 insertions, 42 deletions
diff --git a/noatun-plugins/synaescope/core.cpp b/noatun-plugins/synaescope/core.cpp index e21c796..15c6730 100644 --- a/noatun-plugins/synaescope/core.cpp +++ b/noatun-plugins/synaescope/core.cpp @@ -24,6 +24,7 @@ #include "syna.h" #include <unistd.h> #include <noatun/conversion.h> +#include <SDL_endian.h> using namespace std; @@ -305,9 +306,6 @@ bool Core::calculate() double a[NumSamples], b[NumSamples]; int clarity[NumSamples]; //Surround sound int i,j,k; -#ifndef LITTLEENDIAN - sampleType temp; -#endif int brightFactor = int(Brightness * brightnessTwiddler /(starSize+0.01)); @@ -322,18 +320,8 @@ bool Core::calculate() for(i=0;i<NumSamples;i++) { -# ifdef LITTLEENDIAN - x[i] = data[i*2]; - y[i] = data[i*2+1]; -# else - // Need to convert to big-endian - temp = data[i*2]; - temp = (temp >> 8) | (temp << 8); - x[i] = temp; - temp = data[i*2+1]; - temp = (temp << 8) | (temp >> 8); - y[i] = temp; -# endif + x[i] = SDL_SwapLE16(data[i*2]); + y[i] = SDL_SwapLE16(data[i*2+1]); } fft(x,y); diff --git a/noatun-plugins/synaescope/sdlwrap.cpp b/noatun-plugins/synaescope/sdlwrap.cpp index f40d384..920e150 100644 --- a/noatun-plugins/synaescope/sdlwrap.cpp +++ b/noatun-plugins/synaescope/sdlwrap.cpp @@ -150,8 +150,8 @@ void SdlScreen::show() { SDL_LockSurface(surface); - unsigned long *ptr2 = (unsigned long*)core->output(); - unsigned long *ptr1 = (unsigned long*)( surface->pixels ); + Uint32 *ptr2 = (Uint32*)core->output(); + Uint32 *ptr1 = (Uint32*)( surface->pixels ); int i = core->outWidth*core->outHeight/4; do { @@ -161,7 +161,7 @@ void SdlScreen::show() unsigned int const r2 = *(ptr2++); //if (r1 || r2) { -#ifdef LITTLEENDIAN +#if SDL_BYTEORDER == SDL_LIT_ENDIAN unsigned int const v = ((r1 & 0x000000f0ul) >> 4) | ((r1 & 0x0000f000ul) >> 8) diff --git a/noatun-plugins/synaescope/syna.h b/noatun-plugins/synaescope/syna.h index 07c4e5e..0d3831b 100644 --- a/noatun-plugins/synaescope/syna.h +++ b/noatun-plugins/synaescope/syna.h @@ -48,31 +48,7 @@ #define NumSamples (1<<LogSize) #define RecSize (1<<LogSize-Overlap) -#ifndef __linux__ -#warning This target has not been tested! -#endif - -#ifdef __FreeBSD__ -#include <machine/endian.h> typedef unsigned short sampleType; -#else -#ifdef HAVE_SYS_TYPES_H -#include <sys/types.h> -#endif -#ifdef HAVE_ENDIAN_H -#include <endian.h> -#elif defined(_BIG_ENDIAN) -#define BIG_ENDIAN 1 -#define BYTE_ORDER BIG_ENDIAN -#endif -typedef short sampleType; -#endif - -#if BYTE_ORDER == BIG_ENDIAN -#define BIGENDIAN -#else -#define LITTLEENDIAN -#endif void error(const char *str, bool syscall=false); void warning(const char *str, bool syscall=false); |