summaryrefslogtreecommitdiffstats
path: root/noatun-plugins/tippercanoe
diff options
context:
space:
mode:
authorOBATA Akio <[email protected]>2022-01-05 16:36:10 +0900
committerOBATA Akio <[email protected]>2022-01-05 16:36:10 +0900
commitecd978360d79ba71df598f372be65cc1c0e34d80 (patch)
treeb8065873a3fc01b7115df7207de638589d304145 /noatun-plugins/tippercanoe
parent762bfec2c849854fc0247acf8d2f107c27b17940 (diff)
downloadtdeaddons-ecd978360d79ba71df598f372be65cc1c0e34d80.tar.gz
tdeaddons-ecd978360d79ba71df598f372be65cc1c0e34d80.zip
noatun-plugins: change to use SDL feature to handle data for SDL
With own imcompleted endianness checkes, systems might be mis-detected as big endian. Change to use SDL macros to determine endianness. Change to use SDL function to byte swap Change to use SDL tyepdef for appropriate size integer type Signed-off-by: OBATA Akio <[email protected]>
Diffstat (limited to 'noatun-plugins/tippercanoe')
-rw-r--r--noatun-plugins/tippercanoe/core.cpp18
-rw-r--r--noatun-plugins/tippercanoe/sdlwrap.cpp6
-rw-r--r--noatun-plugins/tippercanoe/syna.h24
3 files changed, 6 insertions, 42 deletions
diff --git a/noatun-plugins/tippercanoe/core.cpp b/noatun-plugins/tippercanoe/core.cpp
index 8d1f155..8181a81 100644
--- a/noatun-plugins/tippercanoe/core.cpp
+++ b/noatun-plugins/tippercanoe/core.cpp
@@ -23,6 +23,7 @@
#include <string.h>
#include "syna.h"
#include <unistd.h>
+#include <SDL_endian.h>
Core *core;
#define outputs unsigned char *Dlo=(unsigned char*)lastOutputBmp.data; \
@@ -302,9 +303,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));
@@ -314,18 +312,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/tippercanoe/sdlwrap.cpp b/noatun-plugins/tippercanoe/sdlwrap.cpp
index 0ca2f4e..5b6bc41 100644
--- a/noatun-plugins/tippercanoe/sdlwrap.cpp
+++ b/noatun-plugins/tippercanoe/sdlwrap.cpp
@@ -142,8 +142,8 @@ int SdlScreen::sizeUpdate(void) { return 0; }
void SdlScreen::show(void) {
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 {
@@ -153,7 +153,7 @@ void SdlScreen::show(void) {
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/tippercanoe/syna.h b/noatun-plugins/tippercanoe/syna.h
index 0d36e1b..8b76710 100644
--- a/noatun-plugins/tippercanoe/syna.h
+++ b/noatun-plugins/tippercanoe/syna.h
@@ -47,31 +47,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);