1
0
mirror of https://github.com/gryf/gryf-overlay.git synced 2026-04-01 10:53:32 +02:00
Files
gryf-overlay/media-plugins/xmms-synaesthesia/files/xmms-synaesthesia-0.0.3_rc3-amd64.patch
2010-02-09 21:25:29 +01:00

180 lines
4.6 KiB
Diff

--- syna_core.c.orig 2004-07-15 22:18:39.666434864 +0100
+++ syna_core.c 2004-07-15 22:19:19.330405024 +0100
@@ -150,17 +150,20 @@
static void fadeFade()
{
- register unsigned long *ptr = (unsigned long *) output;
+ register unsigned int *ptr = (unsigned int *) output;
int i = outWidth * outHeight * 2 / 4;
do
{
/* //Bytewize version was: *(ptr++) -= *ptr+(*ptr>>1)>>4;*/
if (*ptr)
+ {
/* //if (*ptr & 0xf0f0f0f0ul)*/
- *(ptr++) -=
+ *(ptr) -=
((*ptr & 0xf0f0f0f0ul) >> 4) +
((*ptr & 0xe0e0e0e0ul) >> 5);
+ ptr++;
+ }
/* //else {
// *(ptr++) = (*ptr * 14 >> 4) & 0x0f0f0f0ful;
//}*/
@@ -203,9 +206,13 @@
gint x, y, i, j, start, end;
gint step = outWidth * 2;
- lastLastOutput = lastOutput;
- lastOutput = output;
- output = t;
+ synx_output[2]=synx_output[1];
+ synx_output[1]=synx_output[0];
+ synx_output[0]=t;
+
+// lastLastOutput = lastOutput;
+// lastOutput = output;
+// output = t;
for (x = 0, i = 0, j = outWidth * (outHeight - 1) * 2; x < outWidth; x++, i += 2, j += 2)
{
@@ -273,13 +280,18 @@
static void fadeHeat()
{
- guint16 *t = (guint16 *) lastLastOutput;
+// guint16 *t = (guint16 *) lastLastOutput;
+ guint16 *t=synx_output[2];
gint x, y, i, j, start, end;
gint step = outWidth * 2;
- lastLastOutput = lastOutput;
- lastOutput = output;
- output = t;
+ synx_output[2]=synx_output[1];
+ synx_output[1]=synx_output[0];
+ synx_output[0]=t;
+
+// lastLastOutput = lastOutput;
+// lastOutput = output;
+// output = t;
for (x = 0, i = 0, j = outWidth * (outHeight - 1) * 2; x < outWidth; x++, i += 2, j += 2)
{
--- syna_xmms.c.orig 2004-07-15 21:56:12.813187680 +0100
+++ syna_xmms.c 2004-07-15 22:19:29.203904024 +0100
@@ -20,6 +20,8 @@
#include <gdk/gdkkeysyms.h>
#include <pthread.h>
#include <string.h>
+#include <stdlib.h>
+#include <string.h>
#include "math.h"
#include <xmms/plugin.h>
#include <xmms/util.h>
@@ -285,6 +287,7 @@
case SYNX_MENU_FULLSCRN:
synx_fullscreen_toggle();
break;
+ break;
default:
break;
/* ugh */
@@ -385,22 +388,32 @@
gdk_draw_pixmap(area->window, area->style->white_gc, bg_pixmap, 0, 0, (win_w-LOGO_OWIDTH)/2, (win_h-LOGO_OHEIGHT)/2, LOGO_WIDTH, LOGO_HEIGHT);
}
-static void *synx_main_thread(void *arg) {
+static void *synx_main_thread(void *arg)
+{
+ guchar *tmpscr=NULL;
+ int cursize=0;
/* I don't care about lost conditions, darn it! */
pthread_mutex_lock(&dummy_mutex);
- for (;;) {
+ for (;;)
+ {
pthread_cond_wait(&update_signal, &dummy_mutex);
if (synx_quit) break;
GDK_THREADS_ENTER();
SYNX_LOCK();
- if (GTK_WIDGET_REALIZED(window)) {
- guchar tmpscr[synx_img_w*synx_img_h]; /* FIXME: Probably GCC-specific. */
+ if (GTK_WIDGET_REALIZED(window))
+ {
+// guchar tmpscr[synx_img_w*synx_img_h]; /* FIXME: Probably GCC-specific. */
+ if((tmpscr==NULL)||(cursize!=(synx_img_w*synx_img_h)))
+ {
+ tmpscr=(guchar *)realloc(tmpscr,synx_img_w*synx_img_h);
+ cursize=synx_img_w*synx_img_h;
+ memset(tmpscr,0x80,cursize);
+ }
syna_fade();
syna_coreGo(pcm_data);
-
synx_screenShow(synx_output[0], tmpscr);
gdk_draw_indexed_image(area->window,area->style->white_gc,(win_w-synx_img_w)/2,(win_h-synx_img_h)/2,synx_img_w,synx_img_h,GDK_RGB_DITHER_NONE,tmpscr,synx_img_w,cmap);
}
@@ -408,6 +421,9 @@
GDK_THREADS_LEAVE();
}
+ if(tmpscr!=NULL)
+ free(tmpscr);
+
pthread_mutex_unlock(&dummy_mutex);
pthread_exit(NULL);
@@ -480,16 +496,19 @@
SYNX_UNLOCK();
}
-static void synx_playback_start(void) {
+static void synx_playback_start(void)
+{
SYNX_LOCK();
synx_playing = TRUE;
- if (GTK_WIDGET_REALIZED(window) && synx_cfg.auto_fullscreen) {
+ if (GTK_WIDGET_REALIZED(window) && synx_cfg.auto_fullscreen)
+ {
if (!synx_am_fullscreen) synx_fullscreen_toggle();
}
SYNX_UNLOCK();
}
-static void synx_playback_stop(void) {
+static void synx_playback_stop(void)
+{
SYNX_LOCK();
synx_playing = FALSE;
@@ -503,9 +522,10 @@
SYNX_UNLOCK();
}
-static void synx_screenShow(guint16 *src, unsigned char *dest) {
- register unsigned long *ptr2 = (unsigned long*)src;
- unsigned long *ptr1 = (unsigned long*)dest;
+static void synx_screenShow(guint16 *src, unsigned char *dest)
+{
+ register unsigned int *ptr2 = (unsigned int*)src;
+ unsigned int *ptr1 = (unsigned int*)dest;
int i = synx_img_w*synx_img_h/4;
/* Asger Alstrup Nielsen's (alstrup@diku.dk)
@@ -563,7 +583,8 @@
}
}
-static void synx_about(void) {
+static void synx_about(void)
+{
GtkWidget *dialog, *button, *label;
dialog = gtk_dialog_new();