summaryrefslogtreecommitdiff
path: root/apps/plugins/pdbox/PDa/src
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/pdbox/PDa/src')
-rw-r--r--apps/plugins/pdbox/PDa/src/d_arithmetic.c36
-rw-r--r--apps/plugins/pdbox/PDa/src/d_ctl.c5
-rw-r--r--apps/plugins/pdbox/PDa/src/d_dac.c18
-rw-r--r--apps/plugins/pdbox/PDa/src/d_fft.c9
-rw-r--r--apps/plugins/pdbox/PDa/src/d_fftroutine.c48
-rw-r--r--apps/plugins/pdbox/PDa/src/d_global.c8
-rw-r--r--apps/plugins/pdbox/PDa/src/d_imayer_fft.c10
-rw-r--r--apps/plugins/pdbox/PDa/src/d_mayer_fft.c8
-rw-r--r--apps/plugins/pdbox/PDa/src/d_misc.c31
-rw-r--r--apps/plugins/pdbox/PDa/src/d_soundfile.c82
-rw-r--r--apps/plugins/pdbox/PDa/src/d_ugen.c51
-rw-r--r--apps/plugins/pdbox/PDa/src/g_all_guis.c76
-rw-r--r--apps/plugins/pdbox/PDa/src/g_array.c181
-rw-r--r--apps/plugins/pdbox/PDa/src/g_bang.c116
-rw-r--r--apps/plugins/pdbox/PDa/src/g_canvas.c143
-rw-r--r--apps/plugins/pdbox/PDa/src/g_editor.c144
-rw-r--r--apps/plugins/pdbox/PDa/src/g_graph.c83
-rw-r--r--apps/plugins/pdbox/PDa/src/g_hdial.c81
-rw-r--r--apps/plugins/pdbox/PDa/src/g_hslider.c86
-rw-r--r--apps/plugins/pdbox/PDa/src/g_io.c32
-rw-r--r--apps/plugins/pdbox/PDa/src/g_mycanvas.c66
-rw-r--r--apps/plugins/pdbox/PDa/src/g_numbox.c93
-rw-r--r--apps/plugins/pdbox/PDa/src/g_readwrite.c52
-rw-r--r--apps/plugins/pdbox/PDa/src/g_rtext.c56
-rw-r--r--apps/plugins/pdbox/PDa/src/g_scalar.c46
-rw-r--r--apps/plugins/pdbox/PDa/src/g_template.c222
-rw-r--r--apps/plugins/pdbox/PDa/src/g_text.c201
-rw-r--r--apps/plugins/pdbox/PDa/src/g_toggle.c84
-rw-r--r--apps/plugins/pdbox/PDa/src/g_traversal.c54
-rw-r--r--apps/plugins/pdbox/PDa/src/g_vdial.c79
-rw-r--r--apps/plugins/pdbox/PDa/src/g_vslider.c85
-rw-r--r--apps/plugins/pdbox/PDa/src/g_vumeter.c78
-rw-r--r--apps/plugins/pdbox/PDa/src/m_atom.c20
-rw-r--r--apps/plugins/pdbox/PDa/src/m_binbuf.c138
-rw-r--r--apps/plugins/pdbox/PDa/src/m_class.c42
-rw-r--r--apps/plugins/pdbox/PDa/src/m_conf.c7
-rw-r--r--apps/plugins/pdbox/PDa/src/m_fixed.c34
-rw-r--r--apps/plugins/pdbox/PDa/src/m_glob.c2
-rw-r--r--apps/plugins/pdbox/PDa/src/m_memory.c2
-rw-r--r--apps/plugins/pdbox/PDa/src/m_obj.c29
-rw-r--r--apps/plugins/pdbox/PDa/src/m_pd.c17
-rw-r--r--apps/plugins/pdbox/PDa/src/m_sched.c68
-rw-r--r--apps/plugins/pdbox/PDa/src/s_audio.c81
-rw-r--r--apps/plugins/pdbox/PDa/src/s_audio_rockbox.c144
-rw-r--r--apps/plugins/pdbox/PDa/src/s_file.c23
-rw-r--r--apps/plugins/pdbox/PDa/src/s_loader.c18
-rw-r--r--apps/plugins/pdbox/PDa/src/s_path.c49
-rw-r--r--apps/plugins/pdbox/PDa/src/s_print.c10
-rw-r--r--apps/plugins/pdbox/PDa/src/s_stuff.h12
-rw-r--r--apps/plugins/pdbox/PDa/src/x_acoustics.c5
-rw-r--r--apps/plugins/pdbox/PDa/src/x_arithmetic.c5
-rw-r--r--apps/plugins/pdbox/PDa/src/x_connective.c59
-rw-r--r--apps/plugins/pdbox/PDa/src/x_interface.c9
-rw-r--r--apps/plugins/pdbox/PDa/src/x_misc.c29
-rw-r--r--apps/plugins/pdbox/PDa/src/x_net.c116
-rw-r--r--apps/plugins/pdbox/PDa/src/x_qlist.c22
-rw-r--r--apps/plugins/pdbox/PDa/src/x_time.c20
57 files changed, 3206 insertions, 119 deletions
diff --git a/apps/plugins/pdbox/PDa/src/d_arithmetic.c b/apps/plugins/pdbox/PDa/src/d_arithmetic.c
index 30744882f4..fa306dedd3 100644
--- a/apps/plugins/pdbox/PDa/src/d_arithmetic.c
+++ b/apps/plugins/pdbox/PDa/src/d_arithmetic.c
@@ -28,6 +28,9 @@ typedef struct _scalarplus
28 28
29static void *plus_new(t_symbol *s, int argc, t_atom *argv) 29static void *plus_new(t_symbol *s, int argc, t_atom *argv)
30{ 30{
31#ifdef ROCKBOX
32 (void) s;
33#endif
31 if (argc > 1) post("+~: extra arguments ignored"); 34 if (argc > 1) post("+~: extra arguments ignored");
32 if (argc) 35 if (argc)
33 { 36 {
@@ -115,6 +118,9 @@ void dsp_add_plus(t_sample *in1, t_sample *in2, t_sample *out, int n)
115 118
116static void plus_dsp(t_plus *x, t_signal **sp) 119static void plus_dsp(t_plus *x, t_signal **sp)
117{ 120{
121#ifdef ROCKBOX
122 (void) x;
123#endif
118 dsp_add_plus(sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n); 124 dsp_add_plus(sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
119} 125}
120 126
@@ -161,6 +167,9 @@ typedef struct _scalarminus
161 167
162static void *minus_new(t_symbol *s, int argc, t_atom *argv) 168static void *minus_new(t_symbol *s, int argc, t_atom *argv)
163{ 169{
170#ifdef ROCKBOX
171 (void) s;
172#endif
164 if (argc > 1) post("-~: extra arguments ignored"); 173 if (argc > 1) post("-~: extra arguments ignored");
165 if (argc) 174 if (argc)
166 { 175 {
@@ -240,6 +249,9 @@ t_int *scalarminus_perf8(t_int *w)
240 249
241static void minus_dsp(t_minus *x, t_signal **sp) 250static void minus_dsp(t_minus *x, t_signal **sp)
242{ 251{
252#ifdef ROCKBOX
253 (void) x;
254#endif
243 if (sp[0]->s_n&7) 255 if (sp[0]->s_n&7)
244 dsp_add(minus_perform, 4, 256 dsp_add(minus_perform, 4,
245 sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n); 257 sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
@@ -292,6 +304,9 @@ typedef struct _scalartimes
292 304
293static void *times_new(t_symbol *s, int argc, t_atom *argv) 305static void *times_new(t_symbol *s, int argc, t_atom *argv)
294{ 306{
307#ifdef ROCKBOX
308 (void) s;
309#endif
295 if (argc > 1) post("*~: extra arguments ignored"); 310 if (argc > 1) post("*~: extra arguments ignored");
296 if (argc) 311 if (argc)
297 { 312 {
@@ -371,6 +386,9 @@ t_int *scalartimes_perf8(t_int *w)
371 386
372static void times_dsp(t_times *x, t_signal **sp) 387static void times_dsp(t_times *x, t_signal **sp)
373{ 388{
389#ifdef ROCKBOX
390 (void) x;
391#endif
374 if (sp[0]->s_n&7) 392 if (sp[0]->s_n&7)
375 dsp_add(times_perform, 4, 393 dsp_add(times_perform, 4,
376 sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n); 394 sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
@@ -422,6 +440,9 @@ typedef struct _scalarover
422 440
423static void *over_new(t_symbol *s, int argc, t_atom *argv) 441static void *over_new(t_symbol *s, int argc, t_atom *argv)
424{ 442{
443#ifdef ROCKBOX
444 (void) s;
445#endif
425 if (argc > 1) post("/~: extra arguments ignored"); 446 if (argc > 1) post("/~: extra arguments ignored");
426 if (argc) 447 if (argc)
427 { 448 {
@@ -512,6 +533,9 @@ t_int *scalarover_perf8(t_int *w)
512 533
513static void over_dsp(t_over *x, t_signal **sp) 534static void over_dsp(t_over *x, t_signal **sp)
514{ 535{
536#ifdef ROCKBOX
537 (void) x;
538#endif
515 if (sp[0]->s_n&7) 539 if (sp[0]->s_n&7)
516 dsp_add(over_perform, 4, 540 dsp_add(over_perform, 4,
517 sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n); 541 sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
@@ -563,6 +587,9 @@ typedef struct _scalarmax
563 587
564static void *max_new(t_symbol *s, int argc, t_atom *argv) 588static void *max_new(t_symbol *s, int argc, t_atom *argv)
565{ 589{
590#ifdef ROCKBOX
591 (void) s;
592#endif
566 if (argc > 1) post("max~: extra arguments ignored"); 593 if (argc > 1) post("max~: extra arguments ignored");
567 if (argc) 594 if (argc)
568 { 595 {
@@ -654,6 +681,9 @@ t_int *scalarmax_perf8(t_int *w)
654 681
655static void max_dsp(t_max *x, t_signal **sp) 682static void max_dsp(t_max *x, t_signal **sp)
656{ 683{
684#ifdef ROCKBOX
685 (void) x;
686#endif
657 if (sp[0]->s_n&7) 687 if (sp[0]->s_n&7)
658 dsp_add(max_perform, 4, 688 dsp_add(max_perform, 4,
659 sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n); 689 sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
@@ -705,6 +735,9 @@ typedef struct _scalarmin
705 735
706static void *min_new(t_symbol *s, int argc, t_atom *argv) 736static void *min_new(t_symbol *s, int argc, t_atom *argv)
707{ 737{
738#ifdef ROCKBOX
739 (void) s;
740#endif
708 if (argc > 1) post("min~: extra arguments ignored"); 741 if (argc > 1) post("min~: extra arguments ignored");
709 if (argc) 742 if (argc)
710 { 743 {
@@ -796,6 +829,9 @@ t_int *scalarmin_perf8(t_int *w)
796 829
797static void min_dsp(t_min *x, t_signal **sp) 830static void min_dsp(t_min *x, t_signal **sp)
798{ 831{
832#ifdef ROCKBOX
833 (void) x;
834#endif
799 if (sp[0]->s_n&7) 835 if (sp[0]->s_n&7)
800 dsp_add(min_perform, 4, 836 dsp_add(min_perform, 4,
801 sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n); 837 sp[0]->s_vec, sp[1]->s_vec, sp[2]->s_vec, sp[0]->s_n);
diff --git a/apps/plugins/pdbox/PDa/src/d_ctl.c b/apps/plugins/pdbox/PDa/src/d_ctl.c
index 809899addf..aa8df4fae8 100644
--- a/apps/plugins/pdbox/PDa/src/d_ctl.c
+++ b/apps/plugins/pdbox/PDa/src/d_ctl.c
@@ -74,7 +74,10 @@ static void *sig_tilde_new(t_floatarg f)
74 return (x); 74 return (x);
75} 75}
76 76
77static void sig_tilde_setup(void) 77#ifndef ROCKBOX
78static
79#endif
80void sig_tilde_setup(void)
78{ 81{
79 sig_tilde_class = class_new(gensym("sig~"), (t_newmethod)sig_tilde_new, 0, 82 sig_tilde_class = class_new(gensym("sig~"), (t_newmethod)sig_tilde_new, 0,
80 sizeof(t_sig), 0, A_DEFFLOAT, 0); 83 sizeof(t_sig), 0, A_DEFFLOAT, 0);
diff --git a/apps/plugins/pdbox/PDa/src/d_dac.c b/apps/plugins/pdbox/PDa/src/d_dac.c
index 1606b3a1f2..29b3410de9 100644
--- a/apps/plugins/pdbox/PDa/src/d_dac.c
+++ b/apps/plugins/pdbox/PDa/src/d_dac.c
@@ -22,8 +22,17 @@ typedef struct _dac
22static void *dac_new(t_symbol *s, int argc, t_atom *argv) 22static void *dac_new(t_symbol *s, int argc, t_atom *argv)
23{ 23{
24 t_dac *x = (t_dac *)pd_new(dac_class); 24 t_dac *x = (t_dac *)pd_new(dac_class);
25#ifdef ROCKBOX
26 t_atom defarg[2];
27#else
25 t_atom defarg[2], *ap; 28 t_atom defarg[2], *ap;
29#endif
26 int i; 30 int i;
31
32#ifdef ROCKBOX
33 (void) s;
34#endif
35
27 if (!argc) 36 if (!argc)
28 { 37 {
29 argv = defarg; 38 argv = defarg;
@@ -83,8 +92,17 @@ typedef struct _adc
83static void *adc_new(t_symbol *s, int argc, t_atom *argv) 92static void *adc_new(t_symbol *s, int argc, t_atom *argv)
84{ 93{
85 t_adc *x = (t_adc *)pd_new(adc_class); 94 t_adc *x = (t_adc *)pd_new(adc_class);
95#ifdef ROCKBOX
96 t_atom defarg[2];
97#else
86 t_atom defarg[2], *ap; 98 t_atom defarg[2], *ap;
99#endif
87 int i; 100 int i;
101
102#ifdef ROCKBOX
103 (void) s;
104#endif
105
88 if (!argc) 106 if (!argc)
89 { 107 {
90 argv = defarg; 108 argv = defarg;
diff --git a/apps/plugins/pdbox/PDa/src/d_fft.c b/apps/plugins/pdbox/PDa/src/d_fft.c
index 7b70561a0e..6e2713a960 100644
--- a/apps/plugins/pdbox/PDa/src/d_fft.c
+++ b/apps/plugins/pdbox/PDa/src/d_fft.c
@@ -67,6 +67,9 @@ static t_int *sigifft_perform(t_int *w)
67 67
68static void sigfft_dspx(t_sigfft *x, t_signal **sp, t_int *(*f)(t_int *w)) 68static void sigfft_dspx(t_sigfft *x, t_signal **sp, t_int *(*f)(t_int *w))
69{ 69{
70#ifdef ROCKBOX
71 (void) x;
72#endif
70 int n = sp[0]->s_n; 73 int n = sp[0]->s_n;
71 t_sample *in1 = sp[0]->s_vec; 74 t_sample *in1 = sp[0]->s_vec;
72 t_sample *in2 = sp[1]->s_vec; 75 t_sample *in2 = sp[1]->s_vec;
@@ -150,6 +153,9 @@ static t_int *sigrfft_perform(t_int *w)
150 153
151static void sigrfft_dsp(t_sigrfft *x, t_signal **sp) 154static void sigrfft_dsp(t_sigrfft *x, t_signal **sp)
152{ 155{
156#ifdef ROCKBOX
157 (void) x;
158#endif
153 int n = sp[0]->s_n, n2 = (n>>1); 159 int n = sp[0]->s_n, n2 = (n>>1);
154 t_sample *in1 = sp[0]->s_vec; 160 t_sample *in1 = sp[0]->s_vec;
155 t_sample *out1 = sp[1]->s_vec; 161 t_sample *out1 = sp[1]->s_vec;
@@ -213,6 +219,9 @@ static t_int *sigrifft_perform(t_int *w)
213 219
214static void sigrifft_dsp(t_sigrifft *x, t_signal **sp) 220static void sigrifft_dsp(t_sigrifft *x, t_signal **sp)
215{ 221{
222#ifdef ROCKBOX
223 (void) x;
224#endif
216 int n = sp[0]->s_n, n2 = (n>>1); 225 int n = sp[0]->s_n, n2 = (n>>1);
217 t_sample *in1 = sp[0]->s_vec; 226 t_sample *in1 = sp[0]->s_vec;
218 t_sample *in2 = sp[1]->s_vec; 227 t_sample *in2 = sp[1]->s_vec;
diff --git a/apps/plugins/pdbox/PDa/src/d_fftroutine.c b/apps/plugins/pdbox/PDa/src/d_fftroutine.c
index 41948132d7..08888333fc 100644
--- a/apps/plugins/pdbox/PDa/src/d_fftroutine.c
+++ b/apps/plugins/pdbox/PDa/src/d_fftroutine.c
@@ -84,9 +84,14 @@
84/* INCLUDE FILES */ 84/* INCLUDE FILES */
85/*****************************************************************************/ 85/*****************************************************************************/
86 86
87#ifdef ROCKBOX
88#include "plugin.h"
89#include "pdbox.h"
90#else /* ROCKBOX */
87#include <stdio.h> 91#include <stdio.h>
88#include <math.h> 92#include <math.h>
89#include <stdlib.h> 93#include <stdlib.h>
94#endif /* ROCKBOX */
90 95
91 /* the following is needed only to declare pd_fft() as exportable in MSW */ 96 /* the following is needed only to declare pd_fft() as exportable in MSW */
92#include "m_pd.h" 97#include "m_pd.h"
@@ -280,7 +285,7 @@ void fft_clear(void)
280 nextnet = thisnet->next; 285 nextnet = thisnet->next;
281 net_dealloc(thisnet); 286 net_dealloc(thisnet);
282 free((char *)thisnet); 287 free((char *)thisnet);
283 } while (thisnet = nextnet); 288 } while ((thisnet = nextnet));
284 } 289 }
285} 290}
286 291
@@ -485,14 +490,21 @@ void load_registers(FFT_NET *fft_net, float *buf, int buf_form,
485 490
486{ 491{
487 int *load_index = fft_net->load_index; 492 int *load_index = fft_net->load_index;
493#ifdef ROCKBOX
494 SAMPLE *window = NULL;
495 int index, i = 0;
496#else
488 SAMPLE *window; 497 SAMPLE *window;
489 int index, i = 0, n = fft_net->n; 498 int index, i = 0, n = fft_net->n;
499#endif
490 500
491 if (trnsfrm_dir==FORWARD) window = fft_net->window; 501 if (trnsfrm_dir==FORWARD) window = fft_net->window;
492 else if (trnsfrm_dir==INVERSE) window = fft_net->inv_window; 502 else if (trnsfrm_dir==INVERSE) window = fft_net->inv_window;
493 else { 503 else {
504#ifndef ROCKBOX
494 fprintf(stderr, "load_registers:illegal transform direction\n"); 505 fprintf(stderr, "load_registers:illegal transform direction\n");
495 exit(0); 506 exit(0);
507#endif
496 } 508 }
497 fft_net->direction = trnsfrm_dir; 509 fft_net->direction = trnsfrm_dir;
498 510
@@ -539,8 +551,10 @@ void load_registers(FFT_NET *fft_net, float *buf, int buf_form,
539 } break; 551 } break;
540 552
541 default: { 553 default: {
554#ifndef ROCKBOX
542 fprintf(stderr, "load_registers:illegal input form\n"); 555 fprintf(stderr, "load_registers:illegal input form\n");
543 exit(0); 556 exit(0);
557#endif
544 } break; 558 } break;
545 } 559 }
546 } break; 560 } break;
@@ -591,15 +605,19 @@ void load_registers(FFT_NET *fft_net, float *buf, int buf_form,
591 } break; 605 } break;
592 606
593 default: { 607 default: {
608#ifndef ROCKBOX
594 fprintf(stderr, "load_registers:illegal input form\n"); 609 fprintf(stderr, "load_registers:illegal input form\n");
595 exit(0); 610 exit(0);
611#endif
596 } break; 612 } break;
597 } 613 }
598 } break; 614 } break;
599 615
600 default: { 616 default: {
617#ifndef ROCKBOX
601 fprintf(stderr, "load_registers:illegal input scale\n"); 618 fprintf(stderr, "load_registers:illegal input scale\n");
602 exit(0); 619 exit(0);
620#endif
603 } break; 621 } break;
604 } 622 }
605} 623}
@@ -616,8 +634,15 @@ void store_registers(FFT_NET *fft_net, float *buf, int buf_form,
616*/ 634*/
617 635
618{ 636{
637#ifdef ROCKBOX
638 (void) debug;
639#endif
619 int i; 640 int i;
641#ifdef ROCKBOX
642 SAMPLE real, imag;
643#else
620 SAMPLE real, imag, mag, phase; 644 SAMPLE real, imag, mag, phase;
645#endif
621 int n; 646 int n;
622 647
623 i = 0; 648 i = 0;
@@ -661,12 +686,21 @@ void store_registers(FFT_NET *fft_net, float *buf, int buf_form,
661 if (real > .00001) 686 if (real > .00001)
662 *buf++ = (float)atan2(imag, real); 687 *buf++ = (float)atan2(imag, real);
663 else { /* deal with bad case */ 688 else { /* deal with bad case */
689#ifdef ROCKBOX
690 if (imag > 0){ *buf++ = PI / 2.;
691 }
692 else if (imag < 0){ *buf++ = -PI / 2.;
693 }
694 else { *buf++ = 0;
695 }
696#else
664 if (imag > 0){ *buf++ = PI / 2.; 697 if (imag > 0){ *buf++ = PI / 2.;
665 if(debug) fprintf(stderr,"real=0 and imag > 0\n");} 698 if(debug) fprintf(stderr,"real=0 and imag > 0\n");}
666 else if (imag < 0){ *buf++ = -PI / 2.; 699 else if (imag < 0){ *buf++ = -PI / 2.;
667 if(debug) fprintf(stderr,"real=0 and imag < 0\n");} 700 if(debug) fprintf(stderr,"real=0 and imag < 0\n");}
668 else { *buf++ = 0; 701 else { *buf++ = 0;
669 if(debug) fprintf(stderr,"real=0 and imag=0\n");} 702 if(debug) fprintf(stderr,"real=0 and imag=0\n");}
703#endif
670 } 704 }
671 } while (++i < n); 705 } while (++i < n);
672 } break; 706 } break;
@@ -687,8 +721,10 @@ void store_registers(FFT_NET *fft_net, float *buf, int buf_form,
687 } break; 721 } break;
688 722
689 default: { 723 default: {
724#ifndef ROCKBOX
690 fprintf(stderr, "store_registers:illegal output form\n"); 725 fprintf(stderr, "store_registers:illegal output form\n");
691 exit(0); 726 exit(0);
727#endif
692 } break; 728 } break;
693 } 729 }
694 } break; 730 } break;
@@ -753,15 +789,19 @@ void store_registers(FFT_NET *fft_net, float *buf, int buf_form,
753 } break; 789 } break;
754 790
755 default: { 791 default: {
792#ifndef ROCKBOX
756 fprintf(stderr, "store_registers:illegal output form\n"); 793 fprintf(stderr, "store_registers:illegal output form\n");
757 exit(0); 794 exit(0);
795#endif
758 } break; 796 } break;
759 } 797 }
760 } break; 798 } break;
761 799
762 default: { 800 default: {
801#ifndef ROCKBOX
763 fprintf(stderr, "store_registers:illegal output scale\n"); 802 fprintf(stderr, "store_registers:illegal output scale\n");
764 exit(0); 803 exit(0);
804#endif
765 } break; 805 } break;
766 } 806 }
767} 807}
@@ -992,7 +1032,11 @@ void short_to_float(short *short_buf, float *float_buf, int n)
992void pd_fft(float *buf, int npoints, int inverse) 1032void pd_fft(float *buf, int npoints, int inverse)
993{ 1033{
994 double renorm; 1034 double renorm;
1035#ifdef ROCKBOX
1036 float *fp;
1037#else
995 float *fp, *fp2; 1038 float *fp, *fp2;
1039#endif
996 int i; 1040 int i;
997 renorm = (inverse ? npoints : 1.); 1041 renorm = (inverse ? npoints : 1.);
998 cfft((inverse ? INVERSE : FORWARD), npoints, RECTANGULAR, 1042 cfft((inverse ? INVERSE : FORWARD), npoints, RECTANGULAR,
diff --git a/apps/plugins/pdbox/PDa/src/d_global.c b/apps/plugins/pdbox/PDa/src/d_global.c
index 893abe1f7d..9f4676d48a 100644
--- a/apps/plugins/pdbox/PDa/src/d_global.c
+++ b/apps/plugins/pdbox/PDa/src/d_global.c
@@ -4,8 +4,16 @@
4 4
5/* send~, receive~, throw~, catch~ */ 5/* send~, receive~, throw~, catch~ */
6 6
7#ifdef ROCKBOX
8#include "plugin.h"
9#include "pdbox.h"
10#endif
11
7#include "m_pd.h" 12#include "m_pd.h"
13
14#ifndef ROCKBOX
8#include <string.h> 15#include <string.h>
16#endif
9 17
10#define DEFSENDVS 64 /* LATER get send to get this from canvas */ 18#define DEFSENDVS 64 /* LATER get send to get this from canvas */
11 19
diff --git a/apps/plugins/pdbox/PDa/src/d_imayer_fft.c b/apps/plugins/pdbox/PDa/src/d_imayer_fft.c
index 05d944ed44..3e07eac49e 100644
--- a/apps/plugins/pdbox/PDa/src/d_imayer_fft.c
+++ b/apps/plugins/pdbox/PDa/src/d_imayer_fft.c
@@ -95,7 +95,9 @@ char mtrig_algorithm[] = "Simple";
95 95
96#define TRIG_TAB_SIZE 22 96#define TRIG_TAB_SIZE 22
97 97
98#ifndef ROCKBOX
98static long long halsec[TRIG_TAB_SIZE]= {1,2,3}; 99static long long halsec[TRIG_TAB_SIZE]= {1,2,3};
100#endif
99 101
100#define FFTmult(x,y) mult(x,y) 102#define FFTmult(x,y) mult(x,y)
101 103
@@ -286,7 +288,11 @@ void imayer_ifft(int n, t_fixed *real, t_fixed *imag)
286 288
287void imayer_realfft(int n, t_fixed *real) 289void imayer_realfft(int n, t_fixed *real)
288{ 290{
291#ifdef ROCKBOX
292 t_fixed a,b;
293#else
289 t_fixed a,b,c,d; 294 t_fixed a,b,c,d;
295#endif
290 int i,j,k; 296 int i,j,k;
291 imayer_fht(real,n); 297 imayer_fht(real,n);
292 for (i=1,j=n-1,k=n/2;i<k;i++,j--) { 298 for (i=1,j=n-1,k=n/2;i<k;i++,j--) {
@@ -299,7 +305,11 @@ void imayer_realfft(int n, t_fixed *real)
299 305
300void imayer_realifft(int n, t_fixed *real) 306void imayer_realifft(int n, t_fixed *real)
301{ 307{
308#ifdef ROCKBOX
309 t_fixed a,b;
310#else
302 t_fixed a,b,c,d; 311 t_fixed a,b,c,d;
312#endif
303 int i,j,k; 313 int i,j,k;
304 for (i=1,j=n-1,k=n/2;i<k;i++,j--) { 314 for (i=1,j=n-1,k=n/2;i<k;i++,j--) {
305 a = real[i]; 315 a = real[i];
diff --git a/apps/plugins/pdbox/PDa/src/d_mayer_fft.c b/apps/plugins/pdbox/PDa/src/d_mayer_fft.c
index 95fb303e91..f703510e8f 100644
--- a/apps/plugins/pdbox/PDa/src/d_mayer_fft.c
+++ b/apps/plugins/pdbox/PDa/src/d_mayer_fft.c
@@ -394,7 +394,11 @@ void mayer_ifft(int n, REAL *real, REAL *imag)
394 394
395void mayer_realfft(int n, REAL *real) 395void mayer_realfft(int n, REAL *real)
396{ 396{
397#ifdef ROCKBOX
398 REAL a,b;
399#else
397 REAL a,b,c,d; 400 REAL a,b,c,d;
401#endif
398 int i,j,k; 402 int i,j,k;
399 mayer_fht(real,n); 403 mayer_fht(real,n);
400 for (i=1,j=n-1,k=n/2;i<k;i++,j--) { 404 for (i=1,j=n-1,k=n/2;i<k;i++,j--) {
@@ -407,7 +411,11 @@ void mayer_realfft(int n, REAL *real)
407 411
408void mayer_realifft(int n, REAL *real) 412void mayer_realifft(int n, REAL *real)
409{ 413{
414#ifdef ROCKBOX
415 REAL a,b;
416#else
410 REAL a,b,c,d; 417 REAL a,b,c,d;
418#endif
411 int i,j,k; 419 int i,j,k;
412 for (i=1,j=n-1,k=n/2;i<k;i++,j--) { 420 for (i=1,j=n-1,k=n/2;i<k;i++,j--) {
413 a = real[i]; 421 a = real[i];
diff --git a/apps/plugins/pdbox/PDa/src/d_misc.c b/apps/plugins/pdbox/PDa/src/d_misc.c
index b6d36764b8..6eb2857db9 100644
--- a/apps/plugins/pdbox/PDa/src/d_misc.c
+++ b/apps/plugins/pdbox/PDa/src/d_misc.c
@@ -5,9 +5,17 @@
5/* miscellaneous: print~; more to come. 5/* miscellaneous: print~; more to come.
6*/ 6*/
7 7
8#ifdef ROCKBOX
9#include "plugin.h"
10#include "pdbox.h"
11#endif
12
8#include "m_pd.h" 13#include "m_pd.h"
14
15#ifndef ROCKBOX
9#include <stdio.h> 16#include <stdio.h>
10#include <string.h> 17#include <string.h>
18#endif
11 19
12/* ------------------------- print~ -------------------------- */ 20/* ------------------------- print~ -------------------------- */
13static t_class *print_class; 21static t_class *print_class;
@@ -69,7 +77,10 @@ static void *print_new(t_symbol *s)
69 return (x); 77 return (x);
70} 78}
71 79
72static void print_setup(void) 80#ifndef ROCKBOX
81static
82#endif
83void print_setup(void)
73{ 84{
74 print_class = class_new(gensym("print~"), (t_newmethod)print_new, 0, 85 print_class = class_new(gensym("print~"), (t_newmethod)print_new, 0,
75 sizeof(t_print), 0, A_DEFSYM, 0); 86 sizeof(t_print), 0, A_DEFSYM, 0);
@@ -118,7 +129,11 @@ static void scope_dsp(t_scope *x, t_signal **sp)
118 129
119static void scope_erase(t_scope *x) 130static void scope_erase(t_scope *x)
120{ 131{
132#ifdef ROCKBOX
133 (void) x;
134#else
121 if (x->x_drawn) sys_vgui(".x%x.c delete gumbo\n", x->x_canvas); 135 if (x->x_drawn) sys_vgui(".x%x.c delete gumbo\n", x->x_canvas);
136#endif
122} 137}
123 138
124#define X1 10. 139#define X1 10.
@@ -126,6 +141,7 @@ static void scope_erase(t_scope *x)
126#define YC 5. 141#define YC 5.
127static void scope_bang(t_scope *x) 142static void scope_bang(t_scope *x)
128{ 143{
144#ifndef ROCKBOX
129 int n, phase; 145 int n, phase;
130 char hugebuf[10000], *s = hugebuf; 146 char hugebuf[10000], *s = hugebuf;
131 scope_erase(x); 147 scope_erase(x);
@@ -142,6 +158,7 @@ static void scope_bang(t_scope *x)
142 } 158 }
143 sprintf(s, "-tags gumbo\n"); 159 sprintf(s, "-tags gumbo\n");
144 sys_gui(hugebuf); 160 sys_gui(hugebuf);
161#endif
145 x->x_drawn = 1; 162 x->x_drawn = 1;
146} 163}
147 164
@@ -152,6 +169,9 @@ static void scope_free(t_scope *x)
152 169
153static void *scope_new(t_symbol *s) 170static void *scope_new(t_symbol *s)
154{ 171{
172#ifdef ROCKBOX
173 (void) s;
174#endif
155 t_scope *x = (t_scope *)pd_new(scope_class); 175 t_scope *x = (t_scope *)pd_new(scope_class);
156 error("scope: this is now obsolete; use arrays and tabwrite~ instead"); 176 error("scope: this is now obsolete; use arrays and tabwrite~ instead");
157 x->x_phase = 0; 177 x->x_phase = 0;
@@ -188,6 +208,9 @@ static t_int *bang_tilde_perform(t_int *w)
188 208
189static void bang_tilde_dsp(t_bang *x, t_signal **sp) 209static void bang_tilde_dsp(t_bang *x, t_signal **sp)
190{ 210{
211#ifdef ROCKBOX
212 (void) sp;
213#endif
191 dsp_add(bang_tilde_perform, 1, x); 214 dsp_add(bang_tilde_perform, 1, x);
192} 215}
193 216
@@ -203,6 +226,9 @@ static void bang_tilde_free(t_bang *x)
203 226
204static void *bang_tilde_new(t_symbol *s) 227static void *bang_tilde_new(t_symbol *s)
205{ 228{
229#ifdef ROCKBOX
230 (void) s;
231#endif
206 t_bang *x = (t_bang *)pd_new(bang_tilde_class); 232 t_bang *x = (t_bang *)pd_new(bang_tilde_class);
207 x->x_clock = clock_new(x, (t_method)bang_tilde_tick); 233 x->x_clock = clock_new(x, (t_method)bang_tilde_tick);
208 outlet_new(&x->x_obj, &s_bang); 234 outlet_new(&x->x_obj, &s_bang);
@@ -233,6 +259,9 @@ static void samplerate_tilde_bang(t_samplerate *x)
233 259
234static void *samplerate_tilde_new(t_symbol *s) 260static void *samplerate_tilde_new(t_symbol *s)
235{ 261{
262#ifdef ROCKBOX
263 (void) s;
264#endif
236 t_samplerate *x = (t_samplerate *)pd_new(samplerate_tilde_class); 265 t_samplerate *x = (t_samplerate *)pd_new(samplerate_tilde_class);
237 outlet_new(&x->x_obj, &s_float); 266 outlet_new(&x->x_obj, &s_float);
238 return (x); 267 return (x);
diff --git a/apps/plugins/pdbox/PDa/src/d_soundfile.c b/apps/plugins/pdbox/PDa/src/d_soundfile.c
index 4b89e93fd4..34aa105d28 100644
--- a/apps/plugins/pdbox/PDa/src/d_soundfile.c
+++ b/apps/plugins/pdbox/PDa/src/d_soundfile.c
@@ -11,6 +11,10 @@ readsf~ and writesf~ are defined which confine disk operations to a separate
11thread so that they can be used in real time. The readsf~ and writesf~ 11thread so that they can be used in real time. The readsf~ and writesf~
12objects use Posix-like threads. */ 12objects use Posix-like threads. */
13 13
14#ifdef ROCKBOX
15#include "plugin.h"
16#include "pdbox.h"
17#else /* ROCKBOX */
14#ifdef UNIX 18#ifdef UNIX
15#include <unistd.h> 19#include <unistd.h>
16#include <fcntl.h> 20#include <fcntl.h>
@@ -22,6 +26,7 @@ objects use Posix-like threads. */
22#include <stdio.h> 26#include <stdio.h>
23#include <string.h> 27#include <string.h>
24#include <errno.h> 28#include <errno.h>
29#endif /* ROCKBOX */
25 30
26#include "m_pd.h" 31#include "m_pd.h"
27 32
@@ -198,9 +203,15 @@ int open_soundfile(const char *dirname, const char *filename, int headersize,
198 long skipframes) 203 long skipframes)
199{ 204{
200 char buf[OBUFSIZE], *bufptr; 205 char buf[OBUFSIZE], *bufptr;
206#ifdef ROCKBOX
207 int fd, nchannels, bigendian, bytespersamp, swap, sysrtn;
208#else
201 int fd, format, nchannels, bigendian, bytespersamp, swap, sysrtn; 209 int fd, format, nchannels, bigendian, bytespersamp, swap, sysrtn;
210#endif
202 long bytelimit = 0x7fffffff; 211 long bytelimit = 0x7fffffff;
212#ifndef ROCKBOX
203 errno = 0; 213 errno = 0;
214#endif
204 fd = open_via_path(dirname, filename, 215 fd = open_via_path(dirname, filename,
205 "", buf, &bufptr, MAXPDSTRING, 1); 216 "", buf, &bufptr, MAXPDSTRING, 1);
206 if (fd < 0) 217 if (fd < 0)
@@ -239,7 +250,9 @@ int open_soundfile(const char *dirname, const char *filename, int headersize,
239 swap = (bigendian != garray_ambigendian()); 250 swap = (bigendian != garray_ambigendian());
240 if (format == FORMAT_NEXT) /* nextstep header */ 251 if (format == FORMAT_NEXT) /* nextstep header */
241 { 252 {
253#ifndef ROCKBOX
242 uint32 param; 254 uint32 param;
255#endif
243 if (bytesread < (int)sizeof(t_nextstep)) 256 if (bytesread < (int)sizeof(t_nextstep))
244 goto badheader; 257 goto badheader;
245 nchannels = swap4(((t_nextstep *)buf)->ns_nchans, swap); 258 nchannels = swap4(((t_nextstep *)buf)->ns_nchans, swap);
@@ -381,7 +394,9 @@ int open_soundfile(const char *dirname, const char *filename, int headersize,
381badheader: 394badheader:
382 /* the header wasn't recognized. We're threadable here so let's not 395 /* the header wasn't recognized. We're threadable here so let's not
383 print out the error... */ 396 print out the error... */
397#ifndef ROCKBOX
384 errno = EIO; 398 errno = EIO;
399#endif
385 return (-1); 400 return (-1);
386} 401}
387 402
@@ -705,7 +720,11 @@ static int create_soundfile(t_canvas *canvas, const char *filename,
705 720
706 canvas_makefilename(canvas, filenamebuf, buf2, MAXPDSTRING); 721 canvas_makefilename(canvas, filenamebuf, buf2, MAXPDSTRING);
707 sys_bashfilename(buf2, buf2); 722 sys_bashfilename(buf2, buf2);
723#ifdef ROCKBOX
724 if ((fd = open(buf2, BINCREATE)) < 0)
725#else
708 if ((fd = open(buf2, BINCREATE, 0666)) < 0) 726 if ((fd = open(buf2, BINCREATE, 0666)) < 0)
727#endif
709 return (-1); 728 return (-1);
710 729
711 if (write(fd, headerbuf, headersize) < headersize) 730 if (write(fd, headerbuf, headersize) < headersize)
@@ -771,7 +790,11 @@ static void soundfile_finishwrite(void *obj, char *filename, int fd,
771 } 790 }
772 return; 791 return;
773baddonewrite: 792baddonewrite:
793#ifdef ROCKBOX
794 post("%s: error", filename);
795#else
774 post("%s: %s", filename, strerror(errno)); 796 post("%s: %s", filename, strerror(errno));
797#endif
775} 798}
776 799
777static void soundfile_xferout(int nchannels, t_sample **vecs, 800static void soundfile_xferout(int nchannels, t_sample **vecs,
@@ -920,9 +943,16 @@ static t_soundfiler *soundfiler_new(void)
920static void soundfiler_read(t_soundfiler *x, t_symbol *s, 943static void soundfiler_read(t_soundfiler *x, t_symbol *s,
921 int argc, t_atom *argv) 944 int argc, t_atom *argv)
922{ 945{
946#ifdef ROCKBOX
947 (void) s;
948#endif
923 int headersize = -1, channels = 0, bytespersamp = 0, bigendian = 0, 949 int headersize = -1, channels = 0, bytespersamp = 0, bigendian = 0,
924 resize = 0, i, j; 950 resize = 0, i, j;
951#ifdef ROCKBOX
952 long skipframes = 0, nframes = 0, finalsize = 0,
953#else
925 long skipframes = 0, nframes = 0, finalsize = 0, itemsleft, 954 long skipframes = 0, nframes = 0, finalsize = 0, itemsleft,
955#endif
926 maxsize = DEFMAXSIZE, itemsread = 0, bytelimit = 0x7fffffff; 956 maxsize = DEFMAXSIZE, itemsread = 0, bytelimit = 0x7fffffff;
927 int fd = -1; 957 int fd = -1;
928 char endianness, *filename; 958 char endianness, *filename;
@@ -930,7 +960,11 @@ static void soundfiler_read(t_soundfiler *x, t_symbol *s,
930 t_sample *vecs[MAXSFCHANS]; 960 t_sample *vecs[MAXSFCHANS];
931 char sampbuf[SAMPBUFSIZE]; 961 char sampbuf[SAMPBUFSIZE];
932 int bufframes, nitems; 962 int bufframes, nitems;
963#ifdef ROCKBOX
964 int fp;
965#else
933 FILE *fp; 966 FILE *fp;
967#endif
934 while (argc > 0 && argv->a_type == A_SYMBOL && 968 while (argc > 0 && argv->a_type == A_SYMBOL &&
935 *argv->a_w.w_symbol->s_name == '-') 969 *argv->a_w.w_symbol->s_name == '-')
936 { 970 {
@@ -1019,8 +1053,14 @@ static void soundfiler_read(t_soundfiler *x, t_symbol *s,
1019 1053
1020 if (fd < 0) 1054 if (fd < 0)
1021 { 1055 {
1056#ifdef ROCKBOX
1057 pd_error(x, "soundfiler_read: %s: %s",
1058 filename,
1059 "unknown or bad header format");
1060#else
1022 pd_error(x, "soundfiler_read: %s: %s", filename, (errno == EIO ? 1061 pd_error(x, "soundfiler_read: %s: %s", filename, (errno == EIO ?
1023 "unknown or bad header format" : strerror(errno))); 1062 "unknown or bad header format" : strerror(errno)));
1063#endif
1024 goto done; 1064 goto done;
1025 } 1065 }
1026 1066
@@ -1065,14 +1105,22 @@ static void soundfiler_read(t_soundfiler *x, t_symbol *s,
1065 if (!finalsize) finalsize = 0x7fffffff; 1105 if (!finalsize) finalsize = 0x7fffffff;
1066 if (finalsize > bytelimit / (channels * bytespersamp)) 1106 if (finalsize > bytelimit / (channels * bytespersamp))
1067 finalsize = bytelimit / (channels * bytespersamp); 1107 finalsize = bytelimit / (channels * bytespersamp);
1108#ifdef ROCKBOX
1109 fp = open(filename, O_RDONLY);
1110#else
1068 fp = fdopen(fd, "rb"); 1111 fp = fdopen(fd, "rb");
1112#endif
1069 bufframes = SAMPBUFSIZE / (channels * bytespersamp); 1113 bufframes = SAMPBUFSIZE / (channels * bytespersamp);
1070 1114
1071 for (itemsread = 0; itemsread < finalsize; ) 1115 for (itemsread = 0; itemsread < finalsize; )
1072 { 1116 {
1073 int thisread = finalsize - itemsread; 1117 int thisread = finalsize - itemsread;
1074 thisread = (thisread > bufframes ? bufframes : thisread); 1118 thisread = (thisread > bufframes ? bufframes : thisread);
1119#ifdef ROCKBOX
1120 nitems = read(fp, sampbuf, thisread * bytespersamp * channels);
1121#else
1075 nitems = fread(sampbuf, channels * bytespersamp, thisread, fp); 1122 nitems = fread(sampbuf, channels * bytespersamp, thisread, fp);
1123#endif
1076 if (nitems <= 0) break; 1124 if (nitems <= 0) break;
1077 soundfile_xferin(channels, argc, vecs, itemsread, 1125 soundfile_xferin(channels, argc, vecs, itemsread,
1078 (unsigned char *)sampbuf, nitems, bytespersamp, bigendian); 1126 (unsigned char *)sampbuf, nitems, bytespersamp, bigendian);
@@ -1082,7 +1130,11 @@ static void soundfiler_read(t_soundfiler *x, t_symbol *s,
1082 1130
1083 for (i = 0; i < argc; i++) 1131 for (i = 0; i < argc; i++)
1084 { 1132 {
1133#ifdef ROCKBOX
1134 int vecsize;
1135#else
1085 int nzero, vecsize; 1136 int nzero, vecsize;
1137#endif
1086 garray_getfloatarray(garrays[i], &vecsize, &vecs[i]); 1138 garray_getfloatarray(garrays[i], &vecsize, &vecs[i]);
1087 for (j = itemsread; j < vecsize; j++) 1139 for (j = itemsread; j < vecsize; j++)
1088 vecs[i][j] = 0; 1140 vecs[i][j] = 0;
@@ -1099,7 +1151,11 @@ static void soundfiler_read(t_soundfiler *x, t_symbol *s,
1099 /* do all graphics updates */ 1151 /* do all graphics updates */
1100 for (i = 0; i < argc; i++) 1152 for (i = 0; i < argc; i++)
1101 garray_redraw(garrays[i]); 1153 garray_redraw(garrays[i]);
1154#ifdef ROCKBOX
1155 close(fp);
1156#else
1102 fclose(fp); 1157 fclose(fp);
1158#endif
1103 fd = -1; 1159 fd = -1;
1104 goto done; 1160 goto done;
1105usage: 1161usage:
@@ -1118,14 +1174,25 @@ done:
1118long soundfiler_dowrite(void *obj, t_canvas *canvas, 1174long soundfiler_dowrite(void *obj, t_canvas *canvas,
1119 int argc, t_atom *argv) 1175 int argc, t_atom *argv)
1120{ 1176{
1177#ifdef ROCKBOX
1178 int bytespersamp, bigendian,
1179 swap, filetype, normalize, i, j, nchannels;
1180 long onset, nframes,
1181 itemswritten = 0;
1182#else
1121 int headersize, bytespersamp, bigendian, 1183 int headersize, bytespersamp, bigendian,
1122 endianness, swap, filetype, normalize, i, j, nchannels; 1184 endianness, swap, filetype, normalize, i, j, nchannels;
1123 long onset, nframes, itemsleft, 1185 long onset, nframes, itemsleft,
1124 maxsize = DEFMAXSIZE, itemswritten = 0; 1186 maxsize = DEFMAXSIZE, itemswritten = 0;
1187#endif
1125 t_garray *garrays[MAXSFCHANS]; 1188 t_garray *garrays[MAXSFCHANS];
1126 t_sample *vecs[MAXSFCHANS]; 1189 t_sample *vecs[MAXSFCHANS];
1127 char sampbuf[SAMPBUFSIZE]; 1190 char sampbuf[SAMPBUFSIZE];
1191#ifdef ROCKBOX
1192 int bufframes;
1193#else
1128 int bufframes, nitems; 1194 int bufframes, nitems;
1195#endif
1129 int fd = -1; 1196 int fd = -1;
1130 float normfactor, biggest = 0, samplerate; 1197 float normfactor, biggest = 0, samplerate;
1131 t_symbol *filesym; 1198 t_symbol *filesym;
@@ -1174,7 +1241,11 @@ long soundfiler_dowrite(void *obj, t_canvas *canvas,
1174 nframes, bytespersamp, bigendian, nchannels, 1241 nframes, bytespersamp, bigendian, nchannels,
1175 swap, samplerate)) < 0) 1242 swap, samplerate)) < 0)
1176 { 1243 {
1244#ifdef ROCKBOX
1245 post("%s: %s\n", filesym->s_name, "error");
1246#else
1177 post("%s: %s\n", filesym->s_name, strerror(errno)); 1247 post("%s: %s\n", filesym->s_name, strerror(errno));
1248#endif
1178 goto fail; 1249 goto fail;
1179 } 1250 }
1180 if (!normalize) 1251 if (!normalize)
@@ -1194,14 +1265,22 @@ long soundfiler_dowrite(void *obj, t_canvas *canvas,
1194 1265
1195 for (itemswritten = 0; itemswritten < nframes; ) 1266 for (itemswritten = 0; itemswritten < nframes; )
1196 { 1267 {
1268#ifdef ROCKBOX
1269 int thiswrite = nframes - itemswritten, nbytes;
1270#else
1197 int thiswrite = nframes - itemswritten, nitems, nbytes; 1271 int thiswrite = nframes - itemswritten, nitems, nbytes;
1272#endif
1198 thiswrite = (thiswrite > bufframes ? bufframes : thiswrite); 1273 thiswrite = (thiswrite > bufframes ? bufframes : thiswrite);
1199 soundfile_xferout(argc, vecs, (unsigned char *)sampbuf, thiswrite, 1274 soundfile_xferout(argc, vecs, (unsigned char *)sampbuf, thiswrite,
1200 onset, bytespersamp, bigendian, normfactor); 1275 onset, bytespersamp, bigendian, normfactor);
1201 nbytes = write(fd, sampbuf, nchannels * bytespersamp * thiswrite); 1276 nbytes = write(fd, sampbuf, nchannels * bytespersamp * thiswrite);
1202 if (nbytes < nchannels * bytespersamp * thiswrite) 1277 if (nbytes < nchannels * bytespersamp * thiswrite)
1203 { 1278 {
1279#ifdef ROCKBOX
1280 post("%s: %s", filesym->s_name, "error");
1281#else
1204 post("%s: %s", filesym->s_name, strerror(errno)); 1282 post("%s: %s", filesym->s_name, strerror(errno));
1283#endif
1205 if (nbytes > 0) 1284 if (nbytes > 0)
1206 itemswritten += nbytes / (nchannels * bytespersamp); 1285 itemswritten += nbytes / (nchannels * bytespersamp);
1207 break; 1286 break;
@@ -1230,6 +1309,9 @@ fail:
1230static void soundfiler_write(t_soundfiler *x, t_symbol *s, 1309static void soundfiler_write(t_soundfiler *x, t_symbol *s,
1231 int argc, t_atom *argv) 1310 int argc, t_atom *argv)
1232{ 1311{
1312#ifdef ROCKBOX
1313 (void) s;
1314#endif
1233 long bozo = soundfiler_dowrite(x, x->x_canvas, 1315 long bozo = soundfiler_dowrite(x, x->x_canvas,
1234 argc, argv); 1316 argc, argv);
1235 outlet_float(x->x_obj.ob_outlet, (float)bozo); 1317 outlet_float(x->x_obj.ob_outlet, (float)bozo);
diff --git a/apps/plugins/pdbox/PDa/src/d_ugen.c b/apps/plugins/pdbox/PDa/src/d_ugen.c
index 2c359c384d..6cf0a5a97d 100644
--- a/apps/plugins/pdbox/PDa/src/d_ugen.c
+++ b/apps/plugins/pdbox/PDa/src/d_ugen.c
@@ -21,11 +21,17 @@
21 * 21 *
22 */ 22 */
23 23
24 24#ifdef ROCKBOX
25#include "plugin.h"
26#include "pdbox.h"
27#include "m_pd.h"
28#include "m_imp.h"
29#else /* ROCKBOX */
25#include "m_pd.h" 30#include "m_pd.h"
26#include "m_imp.h" 31#include "m_imp.h"
27#include <stdlib.h> 32#include <stdlib.h>
28#include <stdarg.h> 33#include <stdarg.h>
34#endif /* ROCKBOX */
29 35
30extern t_class *vinlet_class, *voutlet_class, *canvas_class; 36extern t_class *vinlet_class, *voutlet_class, *canvas_class;
31t_sample *obj_findsignalscalar(t_object *x, int m); 37t_sample *obj_findsignalscalar(t_object *x, int m);
@@ -258,6 +264,10 @@ static t_int *block_epilog(t_int *w)
258 264
259static void block_dsp(t_block *x, t_signal **sp) 265static void block_dsp(t_block *x, t_signal **sp)
260{ 266{
267#ifdef ROCKBOX
268 (void) x;
269 (void) sp;
270#endif
261 /* do nothing here */ 271 /* do nothing here */
262} 272}
263 273
@@ -303,6 +313,7 @@ void dsp_tick(void)
303 t_int *ip; 313 t_int *ip;
304 for (ip = dsp_chain; *ip; ) ip = (*(t_perfroutine)(*ip))(ip); 314 for (ip = dsp_chain; *ip; ) ip = (*(t_perfroutine)(*ip))(ip);
305 dsp_phase++; 315 dsp_phase++;
316printf("%d\n", dsp_phase);
306 } 317 }
307} 318}
308 319
@@ -330,9 +341,13 @@ static t_signal *signal_usedlist;
330 /* call this when DSP is stopped to free all the signals */ 341 /* call this when DSP is stopped to free all the signals */
331void signal_cleanup(void) 342void signal_cleanup(void)
332{ 343{
344#ifdef ROCKBOX
345 t_signal *sig;
346#else
333 t_signal **svec, *sig, *sig2; 347 t_signal **svec, *sig, *sig2;
348#endif
334 int i; 349 int i;
335 while (sig = signal_usedlist) 350 while((sig = signal_usedlist))
336 { 351 {
337 signal_usedlist = sig->s_nextused; 352 signal_usedlist = sig->s_nextused;
338 if (!sig->s_isborrowed) 353 if (!sig->s_isborrowed)
@@ -397,9 +412,15 @@ void signal_makereusable(t_signal *sig)
397 412
398t_signal *signal_new(int n, float sr) 413t_signal *signal_new(int n, float sr)
399{ 414{
415#ifdef ROCKBOX
416 int logn;
417#else
400 int logn, n2; 418 int logn, n2;
419#endif
401 t_signal *ret, **whichlist; 420 t_signal *ret, **whichlist;
421#ifndef ROCKBOX
402 t_sample *fp; 422 t_sample *fp;
423#endif
403 logn = ilog2(n); 424 logn = ilog2(n);
404 if (n) 425 if (n)
405 { 426 {
@@ -413,7 +434,7 @@ t_signal *signal_new(int n, float sr)
413 whichlist = &signal_freeborrowed; 434 whichlist = &signal_freeborrowed;
414 435
415 /* first try to reclaim one from the free list */ 436 /* first try to reclaim one from the free list */
416 if (ret = *whichlist) 437 if((ret = *whichlist))
417 *whichlist = ret->s_nextfree; 438 *whichlist = ret->s_nextfree;
418 else 439 else
419 { 440 {
@@ -520,8 +541,10 @@ static t_dspcontext *ugen_currentcontext;
520 541
521void ugen_stop(void) 542void ugen_stop(void)
522{ 543{
544#ifndef ROCKBOX
523 t_signal *s; 545 t_signal *s;
524 int i; 546 int i;
547#endif
525 if (dsp_chain) 548 if (dsp_chain)
526 { 549 {
527 freebytes(dsp_chain, dsp_chainsize * sizeof (t_int)); 550 freebytes(dsp_chain, dsp_chainsize * sizeof (t_int));
@@ -577,8 +600,10 @@ t_dspcontext *ugen_start_graph(int toplevel, t_signal **sp,
577 int ninlets, int noutlets) 600 int ninlets, int noutlets)
578{ 601{
579 t_dspcontext *dc = (t_dspcontext *)getbytes(sizeof(*dc)); 602 t_dspcontext *dc = (t_dspcontext *)getbytes(sizeof(*dc));
603#ifndef ROCKBOX
580 float parent_srate, srate; 604 float parent_srate, srate;
581 int parent_vecsize, vecsize; 605 int parent_vecsize, vecsize;
606#endif
582 607
583 if (ugen_loud) post("ugen_start_graph..."); 608 if (ugen_loud) post("ugen_start_graph...");
584 609
@@ -672,7 +697,11 @@ static void ugen_doit(t_dspcontext *dc, t_ugenbox *u)
672{ 697{
673 t_sigoutlet *uout; 698 t_sigoutlet *uout;
674 t_siginlet *uin; 699 t_siginlet *uin;
700#ifdef ROCKBOX
701 t_sigoutconnect *oc;
702#else
675 t_sigoutconnect *oc, *oc2; 703 t_sigoutconnect *oc, *oc2;
704#endif
676 t_class *class = pd_class(&u->u_obj->ob_pd); 705 t_class *class = pd_class(&u->u_obj->ob_pd);
677 int i, n; 706 int i, n;
678 /* suppress creating new signals for the outputs of signal 707 /* suppress creating new signals for the outputs of signal
@@ -681,13 +710,13 @@ static void ugen_doit(t_dspcontext *dc, t_ugenbox *u)
681 we delay new signal creation, which will be handled by calling 710 we delay new signal creation, which will be handled by calling
682 signal_setborrowed in the ugen_done_graph routine below. */ 711 signal_setborrowed in the ugen_done_graph routine below. */
683 int nonewsigs = (class == canvas_class || 712 int nonewsigs = (class == canvas_class ||
684 (class == vinlet_class) && !(dc->dc_reblock)); 713 ((class == vinlet_class) && !(dc->dc_reblock)));
685 /* when we encounter a subcanvas or a signal outlet, suppress freeing 714 /* when we encounter a subcanvas or a signal outlet, suppress freeing
686 the input signals as they may be "borrowed" for the super or sub 715 the input signals as they may be "borrowed" for the super or sub
687 patch; same exception as above, but also if we're "switched" we 716 patch; same exception as above, but also if we're "switched" we
688 have to do a copy rather than a borrow. */ 717 have to do a copy rather than a borrow. */
689 int nofreesigs = (class == canvas_class || 718 int nofreesigs = (class == canvas_class ||
690 (class == voutlet_class) && !(dc->dc_reblock || dc->dc_switched)); 719 ((class == voutlet_class) && !(dc->dc_reblock || dc->dc_switched)));
691 t_signal **insig, **outsig, **sig, *s1, *s2, *s3; 720 t_signal **insig, **outsig, **sig, *s1, *s2, *s3;
692 t_ugenbox *u2; 721 t_ugenbox *u2;
693 722
@@ -701,7 +730,7 @@ static void ugen_doit(t_dspcontext *dc, t_ugenbox *u)
701 s3 = signal_new(dc->dc_vecsize, dc->dc_srate); 730 s3 = signal_new(dc->dc_vecsize, dc->dc_srate);
702 /* post("%s: unconnected signal inlet set to zero", 731 /* post("%s: unconnected signal inlet set to zero",
703 class_getname(u->u_obj->ob_pd)); */ 732 class_getname(u->u_obj->ob_pd)); */
704 if (scalar = obj_findsignalscalar(u->u_obj, i)) 733 if((scalar = obj_findsignalscalar(u->u_obj, i)))
705 dsp_add_scalarcopy(scalar, s3->s_vec, s3->s_n); 734 dsp_add_scalarcopy(scalar, s3->s_vec, s3->s_n);
706 else 735 else
707 dsp_add_zero(s3->s_vec, s3->s_n); 736 dsp_add_zero(s3->s_vec, s3->s_n);
@@ -781,7 +810,7 @@ static void ugen_doit(t_dspcontext *dc, t_ugenbox *u)
781 u2 = oc->oc_who; 810 u2 = oc->oc_who;
782 uin = &u2->u_in[oc->oc_inno]; 811 uin = &u2->u_in[oc->oc_inno];
783 /* if there's already someone here, sum the two */ 812 /* if there's already someone here, sum the two */
784 if (s2 = uin->i_signal) 813 if((s2 = uin->i_signal))
785 { 814 {
786 s1->s_refcount--; 815 s1->s_refcount--;
787 s2->s_refcount--; 816 s2->s_refcount--;
@@ -825,7 +854,11 @@ static void ugen_doit(t_dspcontext *dc, t_ugenbox *u)
825 854
826void ugen_done_graph(t_dspcontext *dc) 855void ugen_done_graph(t_dspcontext *dc)
827{ 856{
857#ifdef ROCKBOX
858 t_ugenbox *u;
859#else
828 t_ugenbox *u, *u2; 860 t_ugenbox *u, *u2;
861#endif
829 t_sigoutlet *uout; 862 t_sigoutlet *uout;
830 t_siginlet *uin; 863 t_siginlet *uin;
831 t_sigoutconnect *oc, *oc2; 864 t_sigoutconnect *oc, *oc2;
@@ -966,7 +999,11 @@ void ugen_done_graph(t_dspcontext *dc)
966 for (u = dc->dc_ugenlist; u; u = u->u_next) 999 for (u = dc->dc_ugenlist; u; u = u->u_next)
967 { 1000 {
968 t_pd *zz = &u->u_obj->ob_pd; 1001 t_pd *zz = &u->u_obj->ob_pd;
1002#ifdef ROCKBOX
1003 t_signal **outsigs = dc->dc_iosigs;
1004#else
969 t_signal **insigs = dc->dc_iosigs, **outsigs = dc->dc_iosigs; 1005 t_signal **insigs = dc->dc_iosigs, **outsigs = dc->dc_iosigs;
1006#endif
970 if (outsigs) outsigs += dc->dc_ninlets; 1007 if (outsigs) outsigs += dc->dc_ninlets;
971 1008
972 if (pd_class(zz) == vinlet_class) 1009 if (pd_class(zz) == vinlet_class)
diff --git a/apps/plugins/pdbox/PDa/src/g_all_guis.c b/apps/plugins/pdbox/PDa/src/g_all_guis.c
index 74a7656492..165c9ac14f 100644
--- a/apps/plugins/pdbox/PDa/src/g_all_guis.c
+++ b/apps/plugins/pdbox/PDa/src/g_all_guis.c
@@ -6,6 +6,14 @@
6/* thanks to Miller Puckette, Guenther Geiger and Krzystof Czaja */ 6/* thanks to Miller Puckette, Guenther Geiger and Krzystof Czaja */
7 7
8 8
9#ifdef ROCKBOX
10#include "plugin.h"
11#include "pdbox.h"
12#include "m_pd.h"
13#include "g_canvas.h"
14#include "g_all_guis.h"
15#define snprintf rb->snprintf
16#else /* ROCKBOX */
9#include <stdlib.h> 17#include <stdlib.h>
10#include <string.h> 18#include <string.h>
11#include <stdio.h> 19#include <stdio.h>
@@ -21,6 +29,7 @@
21#else 29#else
22#include <unistd.h> 30#include <unistd.h>
23#endif 31#endif
32#endif /* ROCKBOX */
24 33
25/* #define GGEE_HSLIDER_COMPATIBLE */ 34/* #define GGEE_HSLIDER_COMPATIBLE */
26 35
@@ -185,12 +194,20 @@ void iemgui_verify_snd_ne_rcv(t_iemgui *iemgui)
185 194
186t_symbol *iemgui_new_dogetname(t_iemgui *iemgui, int indx, t_atom *argv) 195t_symbol *iemgui_new_dogetname(t_iemgui *iemgui, int indx, t_atom *argv)
187{ 196{
197#ifdef ROCKBOX
198 (void) iemgui;
199#endif
188 if (IS_A_SYMBOL(argv, indx)) 200 if (IS_A_SYMBOL(argv, indx))
189 return (atom_getsymbolarg(indx, 100000, argv)); 201 return (atom_getsymbolarg(indx, 100000, argv));
190 else if (IS_A_FLOAT(argv, indx)) 202 else if (IS_A_FLOAT(argv, indx))
191 { 203 {
192 char str[80]; 204 char str[80];
205#ifdef ROCKBOX
206 snprintf(str, sizeof(str)-1,
207 "%d", (int)atom_getintarg(indx, 100000, argv));
208#else
193 sprintf(str, "%d", (int)atom_getintarg(indx, 100000, argv)); 209 sprintf(str, "%d", (int)atom_getintarg(indx, 100000, argv));
210#endif
194 return (gensym(str)); 211 return (gensym(str));
195 } 212 }
196 else return (gensym("empty")); 213 else return (gensym("empty"));
@@ -261,6 +278,10 @@ void iemgui_all_sym2dollararg(t_iemgui *iemgui, t_symbol **srlsym)
261 278
262void iemgui_first_dollararg2sym(t_iemgui *iemgui, t_symbol **srlsym) 279void iemgui_first_dollararg2sym(t_iemgui *iemgui, t_symbol **srlsym)
263{ 280{
281#ifdef ROCKBOX
282 (void) iemgui;
283 (void) srlsym;
284#endif
264 /* delete this function */ 285 /* delete this function */
265} 286}
266 287
@@ -341,8 +362,12 @@ void iemgui_all_raute2dollar(t_symbol **srlsym)
341void iemgui_send(void *x, t_iemgui *iemgui, t_symbol *s) 362void iemgui_send(void *x, t_iemgui *iemgui, t_symbol *s)
342{ 363{
343 t_symbol *snd; 364 t_symbol *snd;
365#ifdef ROCKBOX
366 int sndable=1, oldsndrcvable=0;
367#else
344 int pargc, tail_len, nth_arg, sndable=1, oldsndrcvable=0; 368 int pargc, tail_len, nth_arg, sndable=1, oldsndrcvable=0;
345 t_atom *pargv; 369 t_atom *pargv;
370#endif
346 371
347 if(iemgui->x_fsf.x_rcv_able) 372 if(iemgui->x_fsf.x_rcv_able)
348 oldsndrcvable += IEM_GUI_OLD_RCV_FLAG; 373 oldsndrcvable += IEM_GUI_OLD_RCV_FLAG;
@@ -364,8 +389,12 @@ void iemgui_send(void *x, t_iemgui *iemgui, t_symbol *s)
364void iemgui_receive(void *x, t_iemgui *iemgui, t_symbol *s) 389void iemgui_receive(void *x, t_iemgui *iemgui, t_symbol *s)
365{ 390{
366 t_symbol *rcv; 391 t_symbol *rcv;
392#ifdef ROCKBOX
393 int rcvable=1, oldsndrcvable=0;
394#else
367 int pargc, tail_len, nth_arg, rcvable=1, oldsndrcvable=0; 395 int pargc, tail_len, nth_arg, rcvable=1, oldsndrcvable=0;
368 t_atom *pargv; 396 t_atom *pargv;
397#endif
369 398
370 if(iemgui->x_fsf.x_rcv_able) 399 if(iemgui->x_fsf.x_rcv_able)
371 oldsndrcvable += IEM_GUI_OLD_RCV_FLAG; 400 oldsndrcvable += IEM_GUI_OLD_RCV_FLAG;
@@ -399,34 +428,55 @@ void iemgui_receive(void *x, t_iemgui *iemgui, t_symbol *s)
399void iemgui_label(void *x, t_iemgui *iemgui, t_symbol *s) 428void iemgui_label(void *x, t_iemgui *iemgui, t_symbol *s)
400{ 429{
401 t_symbol *lab; 430 t_symbol *lab;
431#ifndef ROCKBOX
402 int pargc, tail_len, nth_arg; 432 int pargc, tail_len, nth_arg;
403 t_atom *pargv; 433 t_atom *pargv;
434#endif
435
436#ifdef ROCKBOX
437 (void) x;
438#endif
404 439
405 lab = iemgui_raute2dollar(s); 440 lab = iemgui_raute2dollar(s);
406 iemgui->x_lab_unexpanded = lab; 441 iemgui->x_lab_unexpanded = lab;
407 iemgui->x_lab = lab = canvas_realizedollar(iemgui->x_glist, lab); 442 iemgui->x_lab = lab = canvas_realizedollar(iemgui->x_glist, lab);
408 443
444#ifndef ROCKBOX
409 if(glist_isvisible(iemgui->x_glist)) 445 if(glist_isvisible(iemgui->x_glist))
410 sys_vgui(".x%x.c itemconfigure %xLABEL -text {%s} \n", 446 sys_vgui(".x%x.c itemconfigure %xLABEL -text {%s} \n",
411 glist_getcanvas(iemgui->x_glist), x, 447 glist_getcanvas(iemgui->x_glist), x,
412 strcmp(s->s_name, "empty")?iemgui->x_lab->s_name:""); 448 strcmp(s->s_name, "empty")?iemgui->x_lab->s_name:"");
449#endif
413} 450}
414 451
415void iemgui_label_pos(void *x, t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av) 452void iemgui_label_pos(void *x, t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av)
416{ 453{
454#ifdef ROCKBOX
455 (void) x;
456 (void) s;
457#endif
458
417 iemgui->x_ldx = (int)atom_getintarg(0, ac, av); 459 iemgui->x_ldx = (int)atom_getintarg(0, ac, av);
418 iemgui->x_ldy = (int)atom_getintarg(1, ac, av); 460 iemgui->x_ldy = (int)atom_getintarg(1, ac, av);
461
462#ifndef ROCKBOX
419 if(glist_isvisible(iemgui->x_glist)) 463 if(glist_isvisible(iemgui->x_glist))
420 sys_vgui(".x%x.c coords %xLABEL %d %d\n", 464 sys_vgui(".x%x.c coords %xLABEL %d %d\n",
421 glist_getcanvas(iemgui->x_glist), x, 465 glist_getcanvas(iemgui->x_glist), x,
422 iemgui->x_obj.te_xpix+iemgui->x_ldx, 466 iemgui->x_obj.te_xpix+iemgui->x_ldx,
423 iemgui->x_obj.te_ypix+iemgui->x_ldy); 467 iemgui->x_obj.te_ypix+iemgui->x_ldy);
468#endif
424} 469}
425 470
426void iemgui_label_font(void *x, t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av) 471void iemgui_label_font(void *x, t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av)
427{ 472{
428 int f = (int)atom_getintarg(0, ac, av); 473 int f = (int)atom_getintarg(0, ac, av);
429 474
475#ifdef ROCKBOX
476 (void) x;
477 (void) s;
478#endif
479
430 if(f == 1) strcpy(iemgui->x_font, "helvetica"); 480 if(f == 1) strcpy(iemgui->x_font, "helvetica");
431 else if(f == 2) strcpy(iemgui->x_font, "times"); 481 else if(f == 2) strcpy(iemgui->x_font, "times");
432 else 482 else
@@ -439,9 +489,11 @@ void iemgui_label_font(void *x, t_iemgui *iemgui, t_symbol *s, int ac, t_atom *a
439 if(f < 4) 489 if(f < 4)
440 f = 4; 490 f = 4;
441 iemgui->x_fontsize = f; 491 iemgui->x_fontsize = f;
492#ifndef ROCKBOX
442 if(glist_isvisible(iemgui->x_glist)) 493 if(glist_isvisible(iemgui->x_glist))
443 sys_vgui(".x%x.c itemconfigure %xLABEL -font {%s %d bold}\n", 494 sys_vgui(".x%x.c itemconfigure %xLABEL -font {%s %d bold}\n",
444 glist_getcanvas(iemgui->x_glist), x, iemgui->x_font, iemgui->x_fontsize); 495 glist_getcanvas(iemgui->x_glist), x, iemgui->x_font, iemgui->x_fontsize);
496#endif
445} 497}
446 498
447void iemgui_size(void *x, t_iemgui *iemgui) 499void iemgui_size(void *x, t_iemgui *iemgui)
@@ -455,6 +507,9 @@ void iemgui_size(void *x, t_iemgui *iemgui)
455 507
456void iemgui_delta(void *x, t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av) 508void iemgui_delta(void *x, t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av)
457{ 509{
510#ifdef ROCKBOX
511 (void) s;
512#endif
458 iemgui->x_obj.te_xpix += (int)atom_getintarg(0, ac, av); 513 iemgui->x_obj.te_xpix += (int)atom_getintarg(0, ac, av);
459 iemgui->x_obj.te_ypix += (int)atom_getintarg(1, ac, av); 514 iemgui->x_obj.te_ypix += (int)atom_getintarg(1, ac, av);
460 if(glist_isvisible(iemgui->x_glist)) 515 if(glist_isvisible(iemgui->x_glist))
@@ -466,6 +521,9 @@ void iemgui_delta(void *x, t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av)
466 521
467void iemgui_pos(void *x, t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av) 522void iemgui_pos(void *x, t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av)
468{ 523{
524#ifdef ROCKBOX
525 (void) s;
526#endif
469 iemgui->x_obj.te_xpix = (int)atom_getintarg(0, ac, av); 527 iemgui->x_obj.te_xpix = (int)atom_getintarg(0, ac, av);
470 iemgui->x_obj.te_ypix = (int)atom_getintarg(1, ac, av); 528 iemgui->x_obj.te_ypix = (int)atom_getintarg(1, ac, av);
471 if(glist_isvisible(iemgui->x_glist)) 529 if(glist_isvisible(iemgui->x_glist))
@@ -477,6 +535,9 @@ void iemgui_pos(void *x, t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av)
477 535
478void iemgui_color(void *x, t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av) 536void iemgui_color(void *x, t_iemgui *iemgui, t_symbol *s, int ac, t_atom *av)
479{ 537{
538#ifdef ROCKBOX
539 (void) s;
540#endif
480 iemgui->x_bcol = iemgui_compatible_col(atom_getintarg(0, ac, av)); 541 iemgui->x_bcol = iemgui_compatible_col(atom_getintarg(0, ac, av));
481 if(ac > 2) 542 if(ac > 2)
482 { 543 {
@@ -561,21 +622,36 @@ int iemgui_dialog(t_iemgui *iemgui, t_symbol **srl, int argc, t_atom *argv)
561 srl[0] = atom_getsymbolarg(7, argc, argv); 622 srl[0] = atom_getsymbolarg(7, argc, argv);
562 else if(IS_A_FLOAT(argv,7)) 623 else if(IS_A_FLOAT(argv,7))
563 { 624 {
625#ifdef ROCKBOX
626 snprintf(str, sizeof(str)-1,
627 "%d", (int)atom_getintarg(7, argc, argv));
628#else
564 sprintf(str, "%d", (int)atom_getintarg(7, argc, argv)); 629 sprintf(str, "%d", (int)atom_getintarg(7, argc, argv));
630#endif
565 srl[0] = gensym(str); 631 srl[0] = gensym(str);
566 } 632 }
567 if(IS_A_SYMBOL(argv,8)) 633 if(IS_A_SYMBOL(argv,8))
568 srl[1] = atom_getsymbolarg(8, argc, argv); 634 srl[1] = atom_getsymbolarg(8, argc, argv);
569 else if(IS_A_FLOAT(argv,8)) 635 else if(IS_A_FLOAT(argv,8))
570 { 636 {
637#ifdef ROCKBOX
638 snprintf(str, sizeof(str)-1,
639 "%d", (int)atom_getintarg(8, argc, argv));
640#else
571 sprintf(str, "%d", (int)atom_getintarg(8, argc, argv)); 641 sprintf(str, "%d", (int)atom_getintarg(8, argc, argv));
642#endif
572 srl[1] = gensym(str); 643 srl[1] = gensym(str);
573 } 644 }
574 if(IS_A_SYMBOL(argv,9)) 645 if(IS_A_SYMBOL(argv,9))
575 srl[2] = atom_getsymbolarg(9, argc, argv); 646 srl[2] = atom_getsymbolarg(9, argc, argv);
576 else if(IS_A_FLOAT(argv,9)) 647 else if(IS_A_FLOAT(argv,9))
577 { 648 {
649#ifdef ROCKBOX
650 snprintf(str, sizeof(str)-1,
651 "%d", (int)atom_getintarg(9, argc, argv));
652#else
578 sprintf(str, "%d", (int)atom_getintarg(9, argc, argv)); 653 sprintf(str, "%d", (int)atom_getintarg(9, argc, argv));
654#endif
579 srl[2] = gensym(str); 655 srl[2] = gensym(str);
580 } 656 }
581 if(init != 0) init = 1; 657 if(init != 0) init = 1;
diff --git a/apps/plugins/pdbox/PDa/src/g_array.c b/apps/plugins/pdbox/PDa/src/g_array.c
index 3e2225637a..b6870b6117 100644
--- a/apps/plugins/pdbox/PDa/src/g_array.c
+++ b/apps/plugins/pdbox/PDa/src/g_array.c
@@ -2,12 +2,22 @@
2* For information on usage and redistribution, and for a DISCLAIMER OF ALL 2* For information on usage and redistribution, and for a DISCLAIMER OF ALL
3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ 3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
4 4
5#ifdef ROCKBOX
6#include "plugin.h"
7#include "pdbox.h"
8#include "m_pd.h"
9#include "g_canvas.h"
10#ifdef SIMULATOR
11int printf(const char *fmt, ...);
12#endif /* SIMULATOR */
13#else /* ROCKBOX */
5#include <stdlib.h> 14#include <stdlib.h>
6#include <string.h> 15#include <string.h>
7#include <stdio.h> /* for read/write to files */ 16#include <stdio.h> /* for read/write to files */
8#include "m_pd.h" 17#include "m_pd.h"
9#include "g_canvas.h" 18#include "g_canvas.h"
10#include <math.h> 19#include <math.h>
20#endif /* ROCKBOX */
11 21
12/* see also the "plot" object in g_scalar.c which deals with graphing 22/* see also the "plot" object in g_scalar.c which deals with graphing
13arrays which are fields in scalars. Someday we should unify the 23arrays which are fields in scalars. Someday we should unify the
@@ -40,7 +50,9 @@ t_array *array_new(t_symbol *templatesym, t_gpointer *parent)
40{ 50{
41 t_array *x = (t_array *)getbytes(sizeof (*x)); 51 t_array *x = (t_array *)getbytes(sizeof (*x));
42 t_template *template; 52 t_template *template;
53#ifndef ROCKBOX
43 t_gpointer *gp; 54 t_gpointer *gp;
55#endif
44 template = template_findbyname(templatesym); 56 template = template_findbyname(templatesym);
45 x->a_templatesym = templatesym; 57 x->a_templatesym = templatesym;
46 x->a_n = 1; 58 x->a_n = 1;
@@ -59,7 +71,9 @@ t_array *array_new(t_symbol *templatesym, t_gpointer *parent)
59void array_resize(t_array *x, t_template *template, int n) 71void array_resize(t_array *x, t_template *template, int n)
60{ 72{
61 int elemsize, oldn; 73 int elemsize, oldn;
74#ifndef ROCKBOX
62 t_gpointer *gp; 75 t_gpointer *gp;
76#endif
63 77
64 if (n < 1) 78 if (n < 1)
65 n = 1; 79 n = 1;
@@ -135,7 +149,11 @@ t_garray *graph_array(t_glist *gl, t_symbol *s, t_symbol *templatesym,
135 if (s == &s_) 149 if (s == &s_)
136 { 150 {
137 char buf[40]; 151 char buf[40];
152#ifdef ROCKBOX
153 snprintf(buf, sizeof(buf)-1, "array%d", ++gcount);
154#else
138 sprintf(buf, "array%d", ++gcount); 155 sprintf(buf, "array%d", ++gcount);
156#endif
139 s = gensym(buf); 157 s = gensym(buf);
140 templatesym = &s_float; 158 templatesym = &s_float;
141 n = 100; 159 n = 100;
@@ -179,7 +197,7 @@ t_garray *graph_array(t_glist *gl, t_symbol *s, t_symbol *templatesym,
179 x->x_glist = gl; 197 x->x_glist = gl;
180 x->x_usedindsp = 0; 198 x->x_usedindsp = 0;
181 x->x_saveit = (saveit != 0); 199 x->x_saveit = (saveit != 0);
182 if (x2 = pd_findbyclass(gensym("#A"), garray_class)) 200 if((x2 = pd_findbyclass(gensym("#A"), garray_class)))
183 pd_unbind(x2, gensym("#A")); 201 pd_unbind(x2, gensym("#A"));
184 202
185 pd_bind(&x->x_gobj.g_pd, gensym("#A")); 203 pd_bind(&x->x_gobj.g_pd, gensym("#A"));
@@ -190,16 +208,23 @@ t_garray *graph_array(t_glist *gl, t_symbol *s, t_symbol *templatesym,
190 /* called from array menu item to create a new one */ 208 /* called from array menu item to create a new one */
191void canvas_menuarray(t_glist *canvas) 209void canvas_menuarray(t_glist *canvas)
192{ 210{
211#ifdef ROCKBOX
212 (void) canvas;
213#else /* ROCKBOX */
193 t_glist *x = (t_glist *)canvas; 214 t_glist *x = (t_glist *)canvas;
194 char cmdbuf[200]; 215 char cmdbuf[200];
195 sprintf(cmdbuf, "pdtk_array_dialog %%s array%d 100 1 1\n", 216 sprintf(cmdbuf, "pdtk_array_dialog %%s array%d 100 1 1\n",
196 ++gcount); 217 ++gcount);
197 gfxstub_new(&x->gl_pd, x, cmdbuf); 218 gfxstub_new(&x->gl_pd, x, cmdbuf);
219#endif /* ROCKBOX */
198} 220}
199 221
200 /* called from graph_dialog to set properties */ 222 /* called from graph_dialog to set properties */
201void garray_properties(t_garray *x) 223void garray_properties(t_garray *x)
202{ 224{
225#ifdef ROCKBOX
226 (void) x;
227#else /* ROCKBOX */
203 char cmdbuf[200]; 228 char cmdbuf[200];
204 gfxstub_deleteforkey(x); 229 gfxstub_deleteforkey(x);
205 /* create dialog window. LATER fix this to escape '$' 230 /* create dialog window. LATER fix this to escape '$'
@@ -211,6 +236,7 @@ void garray_properties(t_garray *x)
211 else sprintf(cmdbuf, "pdtk_array_dialog %%s %s %d %d 0\n", 236 else sprintf(cmdbuf, "pdtk_array_dialog %%s %s %d %d 0\n",
212 x->x_name->s_name, x->x_n, x->x_saveit); 237 x->x_name->s_name, x->x_n, x->x_saveit);
213 gfxstub_new(&x->x_gobj.g_pd, x, cmdbuf); 238 gfxstub_new(&x->x_gobj.g_pd, x, cmdbuf);
239#endif /* ROCKBOX */
214} 240}
215 241
216 /* this is called back from the dialog window to create a garray. 242 /* this is called back from the dialog window to create a garray.
@@ -260,10 +286,12 @@ void garray_arraydialog(t_garray *x, t_symbol *name, t_floatarg fsize,
260static void garray_free(t_garray *x) 286static void garray_free(t_garray *x)
261{ 287{
262 t_pd *x2; 288 t_pd *x2;
289#ifndef ROCKBOX
263 gfxstub_deleteforkey(x); 290 gfxstub_deleteforkey(x);
291#endif
264 pd_unbind(&x->x_gobj.g_pd, x->x_realname); 292 pd_unbind(&x->x_gobj.g_pd, x->x_realname);
265 /* LATER find a way to get #A unbound earlier (at end of load?) */ 293 /* LATER find a way to get #A unbound earlier (at end of load?) */
266 while (x2 = pd_findbyclass(gensym("#A"), garray_class)) 294 while((x2 = pd_findbyclass(gensym("#A"), garray_class)))
267 pd_unbind(x2, gensym("#A")); 295 pd_unbind(x2, gensym("#A"));
268 freebytes(x->x_vec, x->x_n * x->x_elemsize); 296 freebytes(x->x_vec, x->x_n * x->x_elemsize);
269} 297}
@@ -308,7 +336,9 @@ static t_word *array_motion_wp;
308static t_template *array_motion_template; 336static t_template *array_motion_template;
309static int array_motion_npoints; 337static int array_motion_npoints;
310static int array_motion_elemsize; 338static int array_motion_elemsize;
339#ifndef ROCKBOX
311static int array_motion_altkey; 340static int array_motion_altkey;
341#endif
312static float array_motion_initx; 342static float array_motion_initx;
313static float array_motion_xperpix; 343static float array_motion_xperpix;
314static float array_motion_yperpix; 344static float array_motion_yperpix;
@@ -320,6 +350,9 @@ static int array_motion_fatten;
320 350
321static void array_motion(void *z, t_floatarg dx, t_floatarg dy) 351static void array_motion(void *z, t_floatarg dx, t_floatarg dy)
322{ 352{
353#ifdef ROCKBOX
354 (void) z;
355#endif
323 array_motion_xcumulative += dx * array_motion_xperpix; 356 array_motion_xcumulative += dx * array_motion_xperpix;
324 array_motion_ycumulative += dy * array_motion_yperpix; 357 array_motion_ycumulative += dy * array_motion_yperpix;
325 if (*array_motion_xfield->s_name) 358 if (*array_motion_xfield->s_name)
@@ -402,6 +435,12 @@ int array_doclick(t_array *array, t_glist *glist, t_gobj *gobj,
402 t_template *elemtemplate; 435 t_template *elemtemplate;
403 int elemsize, yonset, wonset, xonset, i; 436 int elemsize, yonset, wonset, xonset, i;
404 437
438#ifdef ROCKBOX
439 (void) linewidth;
440 (void) shift;
441 (void) dbl;
442#endif
443
405 if (!array_getfields(elemtemplatesym, &elemtemplatecanvas, 444 if (!array_getfields(elemtemplatesym, &elemtemplatecanvas,
406 &elemtemplate, &elemsize, &xonset, &yonset, &wonset)) 445 &elemtemplate, &elemsize, &xonset, &yonset, &wonset))
407 { 446 {
@@ -575,7 +614,11 @@ static void garray_getrect(t_gobj *z, t_glist *glist,
575 else incr = x->x_array.a_n / 300; 614 else incr = x->x_array.a_n / 300;
576 for (i = 0; i < x->x_array.a_n; i += incr) 615 for (i = 0; i < x->x_array.a_n; i += incr)
577 { 616 {
617#ifdef ROCKBOX
618 float pxpix, pypix, pwpix;
619#else /* ROCKBOX */
578 float pxpix, pypix, pwpix, dx, dy; 620 float pxpix, pypix, pwpix, dx, dy;
621#endif /* ROCKBOX */
579 array_getcoordinate(glist, (char *)(x->x_array.a_vec) + 622 array_getcoordinate(glist, (char *)(x->x_array.a_vec) +
580 i * elemsize, 623 i * elemsize,
581 xonset, yonset, wonset, i, 0, 0, 1, 624 xonset, yonset, wonset, i, 0, 0, 1,
@@ -600,21 +643,42 @@ static void garray_getrect(t_gobj *z, t_glist *glist,
600 643
601static void garray_displace(t_gobj *z, t_glist *glist, int dx, int dy) 644static void garray_displace(t_gobj *z, t_glist *glist, int dx, int dy)
602{ 645{
646#ifdef ROCKBOX
647 (void) z;
648 (void) glist;
649 (void) dx;
650 (void) dy;
651#endif
603 /* refuse */ 652 /* refuse */
604} 653}
605 654
606static void garray_select(t_gobj *z, t_glist *glist, int state) 655static void garray_select(t_gobj *z, t_glist *glist, int state)
607{ 656{
657#ifdef ROCKBOX
658 (void) z;
659 (void) glist;
660 (void) state;
661#else /* ROCKBOX */
608 t_garray *x = (t_garray *)z; 662 t_garray *x = (t_garray *)z;
663#endif /* ROCKBOX */
609 /* fill in later */ 664 /* fill in later */
610} 665}
611 666
612static void garray_activate(t_gobj *z, t_glist *glist, int state) 667static void garray_activate(t_gobj *z, t_glist *glist, int state)
613{ 668{
669#ifdef ROCKBOX
670 (void) z;
671 (void) glist;
672 (void) state;
673#endif
614} 674}
615 675
616static void garray_delete(t_gobj *z, t_glist *glist) 676static void garray_delete(t_gobj *z, t_glist *glist)
617{ 677{
678#ifdef ROCKBOX
679 (void) z;
680 (void) glist;
681#endif
618 /* nothing to do */ 682 /* nothing to do */
619} 683}
620 684
@@ -633,9 +697,11 @@ static void garray_vis(t_gobj *z, t_glist *glist, int vis)
633 { 697 {
634 error("%s: needs floating-point 'y' field", 698 error("%s: needs floating-point 'y' field",
635 x->x_templatesym->s_name); 699 x->x_templatesym->s_name);
700#ifndef ROCKBOX
636 sys_vgui(".x%x.c create text 50 50 -text foo\ 701 sys_vgui(".x%x.c create text 50 50 -text foo\
637 -tags .x%x.a%x\n", 702 -tags .x%x.a%x\n",
638 glist_getcanvas(glist), glist_getcanvas(glist), x); 703 glist_getcanvas(glist), glist_getcanvas(glist), x);
704#endif
639 } 705 }
640 else if (!template_find_field(template, gensym("x"), &xonset, &type, 706 else if (!template_find_field(template, gensym("x"), &xonset, &type,
641 &arraytype) || type != DT_FLOAT) 707 &arraytype) || type != DT_FLOAT)
@@ -644,7 +710,9 @@ static void garray_vis(t_gobj *z, t_glist *glist, int vis)
644 int lastpixel = -1, ndrawn = 0; 710 int lastpixel = -1, ndrawn = 0;
645 float yval = 0, xpix; 711 float yval = 0, xpix;
646 int ixpix = 0; 712 int ixpix = 0;
713#ifndef ROCKBOX
647 sys_vgui(".x%x.c create line \\\n", glist_getcanvas(glist)); 714 sys_vgui(".x%x.c create line \\\n", glist_getcanvas(glist));
715#endif
648 for (i = 0; i < x->x_n; i++) 716 for (i = 0; i < x->x_n; i++)
649 { 717 {
650 yval = fixtof(*(t_sample *)(x->x_vec + 718 yval = fixtof(*(t_sample *)(x->x_vec +
@@ -653,8 +721,10 @@ static void garray_vis(t_gobj *z, t_glist *glist, int vis)
653 ixpix = xpix + 0.5; 721 ixpix = xpix + 0.5;
654 if (ixpix != lastpixel) 722 if (ixpix != lastpixel)
655 { 723 {
724#ifndef ROCKBOX
656 sys_vgui("%d %f \\\n", ixpix, 725 sys_vgui("%d %f \\\n", ixpix,
657 glist_ytopixels(glist, yval)); 726 glist_ytopixels(glist, yval));
727#endif
658 ndrawn++; 728 ndrawn++;
659 } 729 }
660 lastpixel = ixpix; 730 lastpixel = ixpix;
@@ -662,11 +732,14 @@ static void garray_vis(t_gobj *z, t_glist *glist, int vis)
662 xcum += x->x_xinc; 732 xcum += x->x_xinc;
663 } 733 }
664 /* TK will complain if there aren't at least 2 points... */ 734 /* TK will complain if there aren't at least 2 points... */
735#ifndef ROCKBOX
665 if (ndrawn == 0) sys_vgui("0 0 0 0 \\\n"); 736 if (ndrawn == 0) sys_vgui("0 0 0 0 \\\n");
666 else if (ndrawn == 1) sys_vgui("%d %f \\\n", ixpix, 737 else if (ndrawn == 1) sys_vgui("%d %f \\\n", ixpix,
667 glist_ytopixels(glist, yval)); 738 glist_ytopixels(glist, yval));
668 sys_vgui("-tags .x%x.a%x\n", glist_getcanvas(glist), x); 739 sys_vgui("-tags .x%x.a%x\n", glist_getcanvas(glist), x);
740#endif
669 firsty = fixtof(*(t_sample *)(x->x_vec + yonset)); 741 firsty = fixtof(*(t_sample *)(x->x_vec + yonset));
742#ifndef ROCKBOX
670 sys_vgui(".x%x.c create text %f %f -text {%s} -anchor e\ 743 sys_vgui(".x%x.c create text %f %f -text {%s} -anchor e\
671 -font -*-courier-bold--normal--%d-* -tags .x%x.a%x\n", 744 -font -*-courier-bold--normal--%d-* -tags .x%x.a%x\n",
672 glist_getcanvas(glist), 745 glist_getcanvas(glist),
@@ -674,6 +747,7 @@ static void garray_vis(t_gobj *z, t_glist *glist, int vis)
674 glist_ytopixels(glist, firsty), 747 glist_ytopixels(glist, firsty),
675 x->x_name->s_name, glist_getfont(glist), 748 x->x_name->s_name, glist_getfont(glist),
676 glist_getcanvas(glist), x); 749 glist_getcanvas(glist), x);
750#endif
677 } 751 }
678 else 752 else
679 { 753 {
@@ -682,8 +756,10 @@ static void garray_vis(t_gobj *z, t_glist *glist, int vis)
682 } 756 }
683 else 757 else
684 { 758 {
759#ifndef ROCKBOX
685 sys_vgui(".x%x.c delete .x%x.a%x\n", 760 sys_vgui(".x%x.c delete .x%x.a%x\n",
686 glist_getcanvas(glist), glist_getcanvas(glist), x); 761 glist_getcanvas(glist), glist_getcanvas(glist), x);
762#endif
687 } 763 }
688} 764}
689 765
@@ -702,7 +778,13 @@ static void garray_save(t_gobj *z, t_binbuf *b)
702 t_garray *x = (t_garray *)z; 778 t_garray *x = (t_garray *)z;
703 binbuf_addv(b, "sssisi;", gensym("#X"), gensym("array"), 779 binbuf_addv(b, "sssisi;", gensym("#X"), gensym("array"),
704 x->x_name, x->x_n, x->x_templatesym, x->x_saveit); 780 x->x_name, x->x_n, x->x_templatesym, x->x_saveit);
781#ifdef ROCKBOX
782#ifdef SIMULATOR
783 printf("array save\n");
784#endif /* SIMULATOR */
785#else /* ROCKBOX */
705 fprintf(stderr,"array save\n"); 786 fprintf(stderr,"array save\n");
787#endif /* ROCKBOX */
706 if (x->x_saveit) 788 if (x->x_saveit)
707 { 789 {
708 int n = x->x_n, n2 = 0; 790 int n = x->x_n, n2 = 0;
@@ -877,7 +959,11 @@ static void garray_dofo(t_garray *x, int npoints, float dcval,
877 959
878static void garray_sinesum(t_garray *x, t_symbol *s, int argc, t_atom *argv) 960static void garray_sinesum(t_garray *x, t_symbol *s, int argc, t_atom *argv)
879{ 961{
962#ifdef ROCKBOX
963 (void) s;
964#else
880 t_template *template = garray_template(x); 965 t_template *template = garray_template(x);
966#endif
881 967
882 t_float *svec = (t_float *)t_getbytes(sizeof(t_float) * argc); 968 t_float *svec = (t_float *)t_getbytes(sizeof(t_float) * argc);
883 int npoints, i; 969 int npoints, i;
@@ -902,7 +988,11 @@ static void garray_sinesum(t_garray *x, t_symbol *s, int argc, t_atom *argv)
902 988
903static void garray_cosinesum(t_garray *x, t_symbol *s, int argc, t_atom *argv) 989static void garray_cosinesum(t_garray *x, t_symbol *s, int argc, t_atom *argv)
904{ 990{
991#ifdef ROCKBOX
992 (void) s;
993#else
905 t_template *template = garray_template(x); 994 t_template *template = garray_template(x);
995#endif
906 996
907 t_float *svec = (t_float *)t_getbytes(sizeof(t_float) * argc); 997 t_float *svec = (t_float *)t_getbytes(sizeof(t_float) * argc);
908 int npoints, i; 998 int npoints, i;
@@ -928,7 +1018,11 @@ static void garray_cosinesum(t_garray *x, t_symbol *s, int argc, t_atom *argv)
928static void garray_normalize(t_garray *x, t_float f) 1018static void garray_normalize(t_garray *x, t_float f)
929{ 1019{
930 t_template *template = garray_template(x); 1020 t_template *template = garray_template(x);
1021#ifdef ROCKBOX
1022 int yonset, type, i;
1023#else
931 int yonset, type, npoints, i; 1024 int yonset, type, npoints, i;
1025#endif
932 double maxv, renormer; 1026 double maxv, renormer;
933 t_symbol *arraytype; 1027 t_symbol *arraytype;
934 1028
@@ -968,6 +1062,9 @@ static void garray_list(t_garray *x, t_symbol *s, int argc, t_atom *argv)
968 t_template *template = garray_template(x); 1062 t_template *template = garray_template(x);
969 int yonset, type, i; 1063 int yonset, type, i;
970 t_symbol *arraytype; 1064 t_symbol *arraytype;
1065#ifdef ROCKBOX
1066 (void) s;
1067#endif
971 if (!template_find_field(template, gensym("y"), &yonset, 1068 if (!template_find_field(template, gensym("y"), &yonset,
972 &type, &arraytype) || type != DT_FLOAT) 1069 &type, &arraytype) || type != DT_FLOAT)
973 error("%s: needs floating-point 'y' field", 1070 error("%s: needs floating-point 'y' field",
@@ -1038,7 +1135,11 @@ static void garray_rename(t_garray *x, t_symbol *s)
1038static void garray_read(t_garray *x, t_symbol *filename) 1135static void garray_read(t_garray *x, t_symbol *filename)
1039{ 1136{
1040 int nelem = x->x_n, filedesc; 1137 int nelem = x->x_n, filedesc;
1138#ifdef ROCKBOX
1139 int fd = 0;
1140#else
1041 FILE *fd; 1141 FILE *fd;
1142#endif
1042 char buf[MAXPDSTRING], *bufptr; 1143 char buf[MAXPDSTRING], *bufptr;
1043 t_template *template = garray_template(x); 1144 t_template *template = garray_template(x);
1044 int yonset, type, i; 1145 int yonset, type, i;
@@ -1052,15 +1153,23 @@ static void garray_read(t_garray *x, t_symbol *filename)
1052 if ((filedesc = open_via_path( 1153 if ((filedesc = open_via_path(
1053 canvas_getdir(glist_getcanvas(x->x_glist))->s_name, 1154 canvas_getdir(glist_getcanvas(x->x_glist))->s_name,
1054 filename->s_name, "", buf, &bufptr, MAXPDSTRING, 0)) < 0 1155 filename->s_name, "", buf, &bufptr, MAXPDSTRING, 0)) < 0
1156#ifdef ROCKBOX
1157 )
1158#else
1055 || !(fd = fdopen(filedesc, "r"))) 1159 || !(fd = fdopen(filedesc, "r")))
1160#endif
1056 { 1161 {
1057 error("%s: can't open", filename->s_name); 1162 error("%s: can't open", filename->s_name);
1058 return; 1163 return;
1059 } 1164 }
1060 for (i = 0; i < nelem; i++) 1165 for (i = 0; i < nelem; i++)
1061 { 1166 {
1167#ifdef ROCKBOX
1168 if(rb_fscanf_f(fd, (float*)((x->x_vec + sizeof(t_word) * i) + yonset)))
1169#else
1062 if (!fscanf(fd, "%f", (float *)((x->x_vec + sizeof(t_word) * i) + 1170 if (!fscanf(fd, "%f", (float *)((x->x_vec + sizeof(t_word) * i) +
1063 yonset))) 1171 yonset)))
1172#endif
1064 { 1173 {
1065 post("%s: read %d elements into table of size %d", 1174 post("%s: read %d elements into table of size %d",
1066 filename->s_name, i, nelem); 1175 filename->s_name, i, nelem);
@@ -1069,7 +1178,11 @@ static void garray_read(t_garray *x, t_symbol *filename)
1069 } 1178 }
1070 while (i < nelem) 1179 while (i < nelem)
1071 *(float *)((x->x_vec + sizeof(t_word) * i) + yonset) = 0, i++; 1180 *(float *)((x->x_vec + sizeof(t_word) * i) + yonset) = 0, i++;
1181#ifdef ROCKBOX
1182 close(fd);
1183#else
1072 fclose(fd); 1184 fclose(fd);
1185#endif
1073 garray_redraw(x); 1186 garray_redraw(x);
1074} 1187}
1075 1188
@@ -1090,7 +1203,11 @@ static void garray_read16(t_garray *x, t_symbol *filename,
1090 int skip = fskip, filedesc; 1203 int skip = fskip, filedesc;
1091 int i, nelem; 1204 int i, nelem;
1092 t_sample *vec; 1205 t_sample *vec;
1206#ifdef ROCKBOX
1207 int fd = 0;
1208#else
1093 FILE *fd; 1209 FILE *fd;
1210#endif
1094 char buf[MAXPDSTRING], *bufptr; 1211 char buf[MAXPDSTRING], *bufptr;
1095 short s; 1212 short s;
1096 int cpubig = garray_ambigendian(), swap = 0; 1213 int cpubig = garray_ambigendian(), swap = 0;
@@ -1116,25 +1233,41 @@ static void garray_read16(t_garray *x, t_symbol *filename,
1116 if ((filedesc = open_via_path( 1233 if ((filedesc = open_via_path(
1117 canvas_getdir(glist_getcanvas(x->x_glist))->s_name, 1234 canvas_getdir(glist_getcanvas(x->x_glist))->s_name,
1118 filename->s_name, "", buf, &bufptr, MAXPDSTRING, 1)) < 0 1235 filename->s_name, "", buf, &bufptr, MAXPDSTRING, 1)) < 0
1236#ifdef ROCKBOX
1237 )
1238#else
1119 || !(fd = fdopen(filedesc, BINREADMODE))) 1239 || !(fd = fdopen(filedesc, BINREADMODE)))
1240#endif
1120 { 1241 {
1121 error("%s: can't open", filename->s_name); 1242 error("%s: can't open", filename->s_name);
1122 return; 1243 return;
1123 } 1244 }
1124 if (skip) 1245 if (skip)
1125 { 1246 {
1247#ifdef ROCKBOX
1248 long pos = lseek(fd, (long)skip, SEEK_SET);
1249#else
1126 long pos = fseek(fd, (long)skip, SEEK_SET); 1250 long pos = fseek(fd, (long)skip, SEEK_SET);
1251#endif
1127 if (pos < 0) 1252 if (pos < 0)
1128 { 1253 {
1129 error("%s: can't seek to byte %d", buf, skip); 1254 error("%s: can't seek to byte %d", buf, skip);
1255#ifdef ROCKBOX
1256 close(fd);
1257#else
1130 fclose(fd); 1258 fclose(fd);
1259#endif
1131 return; 1260 return;
1132 } 1261 }
1133 } 1262 }
1134 1263
1135 for (i = 0; i < nelem; i++) 1264 for (i = 0; i < nelem; i++)
1136 { 1265 {
1266#ifdef ROCKBOX
1267 if(read(fd, &s, sizeof(s)) < 1)
1268#else
1137 if (fread(&s, sizeof(s), 1, fd) < 1) 1269 if (fread(&s, sizeof(s), 1, fd) < 1)
1270#endif
1138 { 1271 {
1139 post("%s: read %d elements into table of size %d", 1272 post("%s: read %d elements into table of size %d",
1140 filename->s_name, i, nelem); 1273 filename->s_name, i, nelem);
@@ -1144,13 +1277,21 @@ static void garray_read16(t_garray *x, t_symbol *filename,
1144 vec[i] = s * (1./32768.); 1277 vec[i] = s * (1./32768.);
1145 } 1278 }
1146 while (i < nelem) vec[i++] = 0; 1279 while (i < nelem) vec[i++] = 0;
1280#ifdef ROCKBOX
1281 close(fd);
1282#else
1147 fclose(fd); 1283 fclose(fd);
1284#endif
1148 garray_redraw(x); 1285 garray_redraw(x);
1149} 1286}
1150 1287
1151static void garray_write(t_garray *x, t_symbol *filename) 1288static void garray_write(t_garray *x, t_symbol *filename)
1152{ 1289{
1290#ifdef ROCKBOX
1291 int fd;
1292#else
1153 FILE *fd; 1293 FILE *fd;
1294#endif
1154 char buf[MAXPDSTRING]; 1295 char buf[MAXPDSTRING];
1155 t_template *template = garray_template(x); 1296 t_template *template = garray_template(x);
1156 int yonset, type, i; 1297 int yonset, type, i;
@@ -1164,21 +1305,33 @@ static void garray_write(t_garray *x, t_symbol *filename)
1164 canvas_makefilename(glist_getcanvas(x->x_glist), filename->s_name, 1305 canvas_makefilename(glist_getcanvas(x->x_glist), filename->s_name,
1165 buf, MAXPDSTRING); 1306 buf, MAXPDSTRING);
1166 sys_bashfilename(buf, buf); 1307 sys_bashfilename(buf, buf);
1308#ifdef ROCKBOX
1309 if(!(fd = open(buf, O_WRONLY|O_CREAT|O_TRUNC)))
1310#else
1167 if (!(fd = fopen(buf, "w"))) 1311 if (!(fd = fopen(buf, "w")))
1312#endif
1168 { 1313 {
1169 error("%s: can't create", buf); 1314 error("%s: can't create", buf);
1170 return; 1315 return;
1171 } 1316 }
1172 for (i = 0; i < x->x_n; i++) 1317 for (i = 0; i < x->x_n; i++)
1173 { 1318 {
1319#ifdef ROCKBOX
1320 if(rb_fprintf_f(fd,
1321#else /* ROCKBOX */
1174 if (fprintf(fd, "%g\n", 1322 if (fprintf(fd, "%g\n",
1323#endif /* ROCKBOX */
1175 *(float *)((x->x_vec + sizeof(t_word) * i) + yonset)) < 1) 1324 *(float *)((x->x_vec + sizeof(t_word) * i) + yonset)) < 1)
1176 { 1325 {
1177 post("%s: write error", filename->s_name); 1326 post("%s: write error", filename->s_name);
1178 break; 1327 break;
1179 } 1328 }
1180 } 1329 }
1330#ifdef ROCKBOX
1331 close(fd);
1332#else
1181 fclose(fd); 1333 fclose(fd);
1334#endif
1182} 1335}
1183 1336
1184static unsigned char waveheader[] = { 1337static unsigned char waveheader[] = {
@@ -1203,7 +1356,11 @@ static void garray_write16(t_garray *x, t_symbol *filename, t_symbol *format)
1203 t_template *template = garray_template(x); 1356 t_template *template = garray_template(x);
1204 int yonset, type, i; 1357 int yonset, type, i;
1205 t_symbol *arraytype; 1358 t_symbol *arraytype;
1359#ifdef ROCKBOX
1360 int fd;
1361#else
1206 FILE *fd; 1362 FILE *fd;
1363#endif
1207 int aiff = (format == gensym("aiff")); 1364 int aiff = (format == gensym("aiff"));
1208 char filenamebuf[MAXPDSTRING], buf2[MAXPDSTRING]; 1365 char filenamebuf[MAXPDSTRING], buf2[MAXPDSTRING];
1209 int swap = garray_ambigendian(); /* wave is only little endian */ 1366 int swap = garray_ambigendian(); /* wave is only little endian */
@@ -1230,7 +1387,11 @@ static void garray_write16(t_garray *x, t_symbol *filename, t_symbol *format)
1230 canvas_makefilename(glist_getcanvas(x->x_glist), filenamebuf, 1387 canvas_makefilename(glist_getcanvas(x->x_glist), filenamebuf,
1231 buf2, MAXPDSTRING); 1388 buf2, MAXPDSTRING);
1232 sys_bashfilename(buf2, buf2); 1389 sys_bashfilename(buf2, buf2);
1390#ifdef ROCKBOX
1391 if(!(fd = open(buf2, O_WRONLY|O_CREAT|O_TRUNC)))
1392#else
1233 if (!(fd = fopen(buf2, BINWRITEMODE))) 1393 if (!(fd = fopen(buf2, BINWRITEMODE)))
1394#endif
1234 { 1395 {
1235 error("%s: can't create", buf2); 1396 error("%s: can't create", buf2);
1236 return; 1397 return;
@@ -1251,7 +1412,11 @@ static void garray_write16(t_garray *x, t_symbol *filename, t_symbol *format)
1251 xxx = foo[1]; foo[1] = foo[2]; foo[2] = xxx; 1412 xxx = foo[1]; foo[1] = foo[2]; foo[2] = xxx;
1252 } 1413 }
1253 memcpy((void *)(waveheader + 40), (void *)(&intbuf), 4); 1414 memcpy((void *)(waveheader + 40), (void *)(&intbuf), 4);
1415#ifdef ROCKBOX
1416 if(write(fd, waveheader, sizeof(waveheader)) < 1)
1417#else
1254 if (fwrite(waveheader, sizeof(waveheader), 1, fd) < 1) 1418 if (fwrite(waveheader, sizeof(waveheader), 1, fd) < 1)
1419#endif
1255 { 1420 {
1256 post("%s: write error", buf2); 1421 post("%s: write error", buf2);
1257 goto closeit; 1422 goto closeit;
@@ -1268,21 +1433,31 @@ static void garray_write16(t_garray *x, t_symbol *filename, t_symbol *format)
1268 unsigned char *foo = (unsigned char *)&sh, xxx; 1433 unsigned char *foo = (unsigned char *)&sh, xxx;
1269 xxx = foo[0]; foo[0] = foo[1]; foo[1] = xxx; 1434 xxx = foo[0]; foo[0] = foo[1]; foo[1] = xxx;
1270 } 1435 }
1436#ifdef ROCKBOX
1437 if(write(fd, &sh, sizeof(sh)) < 1)
1438#else
1271 if (fwrite(&sh, sizeof(sh), 1, fd) < 1) 1439 if (fwrite(&sh, sizeof(sh), 1, fd) < 1)
1440#endif
1272 { 1441 {
1273 post("%s: write error", buf2); 1442 post("%s: write error", buf2);
1274 goto closeit; 1443 goto closeit;
1275 } 1444 }
1276 } 1445 }
1277closeit: 1446closeit:
1447#ifdef ROCKBOX
1448 close(fd);
1449#else
1278 fclose(fd); 1450 fclose(fd);
1451#endif
1279} 1452}
1280 1453
1281void garray_resize(t_garray *x, t_floatarg f) 1454void garray_resize(t_garray *x, t_floatarg f)
1282{ 1455{
1283 int was = x->x_n, elemsize; 1456 int was = x->x_n, elemsize;
1284 t_glist *gl; 1457 t_glist *gl;
1458#ifndef ROCKBOX
1285 int dspwas; 1459 int dspwas;
1460#endif
1286 int n = f; 1461 int n = f;
1287 char *nvec; 1462 char *nvec;
1288 1463
@@ -1309,7 +1484,9 @@ void garray_resize(t_garray *x, t_floatarg f)
1309 vmess(&gl->gl_pd, gensym("bounds"), "ffff", 1484 vmess(&gl->gl_pd, gensym("bounds"), "ffff",
1310 0., gl->gl_y1, (double)(n > 1 ? n-1 : 1), gl->gl_y2); 1485 0., gl->gl_y1, (double)(n > 1 ? n-1 : 1), gl->gl_y2);
1311 /* close any dialogs that might have the wrong info now... */ 1486 /* close any dialogs that might have the wrong info now... */
1487#ifndef ROCKBOX
1312 gfxstub_deleteforkey(gl); 1488 gfxstub_deleteforkey(gl);
1489#endif
1313 } 1490 }
1314 else garray_redraw(x); 1491 else garray_redraw(x);
1315 if (x->x_usedindsp) canvas_update_dsp(); 1492 if (x->x_usedindsp) canvas_update_dsp();
diff --git a/apps/plugins/pdbox/PDa/src/g_bang.c b/apps/plugins/pdbox/PDa/src/g_bang.c
index 6556f7019a..ce1bed9c9a 100644
--- a/apps/plugins/pdbox/PDa/src/g_bang.c
+++ b/apps/plugins/pdbox/PDa/src/g_bang.c
@@ -5,7 +5,13 @@
5/* g_7_guis.c written by Thomas Musil (c) IEM KUG Graz Austria 2000-2001 */ 5/* g_7_guis.c written by Thomas Musil (c) IEM KUG Graz Austria 2000-2001 */
6/* thanks to Miller Puckette, Guenther Geiger and Krzystof Czaja */ 6/* thanks to Miller Puckette, Guenther Geiger and Krzystof Czaja */
7 7
8 8#ifdef ROCKBOX
9#include "plugin.h"
10#include "pdbox.h"
11#include "m_pd.h"
12#include "g_canvas.h"
13#include "g_all_guis.h"
14#else /* ROCKBOX */
9#include <stdlib.h> 15#include <stdlib.h>
10#include <string.h> 16#include <string.h>
11#include <stdio.h> 17#include <stdio.h>
@@ -21,6 +27,7 @@
21#else 27#else
22#include <unistd.h> 28#include <unistd.h>
23#endif 29#endif
30#endif /* ROCKBOX */
24 31
25 32
26/* --------------- bng gui-bang ------------------------- */ 33/* --------------- bng gui-bang ------------------------- */
@@ -33,15 +40,24 @@ static t_class *bng_class;
33 40
34void bng_draw_update(t_bng *x, t_glist *glist) 41void bng_draw_update(t_bng *x, t_glist *glist)
35{ 42{
43#ifdef ROCKBOX
44 (void) x;
45 (void) glist;
46#else /* ROCKBOX */
36 if(glist_isvisible(glist)) 47 if(glist_isvisible(glist))
37 { 48 {
38 sys_vgui(".x%x.c itemconfigure %xBUT -fill #%6.6x\n", glist_getcanvas(glist), x, 49 sys_vgui(".x%x.c itemconfigure %xBUT -fill #%6.6x\n", glist_getcanvas(glist), x,
39 x->x_flashed?x->x_gui.x_fcol:x->x_gui.x_bcol); 50 x->x_flashed?x->x_gui.x_fcol:x->x_gui.x_bcol);
40 } 51 }
52#endif /* ROCKBOX */
41} 53}
42 54
43void bng_draw_new(t_bng *x, t_glist *glist) 55void bng_draw_new(t_bng *x, t_glist *glist)
44{ 56{
57#ifdef ROCKBOX
58 (void) x;
59 (void) glist;
60#else /* ROCKBOX */
45 int xpos=text_xpix(&x->x_gui.x_obj, glist); 61 int xpos=text_xpix(&x->x_gui.x_obj, glist);
46 int ypos=text_ypix(&x->x_gui.x_obj, glist); 62 int ypos=text_ypix(&x->x_gui.x_obj, glist);
47 t_canvas *canvas=glist_getcanvas(glist); 63 t_canvas *canvas=glist_getcanvas(glist);
@@ -69,10 +85,15 @@ void bng_draw_new(t_bng *x, t_glist *glist)
69 sys_vgui(".x%x.c create rectangle %d %d %d %d -tags %xIN%d\n", 85 sys_vgui(".x%x.c create rectangle %d %d %d %d -tags %xIN%d\n",
70 canvas, xpos, ypos, 86 canvas, xpos, ypos,
71 xpos + IOWIDTH, ypos+1, x, 0); 87 xpos + IOWIDTH, ypos+1, x, 0);
88#endif /* ROCKBOX */
72} 89}
73 90
74void bng_draw_move(t_bng *x, t_glist *glist) 91void bng_draw_move(t_bng *x, t_glist *glist)
75{ 92{
93#ifdef ROCKBOX
94 (void) x;
95 (void) glist;
96#else /* ROCKBOX */
76 int xpos=text_xpix(&x->x_gui.x_obj, glist); 97 int xpos=text_xpix(&x->x_gui.x_obj, glist);
77 int ypos=text_ypix(&x->x_gui.x_obj, glist); 98 int ypos=text_ypix(&x->x_gui.x_obj, glist);
78 t_canvas *canvas=glist_getcanvas(glist); 99 t_canvas *canvas=glist_getcanvas(glist);
@@ -96,10 +117,15 @@ void bng_draw_move(t_bng *x, t_glist *glist)
96 sys_vgui(".x%x.c coords %xIN%d %d %d %d %d\n", 117 sys_vgui(".x%x.c coords %xIN%d %d %d %d %d\n",
97 canvas, x, 0, xpos, ypos, 118 canvas, x, 0, xpos, ypos,
98 xpos + IOWIDTH, ypos+1); 119 xpos + IOWIDTH, ypos+1);
120#endif /* ROCKBOX */
99} 121}
100 122
101void bng_draw_erase(t_bng* x, t_glist* glist) 123void bng_draw_erase(t_bng* x, t_glist* glist)
102{ 124{
125#ifdef ROCKBOX
126 (void) x;
127 (void) glist;
128#else /* ROCKBOX */
103 t_canvas *canvas=glist_getcanvas(glist); 129 t_canvas *canvas=glist_getcanvas(glist);
104 130
105 sys_vgui(".x%x.c delete %xBASE\n", canvas, x); 131 sys_vgui(".x%x.c delete %xBASE\n", canvas, x);
@@ -109,10 +135,15 @@ void bng_draw_erase(t_bng* x, t_glist* glist)
109 sys_vgui(".x%x.c delete %xOUT%d\n", canvas, x, 0); 135 sys_vgui(".x%x.c delete %xOUT%d\n", canvas, x, 0);
110 if(!x->x_gui.x_fsf.x_rcv_able) 136 if(!x->x_gui.x_fsf.x_rcv_able)
111 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0); 137 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0);
138#endif /* ROCKBOX */
112} 139}
113 140
114void bng_draw_config(t_bng* x, t_glist* glist) 141void bng_draw_config(t_bng* x, t_glist* glist)
115{ 142{
143#ifdef ROCKBOX
144 (void) x;
145 (void) glist;
146#else /* ROCKBOX */
116 t_canvas *canvas=glist_getcanvas(glist); 147 t_canvas *canvas=glist_getcanvas(glist);
117 148
118 sys_vgui(".x%x.c itemconfigure %xLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n", 149 sys_vgui(".x%x.c itemconfigure %xLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n",
@@ -122,10 +153,16 @@ void bng_draw_config(t_bng* x, t_glist* glist)
122 sys_vgui(".x%x.c itemconfigure %xBASE -fill #%6.6x\n", canvas, x, x->x_gui.x_bcol); 153 sys_vgui(".x%x.c itemconfigure %xBASE -fill #%6.6x\n", canvas, x, x->x_gui.x_bcol);
123 sys_vgui(".x%x.c itemconfigure %xBUT -fill #%6.6x\n", canvas, x, 154 sys_vgui(".x%x.c itemconfigure %xBUT -fill #%6.6x\n", canvas, x,
124 x->x_flashed?x->x_gui.x_fcol:x->x_gui.x_bcol); 155 x->x_flashed?x->x_gui.x_fcol:x->x_gui.x_bcol);
156#endif /* ROCKBOX */
125} 157}
126 158
127void bng_draw_io(t_bng* x, t_glist* glist, int old_snd_rcv_flags) 159void bng_draw_io(t_bng* x, t_glist* glist, int old_snd_rcv_flags)
128{ 160{
161#ifdef ROCKBOX
162 (void) x;
163 (void) glist;
164 (void) old_snd_rcv_flags;
165#else /* ROCKBOX */
129 int xpos=text_xpix(&x->x_gui.x_obj, glist); 166 int xpos=text_xpix(&x->x_gui.x_obj, glist);
130 int ypos=text_ypix(&x->x_gui.x_obj, glist); 167 int ypos=text_ypix(&x->x_gui.x_obj, glist);
131 t_canvas *canvas=glist_getcanvas(glist); 168 t_canvas *canvas=glist_getcanvas(glist);
@@ -143,10 +180,15 @@ void bng_draw_io(t_bng* x, t_glist* glist, int old_snd_rcv_flags)
143 xpos + IOWIDTH, ypos+1, x, 0); 180 xpos + IOWIDTH, ypos+1, x, 0);
144 if(!(old_snd_rcv_flags & IEM_GUI_OLD_RCV_FLAG) && x->x_gui.x_fsf.x_rcv_able) 181 if(!(old_snd_rcv_flags & IEM_GUI_OLD_RCV_FLAG) && x->x_gui.x_fsf.x_rcv_able)
145 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0); 182 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0);
183#endif /* ROCKBOX */
146} 184}
147 185
148void bng_draw_select(t_bng* x, t_glist* glist) 186void bng_draw_select(t_bng* x, t_glist* glist)
149{ 187{
188#ifdef ROCKBOX
189 (void) x;
190 (void) glist;
191#else /* ROCKBOX */
150 t_canvas *canvas=glist_getcanvas(glist); 192 t_canvas *canvas=glist_getcanvas(glist);
151 193
152 if(x->x_gui.x_fsf.x_selected) 194 if(x->x_gui.x_fsf.x_selected)
@@ -161,6 +203,7 @@ void bng_draw_select(t_bng* x, t_glist* glist)
161 sys_vgui(".x%x.c itemconfigure %xBUT -outline #%6.6x\n", canvas, x, IEM_GUI_COLOR_NORMAL); 203 sys_vgui(".x%x.c itemconfigure %xBUT -outline #%6.6x\n", canvas, x, IEM_GUI_COLOR_NORMAL);
162 sys_vgui(".x%x.c itemconfigure %xLABEL -fill #%6.6x\n", canvas, x, x->x_gui.x_lcol); 204 sys_vgui(".x%x.c itemconfigure %xLABEL -fill #%6.6x\n", canvas, x, x->x_gui.x_lcol);
163 } 205 }
206#endif /* ROCKBOX */
164} 207}
165 208
166void bng_draw(t_bng *x, t_glist *glist, int mode) 209void bng_draw(t_bng *x, t_glist *glist, int mode)
@@ -232,6 +275,10 @@ void bng_check_minmax(t_bng *x, int ftbreak, int fthold)
232 275
233static void bng_properties(t_gobj *z, t_glist *owner) 276static void bng_properties(t_gobj *z, t_glist *owner)
234{ 277{
278#ifdef ROCKBOX
279 (void) z;
280 (void) owner;
281#else /* ROCKBOX */
235 t_bng *x = (t_bng *)z; 282 t_bng *x = (t_bng *)z;
236 char buf[800]; 283 char buf[800];
237 t_symbol *srl[3]; 284 t_symbol *srl[3];
@@ -253,6 +300,7 @@ static void bng_properties(t_gobj *z, t_glist *owner)
253 x->x_gui.x_fsf.x_font_style, x->x_gui.x_fontsize, 300 x->x_gui.x_fsf.x_font_style, x->x_gui.x_fontsize,
254 0xffffff & x->x_gui.x_bcol, 0xffffff & x->x_gui.x_fcol, 0xffffff & x->x_gui.x_lcol); 301 0xffffff & x->x_gui.x_bcol, 0xffffff & x->x_gui.x_fcol, 0xffffff & x->x_gui.x_lcol);
255 gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf); 302 gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf);
303#endif /* ROCKBOX */
256} 304}
257 305
258static void bng_set(t_bng *x) 306static void bng_set(t_bng *x)
@@ -316,6 +364,9 @@ static void bng_bang2(t_bng *x)/*wird immer gesendet, wenn moeglich*/
316 364
317static void bng_dialog(t_bng *x, t_symbol *s, int argc, t_atom *argv) 365static void bng_dialog(t_bng *x, t_symbol *s, int argc, t_atom *argv)
318{ 366{
367#ifdef ROCKBOX
368 (void) s;
369#endif
319 t_symbol *srl[3]; 370 t_symbol *srl[3];
320 int a = (int)atom_getintarg(0, argc, argv); 371 int a = (int)atom_getintarg(0, argc, argv);
321 int fthold = (int)atom_getintarg(2, argc, argv); 372 int fthold = (int)atom_getintarg(2, argc, argv);
@@ -333,33 +384,84 @@ static void bng_dialog(t_bng *x, t_symbol *s, int argc, t_atom *argv)
333 384
334static void bng_click(t_bng *x, t_floatarg xpos, t_floatarg ypos, t_floatarg shift, t_floatarg ctrl, t_floatarg alt) 385static void bng_click(t_bng *x, t_floatarg xpos, t_floatarg ypos, t_floatarg shift, t_floatarg ctrl, t_floatarg alt)
335{ 386{
387#ifdef ROCKBOX
388 (void) xpos;
389 (void) ypos;
390 (void) shift;
391 (void) ctrl;
392 (void) alt;
393#endif
336 bng_set(x); 394 bng_set(x);
337 bng_bout2(x); 395 bng_bout2(x);
338} 396}
339 397
340static int bng_newclick(t_gobj *z, struct _glist *glist, int xpix, int ypix, int shift, int alt, int dbl, int doit) 398static int bng_newclick(t_gobj *z, struct _glist *glist, int xpix, int ypix, int shift, int alt, int dbl, int doit)
341{ 399{
400#ifdef ROCKBOX
401 (void) glist;
402 (void) dbl;
403#endif
342 if(doit) 404 if(doit)
343 bng_click((t_bng *)z, (t_floatarg)xpix, (t_floatarg)ypix, (t_floatarg)shift, 0, (t_floatarg)alt); 405 bng_click((t_bng *)z, (t_floatarg)xpix, (t_floatarg)ypix, (t_floatarg)shift, 0, (t_floatarg)alt);
344 return (1); 406 return (1);
345} 407}
346 408
347static void bng_float(t_bng *x, t_floatarg f) 409static void bng_float(t_bng *x, t_floatarg f)
410#ifdef ROCKBOX
411{
412 (void) f;
413
414 bng_bang2(x);
415}
416#else /* ROCKBOX */
348{bng_bang2(x);} 417{bng_bang2(x);}
418#endif /* ROCKBOX */
349 419
350static void bng_symbol(t_bng *x, t_symbol *s) 420static void bng_symbol(t_bng *x, t_symbol *s)
421#ifdef ROCKBOX
422{
423 (void) s;
424
425 bng_bang2(x);
426}
427#else /* ROCKBOX */
351{bng_bang2(x);} 428{bng_bang2(x);}
429#endif /* ROCKBOX */
352 430
353static void bng_pointer(t_bng *x, t_gpointer *gp) 431static void bng_pointer(t_bng *x, t_gpointer *gp)
432#ifdef ROCKBOX
433{
434 (void) gp;
435
436 bng_bang2(x);
437}
438#else /* ROCKBOX */
354{bng_bang2(x);} 439{bng_bang2(x);}
440#endif /* ROCKBOX */
355 441
356static void bng_list(t_bng *x, t_symbol *s, int ac, t_atom *av) 442static void bng_list(t_bng *x, t_symbol *s, int ac, t_atom *av)
357{ 443{
444#ifdef ROCKBOX
445 (void) s;
446 (void) ac;
447 (void) av;
448#endif /* ROCKBOX */
449
358 bng_bang2(x); 450 bng_bang2(x);
359} 451}
360 452
361static void bng_anything(t_bng *x, t_symbol *s, int argc, t_atom *argv) 453static void bng_anything(t_bng *x, t_symbol *s, int argc, t_atom *argv)
454#ifdef ROCKBOX
455{
456 (void) s;
457 (void) argc;
458 (void) argv;
459
460 bng_bang2(x);
461}
462#else /* ROCKBOX */
362{bng_bang2(x);} 463{bng_bang2(x);}
464#endif /* ROCKBOX */
363 465
364static void bng_loadbang(t_bng *x) 466static void bng_loadbang(t_bng *x)
365{ 467{
@@ -372,6 +474,9 @@ static void bng_loadbang(t_bng *x)
372 474
373static void bng_size(t_bng *x, t_symbol *s, int ac, t_atom *av) 475static void bng_size(t_bng *x, t_symbol *s, int ac, t_atom *av)
374{ 476{
477#ifdef ROCKBOX
478 (void) s;
479#endif
375 x->x_gui.x_w = iemgui_clip_size((int)atom_getintarg(0, ac, av)); 480 x->x_gui.x_w = iemgui_clip_size((int)atom_getintarg(0, ac, av));
376 x->x_gui.x_h = x->x_gui.x_w; 481 x->x_gui.x_h = x->x_gui.x_w;
377 iemgui_size((void *)x, &x->x_gui); 482 iemgui_size((void *)x, &x->x_gui);
@@ -385,6 +490,9 @@ static void bng_pos(t_bng *x, t_symbol *s, int ac, t_atom *av)
385 490
386static void bng_flashtime(t_bng *x, t_symbol *s, int ac, t_atom *av) 491static void bng_flashtime(t_bng *x, t_symbol *s, int ac, t_atom *av)
387{ 492{
493#ifdef ROCKBOX
494 (void) s;
495#endif
388 bng_check_minmax(x, (int)atom_getintarg(0, ac, av), 496 bng_check_minmax(x, (int)atom_getintarg(0, ac, av),
389 (int)atom_getintarg(1, ac, av)); 497 (int)atom_getintarg(1, ac, av));
390} 498}
@@ -437,7 +545,11 @@ static void *bng_new(t_symbol *s, int argc, t_atom *argv)
437 int fs=8; 545 int fs=8;
438 int ftbreak=IEM_BNG_DEFAULTBREAKFLASHTIME, 546 int ftbreak=IEM_BNG_DEFAULTBREAKFLASHTIME,
439 fthold=IEM_BNG_DEFAULTHOLDFLASHTIME; 547 fthold=IEM_BNG_DEFAULTHOLDFLASHTIME;
548#ifdef ROCKBOX
549 (void) s;
550#else
440 char str[144]; 551 char str[144];
552#endif
441 553
442 iem_inttosymargs(&x->x_gui.x_isa, 0); 554 iem_inttosymargs(&x->x_gui.x_isa, 0);
443 iem_inttofstyle(&x->x_gui.x_fsf, 0); 555 iem_inttofstyle(&x->x_gui.x_fsf, 0);
@@ -511,7 +623,9 @@ static void bng_ff(t_bng *x)
511 clock_free(x->x_clock_lck); 623 clock_free(x->x_clock_lck);
512 clock_free(x->x_clock_brk); 624 clock_free(x->x_clock_brk);
513 clock_free(x->x_clock_hld); 625 clock_free(x->x_clock_hld);
626#ifndef ROCKBOX
514 gfxstub_deleteforkey(x); 627 gfxstub_deleteforkey(x);
628#endif
515} 629}
516 630
517void g_bang_setup(void) 631void g_bang_setup(void)
diff --git a/apps/plugins/pdbox/PDa/src/g_canvas.c b/apps/plugins/pdbox/PDa/src/g_canvas.c
index f8b8dda0cf..19c10474c1 100644
--- a/apps/plugins/pdbox/PDa/src/g_canvas.c
+++ b/apps/plugins/pdbox/PDa/src/g_canvas.c
@@ -18,6 +18,15 @@ to be different but are now unified except for some fossilized names.) */
18 * changes marked with IOhannes 18 * changes marked with IOhannes
19 */ 19 */
20 20
21#ifdef ROCKBOX
22#include "plugin.h"
23#include "pdbox.h"
24#include "m_pd.h"
25#include "m_imp.h"
26#include "s_stuff.h"
27#include "g_canvas.h"
28#include "g_all_guis.h"
29#else /* ROCKBOX */
21#include <stdlib.h> 30#include <stdlib.h>
22#include <stdio.h> 31#include <stdio.h>
23#include "m_pd.h" 32#include "m_pd.h"
@@ -26,6 +35,7 @@ to be different but are now unified except for some fossilized names.) */
26#include "g_canvas.h" 35#include "g_canvas.h"
27#include <string.h> 36#include <string.h>
28#include "g_all_guis.h" 37#include "g_all_guis.h"
38#endif /* ROCKBOX */
29 39
30struct _canvasenvironment 40struct _canvasenvironment
31{ 41{
@@ -83,7 +93,12 @@ static void glist_doupdatewindowlist(t_glist *gl, char *sbuf)
83 if (strlen(sbuf) + strlen(gl->gl_name->s_name) + 100 <= 1024) 93 if (strlen(sbuf) + strlen(gl->gl_name->s_name) + 100 <= 1024)
84 { 94 {
85 char tbuf[1024]; 95 char tbuf[1024];
96#ifdef ROCKBOX
97 snprintf(tbuf, sizeof(tbuf)-1,
98 "{%s .x%x} ", gl->gl_name->s_name, (t_int)canvas);
99#else /* ROCKBOX */
86 sprintf(tbuf, "{%s .x%x} ", gl->gl_name->s_name, (t_int)canvas); 100 sprintf(tbuf, "{%s .x%x} ", gl->gl_name->s_name, (t_int)canvas);
101#endif /* ROCKBOX */
87 strcat(sbuf, tbuf); 102 strcat(sbuf, tbuf);
88 } 103 }
89 } 104 }
@@ -107,7 +122,9 @@ void canvas_updatewindowlist( void)
107 glist_doupdatewindowlist(x, sbuf); 122 glist_doupdatewindowlist(x, sbuf);
108 /* next line updates the window menu state before -postcommand tries it */ 123 /* next line updates the window menu state before -postcommand tries it */
109 strcat(sbuf, "}\npdtk_fixwindowmenu\n"); 124 strcat(sbuf, "}\npdtk_fixwindowmenu\n");
125#ifndef ROCKBOX
110 sys_gui(sbuf); 126 sys_gui(sbuf);
127#endif
111} 128}
112 129
113 /* add a glist the list of "root" canvases (toplevels without parents.) */ 130 /* add a glist the list of "root" canvases (toplevels without parents.) */
@@ -144,6 +161,9 @@ void canvas_setargs(int argc, t_atom *argv)
144 161
145void glob_setfilename(void *dummy, t_symbol *filesym, t_symbol *dirsym) 162void glob_setfilename(void *dummy, t_symbol *filesym, t_symbol *dirsym)
146{ 163{
164#ifdef ROCKBOX
165 (void) dummy;
166#endif
147 canvas_newfilename = filesym; 167 canvas_newfilename = filesym;
148 canvas_newdirectory = dirsym; 168 canvas_newdirectory = dirsym;
149} 169}
@@ -286,7 +306,7 @@ t_outconnect *linetraverser_next(t_linetraverser *t)
286 if (!t->tr_ob) y = t->tr_x->gl_list; 306 if (!t->tr_ob) y = t->tr_x->gl_list;
287 else y = t->tr_ob->ob_g.g_next; 307 else y = t->tr_ob->ob_g.g_next;
288 for (; y; y = y->g_next) 308 for (; y; y = y->g_next)
289 if (ob = pd_checkobject(&y->g_pd)) break; 309 if((ob = pd_checkobject(&y->g_pd))) break;
290 if (!ob) return (0); 310 if (!ob) return (0);
291 t->tr_ob = ob; 311 t->tr_ob = ob;
292 t->tr_nout = obj_noutlets(ob); 312 t->tr_nout = obj_noutlets(ob);
@@ -357,7 +377,13 @@ t_canvas *canvas_new(void *dummy, t_symbol *sel, int argc, t_atom *argv)
357 t_symbol *s = &s_; 377 t_symbol *s = &s_;
358 int vis = 0, width = GLIST_DEFCANVASWIDTH, height = GLIST_DEFCANVASHEIGHT; 378 int vis = 0, width = GLIST_DEFCANVASWIDTH, height = GLIST_DEFCANVASHEIGHT;
359 int xloc = 0, yloc = GLIST_DEFCANVASYLOC; 379 int xloc = 0, yloc = GLIST_DEFCANVASYLOC;
380#ifdef ROCKBOX
381 (void) dummy;
382 (void) sel;
383 int font = 10;
384#else /* ROCKBOX */
360 int font = (owner ? owner->gl_font : sys_defaultfont); 385 int font = (owner ? owner->gl_font : sys_defaultfont);
386#endif /* ROCKBOX */
361 glist_init(x); 387 glist_init(x);
362 x->gl_obj.te_type = T_OBJECT; 388 x->gl_obj.te_type = T_OBJECT;
363 if (!owner) 389 if (!owner)
@@ -415,7 +441,11 @@ t_canvas *canvas_new(void *dummy, t_symbol *sel, int argc, t_atom *argv)
415 x->gl_loading = 1; 441 x->gl_loading = 1;
416 x->gl_willvis = vis; 442 x->gl_willvis = vis;
417 x->gl_edit = !strncmp(x->gl_name->s_name, "Untitled", 8); 443 x->gl_edit = !strncmp(x->gl_name->s_name, "Untitled", 8);
444#ifdef ROCKBOX
445 x->gl_font = 10;
446#else /* ROCKBOX */
418 x->gl_font = sys_nearestfontsize(font); 447 x->gl_font = sys_nearestfontsize(font);
448#endif /* ROCKBOX */
419 pd_pushsym(&x->gl_pd); 449 pd_pushsym(&x->gl_pd);
420 return(x); 450 return(x);
421} 451}
@@ -424,6 +454,9 @@ void canvas_setgraph(t_glist *x, int flag);
424 454
425static void canvas_coords(t_glist *x, t_symbol *s, int argc, t_atom *argv) 455static void canvas_coords(t_glist *x, t_symbol *s, int argc, t_atom *argv)
426{ 456{
457#ifdef ROCKBOX
458 (void) s;
459#endif
427 x->gl_x1 = atom_getfloatarg(0, argc, argv); 460 x->gl_x1 = atom_getfloatarg(0, argc, argv);
428 x->gl_y1 = atom_getfloatarg(1, argc, argv); 461 x->gl_y1 = atom_getfloatarg(1, argc, argv);
429 x->gl_x2 = atom_getfloatarg(2, argc, argv); 462 x->gl_x2 = atom_getfloatarg(2, argc, argv);
@@ -449,7 +482,11 @@ t_glist *glist_addglist(t_glist *g, t_symbol *sym,
449 if (!*sym->s_name) 482 if (!*sym->s_name)
450 { 483 {
451 char buf[40]; 484 char buf[40];
485#ifdef ROCKBOX
486 snprintf(buf, sizeof(buf)-1, "graph%d", ++gcount);
487#else /* ROCKBOX */
452 sprintf(buf, "graph%d", ++gcount); 488 sprintf(buf, "graph%d", ++gcount);
489#endif /* ROCKBOX */
453 sym = gensym(buf); 490 sym = gensym(buf);
454 menu = 1; 491 menu = 1;
455 } 492 }
@@ -484,8 +521,12 @@ t_glist *glist_addglist(t_glist *g, t_symbol *sym,
484 x->gl_obj.te_ypix = py1; 521 x->gl_obj.te_ypix = py1;
485 x->gl_pixwidth = px2 - px1; 522 x->gl_pixwidth = px2 - px1;
486 x->gl_pixheight = py2 - py1; 523 x->gl_pixheight = py2 - py1;
524#ifdef ROCKBOX
525 x->gl_font = 10;
526#else /* ROCKBOX */
487 x->gl_font = (canvas_getcurrent() ? 527 x->gl_font = (canvas_getcurrent() ?
488 canvas_getcurrent()->gl_font : sys_defaultfont); 528 canvas_getcurrent()->gl_font : sys_defaultfont);
529#endif /* ROCKBOX */
489 x->gl_screenx1 = x->gl_screeny1 = 0; 530 x->gl_screenx1 = x->gl_screeny1 = 0;
490 x->gl_screenx2 = 240; 531 x->gl_screenx2 = 240;
491 x->gl_screeny2 = 300; 532 x->gl_screeny2 = 300;
@@ -507,6 +548,9 @@ t_glist *glist_addglist(t_glist *g, t_symbol *sym,
507 /* call glist_addglist from a Pd message */ 548 /* call glist_addglist from a Pd message */
508void glist_glist(t_glist *g, t_symbol *s, int argc, t_atom *argv) 549void glist_glist(t_glist *g, t_symbol *s, int argc, t_atom *argv)
509{ 550{
551#ifdef ROCKBOX
552 (void) s;
553#endif
510 t_symbol *sym = atom_getsymbolarg(0, argc, argv); 554 t_symbol *sym = atom_getsymbolarg(0, argc, argv);
511 float x1 = atom_getfloatarg(1, argc, argv); 555 float x1 = atom_getfloatarg(1, argc, argv);
512 float y1 = atom_getfloatarg(2, argc, argv); 556 float y1 = atom_getfloatarg(2, argc, argv);
@@ -584,9 +628,11 @@ void canvas_reflecttitle(t_canvas *x)
584 strcat(namebuf, ")"); 628 strcat(namebuf, ")");
585 } 629 }
586 else namebuf[0] = 0; 630 else namebuf[0] = 0;
631#ifndef ROCKBOX
587 sys_vgui("wm title .x%x {%s%c%s - %s}\n", 632 sys_vgui("wm title .x%x {%s%c%s - %s}\n",
588 x, x->gl_name->s_name, (x->gl_dirty? '*' : ' '), namebuf, 633 x, x->gl_name->s_name, (x->gl_dirty? '*' : ' '), namebuf,
589 canvas_getdir(x)->s_name); 634 canvas_getdir(x)->s_name);
635#endif
590} 636}
591 637
592void canvas_dirty(t_canvas *x, t_int n) 638void canvas_dirty(t_canvas *x, t_int n)
@@ -624,7 +670,9 @@ void canvas_map(t_canvas *x, t_floatarg f)
624 canvas_drawlines(x); 670 canvas_drawlines(x);
625 /* simulate a mouse up so u_main will calculate scrollbars... 671 /* simulate a mouse up so u_main will calculate scrollbars...
626 ugly! */ 672 ugly! */
673#ifndef ROCKBOX
627 sys_vgui("pdtk_canvas_mouseup .x%x.c 0 0 0\n", x); 674 sys_vgui("pdtk_canvas_mouseup .x%x.c 0 0 0\n", x);
675#endif
628 } 676 }
629 } 677 }
630 else 678 else
@@ -632,7 +680,9 @@ void canvas_map(t_canvas *x, t_floatarg f)
632 if (glist_isvisible(x)) 680 if (glist_isvisible(x))
633 { 681 {
634 /* just clear out the whole canvas... */ 682 /* just clear out the whole canvas... */
683#ifndef ROCKBOX
635 sys_vgui(".x%x.c delete all\n", x); 684 sys_vgui(".x%x.c delete all\n", x);
685#endif
636 /* alternatively, we could have erased them one by one... 686 /* alternatively, we could have erased them one by one...
637 for (y = x->gl_list; y; y = y->g_next) 687 for (y = x->gl_list; y; y = y->g_next)
638 gobj_vis(y, x, 0); 688 gobj_vis(y, x, 0);
@@ -661,7 +711,11 @@ static t_editor *editor_new(t_glist *owner)
661 x->e_connectbuf = binbuf_new(); 711 x->e_connectbuf = binbuf_new();
662 x->e_deleted = binbuf_new(); 712 x->e_deleted = binbuf_new();
663 x->e_glist = owner; 713 x->e_glist = owner;
714#ifdef ROCKBOX
715 snprintf(buf, sizeof(buf)-1, ".x%x", (t_int)owner);
716#else /* ROCKBOX */
664 sprintf(buf, ".x%x", (t_int)owner); 717 sprintf(buf, ".x%x", (t_int)owner);
718#endif /* ROCKBOX */
665 x->e_guiconnect = guiconnect_new(&owner->gl_pd, gensym(buf)); 719 x->e_guiconnect = guiconnect_new(&owner->gl_pd, gensym(buf));
666 return (x); 720 return (x);
667} 721}
@@ -689,7 +743,7 @@ void canvas_create_editor(t_glist *x, int createit)
689 { 743 {
690 x->gl_editor = editor_new(x); 744 x->gl_editor = editor_new(x);
691 for (y = x->gl_list; y; y = y->g_next) 745 for (y = x->gl_list; y; y = y->g_next)
692 if (ob = pd_checkobject(&y->g_pd)) 746 if((ob = pd_checkobject(&y->g_pd)))
693 rtext_new(x, ob); 747 rtext_new(x, ob);
694 } 748 }
695 } 749 }
@@ -700,7 +754,7 @@ void canvas_create_editor(t_glist *x, int createit)
700 else 754 else
701 { 755 {
702 for (y = x->gl_list; y; y = y->g_next) 756 for (y = x->gl_list; y; y = y->g_next)
703 if (ob = pd_checkobject(&y->g_pd)) 757 if((ob = pd_checkobject(&y->g_pd)))
704 rtext_free(glist_findrtext(x, ob)); 758 rtext_free(glist_findrtext(x, ob));
705 editor_free(x->gl_editor, x); 759 editor_free(x->gl_editor, x);
706 x->gl_editor = 0; 760 x->gl_editor = 0;
@@ -717,7 +771,9 @@ void canvas_create_editor(t_glist *x, int createit)
717 the window. */ 771 the window. */
718void canvas_vis(t_canvas *x, t_floatarg f) 772void canvas_vis(t_canvas *x, t_floatarg f)
719{ 773{
774#ifndef ROCKBOX
720 char buf[30]; 775 char buf[30];
776#endif
721 int flag = (f != 0); 777 int flag = (f != 0);
722 if (flag) 778 if (flag)
723 { 779 {
@@ -728,19 +784,23 @@ void canvas_vis(t_canvas *x, t_floatarg f)
728 canvas_vis(x, 0); 784 canvas_vis(x, 0);
729 canvas_vis(x, 1); 785 canvas_vis(x, 1);
730#else 786#else
787#ifndef ROCKBOX
731 sys_vgui("raise .x%x\n", x); 788 sys_vgui("raise .x%x\n", x);
732 sys_vgui("focus .x%x.c\n", x); 789 sys_vgui("focus .x%x.c\n", x);
733 sys_vgui("wm deiconify .x%x\n", x); 790 sys_vgui("wm deiconify .x%x\n", x);
791#endif /* ROCKBOX */
734#endif 792#endif
735 } 793 }
736 else 794 else
737 { 795 {
738 canvas_create_editor(x, 1); 796 canvas_create_editor(x, 1);
797#ifndef ROCKBOX
739 sys_vgui("pdtk_canvas_new .x%x %d %d +%d+%d %d\n", x, 798 sys_vgui("pdtk_canvas_new .x%x %d %d +%d+%d %d\n", x,
740 (int)(x->gl_screenx2 - x->gl_screenx1), 799 (int)(x->gl_screenx2 - x->gl_screenx1),
741 (int)(x->gl_screeny2 - x->gl_screeny1), 800 (int)(x->gl_screeny2 - x->gl_screeny1),
742 (int)(x->gl_screenx1), (int)(x->gl_screeny1), 801 (int)(x->gl_screenx1), (int)(x->gl_screeny1),
743 x->gl_edit); 802 x->gl_edit);
803#endif /* ROCKBOX */
744 canvas_reflecttitle(x); 804 canvas_reflecttitle(x);
745 x->gl_havewindow = 1; 805 x->gl_havewindow = 1;
746 canvas_updatewindowlist(); 806 canvas_updatewindowlist();
@@ -765,10 +825,14 @@ void canvas_vis(t_canvas *x, t_floatarg f)
765 if (glist_isvisible(x)) 825 if (glist_isvisible(x))
766 canvas_map(x, 0); 826 canvas_map(x, 0);
767 canvas_create_editor(x, 0); 827 canvas_create_editor(x, 0);
828#ifndef ROCKBOX
768 sys_vgui("destroy .x%x\n", x); 829 sys_vgui("destroy .x%x\n", x);
830#endif
769 for (i = 1, x2 = x; x2; x2 = x2->gl_next, i++) 831 for (i = 1, x2 = x; x2; x2 = x2->gl_next, i++)
770 ; 832 ;
833#ifndef ROCKBOX
771 sys_vgui(".mbar.find delete %d\n", i); 834 sys_vgui(".mbar.find delete %d\n", i);
835#endif
772 /* if we're a graph on our parent, and if the parent exists 836 /* if we're a graph on our parent, and if the parent exists
773 and is visible, show ourselves on parent. */ 837 and is visible, show ourselves on parent. */
774 if (glist_isgraph(x) && x->gl_owner) 838 if (glist_isgraph(x) && x->gl_owner)
@@ -837,7 +901,7 @@ void canvas_free(t_canvas *x)
837 if (canvas_whichfind == x) 901 if (canvas_whichfind == x)
838 canvas_whichfind = 0; 902 canvas_whichfind = 0;
839 glist_noselect(x); 903 glist_noselect(x);
840 while (y = x->gl_list) 904 while((y = x->gl_list))
841 glist_delete(x, y); 905 glist_delete(x, y);
842 canvas_vis(x, 0); 906 canvas_vis(x, 0);
843 907
@@ -850,7 +914,9 @@ void canvas_free(t_canvas *x)
850 } 914 }
851 canvas_resume_dsp(dspstate); 915 canvas_resume_dsp(dspstate);
852 glist_cleanup(x); 916 glist_cleanup(x);
917#ifndef ROCKBOX
853 gfxstub_deleteforkey(x); /* probably unnecessary */ 918 gfxstub_deleteforkey(x); /* probably unnecessary */
919#endif
854 if (!x->gl_owner) 920 if (!x->gl_owner)
855 canvas_takeofflist(x); 921 canvas_takeofflist(x);
856} 922}
@@ -863,12 +929,16 @@ static void canvas_drawlines(t_canvas *x)
863 t_outconnect *oc; 929 t_outconnect *oc;
864 { 930 {
865 linetraverser_start(&t, x); 931 linetraverser_start(&t, x);
866 while (oc = linetraverser_next(&t)) 932 while((oc = linetraverser_next(&t)))
933#ifdef ROCKBOX
934 ;
935#else /* ROCKBOX */
867 sys_vgui(".x%x.c create line %d %d %d %d -width %d -tags l%x\n", 936 sys_vgui(".x%x.c create line %d %d %d %d -width %d -tags l%x\n",
868 glist_getcanvas(x), 937 glist_getcanvas(x),
869 t.tr_lx1, t.tr_ly1, t.tr_lx2, t.tr_ly2, 938 t.tr_lx1, t.tr_ly1, t.tr_lx2, t.tr_ly2,
870 (outlet_getsymbol(t.tr_outlet) == &s_signal ? 2:1), 939 (outlet_getsymbol(t.tr_outlet) == &s_signal ? 2:1),
871 oc); 940 oc);
941#endif /* ROCKBOX */
872 } 942 }
873} 943}
874 944
@@ -878,13 +948,15 @@ void canvas_fixlinesfor(t_canvas *x, t_text *text)
878 t_outconnect *oc; 948 t_outconnect *oc;
879 949
880 linetraverser_start(&t, x); 950 linetraverser_start(&t, x);
881 while (oc = linetraverser_next(&t)) 951 while((oc = linetraverser_next(&t)))
882 { 952 {
883 if (t.tr_ob == text || t.tr_ob2 == text) 953 if (t.tr_ob == text || t.tr_ob2 == text)
884 { 954 {
955#ifndef ROCKBOX
885 sys_vgui(".x%x.c coords l%x %d %d %d %d\n", 956 sys_vgui(".x%x.c coords l%x %d %d %d %d\n",
886 glist_getcanvas(x), oc, 957 glist_getcanvas(x), oc,
887 t.tr_lx1, t.tr_ly1, t.tr_lx2, t.tr_ly2); 958 t.tr_lx1, t.tr_ly1, t.tr_lx2, t.tr_ly2);
959#endif
888 } 960 }
889 } 961 }
890} 962}
@@ -895,14 +967,16 @@ void canvas_deletelinesfor(t_canvas *x, t_text *text)
895 t_linetraverser t; 967 t_linetraverser t;
896 t_outconnect *oc; 968 t_outconnect *oc;
897 linetraverser_start(&t, x); 969 linetraverser_start(&t, x);
898 while (oc = linetraverser_next(&t)) 970 while((oc = linetraverser_next(&t)))
899 { 971 {
900 if (t.tr_ob == text || t.tr_ob2 == text) 972 if (t.tr_ob == text || t.tr_ob2 == text)
901 { 973 {
902 if (x->gl_editor) 974 if (x->gl_editor)
903 { 975 {
976#ifndef ROCKBOX
904 sys_vgui(".x%x.c delete l%x\n", 977 sys_vgui(".x%x.c delete l%x\n",
905 glist_getcanvas(x), oc); 978 glist_getcanvas(x), oc);
979#endif
906 } 980 }
907 obj_disconnect(t.tr_ob, t.tr_outno, t.tr_ob2, t.tr_inno); 981 obj_disconnect(t.tr_ob, t.tr_outno, t.tr_ob2, t.tr_inno);
908 } 982 }
@@ -916,15 +990,17 @@ void canvas_deletelinesforio(t_canvas *x, t_text *text,
916 t_linetraverser t; 990 t_linetraverser t;
917 t_outconnect *oc; 991 t_outconnect *oc;
918 linetraverser_start(&t, x); 992 linetraverser_start(&t, x);
919 while (oc = linetraverser_next(&t)) 993 while((oc = linetraverser_next(&t)))
920 { 994 {
921 if ((t.tr_ob == text && t.tr_outlet == outp) || 995 if ((t.tr_ob == text && t.tr_outlet == outp) ||
922 (t.tr_ob2 == text && t.tr_inlet == inp)) 996 (t.tr_ob2 == text && t.tr_inlet == inp))
923 { 997 {
924 if (x->gl_editor) 998 if (x->gl_editor)
925 { 999 {
1000#ifndef ROCKBOX
926 sys_vgui(".x%x.c delete l%x\n", 1001 sys_vgui(".x%x.c delete l%x\n",
927 glist_getcanvas(x), oc); 1002 glist_getcanvas(x), oc);
1003#endif
928 } 1004 }
929 obj_disconnect(t.tr_ob, t.tr_outno, t.tr_ob2, t.tr_inno); 1005 obj_disconnect(t.tr_ob, t.tr_outno, t.tr_ob2, t.tr_inno);
930 } 1006 }
@@ -947,6 +1023,9 @@ void canvas_objfor(t_glist *gl, t_text *x, int argc, t_atom *argv);
947void canvas_restore(t_canvas *x, t_symbol *s, int argc, t_atom *argv) 1023void canvas_restore(t_canvas *x, t_symbol *s, int argc, t_atom *argv)
948{ /* IOhannes */ 1024{ /* IOhannes */
949 t_pd *z; 1025 t_pd *z;
1026#ifdef ROCKBOX
1027 (void) s;
1028#endif
950 /* this should be unnecessary, but sometimes the canvas's name gets 1029 /* this should be unnecessary, but sometimes the canvas's name gets
951 out of sync with the owning box's argument; this fixes that */ 1030 out of sync with the owning box's argument; this fixes that */
952 if (argc > 3) 1031 if (argc > 3)
@@ -992,7 +1071,9 @@ void canvas_restore(t_canvas *x, t_symbol *s, int argc, t_atom *argv)
992static void canvas_loadbangabstractions(t_canvas *x) 1071static void canvas_loadbangabstractions(t_canvas *x)
993{ 1072{
994 t_gobj *y; 1073 t_gobj *y;
1074#ifndef ROCKBOX
995 t_symbol *s = gensym("loadbang"); 1075 t_symbol *s = gensym("loadbang");
1076#endif
996 for (y = x->gl_list; y; y = y->g_next) 1077 for (y = x->gl_list; y; y = y->g_next)
997 if (pd_class(&y->g_pd) == canvas_class) 1078 if (pd_class(&y->g_pd) == canvas_class)
998 { 1079 {
@@ -1021,7 +1102,9 @@ void canvas_loadbangsubpatches(t_canvas *x)
1021 1102
1022void canvas_loadbang(t_canvas *x) 1103void canvas_loadbang(t_canvas *x)
1023{ 1104{
1105#ifndef ROCKBOX
1024 t_gobj *y; 1106 t_gobj *y;
1107#endif
1025 canvas_loadbangabstractions(x); 1108 canvas_loadbangabstractions(x);
1026 canvas_loadbangsubpatches(x); 1109 canvas_loadbangsubpatches(x);
1027} 1110}
@@ -1042,6 +1125,11 @@ void canvas_loadbang(t_canvas *x)
1042static void canvas_relocate(t_canvas *x, t_symbol *canvasgeom, 1125static void canvas_relocate(t_canvas *x, t_symbol *canvasgeom,
1043 t_symbol *topgeom) 1126 t_symbol *topgeom)
1044{ 1127{
1128#ifdef ROCKBOX
1129 (void) x;
1130 (void) canvasgeom;
1131 (void) topgeom;
1132#else /* ROCKBOX */
1045 int cxpix, cypix, cw, ch, txpix, typix, tw, th; 1133 int cxpix, cypix, cw, ch, txpix, typix, tw, th;
1046 if (sscanf(canvasgeom->s_name, "%dx%d+%d+%d", &cw, &ch, &cxpix, &cypix) 1134 if (sscanf(canvasgeom->s_name, "%dx%d+%d+%d", &cw, &ch, &cxpix, &cypix)
1047 < 4 || 1135 < 4 ||
@@ -1052,6 +1140,7 @@ static void canvas_relocate(t_canvas *x, t_symbol *canvasgeom,
1052 if (cw > 5 && ch > 5) 1140 if (cw > 5 && ch > 5)
1053 canvas_setbounds(x, txpix, typix, 1141 canvas_setbounds(x, txpix, typix,
1054 txpix + cw - HORIZBORDER, typix + ch - VERTBORDER); 1142 txpix + cw - HORIZBORDER, typix + ch - VERTBORDER);
1143#endif /* ROCKBOX */
1055} 1144}
1056 1145
1057void canvas_popabstraction(t_canvas *x) 1146void canvas_popabstraction(t_canvas *x)
@@ -1065,6 +1154,9 @@ void canvas_popabstraction(t_canvas *x)
1065 1154
1066void canvas_logerror(t_object *y) 1155void canvas_logerror(t_object *y)
1067{ 1156{
1157#ifdef ROCKBOX
1158 (void) y;
1159#endif
1068#ifdef LATER 1160#ifdef LATER
1069 canvas_vis(x, 1); 1161 canvas_vis(x, 1);
1070 if (!glist_isselected(x, &y->ob_g)) 1162 if (!glist_isselected(x, &y->ob_g))
@@ -1095,6 +1187,13 @@ static void canvas_click(t_canvas *x,
1095 t_floatarg xpos, t_floatarg ypos, 1187 t_floatarg xpos, t_floatarg ypos,
1096 t_floatarg shift, t_floatarg ctrl, t_floatarg alt) 1188 t_floatarg shift, t_floatarg ctrl, t_floatarg alt)
1097{ 1189{
1190#ifdef ROCKBOX
1191 (void) xpos;
1192 (void) ypos;
1193 (void) shift;
1194 (void) ctrl;
1195 (void) alt;
1196#endif
1098 canvas_vis(x, 1); 1197 canvas_vis(x, 1);
1099} 1198}
1100 1199
@@ -1103,13 +1202,22 @@ static void canvas_click(t_canvas *x,
1103void canvas_fattensub(t_canvas *x, 1202void canvas_fattensub(t_canvas *x,
1104 int *xp1, int *yp1, int *xp2, int *yp2) 1203 int *xp1, int *yp1, int *xp2, int *yp2)
1105{ 1204{
1205#ifdef ROCKBOX
1206 (void) x;
1207 (void) xp1;
1208 (void) yp1;
1209#else /* ROCKBOX */
1106 t_gobj *y; 1210 t_gobj *y;
1211#endif /* ROCKBOX */
1107 *xp2 += 50; /* fake for now */ 1212 *xp2 += 50; /* fake for now */
1108 *yp2 += 50; 1213 *yp2 += 50;
1109} 1214}
1110 1215
1111static void canvas_rename_method(t_canvas *x, t_symbol *s, int ac, t_atom *av) 1216static void canvas_rename_method(t_canvas *x, t_symbol *s, int ac, t_atom *av)
1112{ 1217{
1218#ifdef ROCKBOX
1219 (void) s;
1220#endif
1113 if (ac && av->a_type == A_SYMBOL) 1221 if (ac && av->a_type == A_SYMBOL)
1114 canvas_rename(x, av->a_w.w_symbol, 0); 1222 canvas_rename(x, av->a_w.w_symbol, 0);
1115 else canvas_rename(x, gensym("Pd"), 0); 1223 else canvas_rename(x, gensym("Pd"), 0);
@@ -1128,7 +1236,11 @@ static void *table_new(t_symbol *s, t_floatarg f)
1128 { 1236 {
1129 char tabname[255]; 1237 char tabname[255];
1130 t_symbol *t = gensym("table"); 1238 t_symbol *t = gensym("table");
1239#ifdef ROCKBOX
1240 snprintf(tabname, sizeof(tabname)-1, "%s%d", t->s_name, tabcount++);
1241#else /* ROCKBOX */
1131 sprintf(tabname, "%s%d", t->s_name, tabcount++); 1242 sprintf(tabname, "%s%d", t->s_name, tabcount++);
1243#endif /* ROCKBOX */
1132 s = gensym(tabname); 1244 s = gensym(tabname);
1133 } 1245 }
1134 if (f <= 1) 1246 if (f <= 1)
@@ -1239,7 +1351,7 @@ static void canvas_dodsp(t_canvas *x, int toplevel, t_signal **sp)
1239 1351
1240 /* ... and all dsp interconnections */ 1352 /* ... and all dsp interconnections */
1241 linetraverser_start(&t, x); 1353 linetraverser_start(&t, x);
1242 while (oc = linetraverser_next(&t)) 1354 while((oc = linetraverser_next(&t)))
1243 if (obj_issignaloutlet(t.tr_ob, t.tr_outno)) 1355 if (obj_issignaloutlet(t.tr_ob, t.tr_outno))
1244 ugen_connect(dc, t.tr_ob, t.tr_outno, t.tr_ob2, t.tr_inno); 1356 ugen_connect(dc, t.tr_ob, t.tr_outno, t.tr_ob2, t.tr_inno);
1245 1357
@@ -1252,7 +1364,9 @@ static void canvas_start_dsp(void)
1252{ 1364{
1253 t_canvas *x; 1365 t_canvas *x;
1254 if (canvas_dspstate) ugen_stop(); 1366 if (canvas_dspstate) ugen_stop();
1367#ifndef ROCKBOX
1255 else sys_gui("pdtk_pd_dsp ON\n"); 1368 else sys_gui("pdtk_pd_dsp ON\n");
1369#endif
1256 ugen_start(); 1370 ugen_start();
1257 1371
1258 for (x = canvas_list; x; x = x->gl_next) 1372 for (x = canvas_list; x; x = x->gl_next)
@@ -1266,7 +1380,9 @@ static void canvas_stop_dsp(void)
1266 if (canvas_dspstate) 1380 if (canvas_dspstate)
1267 { 1381 {
1268 ugen_stop(); 1382 ugen_stop();
1383#ifndef ROCKBOX
1269 sys_gui("pdtk_pd_dsp OFF\n"); 1384 sys_gui("pdtk_pd_dsp OFF\n");
1385#endif
1270 canvas_dspstate = 0; 1386 canvas_dspstate = 0;
1271 } 1387 }
1272} 1388}
@@ -1297,6 +1413,10 @@ void canvas_update_dsp(void)
1297void glob_dsp(void *dummy, t_symbol *s, int argc, t_atom *argv) 1413void glob_dsp(void *dummy, t_symbol *s, int argc, t_atom *argv)
1298{ 1414{
1299 int newstate; 1415 int newstate;
1416#ifdef ROCKBOX
1417 (void) dummy;
1418 (void) s;
1419#endif
1300 if (argc) 1420 if (argc)
1301 { 1421 {
1302 newstate = atom_getintarg(0, argc, argv); 1422 newstate = atom_getintarg(0, argc, argv);
@@ -1333,7 +1453,9 @@ static void glist_redrawall(t_glist *gl)
1333 int vis = glist_isvisible(gl); 1453 int vis = glist_isvisible(gl);
1334 for (g = gl->gl_list; g; g = g->g_next) 1454 for (g = gl->gl_list; g; g = g->g_next)
1335 { 1455 {
1456#ifndef ROCKBOX
1336 t_class *cl; 1457 t_class *cl;
1458#endif
1337 if (vis && g->g_pd == scalar_class) 1459 if (vis && g->g_pd == scalar_class)
1338 glist_redrawitem(gl, g); 1460 glist_redrawitem(gl, g);
1339 else if (g->g_pd == canvas_class) 1461 else if (g->g_pd == canvas_class)
@@ -1345,6 +1467,9 @@ static void glist_redrawall(t_glist *gl)
1345void canvas_redrawallfortemplate(t_canvas *templatecanvas) 1467void canvas_redrawallfortemplate(t_canvas *templatecanvas)
1346{ 1468{
1347 t_canvas *x; 1469 t_canvas *x;
1470#ifdef ROCKBOX
1471 (void) templatecanvas;
1472#endif
1348 /* find all root canvases */ 1473 /* find all root canvases */
1349 for (x = canvas_list; x; x = x->gl_next) 1474 for (x = canvas_list; x; x = x->gl_next)
1350 glist_redrawall(x); 1475 glist_redrawall(x);
diff --git a/apps/plugins/pdbox/PDa/src/g_editor.c b/apps/plugins/pdbox/PDa/src/g_editor.c
index 1190739e1a..a5cce20e10 100644
--- a/apps/plugins/pdbox/PDa/src/g_editor.c
+++ b/apps/plugins/pdbox/PDa/src/g_editor.c
@@ -2,6 +2,14 @@
2* For information on usage and redistribution, and for a DISCLAIMER OF ALL 2* For information on usage and redistribution, and for a DISCLAIMER OF ALL
3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ 3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
4 4
5#ifdef ROCKBOX
6#include "plugin.h"
7#include "pdbox.h"
8#include "m_pd.h"
9#include "m_imp.h"
10#include "s_stuff.h"
11#include "g_canvas.h"
12#else /* ROCKBOX */
5#include <stdlib.h> 13#include <stdlib.h>
6#include <stdio.h> 14#include <stdio.h>
7#include "m_pd.h" 15#include "m_pd.h"
@@ -9,6 +17,7 @@
9#include "s_stuff.h" 17#include "s_stuff.h"
10#include "g_canvas.h" 18#include "g_canvas.h"
11#include <string.h> 19#include <string.h>
20#endif /* ROCKBOX */
12 21
13void glist_readfrombinbuf(t_glist *x, t_binbuf *b, char *filename, 22void glist_readfrombinbuf(t_glist *x, t_binbuf *b, char *filename,
14 int selectem); 23 int selectem);
@@ -88,8 +97,10 @@ void glist_selectline(t_glist *x, t_outconnect *oc, int index1,
88 x->gl_editor->e_selectline_index2 = index2; 97 x->gl_editor->e_selectline_index2 = index2;
89 x->gl_editor->e_selectline_inno = inno; 98 x->gl_editor->e_selectline_inno = inno;
90 x->gl_editor->e_selectline_tag = oc; 99 x->gl_editor->e_selectline_tag = oc;
100#ifndef ROCKBOX
91 sys_vgui(".x%x.c itemconfigure l%x -fill blue\n", 101 sys_vgui(".x%x.c itemconfigure l%x -fill blue\n",
92 x, x->gl_editor->e_selectline_tag); 102 x, x->gl_editor->e_selectline_tag);
103#endif
93 } 104 }
94} 105}
95 106
@@ -98,8 +109,10 @@ void glist_deselectline(t_glist *x)
98 if (x->gl_editor) 109 if (x->gl_editor)
99 { 110 {
100 x->gl_editor->e_selectedline = 0; 111 x->gl_editor->e_selectedline = 0;
112#ifndef ROCKBOX
101 sys_vgui(".x%x.c itemconfigure l%x -fill black\n", 113 sys_vgui(".x%x.c itemconfigure l%x -fill black\n",
102 x, x->gl_editor->e_selectline_tag); 114 x, x->gl_editor->e_selectline_tag);
115#endif
103 } 116 }
104} 117}
105 118
@@ -166,7 +179,7 @@ void glist_deselect(t_glist *x, t_gobj *y)
166 } 179 }
167 else 180 else
168 { 181 {
169 for (sel = x->gl_editor->e_selection; sel2 = sel->sel_next; 182 for(sel = x->gl_editor->e_selection; (sel2 = sel->sel_next);
170 sel = sel2) 183 sel = sel2)
171 { 184 {
172 if (sel2->sel_what == y) 185 if (sel2->sel_what == y)
@@ -217,7 +230,7 @@ void glist_selectall(t_glist *x)
217 x->gl_editor->e_selection = sel; 230 x->gl_editor->e_selection = sel;
218 sel->sel_what = y; 231 sel->sel_what = y;
219 gobj_select(y, x, 1); 232 gobj_select(y, x, 1);
220 while (y = y->g_next) 233 while((y = y->g_next))
221 { 234 {
222 t_selection *sel2 = (t_selection *)getbytes(sizeof(*sel2)); 235 t_selection *sel2 = (t_selection *)getbytes(sizeof(*sel2));
223 sel->sel_next = sel2; 236 sel->sel_next = sel2;
@@ -290,11 +303,13 @@ void canvas_setundo(t_canvas *x, t_undofn undofn, void *buf,
290 canvas_undo_buf = buf; 303 canvas_undo_buf = buf;
291 canvas_undo_whatnext = UNDO_UNDO; 304 canvas_undo_whatnext = UNDO_UNDO;
292 canvas_undo_name = name; 305 canvas_undo_name = name;
306#ifndef ROCKBOX
293 if (x && glist_isvisible(x) && glist_istoplevel(x)) 307 if (x && glist_isvisible(x) && glist_istoplevel(x))
294 /* enable undo in menu */ 308 /* enable undo in menu */
295 sys_vgui("pdtk_undomenu .x%x %s no\n", x, name); 309 sys_vgui("pdtk_undomenu .x%x %s no\n", x, name);
296 else if (hadone) 310 else if (hadone)
297 sys_vgui("pdtk_undomenu nobody no no\n"); 311 sys_vgui("pdtk_undomenu nobody no no\n");
312#endif
298} 313}
299 314
300 /* clear undo if it happens to be for the canvas x. 315 /* clear undo if it happens to be for the canvas x.
@@ -316,8 +331,10 @@ static void canvas_undo(t_canvas *x)
316 /* post("undo"); */ 331 /* post("undo"); */
317 (*canvas_undo_fn)(canvas_undo_canvas, canvas_undo_buf, UNDO_UNDO); 332 (*canvas_undo_fn)(canvas_undo_canvas, canvas_undo_buf, UNDO_UNDO);
318 /* enable redo in menu */ 333 /* enable redo in menu */
334#ifndef ROCKBOX
319 if (glist_isvisible(x) && glist_istoplevel(x)) 335 if (glist_isvisible(x) && glist_istoplevel(x))
320 sys_vgui("pdtk_undomenu .x%x no %s\n", x, canvas_undo_name); 336 sys_vgui("pdtk_undomenu .x%x no %s\n", x, canvas_undo_name);
337#endif
321 canvas_undo_whatnext = UNDO_REDO; 338 canvas_undo_whatnext = UNDO_REDO;
322 } 339 }
323} 340}
@@ -333,8 +350,10 @@ static void canvas_redo(t_canvas *x)
333 /* post("redo"); */ 350 /* post("redo"); */
334 (*canvas_undo_fn)(canvas_undo_canvas, canvas_undo_buf, UNDO_REDO); 351 (*canvas_undo_fn)(canvas_undo_canvas, canvas_undo_buf, UNDO_REDO);
335 /* enable undo in menu */ 352 /* enable undo in menu */
353#ifndef ROCKBOX
336 if (glist_isvisible(x) && glist_istoplevel(x)) 354 if (glist_isvisible(x) && glist_istoplevel(x))
337 sys_vgui("pdtk_undomenu .x%x %s no\n", x, canvas_undo_name); 355 sys_vgui("pdtk_undomenu .x%x %s no\n", x, canvas_undo_name);
356#endif
338 canvas_undo_whatnext = UNDO_UNDO; 357 canvas_undo_whatnext = UNDO_UNDO;
339 } 358 }
340} 359}
@@ -352,6 +371,9 @@ typedef struct _undo_connect
352static void *canvas_undo_set_disconnect(t_canvas *x, 371static void *canvas_undo_set_disconnect(t_canvas *x,
353 int index1, int outno, int index2, int inno) 372 int index1, int outno, int index2, int inno)
354{ 373{
374#ifdef ROCKBOX
375 (void) x;
376#endif
355 t_undo_connect *buf = (t_undo_connect *)getbytes(sizeof(*buf)); 377 t_undo_connect *buf = (t_undo_connect *)getbytes(sizeof(*buf));
356 buf->u_index1 = index1; 378 buf->u_index1 = index1;
357 buf->u_outletno = outno; 379 buf->u_outletno = outno;
@@ -366,14 +388,16 @@ void canvas_disconnect(t_canvas *x,
366 t_linetraverser t; 388 t_linetraverser t;
367 t_outconnect *oc; 389 t_outconnect *oc;
368 linetraverser_start(&t, x); 390 linetraverser_start(&t, x);
369 while (oc = linetraverser_next(&t)) 391 while((oc = linetraverser_next(&t)))
370 { 392 {
371 int srcno = canvas_getindex(x, &t.tr_ob->ob_g); 393 int srcno = canvas_getindex(x, &t.tr_ob->ob_g);
372 int sinkno = canvas_getindex(x, &t.tr_ob2->ob_g); 394 int sinkno = canvas_getindex(x, &t.tr_ob2->ob_g);
373 if (srcno == index1 && t.tr_outno == outno && 395 if (srcno == index1 && t.tr_outno == outno &&
374 sinkno == index2 && t.tr_inno == inno) 396 sinkno == index2 && t.tr_inno == inno)
375 { 397 {
398#ifndef ROCKBOX
376 sys_vgui(".x%x.c delete l%x\n", x, oc); 399 sys_vgui(".x%x.c delete l%x\n", x, oc);
400#endif
377 obj_disconnect(t.tr_ob, t.tr_outno, t.tr_ob2, t.tr_inno); 401 obj_disconnect(t.tr_ob, t.tr_outno, t.tr_ob2, t.tr_inno);
378 break; 402 break;
379 } 403 }
@@ -432,7 +456,9 @@ typedef struct _undo_cut
432static void *canvas_undo_set_cut(t_canvas *x, int mode) 456static void *canvas_undo_set_cut(t_canvas *x, int mode)
433{ 457{
434 t_undo_cut *buf; 458 t_undo_cut *buf;
459#ifndef ROCKBOX
435 t_gobj *y; 460 t_gobj *y;
461#endif
436 t_linetraverser t; 462 t_linetraverser t;
437 t_outconnect *oc; 463 t_outconnect *oc;
438 int nnotsel= glist_selectionindex(x, 0, 0); 464 int nnotsel= glist_selectionindex(x, 0, 0);
@@ -443,7 +469,7 @@ static void *canvas_undo_set_cut(t_canvas *x, int mode)
443 /* store connections into/out of the selection */ 469 /* store connections into/out of the selection */
444 buf->u_reconnectbuf = binbuf_new(); 470 buf->u_reconnectbuf = binbuf_new();
445 linetraverser_start(&t, x); 471 linetraverser_start(&t, x);
446 while (oc = linetraverser_next(&t)) 472 while((oc = linetraverser_next(&t)))
447 { 473 {
448 int issel1 = glist_isselected(x, &t.tr_ob->ob_g); 474 int issel1 = glist_isselected(x, &t.tr_ob->ob_g);
449 int issel2 = glist_isselected(x, &t.tr_ob2->ob_g); 475 int issel2 = glist_isselected(x, &t.tr_ob2->ob_g);
@@ -488,7 +514,7 @@ static void canvas_undo_cut(t_canvas *x, void *z, int action)
488 { 514 {
489 t_gobj *y1, *y2; 515 t_gobj *y1, *y2;
490 glist_noselect(x); 516 glist_noselect(x);
491 for (y1 = x->gl_list; y2 = y1->g_next; y1 = y2) 517 for(y1 = x->gl_list; (y2 = y1->g_next); y1 = y2)
492 ; 518 ;
493 if (y1) 519 if (y1)
494 { 520 {
@@ -514,7 +540,7 @@ static void canvas_undo_cut(t_canvas *x, void *z, int action)
514 else if (mode == UCUT_TEXT) 540 else if (mode == UCUT_TEXT)
515 { 541 {
516 t_gobj *y1, *y2; 542 t_gobj *y1, *y2;
517 for (y1 = x->gl_list; y2 = y1->g_next; y1 = y2) 543 for(y1 = x->gl_list; (y2 = y1->g_next); y1 = y2)
518 ; 544 ;
519 if (y1) 545 if (y1)
520 glist_delete(x, y1); 546 glist_delete(x, y1);
@@ -738,7 +764,9 @@ void canvas_setcursor(t_canvas *x, unsigned int cursornum)
738 } 764 }
739 if (xwas != x || cursorwas != cursornum) 765 if (xwas != x || cursorwas != cursornum)
740 { 766 {
767#ifndef ROCKBOX
741 sys_vgui(".x%x configure -cursor %s\n", x, cursorlist[cursornum]); 768 sys_vgui(".x%x configure -cursor %s\n", x, cursorlist[cursornum]);
769#endif
742 xwas = x; 770 xwas = x;
743 cursorwas = cursornum; 771 cursorwas = cursornum;
744 } 772 }
@@ -784,8 +812,14 @@ static void canvas_rightclick(t_canvas *x, int xpos, int ypos, t_gobj *y)
784 int canprop, canopen; 812 int canprop, canopen;
785 canprop = (!y || (y && class_getpropertiesfn(pd_class(&y->g_pd)))); 813 canprop = (!y || (y && class_getpropertiesfn(pd_class(&y->g_pd))));
786 canopen = (y && zgetfn(&y->g_pd, gensym("menu-open"))); 814 canopen = (y && zgetfn(&y->g_pd, gensym("menu-open")));
815#ifdef ROCKBOX
816 (void) x;
817 (void) xpos;
818 (void) ypos;
819#else /* ROCKBOX */
787 sys_vgui("pdtk_canvas_popup .x%x %d %d %d %d\n", 820 sys_vgui("pdtk_canvas_popup .x%x %d %d %d %d\n",
788 x, xpos, ypos, canprop, canopen); 821 x, xpos, ypos, canprop, canopen);
822#endif /* ROCKBOX */
789} 823}
790 824
791 /* tell GUI to create a properties dialog on the canvas. We tell 825 /* tell GUI to create a properties dialog on the canvas. We tell
@@ -793,11 +827,15 @@ static void canvas_rightclick(t_canvas *x, int xpos, int ypos, t_gobj *y)
793 naturally upward, whereas pixels grow downward. */ 827 naturally upward, whereas pixels grow downward. */
794static void canvas_properties(t_glist *x) 828static void canvas_properties(t_glist *x)
795{ 829{
830#ifdef ROCKBOX
831 (void) x;
832#else /* ROCKBOX */
796 char graphbuf[200]; 833 char graphbuf[200];
797 sprintf(graphbuf, "pdtk_canvas_dialog %%s %g %g %g %g \n", 834 sprintf(graphbuf, "pdtk_canvas_dialog %%s %g %g %g %g \n",
798 glist_dpixtodx(x, 1), -glist_dpixtody(x, 1), 835 glist_dpixtodx(x, 1), -glist_dpixtody(x, 1),
799 (float)glist_isgraph(x), (float)x->gl_stretch); 836 (float)glist_isgraph(x), (float)x->gl_stretch);
800 gfxstub_new(&x->gl_pd, x, graphbuf); 837 gfxstub_new(&x->gl_pd, x, graphbuf);
838#endif /* ROCKBOX */
801} 839}
802 840
803 841
@@ -885,7 +923,11 @@ static void canvas_donecanvasdialog(t_glist *x, t_floatarg xperpix,
885 "open," or "help." */ 923 "open," or "help." */
886static void canvas_done_popup(t_canvas *x, float which, float xpos, float ypos) 924static void canvas_done_popup(t_canvas *x, float which, float xpos, float ypos)
887{ 925{
926#ifdef ROCKBOX
927 char namebuf[MAXPDSTRING];
928#else
888 char pathbuf[MAXPDSTRING], namebuf[MAXPDSTRING]; 929 char pathbuf[MAXPDSTRING], namebuf[MAXPDSTRING];
930#endif
889 t_gobj *y; 931 t_gobj *y;
890 for (y = x->gl_list; y; y = y->g_next) 932 for (y = x->gl_list; y; y = y->g_next)
891 { 933 {
@@ -936,9 +978,11 @@ static void canvas_done_popup(t_canvas *x, float which, float xpos, float ypos)
936 canvas_properties(x); 978 canvas_properties(x);
937 else if (which == 2) 979 else if (which == 2)
938 { 980 {
981#ifndef ROCKBOX
939 strcpy(pathbuf, sys_libdir->s_name); 982 strcpy(pathbuf, sys_libdir->s_name);
940 strcat(pathbuf, "/doc/5.reference/0.INTRO.txt"); 983 strcat(pathbuf, "/doc/5.reference/0.INTRO.txt");
941 sys_vgui("menu_opentext %s\n", pathbuf); 984 sys_vgui("menu_opentext %s\n", pathbuf);
985#endif
942 } 986 }
943} 987}
944 988
@@ -967,7 +1011,11 @@ void canvas_doclick(t_canvas *x, int xpos, int ypos, int which,
967 t_gobj *y; 1011 t_gobj *y;
968 int shiftmod, runmode, altmod, rightclick; 1012 int shiftmod, runmode, altmod, rightclick;
969 int x1, y1, x2, y2, clickreturned = 0; 1013 int x1, y1, x2, y2, clickreturned = 0;
970 1014
1015#ifdef ROCKBOX
1016 (void) which;
1017#endif
1018
971 if (!x->gl_editor) 1019 if (!x->gl_editor)
972 { 1020 {
973 bug("editor"); 1021 bug("editor");
@@ -1027,7 +1075,7 @@ void canvas_doclick(t_canvas *x, int xpos, int ypos, int which,
1027 return; 1075 return;
1028 } 1076 }
1029 /* if not a runmode left click, fall here. */ 1077 /* if not a runmode left click, fall here. */
1030 if (y = canvas_findhitbox(x, xpos, ypos, &x1, &y1, &x2, &y2)) 1078 if((y = canvas_findhitbox(x, xpos, ypos, &x1, &y1, &x2, &y2)))
1031 { 1079 {
1032 t_object *ob = pd_checkobject(&y->g_pd); 1080 t_object *ob = pd_checkobject(&y->g_pd);
1033 /* check you're in the rectangle */ 1081 /* check you're in the rectangle */
@@ -1071,14 +1119,18 @@ void canvas_doclick(t_canvas *x, int xpos, int ypos, int which,
1071 { 1119 {
1072 if (doit) 1120 if (doit)
1073 { 1121 {
1122#ifndef ROCKBOX
1074 int issignal = obj_issignaloutlet(ob, closest); 1123 int issignal = obj_issignaloutlet(ob, closest);
1124#endif
1075 x->gl_editor->e_onmotion = MA_CONNECT; 1125 x->gl_editor->e_onmotion = MA_CONNECT;
1076 x->gl_editor->e_xwas = xpos; 1126 x->gl_editor->e_xwas = xpos;
1077 x->gl_editor->e_ywas = ypos; 1127 x->gl_editor->e_ywas = ypos;
1128#ifndef ROCKBOX
1078 sys_vgui( 1129 sys_vgui(
1079 ".x%x.c create line %d %d %d %d -width %d -tags x\n", 1130 ".x%x.c create line %d %d %d %d -width %d -tags x\n",
1080 x, xpos, ypos, xpos, ypos, 1131 x, xpos, ypos, xpos, ypos,
1081 (issignal ? 2 : 1)); 1132 (issignal ? 2 : 1));
1133#endif
1082 } 1134 }
1083 else canvas_setcursor(x, CURSOR_EDITMODE_CONNECT); 1135 else canvas_setcursor(x, CURSOR_EDITMODE_CONNECT);
1084 } 1136 }
@@ -1134,7 +1186,7 @@ void canvas_doclick(t_canvas *x, int xpos, int ypos, int which,
1134 float fx = xpos, fy = ypos; 1186 float fx = xpos, fy = ypos;
1135 t_glist *glist2 = glist_getcanvas(x); 1187 t_glist *glist2 = glist_getcanvas(x);
1136 linetraverser_start(&t, glist2); 1188 linetraverser_start(&t, glist2);
1137 while (oc = linetraverser_next(&t)) 1189 while((oc = linetraverser_next(&t)))
1138 { 1190 {
1139 float lx1 = t.tr_lx1, ly1 = t.tr_ly1, 1191 float lx1 = t.tr_lx1, ly1 = t.tr_ly1,
1140 lx2 = t.tr_lx2, ly2 = t.tr_ly2; 1192 lx2 = t.tr_lx2, ly2 = t.tr_ly2;
@@ -1158,8 +1210,10 @@ void canvas_doclick(t_canvas *x, int xpos, int ypos, int which,
1158 if (doit) 1210 if (doit)
1159 { 1211 {
1160 if (!shiftmod) glist_noselect(x); 1212 if (!shiftmod) glist_noselect(x);
1213#ifndef ROCKBOX
1161 sys_vgui(".x%x.c create rectangle %d %d %d %d -tags x\n", 1214 sys_vgui(".x%x.c create rectangle %d %d %d %d -tags x\n",
1162 x, xpos, ypos, xpos, ypos); 1215 x, xpos, ypos, xpos, ypos);
1216#endif
1163 x->gl_editor->e_xwas = xpos; 1217 x->gl_editor->e_xwas = xpos;
1164 x->gl_editor->e_ywas = ypos; 1218 x->gl_editor->e_ywas = ypos;
1165 x->gl_editor->e_onmotion = MA_REGION; 1219 x->gl_editor->e_onmotion = MA_REGION;
@@ -1178,7 +1232,7 @@ int canvas_isconnected (t_canvas *x, t_text *ob1, int n1,
1178 t_linetraverser t; 1232 t_linetraverser t;
1179 t_outconnect *oc; 1233 t_outconnect *oc;
1180 linetraverser_start(&t, x); 1234 linetraverser_start(&t, x);
1181 while (oc = linetraverser_next(&t)) 1235 while((oc = linetraverser_next(&t)))
1182 if (t.tr_ob == ob1 && t.tr_outno == n1 && 1236 if (t.tr_ob == ob1 && t.tr_outno == n1 &&
1183 t.tr_ob2 == ob2 && t.tr_inno == n2) 1237 t.tr_ob2 == ob2 && t.tr_inno == n2)
1184 return (1); 1238 return (1);
@@ -1193,10 +1247,15 @@ void canvas_doconnect(t_canvas *x, int xpos, int ypos, int which, int doit)
1193 t_gobj *y2; 1247 t_gobj *y2;
1194 int xwas = x->gl_editor->e_xwas, 1248 int xwas = x->gl_editor->e_xwas,
1195 ywas = x->gl_editor->e_ywas; 1249 ywas = x->gl_editor->e_ywas;
1250#ifdef ROCKBOX
1251 (void) which;
1252#endif /* ROCKBOX */
1253#ifndef ROCKBOX
1196 if (doit) sys_vgui(".x%x.c delete x\n", x); 1254 if (doit) sys_vgui(".x%x.c delete x\n", x);
1197 else sys_vgui(".x%x.c coords x %d %d %d %d\n", 1255 else sys_vgui(".x%x.c coords x %d %d %d %d\n",
1198 x, x->gl_editor->e_xwas, 1256 x, x->gl_editor->e_xwas,
1199 x->gl_editor->e_ywas, xpos, ypos); 1257 x->gl_editor->e_ywas, xpos, ypos);
1258#endif /* ROCKBOX */
1200 1259
1201 if ((y1 = canvas_findhitbox(x, xwas, ywas, &x11, &y11, &x12, &y12)) 1260 if ((y1 = canvas_findhitbox(x, xwas, ywas, &x11, &y11, &x12, &y12))
1202 && (y2 = canvas_findhitbox(x, xpos, ypos, &x21, &y21, &x22, &y22))) 1261 && (y2 = canvas_findhitbox(x, xpos, ypos, &x21, &y21, &x22, &y22)))
@@ -1258,10 +1317,12 @@ void canvas_doconnect(t_canvas *x, int xpos, int ypos, int which, int doit)
1258 ((x22-x21-IOWIDTH) * closest2)/(ninlet2-1) : 0) 1317 ((x22-x21-IOWIDTH) * closest2)/(ninlet2-1) : 0)
1259 + IOMIDDLE; 1318 + IOMIDDLE;
1260 ly2 = y21; 1319 ly2 = y21;
1320#ifndef ROCKBOX
1261 sys_vgui(".x%x.c create line %d %d %d %d -width %d -tags l%x\n", 1321 sys_vgui(".x%x.c create line %d %d %d %d -width %d -tags l%x\n",
1262 glist_getcanvas(x), 1322 glist_getcanvas(x),
1263 lx1, ly1, lx2, ly2, 1323 lx1, ly1, lx2, ly2,
1264 (obj_issignaloutlet(ob1, closest1) ? 2 : 1), oc); 1324 (obj_issignaloutlet(ob1, closest1) ? 2 : 1), oc);
1325#endif /* ROCKBOX */
1265 canvas_setundo(x, canvas_undo_connect, 1326 canvas_setundo(x, canvas_undo_connect,
1266 canvas_undo_set_connect(x, 1327 canvas_undo_set_connect(x,
1267 canvas_getindex(x, &ob1->ob_g), closest1, 1328 canvas_getindex(x, &ob1->ob_g), closest1,
@@ -1300,12 +1361,16 @@ static void canvas_doregion(t_canvas *x, int xpos, int ypos, int doit)
1300 loy = x->gl_editor->e_ywas, hiy = ypos; 1361 loy = x->gl_editor->e_ywas, hiy = ypos;
1301 else hiy = x->gl_editor->e_ywas, loy = ypos; 1362 else hiy = x->gl_editor->e_ywas, loy = ypos;
1302 canvas_selectinrect(x, lox, loy, hix, hiy); 1363 canvas_selectinrect(x, lox, loy, hix, hiy);
1364#ifndef ROCKBOX
1303 sys_vgui(".x%x.c delete x\n", x); 1365 sys_vgui(".x%x.c delete x\n", x);
1366#endif
1304 x->gl_editor->e_onmotion = 0; 1367 x->gl_editor->e_onmotion = 0;
1305 } 1368 }
1369#ifndef ROCKBOX
1306 else sys_vgui(".x%x.c coords x %d %d %d %d\n", 1370 else sys_vgui(".x%x.c coords x %d %d %d %d\n",
1307 x, x->gl_editor->e_xwas, 1371 x, x->gl_editor->e_xwas,
1308 x->gl_editor->e_ywas, xpos, ypos); 1372 x->gl_editor->e_ywas, xpos, ypos);
1373#endif
1309} 1374}
1310 1375
1311void canvas_mouseup(t_canvas *x, 1376void canvas_mouseup(t_canvas *x,
@@ -1395,7 +1460,11 @@ void canvas_key(t_canvas *x, t_symbol *s, int ac, t_atom *av)
1395 t_symbol *gotkeysym; 1460 t_symbol *gotkeysym;
1396 1461
1397 int down, shift; 1462 int down, shift;
1398 1463
1464#ifdef ROCKBOX
1465 (void) s;
1466#endif
1467
1399 if (ac < 3) 1468 if (ac < 3)
1400 return; 1469 return;
1401 if (!x->gl_editor) 1470 if (!x->gl_editor)
@@ -1411,7 +1480,11 @@ void canvas_key(t_canvas *x, t_symbol *s, int ac, t_atom *av)
1411 else if (av[1].a_type == A_FLOAT) 1480 else if (av[1].a_type == A_FLOAT)
1412 { 1481 {
1413 char buf[3]; 1482 char buf[3];
1483#ifdef ROCKBOX
1484 snprintf(buf, sizeof(buf)-1, "%c", (int)(av[1].a_w.w_float));
1485#else /* ROCKBOX */
1414 sprintf(buf, "%c", (int)(av[1].a_w.w_float)); 1486 sprintf(buf, "%c", (int)(av[1].a_w.w_float));
1487#endif /* ROCKBOX */
1415 gotkeysym = gensym(buf); 1488 gotkeysym = gensym(buf);
1416 } 1489 }
1417 else gotkeysym = gensym("?"); 1490 else gotkeysym = gensym("?");
@@ -1559,8 +1632,13 @@ void canvas_startmotion(t_canvas *x)
1559 1632
1560void canvas_print(t_canvas *x, t_symbol *s) 1633void canvas_print(t_canvas *x, t_symbol *s)
1561{ 1634{
1635#ifdef ROCKBOX
1636 (void) x;
1637 (void) s;
1638#else /* ROCKBOX */
1562 if (*s->s_name) sys_vgui(".x%x.c postscript -file %s\n", x, s->s_name); 1639 if (*s->s_name) sys_vgui(".x%x.c postscript -file %s\n", x, s->s_name);
1563 else sys_vgui(".x%x.c postscript -file x.ps\n", x); 1640 else sys_vgui(".x%x.c postscript -file x.ps\n", x);
1641#endif /* ROCKBOX */
1564} 1642}
1565 1643
1566void canvas_menuclose(t_canvas *x, t_floatarg force) 1644void canvas_menuclose(t_canvas *x, t_floatarg force)
@@ -1569,18 +1647,24 @@ void canvas_menuclose(t_canvas *x, t_floatarg force)
1569 canvas_vis(x, 0); 1647 canvas_vis(x, 0);
1570 else if ((force != 0) || (!x->gl_dirty)) 1648 else if ((force != 0) || (!x->gl_dirty))
1571 pd_free(&x->gl_pd); 1649 pd_free(&x->gl_pd);
1650#ifndef ROCKBOX
1572 else sys_vgui("pdtk_check {This window has been modified. Close anyway?}\ 1651 else sys_vgui("pdtk_check {This window has been modified. Close anyway?}\
1573 {.x%x menuclose 1;\n}\n", x); 1652 {.x%x menuclose 1;\n}\n", x);
1653#endif
1574} 1654}
1575 1655
1576 /* put up a dialog which may call canvas_font back to do the work */ 1656 /* put up a dialog which may call canvas_font back to do the work */
1577static void canvas_menufont(t_canvas *x) 1657static void canvas_menufont(t_canvas *x)
1578{ 1658{
1659#ifdef ROCKBOX
1660 (void) x;
1661#else /* ROCKBOX */
1579 char buf[80]; 1662 char buf[80];
1580 t_canvas *x2 = canvas_getrootfor(x); 1663 t_canvas *x2 = canvas_getrootfor(x);
1581 gfxstub_deleteforkey(x2); 1664 gfxstub_deleteforkey(x2);
1582 sprintf(buf, "pdtk_canvas_dofont %%s %d\n", x2->gl_font); 1665 sprintf(buf, "pdtk_canvas_dofont %%s %d\n", x2->gl_font);
1583 gfxstub_new(&x2->gl_pd, &x2->gl_pd, buf); 1666 gfxstub_new(&x2->gl_pd, &x2->gl_pd, buf);
1667#endif /* ROCKBOX */
1584} 1668}
1585 1669
1586static int canvas_find_index1, canvas_find_index2; 1670static int canvas_find_index1, canvas_find_index2;
@@ -1598,13 +1682,13 @@ static int canvas_dofind(t_canvas *x, int *myindex1p)
1598 y = y->g_next, myindex2++) 1682 y = y->g_next, myindex2++)
1599 { 1683 {
1600 t_object *ob = 0; 1684 t_object *ob = 0;
1601 if (ob = pd_checkobject(&y->g_pd)) 1685 if((ob = pd_checkobject(&y->g_pd)))
1602 { 1686 {
1603 if (binbuf_match(ob->ob_binbuf, canvas_findbuf)) 1687 if (binbuf_match(ob->ob_binbuf, canvas_findbuf))
1604 { 1688 {
1605 if (myindex1 > canvas_find_index1 || 1689 if (myindex1 > canvas_find_index1 ||
1606 myindex1 == canvas_find_index1 && 1690 (myindex1 == canvas_find_index1 &&
1607 myindex2 > canvas_find_index2) 1691 myindex2 > canvas_find_index2))
1608 { 1692 {
1609 canvas_find_index1 = myindex1; 1693 canvas_find_index1 = myindex1;
1610 canvas_find_index2 = myindex2; 1694 canvas_find_index2 = myindex2;
@@ -1633,6 +1717,9 @@ static int canvas_dofind(t_canvas *x, int *myindex1p)
1633static void canvas_find(t_canvas *x, t_symbol *s, int ac, t_atom *av) 1717static void canvas_find(t_canvas *x, t_symbol *s, int ac, t_atom *av)
1634{ 1718{
1635 int myindex1 = 0, i; 1719 int myindex1 = 0, i;
1720#ifdef ROCKBOX
1721 (void) s;
1722#endif
1636 for (i = 0; i < ac; i++) 1723 for (i = 0; i < ac; i++)
1637 { 1724 {
1638 if (av[i].a_type == A_SYMBOL) 1725 if (av[i].a_type == A_SYMBOL)
@@ -1660,6 +1747,9 @@ static void canvas_find(t_canvas *x, t_symbol *s, int ac, t_atom *av)
1660static void canvas_find_again(t_canvas *x) 1747static void canvas_find_again(t_canvas *x)
1661{ 1748{
1662 int myindex1 = 0; 1749 int myindex1 = 0;
1750#ifdef ROCKBOX
1751 (void) x;
1752#endif
1663 if (!canvas_findbuf || !canvas_whichfind) 1753 if (!canvas_findbuf || !canvas_whichfind)
1664 return; 1754 return;
1665 if (!canvas_dofind(canvas_whichfind, &myindex1)) 1755 if (!canvas_dofind(canvas_whichfind, &myindex1))
@@ -1756,7 +1846,7 @@ void canvas_stowconnections(t_canvas *x)
1756 /* add connections to binbuf */ 1846 /* add connections to binbuf */
1757 binbuf_clear(x->gl_editor->e_connectbuf); 1847 binbuf_clear(x->gl_editor->e_connectbuf);
1758 linetraverser_start(&t, x); 1848 linetraverser_start(&t, x);
1759 while (oc = linetraverser_next(&t)) 1849 while((oc = linetraverser_next(&t)))
1760 { 1850 {
1761 int s1 = glist_isselected(x, &t.tr_ob->ob_g); 1851 int s1 = glist_isselected(x, &t.tr_ob->ob_g);
1762 int s2 = glist_isselected(x, &t.tr_ob2->ob_g); 1852 int s2 = glist_isselected(x, &t.tr_ob2->ob_g);
@@ -1787,7 +1877,7 @@ static t_binbuf *canvas_docopy(t_canvas *x)
1787 gobj_save(y, b); 1877 gobj_save(y, b);
1788 } 1878 }
1789 linetraverser_start(&t, x); 1879 linetraverser_start(&t, x);
1790 while (oc = linetraverser_next(&t)) 1880 while((oc = linetraverser_next(&t)))
1791 { 1881 {
1792 if (glist_isselected(x, &t.tr_ob->ob_g) 1882 if (glist_isselected(x, &t.tr_ob->ob_g)
1793 && glist_isselected(x, &t.tr_ob2->ob_g)) 1883 && glist_isselected(x, &t.tr_ob2->ob_g))
@@ -1912,7 +2002,11 @@ static void glist_donewloadbangs(t_glist *x)
1912 2002
1913static void canvas_dopaste(t_canvas *x, t_binbuf *b) 2003static void canvas_dopaste(t_canvas *x, t_binbuf *b)
1914{ 2004{
2005#ifdef ROCKBOX
2006 t_gobj *g2;
2007#else /* ROCKBOX */
1915 t_gobj *newgobj, *last, *g2; 2008 t_gobj *newgobj, *last, *g2;
2009#endif /* ROCKBOX */
1916 int dspstate = canvas_suspend_dsp(), nbox, count; 2010 int dspstate = canvas_suspend_dsp(), nbox, count;
1917 2011
1918 canvas_editmode(x, 1.); 2012 canvas_editmode(x, 1.);
@@ -1987,9 +2081,11 @@ void canvas_connect(t_canvas *x, t_floatarg fwhoout, t_floatarg foutno,
1987 if (!(oc = obj_connect(objsrc, outno, objsink, inno))) goto bad; 2081 if (!(oc = obj_connect(objsrc, outno, objsink, inno))) goto bad;
1988 if (glist_isvisible(x)) 2082 if (glist_isvisible(x))
1989 { 2083 {
2084#ifndef ROCKBOX
1990 sys_vgui(".x%x.c create line %d %d %d %d -width %d -tags l%x\n", 2085 sys_vgui(".x%x.c create line %d %d %d %d -width %d -tags l%x\n",
1991 glist_getcanvas(x), 0, 0, 0, 0, 2086 glist_getcanvas(x), 0, 0, 0, 0,
1992 (obj_issignaloutlet(objsrc, outno) ? 2 : 1),oc); 2087 (obj_issignaloutlet(objsrc, outno) ? 2 : 1),oc);
2088#endif
1993 canvas_fixlinesfor(x, objsrc); 2089 canvas_fixlinesfor(x, objsrc);
1994 } 2090 }
1995 return; 2091 return;
@@ -2008,7 +2104,11 @@ bad:
2008 /* LATER might have to speed this up */ 2104 /* LATER might have to speed this up */
2009static void canvas_tidy(t_canvas *x) 2105static void canvas_tidy(t_canvas *x)
2010{ 2106{
2107#ifdef ROCKBOX
2108 t_gobj *y, *y2;
2109#else /* ROCKBOX */
2011 t_gobj *y, *y2, *y3; 2110 t_gobj *y, *y2, *y3;
2111#endif /* ROCKBOX */
2012 int ax1, ay1, ax2, ay2, bx1, by1, bx2, by2; 2112 int ax1, ay1, ax2, ay2, bx1, by1, bx2, by2;
2013 int histogram[NHIST], *ip, i, besthist, bestdist; 2113 int histogram[NHIST], *ip, i, besthist, bestdist;
2014 /* if nobody is selected, this means do it to all boxes; 2114 /* if nobody is selected, this means do it to all boxes;
@@ -2114,15 +2214,19 @@ static void canvas_texteditor(t_canvas *x)
2114 t_rtext *foo; 2214 t_rtext *foo;
2115 char *buf; 2215 char *buf;
2116 int bufsize; 2216 int bufsize;
2117 if (foo = x->gl_editor->e_textedfor) 2217 if((foo = x->gl_editor->e_textedfor))
2118 rtext_gettext(foo, &buf, &bufsize); 2218 rtext_gettext(foo, &buf, &bufsize);
2119 else buf = "", bufsize = 0; 2219 else buf = "", bufsize = 0;
2220#ifndef ROCKBOX
2120 sys_vgui("pdtk_pd_texteditor {%.*s}\n", bufsize, buf); 2221 sys_vgui("pdtk_pd_texteditor {%.*s}\n", bufsize, buf);
2121 2222#endif
2122} 2223}
2123 2224
2124void glob_key(void *dummy, t_symbol *s, int ac, t_atom *av) 2225void glob_key(void *dummy, t_symbol *s, int ac, t_atom *av)
2125{ 2226{
2227#ifdef ROCKBOX
2228 (void) dummy;
2229#endif
2126 /* canvas_editing can be zero; canvas_key checks for that */ 2230 /* canvas_editing can be zero; canvas_key checks for that */
2127 canvas_key(canvas_editing, s, ac, av); 2231 canvas_key(canvas_editing, s, ac, av);
2128} 2232}
@@ -2141,8 +2245,10 @@ void canvas_editmode(t_canvas *x, t_floatarg fyesplease)
2141 if (glist_isvisible(x) && glist_istoplevel(x)) 2245 if (glist_isvisible(x) && glist_istoplevel(x))
2142 canvas_setcursor(x, CURSOR_RUNMODE_NOTHING); 2246 canvas_setcursor(x, CURSOR_RUNMODE_NOTHING);
2143 } 2247 }
2248#ifndef ROCKBOX
2144 sys_vgui("pdtk_canvas_editval .x%x %d\n", 2249 sys_vgui("pdtk_canvas_editval .x%x %d\n",
2145 glist_getcanvas(x), x->gl_edit); 2250 glist_getcanvas(x), x->gl_edit);
2251#endif
2146} 2252}
2147 2253
2148 /* called by canvas_font below */ 2254 /* called by canvas_font below */
@@ -2188,7 +2294,9 @@ static void canvas_font(t_canvas *x, t_floatarg font, t_floatarg resize,
2188 if (whichresize != 3) realresx = realresize; 2294 if (whichresize != 3) realresx = realresize;
2189 if (whichresize != 2) realresy = realresize; 2295 if (whichresize != 2) realresy = realresize;
2190 canvas_dofont(x2, font, realresx, realresy); 2296 canvas_dofont(x2, font, realresx, realresy);
2297#ifndef ROCKBOX
2191 sys_defaultfont = font; 2298 sys_defaultfont = font;
2299#endif
2192} 2300}
2193 2301
2194static t_glist *canvas_last_glist; 2302static t_glist *canvas_last_glist;
diff --git a/apps/plugins/pdbox/PDa/src/g_graph.c b/apps/plugins/pdbox/PDa/src/g_graph.c
index c81bac10b8..a3d1798733 100644
--- a/apps/plugins/pdbox/PDa/src/g_graph.c
+++ b/apps/plugins/pdbox/PDa/src/g_graph.c
@@ -6,12 +6,21 @@
6"graphs" inside another glist. LATER move the inlet/outlet code of g_canvas.c 6"graphs" inside another glist. LATER move the inlet/outlet code of g_canvas.c
7to this file... */ 7to this file... */
8 8
9#ifdef ROCKBOX
10#include "plugin.h"
11#include "pdbox.h"
12#include "m_pd.h"
13#include "g_canvas.h"
14#define snprintf rb->snprintf
15#define atof rb_atof
16#else /* ROCKBOX */
9#include <stdlib.h> 17#include <stdlib.h>
10#include "m_pd.h" 18#include "m_pd.h"
11#include "t_tk.h" 19#include "t_tk.h"
12#include "g_canvas.h" 20#include "g_canvas.h"
13#include <stdio.h> 21#include <stdio.h>
14#include <string.h> 22#include <string.h>
23#endif /* ROCKBOX */
15 24
16/* ---------------------- forward definitions ----------------- */ 25/* ---------------------- forward definitions ----------------- */
17 26
@@ -80,7 +89,11 @@ void glist_delete(t_glist *x, t_gobj *y)
80 if (gl->gl_isgraph) 89 if (gl->gl_isgraph)
81 { 90 {
82 char tag[80]; 91 char tag[80];
92#ifdef ROCKBOX
93 snprintf(tag, sizeof(tag)-1, "graph%x", (int)gl);
94#else /* ROCKBOX */
83 sprintf(tag, "graph%x", (int)gl); 95 sprintf(tag, "graph%x", (int)gl);
96#endif /* ROCKBOX */
84 glist_eraseiofor(x, &gl->gl_obj, tag); 97 glist_eraseiofor(x, &gl->gl_obj, tag);
85 } 98 }
86 else 99 else
@@ -112,16 +125,22 @@ void glist_delete(t_glist *x, t_gobj *y)
112 /* remove every object from a glist. Experimental. */ 125 /* remove every object from a glist. Experimental. */
113void glist_clear(t_glist *x) 126void glist_clear(t_glist *x)
114{ 127{
128#ifdef ROCKBOX
129 t_gobj *y;
130#else
115 t_gobj *y, *y2; 131 t_gobj *y, *y2;
132#endif
116 int dspstate = canvas_suspend_dsp(); 133 int dspstate = canvas_suspend_dsp();
117 while (y = x->gl_list) 134 while((y = x->gl_list))
118 glist_delete(x, y); 135 glist_delete(x, y);
119 canvas_resume_dsp(dspstate); 136 canvas_resume_dsp(dspstate);
120} 137}
121 138
122void glist_retext(t_glist *glist, t_text *y) 139void glist_retext(t_glist *glist, t_text *y)
123{ 140{
141#ifndef ROCKBOX
124 t_canvas *c = glist_getcanvas(glist); 142 t_canvas *c = glist_getcanvas(glist);
143#endif
125 /* check that we have built rtexts yet. LATER need a better test. */ 144 /* check that we have built rtexts yet. LATER need a better test. */
126 if (glist->gl_editor && glist->gl_editor->e_rtext) 145 if (glist->gl_editor && glist->gl_editor->e_rtext)
127 { 146 {
@@ -167,6 +186,9 @@ static t_gobj *glist_merge(t_glist *x, t_gobj *g1, t_gobj *g2)
167{ 186{
168 t_gobj *g = 0, *g9 = 0; 187 t_gobj *g = 0, *g9 = 0;
169 float f1 = 0, f2 = 0; 188 float f1 = 0, f2 = 0;
189#ifdef ROCKBOX
190 (void) x;
191#endif
170 if (g1) 192 if (g1)
171 f1 = gobj_getxforsort(g1); 193 f1 = gobj_getxforsort(g1);
172 if (g2) 194 if (g2)
@@ -190,7 +212,7 @@ static t_gobj *glist_merge(t_glist *x, t_gobj *g1, t_gobj *g2)
190 if (g9) 212 if (g9)
191 g9->g_next = g1, g9 = g1; 213 g9->g_next = g1, g9 = g1;
192 else g9 = g = g1; 214 else g9 = g = g1;
193 if (g1 = g1->g_next) 215 if((g1 = g1->g_next))
194 f1 = gobj_getxforsort(g1); 216 f1 = gobj_getxforsort(g1);
195 g9->g_next = 0; 217 g9->g_next = 0;
196 continue; 218 continue;
@@ -198,7 +220,7 @@ static t_gobj *glist_merge(t_glist *x, t_gobj *g1, t_gobj *g2)
198 if (g9) 220 if (g9)
199 g9->g_next = g2, g9 = g2; 221 g9->g_next = g2, g9 = g2;
200 else g9 = g = g2; 222 else g9 = g = g2;
201 if (g2 = g2->g_next) 223 if((g2 = g2->g_next))
202 f2 = gobj_getxforsort(g2); 224 f2 = gobj_getxforsort(g2);
203 g9->g_next = 0; 225 g9->g_next = 0;
204 continue; 226 continue;
@@ -333,6 +355,9 @@ void canvas_resortinlets(t_canvas *x)
333t_outlet *canvas_addoutlet(t_canvas *x, t_pd *who, t_symbol *s) 355t_outlet *canvas_addoutlet(t_canvas *x, t_pd *who, t_symbol *s)
334{ 356{
335 t_outlet *op = outlet_new(&x->gl_obj, s); 357 t_outlet *op = outlet_new(&x->gl_obj, s);
358#ifdef ROCKBOX
359 (void) who;
360#endif
336 if (!x->gl_loading && x->gl_owner && glist_isvisible(x->gl_owner)) 361 if (!x->gl_loading && x->gl_owner && glist_isvisible(x->gl_owner))
337 { 362 {
338 gobj_vis(&x->gl_gobj, x->gl_owner, 0); 363 gobj_vis(&x->gl_gobj, x->gl_owner, 0);
@@ -444,6 +469,9 @@ static void graph_yticks(t_glist *x,
444static void graph_xlabel(t_glist *x, t_symbol *s, int argc, t_atom *argv) 469static void graph_xlabel(t_glist *x, t_symbol *s, int argc, t_atom *argv)
445{ 470{
446 int i; 471 int i;
472#ifdef ROCKBOX
473 (void) s;
474#endif
447 if (argc < 1) error("graph_xlabel: no y value given"); 475 if (argc < 1) error("graph_xlabel: no y value given");
448 else 476 else
449 { 477 {
@@ -460,6 +488,9 @@ static void graph_xlabel(t_glist *x, t_symbol *s, int argc, t_atom *argv)
460static void graph_ylabel(t_glist *x, t_symbol *s, int argc, t_atom *argv) 488static void graph_ylabel(t_glist *x, t_symbol *s, int argc, t_atom *argv)
461{ 489{
462 int i; 490 int i;
491#ifdef ROCKBOX
492 (void) s;
493#endif
463 if (argc < 1) error("graph_ylabel: no x value given"); 494 if (argc < 1) error("graph_ylabel: no x value given");
464 else 495 else
465 { 496 {
@@ -613,10 +644,14 @@ void glist_redraw(t_glist *x)
613 } 644 }
614 /* redraw all the lines */ 645 /* redraw all the lines */
615 linetraverser_start(&t, x); 646 linetraverser_start(&t, x);
616 while (oc = linetraverser_next(&t)) 647 while((oc = linetraverser_next(&t)))
648#ifdef ROCKBOX
649 ;
650#else /* ROCKBOX */
617 sys_vgui(".x%x.c coords l%x %d %d %d %d\n", 651 sys_vgui(".x%x.c coords l%x %d %d %d %d\n",
618 glist_getcanvas(x), oc, 652 glist_getcanvas(x), oc,
619 t.tr_lx1, t.tr_ly1, t.tr_lx2, t.tr_ly2); 653 t.tr_lx1, t.tr_ly1, t.tr_lx2, t.tr_ly2);
654#endif /* ROCKBOX */
620 } 655 }
621 if (x->gl_owner) 656 if (x->gl_owner)
622 { 657 {
@@ -651,7 +686,11 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
651 if (!vis) 686 if (!vis)
652 rtext_erase(glist_findrtext(parent_glist, &x->gl_obj)); 687 rtext_erase(glist_findrtext(parent_glist, &x->gl_obj));
653 688
689#ifdef ROCKBOX
690 snprintf(tag, sizeof(tag)-1, "graph%x", (int) x);
691#else
654 sprintf(tag, "graph%x", (int)x); 692 sprintf(tag, "graph%x", (int)x);
693#endif
655 if (vis) 694 if (vis)
656 glist_drawiofor(parent_glist, &x->gl_obj, 1, 695 glist_drawiofor(parent_glist, &x->gl_obj, 1,
657 tag, x1, y1, x2, y2); 696 tag, x1, y1, x2, y2);
@@ -660,6 +699,7 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
660 just show the bounding rectangle */ 699 just show the bounding rectangle */
661 if (x->gl_havewindow) 700 if (x->gl_havewindow)
662 { 701 {
702#ifndef ROCKBOX
663 if (vis) 703 if (vis)
664 { 704 {
665 sys_vgui(".x%x.c create polygon\ 705 sys_vgui(".x%x.c create polygon\
@@ -672,6 +712,7 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
672 sys_vgui(".x%x.c delete %s\n", 712 sys_vgui(".x%x.c delete %s\n",
673 glist_getcanvas(x->gl_owner), tag); 713 glist_getcanvas(x->gl_owner), tag);
674 } 714 }
715#endif
675 return; 716 return;
676 } 717 }
677 /* otherwise draw (or erase) us as a graph inside another glist. */ 718 /* otherwise draw (or erase) us as a graph inside another glist. */
@@ -681,10 +722,12 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
681 float f; 722 float f;
682 723
683 /* draw a rectangle around the graph */ 724 /* draw a rectangle around the graph */
725#ifndef ROCKBOX
684 sys_vgui(".x%x.c create line\ 726 sys_vgui(".x%x.c create line\
685 %d %d %d %d %d %d %d %d %d %d -tags %s\n", 727 %d %d %d %d %d %d %d %d %d %d -tags %s\n",
686 glist_getcanvas(x->gl_owner), 728 glist_getcanvas(x->gl_owner),
687 x1, y1, x1, y2, x2, y2, x2, y1, x1, y1, tag); 729 x1, y1, x1, y2, x2, y2, x2, y1, x1, y1, tag);
730#endif
688 731
689 /* draw ticks on horizontal borders. If lperb field is 732 /* draw ticks on horizontal borders. If lperb field is
690 zero, this is disabled. */ 733 zero, this is disabled. */
@@ -698,6 +741,7 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
698 f < 0.99 * x->gl_x2 + 0.01*x->gl_x1; i++, 741 f < 0.99 * x->gl_x2 + 0.01*x->gl_x1; i++,
699 f += x->gl_xtick.k_inc) 742 f += x->gl_xtick.k_inc)
700 { 743 {
744#ifndef ROCKBOX
701 int tickpix = (i % x->gl_xtick.k_lperb ? 2 : 4); 745 int tickpix = (i % x->gl_xtick.k_lperb ? 2 : 4);
702 sys_vgui(".x%x.c create line %d %d %d %d -tags %s\n", 746 sys_vgui(".x%x.c create line %d %d %d %d -tags %s\n",
703 glist_getcanvas(x->gl_owner), 747 glist_getcanvas(x->gl_owner),
@@ -707,11 +751,13 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
707 glist_getcanvas(x->gl_owner), 751 glist_getcanvas(x->gl_owner),
708 (int)glist_xtopixels(x, f), (int)lpix, 752 (int)glist_xtopixels(x, f), (int)lpix,
709 (int)glist_xtopixels(x, f), (int)lpix + tickpix, tag); 753 (int)glist_xtopixels(x, f), (int)lpix + tickpix, tag);
754#endif
710 } 755 }
711 for (i = 1, f = x->gl_xtick.k_point - x->gl_xtick.k_inc; 756 for (i = 1, f = x->gl_xtick.k_point - x->gl_xtick.k_inc;
712 f > 0.99 * x->gl_x1 + 0.01*x->gl_x2; 757 f > 0.99 * x->gl_x1 + 0.01*x->gl_x2;
713 i++, f -= x->gl_xtick.k_inc) 758 i++, f -= x->gl_xtick.k_inc)
714 { 759 {
760#ifndef ROCKBOX
715 int tickpix = (i % x->gl_xtick.k_lperb ? 2 : 4); 761 int tickpix = (i % x->gl_xtick.k_lperb ? 2 : 4);
716 sys_vgui(".x%x.c create line %d %d %d %d -tags %s\n", 762 sys_vgui(".x%x.c create line %d %d %d %d -tags %s\n",
717 glist_getcanvas(x->gl_owner), 763 glist_getcanvas(x->gl_owner),
@@ -721,6 +767,7 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
721 glist_getcanvas(x->gl_owner), 767 glist_getcanvas(x->gl_owner),
722 (int)glist_xtopixels(x, f), (int)lpix, 768 (int)glist_xtopixels(x, f), (int)lpix,
723 (int)glist_xtopixels(x, f), (int)lpix + tickpix, tag); 769 (int)glist_xtopixels(x, f), (int)lpix + tickpix, tag);
770#endif
724 } 771 }
725 } 772 }
726 773
@@ -735,6 +782,7 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
735 f < 0.99 * ubound + 0.01 * lbound; 782 f < 0.99 * ubound + 0.01 * lbound;
736 i++, f += x->gl_ytick.k_inc) 783 i++, f += x->gl_ytick.k_inc)
737 { 784 {
785#ifndef ROCKBOX
738 int tickpix = (i % x->gl_ytick.k_lperb ? 2 : 4); 786 int tickpix = (i % x->gl_ytick.k_lperb ? 2 : 4);
739 sys_vgui(".x%x.c create line %d %d %d %d -tags %s\n", 787 sys_vgui(".x%x.c create line %d %d %d %d -tags %s\n",
740 glist_getcanvas(x->gl_owner), 788 glist_getcanvas(x->gl_owner),
@@ -744,11 +792,13 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
744 glist_getcanvas(x->gl_owner), 792 glist_getcanvas(x->gl_owner),
745 x2, (int)glist_ytopixels(x, f), 793 x2, (int)glist_ytopixels(x, f),
746 x2 - tickpix, (int)glist_ytopixels(x, f), tag); 794 x2 - tickpix, (int)glist_ytopixels(x, f), tag);
795#endif
747 } 796 }
748 for (i = 1, f = x->gl_ytick.k_point - x->gl_ytick.k_inc; 797 for (i = 1, f = x->gl_ytick.k_point - x->gl_ytick.k_inc;
749 f > 0.99 * lbound + 0.01 * ubound; 798 f > 0.99 * lbound + 0.01 * ubound;
750 i++, f -= x->gl_ytick.k_inc) 799 i++, f -= x->gl_ytick.k_inc)
751 { 800 {
801#ifndef ROCKBOX
752 int tickpix = (i % x->gl_ytick.k_lperb ? 2 : 4); 802 int tickpix = (i % x->gl_ytick.k_lperb ? 2 : 4);
753 sys_vgui(".x%x.c create line %d %d %d %d -tags %s\n", 803 sys_vgui(".x%x.c create line %d %d %d %d -tags %s\n",
754 glist_getcanvas(x->gl_owner), 804 glist_getcanvas(x->gl_owner),
@@ -758,19 +808,27 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
758 glist_getcanvas(x->gl_owner), 808 glist_getcanvas(x->gl_owner),
759 x2, (int)glist_ytopixels(x, f), 809 x2, (int)glist_ytopixels(x, f),
760 x2 - tickpix, (int)glist_ytopixels(x, f), tag); 810 x2 - tickpix, (int)glist_ytopixels(x, f), tag);
811#endif
761 } 812 }
762 } 813 }
763 /* draw x labels */ 814 /* draw x labels */
764 for (i = 0; i < x->gl_nxlabels; i++) 815 for (i = 0; i < x->gl_nxlabels; i++)
816#ifdef ROCKBOX
817 ;
818#else /* ROCKBOX */
765 sys_vgui(".x%x.c create text\ 819 sys_vgui(".x%x.c create text\
766 %d %d -text {%s} -font -*-courier-bold--normal--%d-* -tags %s\n", 820 %d %d -text {%s} -font -*-courier-bold--normal--%d-* -tags %s\n",
767 glist_getcanvas(x), 821 glist_getcanvas(x),
768 (int)glist_xtopixels(x, atof(x->gl_xlabel[i]->s_name)), 822 (int)glist_xtopixels(x, atof(x->gl_xlabel[i]->s_name)),
769 (int)glist_ytopixels(x, x->gl_xlabely), x->gl_xlabel[i]->s_name, 823 (int)glist_ytopixels(x, x->gl_xlabely), x->gl_xlabel[i]->s_name,
770 glist_getfont(x), tag); 824 glist_getfont(x), tag);
825#endif /* ROCKBOX */
771 826
772 /* draw y labels */ 827 /* draw y labels */
773 for (i = 0; i < x->gl_nylabels; i++) 828 for (i = 0; i < x->gl_nylabels; i++)
829#ifdef ROCKBOX
830 ;
831#else /* ROCKBOX */
774 sys_vgui(".x%x.c create text\ 832 sys_vgui(".x%x.c create text\
775 %d %d -text {%s} -font -*-courier-bold--normal--%d-* -tags %s\n", 833 %d %d -text {%s} -font -*-courier-bold--normal--%d-* -tags %s\n",
776 glist_getcanvas(x), 834 glist_getcanvas(x),
@@ -778,6 +836,7 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
778 (int)glist_ytopixels(x, atof(x->gl_ylabel[i]->s_name)), 836 (int)glist_ytopixels(x, atof(x->gl_ylabel[i]->s_name)),
779 x->gl_ylabel[i]->s_name, 837 x->gl_ylabel[i]->s_name,
780 glist_getfont(x), tag); 838 glist_getfont(x), tag);
839#endif /* ROCKBOX */
781 840
782 /* draw contents of graph as glist */ 841 /* draw contents of graph as glist */
783 for (g = x->gl_list; g; g = g->g_next) 842 for (g = x->gl_list; g; g = g->g_next)
@@ -785,8 +844,10 @@ static void graph_vis(t_gobj *gr, t_glist *parent_glist, int vis)
785 } 844 }
786 else 845 else
787 { 846 {
847#ifndef ROCKBOX
788 sys_vgui(".x%x.c delete %s\n", 848 sys_vgui(".x%x.c delete %s\n",
789 glist_getcanvas(x->gl_owner), tag); 849 glist_getcanvas(x->gl_owner), tag);
850#endif
790 for (g = x->gl_list; g; g = g->g_next) 851 for (g = x->gl_list; g; g = g->g_next)
791 gobj_vis(g, x, 0); 852 gobj_vis(g, x, 0);
792 } 853 }
@@ -904,10 +965,12 @@ static void graph_select(t_gobj *z, t_glist *glist, int state)
904 t_rtext *y = glist_findrtext(glist, &x->gl_obj); 965 t_rtext *y = glist_findrtext(glist, &x->gl_obj);
905 if (canvas_showtext(x)) 966 if (canvas_showtext(x))
906 rtext_select(y, state); 967 rtext_select(y, state);
968#ifndef ROCKBOX
907 sys_vgui(".x%x.c itemconfigure %sR -fill %s\n", glist, 969 sys_vgui(".x%x.c itemconfigure %sR -fill %s\n", glist,
908 rtext_gettag(y), (state? "blue" : "black")); 970 rtext_gettag(y), (state? "blue" : "black"));
909 sys_vgui(".x%x.c itemconfigure graph%x -fill %s\n", 971 sys_vgui(".x%x.c itemconfigure graph%x -fill %s\n",
910 glist_getcanvas(glist), z, (state? "blue" : "black")); 972 glist_getcanvas(glist), z, (state? "blue" : "black"));
973#endif
911 } 974 }
912} 975}
913 976
@@ -941,10 +1004,11 @@ static void graph_delete(t_gobj *z, t_glist *glist)
941 t_glist *x = (t_glist *)z; 1004 t_glist *x = (t_glist *)z;
942 t_gobj *y; 1005 t_gobj *y;
943 text_widgetbehavior.w_deletefn(z, glist); 1006 text_widgetbehavior.w_deletefn(z, glist);
944 while (y = x->gl_list) 1007 while((y = x->gl_list))
945 glist_delete(x, y); 1008 glist_delete(x, y);
946} 1009}
947 1010
1011#ifndef ROCKBOX
948static float graph_lastxpix, graph_lastypix; 1012static float graph_lastxpix, graph_lastypix;
949 1013
950static void graph_motion(void *z, t_floatarg dx, t_floatarg dy) 1014static void graph_motion(void *z, t_floatarg dx, t_floatarg dy)
@@ -986,6 +1050,7 @@ static void graph_motion(void *z, t_floatarg dx, t_floatarg dy)
986 else vec[newx] = newy; 1050 else vec[newx] = newy;
987 garray_redraw(a); 1051 garray_redraw(a);
988} 1052}
1053#endif
989 1054
990static int graph_click(t_gobj *z, struct _glist *glist, 1055static int graph_click(t_gobj *z, struct _glist *glist,
991 int xpix, int ypix, int shift, int alt, int dbl, int doit) 1056 int xpix, int ypix, int shift, int alt, int dbl, int doit)
@@ -1037,11 +1102,16 @@ void graph_properties(t_gobj *z, t_glist *owner)
1037 t_glist *x = (t_glist *)z; 1102 t_glist *x = (t_glist *)z;
1038 { 1103 {
1039 t_gobj *y; 1104 t_gobj *y;
1105#ifdef ROCKBOX
1106 (void) owner;
1107#else /* ROCKBOX */
1040 char graphbuf[200]; 1108 char graphbuf[200];
1109
1041 sprintf(graphbuf, "pdtk_graph_dialog %%s %g %g %g %g %d %d\n", 1110 sprintf(graphbuf, "pdtk_graph_dialog %%s %g %g %g %g %d %d\n",
1042 x->gl_x1, x->gl_y1, x->gl_x2, x->gl_y2, 1111 x->gl_x1, x->gl_y1, x->gl_x2, x->gl_y2,
1043 x->gl_pixwidth, x->gl_pixheight); 1112 x->gl_pixwidth, x->gl_pixheight);
1044 gfxstub_new(&x->gl_pd, x, graphbuf); 1113 gfxstub_new(&x->gl_pd, x, graphbuf);
1114#endif /* ROCKBOX */
1045 1115
1046 for (y = x->gl_list; y; y = y->g_next) 1116 for (y = x->gl_list; y; y = y->g_next)
1047 if (pd_class(&y->g_pd) == garray_class) 1117 if (pd_class(&y->g_pd) == garray_class)
@@ -1071,6 +1141,9 @@ static void graph_dialog(t_glist *x, t_symbol *s, int argc, t_atom *argv)
1071 t_float y2 = atom_getfloatarg(3, argc, argv); 1141 t_float y2 = atom_getfloatarg(3, argc, argv);
1072 t_float xpix = atom_getfloatarg(4, argc, argv); 1142 t_float xpix = atom_getfloatarg(4, argc, argv);
1073 t_float ypix = atom_getfloatarg(5, argc, argv); 1143 t_float ypix = atom_getfloatarg(5, argc, argv);
1144#ifdef ROCKBOX
1145 (void) s;
1146#endif
1074 if (x1 != x->gl_x1 || x2 != x->gl_x2 || 1147 if (x1 != x->gl_x1 || x2 != x->gl_x2 ||
1075 y1 != x->gl_y1 || y2 != x->gl_y2) 1148 y1 != x->gl_y1 || y2 != x->gl_y2)
1076 graph_bounds(x, x1, y1, x2, y2); 1149 graph_bounds(x, x1, y1, x2, y2);
diff --git a/apps/plugins/pdbox/PDa/src/g_hdial.c b/apps/plugins/pdbox/PDa/src/g_hdial.c
index eb88f22e2d..4bf2e0ad50 100644
--- a/apps/plugins/pdbox/PDa/src/g_hdial.c
+++ b/apps/plugins/pdbox/PDa/src/g_hdial.c
@@ -8,6 +8,13 @@
8/* name change to hradio by MSP and changed to 8/* name change to hradio by MSP and changed to
9put out a "float" as in sliders, toggles, etc. */ 9put out a "float" as in sliders, toggles, etc. */
10 10
11#ifdef ROCKBOX
12#include "plugin.h"
13#include "pdbox.h"
14#include "m_pd.h"
15#include "g_canvas.h"
16#include "g_all_guis.h"
17#else /* ROCKBOX */
11#include <stdlib.h> 18#include <stdlib.h>
12#include <string.h> 19#include <string.h>
13#include <stdio.h> 20#include <stdio.h>
@@ -23,6 +30,7 @@ put out a "float" as in sliders, toggles, etc. */
23#else 30#else
24#include <unistd.h> 31#include <unistd.h>
25#endif 32#endif
33#endif /* ROCKBOX */
26 34
27/* ------------- hdl gui-horicontal dial ---------------------- */ 35/* ------------- hdl gui-horicontal dial ---------------------- */
28 36
@@ -33,6 +41,10 @@ static t_class *hradio_class, *hradio_old_class;
33 41
34void hradio_draw_update(t_hradio *x, t_glist *glist) 42void hradio_draw_update(t_hradio *x, t_glist *glist)
35{ 43{
44#ifdef ROCKBOX
45 (void) x;
46 (void) glist;
47#else /* ROCKBOX */
36 if(glist_isvisible(glist)) 48 if(glist_isvisible(glist))
37 { 49 {
38 t_canvas *canvas=glist_getcanvas(glist); 50 t_canvas *canvas=glist_getcanvas(glist);
@@ -44,10 +56,15 @@ void hradio_draw_update(t_hradio *x, t_glist *glist)
44 canvas, x, x->x_on, 56 canvas, x, x->x_on,
45 x->x_gui.x_fcol, x->x_gui.x_fcol); 57 x->x_gui.x_fcol, x->x_gui.x_fcol);
46 } 58 }
59#endif /* ROCKBOX */
47} 60}
48 61
49void hradio_draw_new(t_hradio *x, t_glist *glist) 62void hradio_draw_new(t_hradio *x, t_glist *glist)
50{ 63{
64#ifdef ROCKBOX
65 (void) x;
66 (void) glist;
67#else /* ROCKBOX */
51 t_canvas *canvas=glist_getcanvas(glist); 68 t_canvas *canvas=glist_getcanvas(glist);
52 int n=x->x_number, i, dx=x->x_gui.x_w, s4=dx/4; 69 int n=x->x_number, i, dx=x->x_gui.x_w, s4=dx/4;
53 int yy11=text_ypix(&x->x_gui.x_obj, glist), yy12=yy11+dx; 70 int yy11=text_ypix(&x->x_gui.x_obj, glist), yy12=yy11+dx;
@@ -55,7 +72,6 @@ void hradio_draw_new(t_hradio *x, t_glist *glist)
55 int xx11b=text_xpix(&x->x_gui.x_obj, glist), xx11=xx11b, xx21=xx11b+s4; 72 int xx11b=text_xpix(&x->x_gui.x_obj, glist), xx11=xx11b, xx21=xx11b+s4;
56 int xx22=xx11b+dx-s4; 73 int xx22=xx11b+dx-s4;
57 74
58
59 for(i=0; i<n; i++) 75 for(i=0; i<n; i++)
60 { 76 {
61 sys_vgui(".x%x.c create rectangle %d %d %d %d -fill #%6.6x -tags %xBASE%d\n", 77 sys_vgui(".x%x.c create rectangle %d %d %d %d -fill #%6.6x -tags %xBASE%d\n",
@@ -81,11 +97,15 @@ void hradio_draw_new(t_hradio *x, t_glist *glist)
81 if(!x->x_gui.x_fsf.x_rcv_able) 97 if(!x->x_gui.x_fsf.x_rcv_able)
82 sys_vgui(".x%x.c create rectangle %d %d %d %d -tags %xIN%d\n", 98 sys_vgui(".x%x.c create rectangle %d %d %d %d -tags %xIN%d\n",
83 canvas, xx11b, yy11, xx11b + IOWIDTH, yy11+1, x, 0); 99 canvas, xx11b, yy11, xx11b + IOWIDTH, yy11+1, x, 0);
84 100#endif /* ROCKBOX */
85} 101}
86 102
87void hradio_draw_move(t_hradio *x, t_glist *glist) 103void hradio_draw_move(t_hradio *x, t_glist *glist)
88{ 104{
105#ifdef ROCKBOX
106 (void) x;
107 (void) glist;
108#else /* ROCKBOX */
89 t_canvas *canvas=glist_getcanvas(glist); 109 t_canvas *canvas=glist_getcanvas(glist);
90 int n=x->x_number, i, dx=x->x_gui.x_w, s4=dx/4; 110 int n=x->x_number, i, dx=x->x_gui.x_w, s4=dx/4;
91 int yy11=text_ypix(&x->x_gui.x_obj, glist), yy12=yy11+dx; 111 int yy11=text_ypix(&x->x_gui.x_obj, glist), yy12=yy11+dx;
@@ -114,10 +134,15 @@ void hradio_draw_move(t_hradio *x, t_glist *glist)
114 if(!x->x_gui.x_fsf.x_rcv_able) 134 if(!x->x_gui.x_fsf.x_rcv_able)
115 sys_vgui(".x%x.c coords %xIN%d %d %d %d %d\n", 135 sys_vgui(".x%x.c coords %xIN%d %d %d %d %d\n",
116 canvas, x, 0, xx11b, yy11, xx11b + IOWIDTH, yy11+1); 136 canvas, x, 0, xx11b, yy11, xx11b + IOWIDTH, yy11+1);
137#endif /* ROCKBOX */
117} 138}
118 139
119void hradio_draw_erase(t_hradio* x, t_glist* glist) 140void hradio_draw_erase(t_hradio* x, t_glist* glist)
120{ 141{
142#ifdef ROCKBOX
143 (void) x;
144 (void) glist;
145#else /* ROCKBOX */
121 t_canvas *canvas=glist_getcanvas(glist); 146 t_canvas *canvas=glist_getcanvas(glist);
122 int n=x->x_number, i; 147 int n=x->x_number, i;
123 148
@@ -131,10 +156,15 @@ void hradio_draw_erase(t_hradio* x, t_glist* glist)
131 sys_vgui(".x%x.c delete %xOUT%d\n", canvas, x, 0); 156 sys_vgui(".x%x.c delete %xOUT%d\n", canvas, x, 0);
132 if(!x->x_gui.x_fsf.x_rcv_able) 157 if(!x->x_gui.x_fsf.x_rcv_able)
133 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0); 158 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0);
159#endif /* ROCKBOX */
134} 160}
135 161
136void hradio_draw_config(t_hradio* x, t_glist* glist) 162void hradio_draw_config(t_hradio* x, t_glist* glist)
137{ 163{
164#ifdef ROCKBOX
165 (void) x;
166 (void) glist;
167#else /* ROCKBOX */
138 t_canvas *canvas=glist_getcanvas(glist); 168 t_canvas *canvas=glist_getcanvas(glist);
139 int n=x->x_number, i; 169 int n=x->x_number, i;
140 170
@@ -150,10 +180,16 @@ void hradio_draw_config(t_hradio* x, t_glist* glist)
150 (x->x_on==i)?x->x_gui.x_fcol:x->x_gui.x_bcol, 180 (x->x_on==i)?x->x_gui.x_fcol:x->x_gui.x_bcol,
151 (x->x_on==i)?x->x_gui.x_fcol:x->x_gui.x_bcol); 181 (x->x_on==i)?x->x_gui.x_fcol:x->x_gui.x_bcol);
152 } 182 }
183#endif
153} 184}
154 185
155void hradio_draw_io(t_hradio* x, t_glist* glist, int old_snd_rcv_flags) 186void hradio_draw_io(t_hradio* x, t_glist* glist, int old_snd_rcv_flags)
156{ 187{
188#ifdef ROCKBOX
189 (void) x;
190 (void) glist;
191 (void) old_snd_rcv_flags;
192#else /* ROCKBOX */
157 t_canvas *canvas=glist_getcanvas(glist); 193 t_canvas *canvas=glist_getcanvas(glist);
158 int xpos=text_xpix(&x->x_gui.x_obj, glist); 194 int xpos=text_xpix(&x->x_gui.x_obj, glist);
159 int ypos=text_ypix(&x->x_gui.x_obj, glist); 195 int ypos=text_ypix(&x->x_gui.x_obj, glist);
@@ -173,10 +209,15 @@ void hradio_draw_io(t_hradio* x, t_glist* glist, int old_snd_rcv_flags)
173 xpos + IOWIDTH, ypos+1, x, 0); 209 xpos + IOWIDTH, ypos+1, x, 0);
174 if(!(old_snd_rcv_flags & IEM_GUI_OLD_RCV_FLAG) && x->x_gui.x_fsf.x_rcv_able) 210 if(!(old_snd_rcv_flags & IEM_GUI_OLD_RCV_FLAG) && x->x_gui.x_fsf.x_rcv_able)
175 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0); 211 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0);
212#endif /* ROCKBOX */
176} 213}
177 214
178void hradio_draw_select(t_hradio* x, t_glist* glist) 215void hradio_draw_select(t_hradio* x, t_glist* glist)
179{ 216{
217#ifdef ROCKBOX
218 (void) x;
219 (void) glist;
220#else /* ROCKBOX */
180 t_canvas *canvas=glist_getcanvas(glist); 221 t_canvas *canvas=glist_getcanvas(glist);
181 int n=x->x_number, i; 222 int n=x->x_number, i;
182 223
@@ -199,6 +240,7 @@ void hradio_draw_select(t_hradio* x, t_glist* glist)
199 sys_vgui(".x%x.c itemconfigure %xLABEL -fill #%6.6x\n", canvas, x, 240 sys_vgui(".x%x.c itemconfigure %xLABEL -fill #%6.6x\n", canvas, x,
200 x->x_gui.x_lcol); 241 x->x_gui.x_lcol);
201 } 242 }
243#endif /* ROCKBOX */
202} 244}
203 245
204void hradio_draw(t_hradio *x, t_glist *glist, int mode) 246void hradio_draw(t_hradio *x, t_glist *glist, int mode)
@@ -254,6 +296,10 @@ static void hradio_save(t_gobj *z, t_binbuf *b)
254 296
255static void hradio_properties(t_gobj *z, t_glist *owner) 297static void hradio_properties(t_gobj *z, t_glist *owner)
256{ 298{
299#ifdef ROCKBOX
300 (void) z;
301 (void) owner;
302#else /* ROCKBOX */
257 t_hradio *x = (t_hradio *)z; 303 t_hradio *x = (t_hradio *)z;
258 char buf[800]; 304 char buf[800];
259 t_symbol *srl[3]; 305 t_symbol *srl[3];
@@ -278,6 +324,7 @@ static void hradio_properties(t_gobj *z, t_glist *owner)
278 x->x_gui.x_fsf.x_font_style, x->x_gui.x_fontsize, 324 x->x_gui.x_fsf.x_font_style, x->x_gui.x_fontsize,
279 0xffffff & x->x_gui.x_bcol, 0xffffff & x->x_gui.x_fcol, 0xffffff & x->x_gui.x_lcol); 325 0xffffff & x->x_gui.x_bcol, 0xffffff & x->x_gui.x_fcol, 0xffffff & x->x_gui.x_lcol);
280 gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf); 326 gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf);
327#endif /* ROCKBOX */
281} 328}
282 329
283static void hradio_dialog(t_hradio *x, t_symbol *s, int argc, t_atom *argv) 330static void hradio_dialog(t_hradio *x, t_symbol *s, int argc, t_atom *argv)
@@ -288,6 +335,10 @@ static void hradio_dialog(t_hradio *x, t_symbol *s, int argc, t_atom *argv)
288 int num = (int)atom_getintarg(6, argc, argv); 335 int num = (int)atom_getintarg(6, argc, argv);
289 int sr_flags; 336 int sr_flags;
290 337
338#ifdef ROCKBOX
339 (void) s;
340#endif
341
291 if(chg != 0) chg = 1; 342 if(chg != 0) chg = 1;
292 x->x_change = chg; 343 x->x_change = chg;
293 sr_flags = iemgui_dialog(&x->x_gui, srl, argc, argv); 344 sr_flags = iemgui_dialog(&x->x_gui, srl, argc, argv);
@@ -462,11 +513,22 @@ static void hradio_click(t_hradio *x, t_floatarg xpos, t_floatarg ypos, t_floata
462{ 513{
463 int xx = (int)xpos - (int)text_xpix(&x->x_gui.x_obj, x->x_gui.x_glist); 514 int xx = (int)xpos - (int)text_xpix(&x->x_gui.x_obj, x->x_gui.x_glist);
464 515
516#ifdef ROCKBOX
517 (void) ypos;
518 (void) shift;
519 (void) ctrl;
520 (void) alt;
521#endif
522
465 hradio_fout(x, (float)(xx / x->x_gui.x_w)); 523 hradio_fout(x, (float)(xx / x->x_gui.x_w));
466} 524}
467 525
468static int hradio_newclick(t_gobj *z, struct _glist *glist, int xpix, int ypix, int shift, int alt, int dbl, int doit) 526static int hradio_newclick(t_gobj *z, struct _glist *glist, int xpix, int ypix, int shift, int alt, int dbl, int doit)
469{ 527{
528#ifdef ROCKBOX
529 (void) glist;
530 (void) dbl;
531#endif
470 if(doit) 532 if(doit)
471 hradio_click((t_hradio *)z, (t_floatarg)xpix, (t_floatarg)ypix, (t_floatarg)shift, 0, (t_floatarg)alt); 533 hradio_click((t_hradio *)z, (t_floatarg)xpix, (t_floatarg)ypix, (t_floatarg)shift, 0, (t_floatarg)alt);
472 return (1); 534 return (1);
@@ -499,6 +561,9 @@ static void hradio_number(t_hradio *x, t_floatarg num)
499 561
500static void hradio_size(t_hradio *x, t_symbol *s, int ac, t_atom *av) 562static void hradio_size(t_hradio *x, t_symbol *s, int ac, t_atom *av)
501{ 563{
564#ifdef ROCKBOX
565 (void) s;
566#endif
502 x->x_gui.x_w = iemgui_clip_size((int)atom_getintarg(0, ac, av)); 567 x->x_gui.x_w = iemgui_clip_size((int)atom_getintarg(0, ac, av));
503 x->x_gui.x_h = x->x_gui.x_w; 568 x->x_gui.x_h = x->x_gui.x_w;
504 iemgui_size((void *)x, &x->x_gui); 569 iemgui_size((void *)x, &x->x_gui);
@@ -543,11 +608,21 @@ static void *hradio_donew(t_symbol *s, int argc, t_atom *argv, int old)
543{ 608{
544 t_hradio *x = (t_hradio *)pd_new(old? hradio_old_class : hradio_class); 609 t_hradio *x = (t_hradio *)pd_new(old? hradio_old_class : hradio_class);
545 int bflcol[]={-262144, -1, -1}; 610 int bflcol[]={-262144, -1, -1};
611#ifdef ROCKBOX
612 int a=IEM_GUI_DEFAULTSIZE, on=0;
613#else
546 int a=IEM_GUI_DEFAULTSIZE, on=0, f=0; 614 int a=IEM_GUI_DEFAULTSIZE, on=0, f=0;
615#endif
547 int ldx=0, ldy=-6, chg=1, num=8; 616 int ldx=0, ldy=-6, chg=1, num=8;
548 int fs=8; 617 int fs=8;
618#ifndef ROCKBOX
549 int ftbreak=IEM_BNG_DEFAULTBREAKFLASHTIME, fthold=IEM_BNG_DEFAULTHOLDFLASHTIME; 619 int ftbreak=IEM_BNG_DEFAULTBREAKFLASHTIME, fthold=IEM_BNG_DEFAULTHOLDFLASHTIME;
550 char str[144]; 620 char str[144];
621#endif
622
623#ifdef ROCKBOX
624 (void) s;
625#endif
551 626
552 iem_inttosymargs(&x->x_gui.x_isa, 0); 627 iem_inttosymargs(&x->x_gui.x_isa, 0);
553 iem_inttofstyle(&x->x_gui.x_fsf, 0); 628 iem_inttofstyle(&x->x_gui.x_fsf, 0);
@@ -632,7 +707,9 @@ static void hradio_ff(t_hradio *x)
632{ 707{
633 if(x->x_gui.x_fsf.x_rcv_able) 708 if(x->x_gui.x_fsf.x_rcv_able)
634 pd_unbind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv); 709 pd_unbind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv);
710#ifndef ROCKBOX
635 gfxstub_deleteforkey(x); 711 gfxstub_deleteforkey(x);
712#endif
636} 713}
637 714
638void g_hradio_setup(void) 715void g_hradio_setup(void)
diff --git a/apps/plugins/pdbox/PDa/src/g_hslider.c b/apps/plugins/pdbox/PDa/src/g_hslider.c
index c5d660c5d7..4f9343cffa 100644
--- a/apps/plugins/pdbox/PDa/src/g_hslider.c
+++ b/apps/plugins/pdbox/PDa/src/g_hslider.c
@@ -6,6 +6,13 @@
6/* thanks to Miller Puckette, Guenther Geiger and Krzystof Czaja */ 6/* thanks to Miller Puckette, Guenther Geiger and Krzystof Czaja */
7 7
8 8
9#ifdef ROCKBOX
10#include "plugin.h"
11#include "pdbox.h"
12#include "m_pd.h"
13#include "g_canvas.h"
14#include "g_all_guis.h"
15#else /* ROCKBOX */
9#include <stdlib.h> 16#include <stdlib.h>
10#include <string.h> 17#include <string.h>
11#include <stdio.h> 18#include <stdio.h>
@@ -21,7 +28,7 @@
21#else 28#else
22#include <unistd.h> 29#include <unistd.h>
23#endif 30#endif
24 31#endif /* ROCKBOX */
25 32
26/* ------------ hsl gui-horicontal slider ----------------------- */ 33/* ------------ hsl gui-horicontal slider ----------------------- */
27 34
@@ -32,6 +39,10 @@ static t_class *hslider_class;
32 39
33static void hslider_draw_update(t_hslider *x, t_glist *glist) 40static void hslider_draw_update(t_hslider *x, t_glist *glist)
34{ 41{
42#ifdef ROCKBOX
43 (void) x;
44 (void) glist;
45#else /* ROCKBOX */
35 t_canvas *canvas=glist_getcanvas(glist); 46 t_canvas *canvas=glist_getcanvas(glist);
36 int ypos=text_ypix(&x->x_gui.x_obj, glist); 47 int ypos=text_ypix(&x->x_gui.x_obj, glist);
37 48
@@ -58,10 +69,15 @@ static void hslider_draw_update(t_hslider *x, t_glist *glist)
58 } 69 }
59 } 70 }
60 } 71 }
72#endif /* ROCKBOX */
61} 73}
62 74
63static void hslider_draw_new(t_hslider *x, t_glist *glist) 75static void hslider_draw_new(t_hslider *x, t_glist *glist)
64{ 76{
77#ifdef ROCKBOX
78 (void) x;
79 (void) glist;
80#else /* ROCKBOX */
65 int xpos=text_xpix(&x->x_gui.x_obj, glist); 81 int xpos=text_xpix(&x->x_gui.x_obj, glist);
66 int ypos=text_ypix(&x->x_gui.x_obj, glist); 82 int ypos=text_ypix(&x->x_gui.x_obj, glist);
67 int r = xpos + (x->x_val + 50)/100; 83 int r = xpos + (x->x_val + 50)/100;
@@ -88,10 +104,15 @@ static void hslider_draw_new(t_hslider *x, t_glist *glist)
88 sys_vgui(".x%x.c create rectangle %d %d %d %d -tags %xIN%d\n", 104 sys_vgui(".x%x.c create rectangle %d %d %d %d -tags %xIN%d\n",
89 canvas, xpos-3, ypos, 105 canvas, xpos-3, ypos,
90 xpos+4, ypos+1, x, 0); 106 xpos+4, ypos+1, x, 0);
107#endif /* ROCKBOX */
91} 108}
92 109
93static void hslider_draw_move(t_hslider *x, t_glist *glist) 110static void hslider_draw_move(t_hslider *x, t_glist *glist)
94{ 111{
112#ifdef ROCKBOX
113 (void) x;
114 (void) glist;
115#else /* ROCKBOX */
95 int xpos=text_xpix(&x->x_gui.x_obj, glist); 116 int xpos=text_xpix(&x->x_gui.x_obj, glist);
96 int ypos=text_ypix(&x->x_gui.x_obj, glist); 117 int ypos=text_ypix(&x->x_gui.x_obj, glist);
97 int r = xpos + (x->x_val + 50)/100; 118 int r = xpos + (x->x_val + 50)/100;
@@ -116,10 +137,15 @@ static void hslider_draw_move(t_hslider *x, t_glist *glist)
116 canvas, x, 0, 137 canvas, x, 0,
117 xpos-3, ypos, 138 xpos-3, ypos,
118 xpos+4, ypos+1); 139 xpos+4, ypos+1);
140#endif /* ROCKBOX */
119} 141}
120 142
121static void hslider_draw_erase(t_hslider* x,t_glist* glist) 143static void hslider_draw_erase(t_hslider* x,t_glist* glist)
122{ 144{
145#ifdef ROCKBOX
146 (void) x;
147 (void) glist;
148#else /* ROCKBOX */
123 t_canvas *canvas=glist_getcanvas(glist); 149 t_canvas *canvas=glist_getcanvas(glist);
124 150
125 sys_vgui(".x%x.c delete %xBASE\n", canvas, x); 151 sys_vgui(".x%x.c delete %xBASE\n", canvas, x);
@@ -129,10 +155,15 @@ static void hslider_draw_erase(t_hslider* x,t_glist* glist)
129 sys_vgui(".x%x.c delete %xOUT%d\n", canvas, x, 0); 155 sys_vgui(".x%x.c delete %xOUT%d\n", canvas, x, 0);
130 if(!x->x_gui.x_fsf.x_rcv_able) 156 if(!x->x_gui.x_fsf.x_rcv_able)
131 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0); 157 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0);
158#endif /* ROCKBOX */
132} 159}
133 160
134static void hslider_draw_config(t_hslider* x,t_glist* glist) 161static void hslider_draw_config(t_hslider* x,t_glist* glist)
135{ 162{
163#ifdef ROCKBOX
164 (void) x;
165 (void) glist;
166#else /* ROCKBOX */
136 t_canvas *canvas=glist_getcanvas(glist); 167 t_canvas *canvas=glist_getcanvas(glist);
137 168
138 sys_vgui(".x%x.c itemconfigure %xLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n", 169 sys_vgui(".x%x.c itemconfigure %xLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n",
@@ -141,10 +172,16 @@ static void hslider_draw_config(t_hslider* x,t_glist* glist)
141 strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:""); 172 strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
142 sys_vgui(".x%x.c itemconfigure %xKNOB -fill #%6.6x\n", canvas, x, x->x_gui.x_fcol); 173 sys_vgui(".x%x.c itemconfigure %xKNOB -fill #%6.6x\n", canvas, x, x->x_gui.x_fcol);
143 sys_vgui(".x%x.c itemconfigure %xBASE -fill #%6.6x\n", canvas, x, x->x_gui.x_bcol); 174 sys_vgui(".x%x.c itemconfigure %xBASE -fill #%6.6x\n", canvas, x, x->x_gui.x_bcol);
175#endif /* ROCKBOX */
144} 176}
145 177
146static void hslider_draw_io(t_hslider* x,t_glist* glist, int old_snd_rcv_flags) 178static void hslider_draw_io(t_hslider* x,t_glist* glist, int old_snd_rcv_flags)
147{ 179{
180#ifdef ROCKBOX
181 (void) x;
182 (void) glist;
183 (void) old_snd_rcv_flags;
184#else /* ROCKBOX */
148 int xpos=text_xpix(&x->x_gui.x_obj, glist); 185 int xpos=text_xpix(&x->x_gui.x_obj, glist);
149 int ypos=text_ypix(&x->x_gui.x_obj, glist); 186 int ypos=text_ypix(&x->x_gui.x_obj, glist);
150 t_canvas *canvas=glist_getcanvas(glist); 187 t_canvas *canvas=glist_getcanvas(glist);
@@ -161,10 +198,15 @@ static void hslider_draw_io(t_hslider* x,t_glist* glist, int old_snd_rcv_flags)
161 xpos+4, ypos+1, x, 0); 198 xpos+4, ypos+1, x, 0);
162 if(!(old_snd_rcv_flags & IEM_GUI_OLD_RCV_FLAG) && x->x_gui.x_fsf.x_rcv_able) 199 if(!(old_snd_rcv_flags & IEM_GUI_OLD_RCV_FLAG) && x->x_gui.x_fsf.x_rcv_able)
163 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0); 200 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0);
201#endif /* ROCKBOX */
164} 202}
165 203
166static void hslider_draw_select(t_hslider* x,t_glist* glist) 204static void hslider_draw_select(t_hslider* x,t_glist* glist)
167{ 205{
206#ifdef ROCKBOX
207 (void) x;
208 (void) glist;
209#else /* ROCKBOX */
168 t_canvas *canvas=glist_getcanvas(glist); 210 t_canvas *canvas=glist_getcanvas(glist);
169 211
170 if(x->x_gui.x_fsf.x_selected) 212 if(x->x_gui.x_fsf.x_selected)
@@ -177,6 +219,7 @@ static void hslider_draw_select(t_hslider* x,t_glist* glist)
177 sys_vgui(".x%x.c itemconfigure %xBASE -outline #%6.6x\n", canvas, x, IEM_GUI_COLOR_NORMAL); 219 sys_vgui(".x%x.c itemconfigure %xBASE -outline #%6.6x\n", canvas, x, IEM_GUI_COLOR_NORMAL);
178 sys_vgui(".x%x.c itemconfigure %xLABEL -fill #%6.6x\n", canvas, x, x->x_gui.x_lcol); 220 sys_vgui(".x%x.c itemconfigure %xLABEL -fill #%6.6x\n", canvas, x, x->x_gui.x_lcol);
179 } 221 }
222#endif /* ROCKBOX */
180} 223}
181 224
182void hslider_draw(t_hslider *x, t_glist *glist, int mode) 225void hslider_draw(t_hslider *x, t_glist *glist, int mode)
@@ -279,6 +322,10 @@ void hslider_check_minmax(t_hslider *x, double min, double max)
279 322
280static void hslider_properties(t_gobj *z, t_glist *owner) 323static void hslider_properties(t_gobj *z, t_glist *owner)
281{ 324{
325#ifdef ROCKBOX
326 (void) z;
327 (void) owner;
328#else /* ROCKBOX */
282 t_hslider *x = (t_hslider *)z; 329 t_hslider *x = (t_hslider *)z;
283 char buf[800]; 330 char buf[800];
284 t_symbol *srl[3]; 331 t_symbol *srl[3];
@@ -300,6 +347,7 @@ static void hslider_properties(t_gobj *z, t_glist *owner)
300 x->x_gui.x_fsf.x_font_style, x->x_gui.x_fontsize, 347 x->x_gui.x_fsf.x_font_style, x->x_gui.x_fontsize,
301 0xffffff & x->x_gui.x_bcol, 0xffffff & x->x_gui.x_fcol, 0xffffff & x->x_gui.x_lcol); 348 0xffffff & x->x_gui.x_bcol, 0xffffff & x->x_gui.x_fcol, 0xffffff & x->x_gui.x_lcol);
302 gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf); 349 gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf);
350#endif /* ROCKBOX */
303} 351}
304 352
305static void hslider_set(t_hslider *x, t_floatarg f) /* bugfix */ 353static void hslider_set(t_hslider *x, t_floatarg f) /* bugfix */
@@ -355,6 +403,10 @@ static void hslider_dialog(t_hslider *x, t_symbol *s, int argc, t_atom *argv)
355 int steady = (int)atom_getintarg(17, argc, argv); 403 int steady = (int)atom_getintarg(17, argc, argv);
356 int sr_flags; 404 int sr_flags;
357 405
406#ifdef ROCKBOX
407 (void) s;
408#endif
409
358 if(lilo != 0) lilo = 1; 410 if(lilo != 0) lilo = 1;
359 x->x_lin0_log1 = lilo; 411 x->x_lin0_log1 = lilo;
360 if(steady) 412 if(steady)
@@ -375,6 +427,10 @@ static void hslider_motion(t_hslider *x, t_floatarg dx, t_floatarg dy)
375{ 427{
376 int old = x->x_val; 428 int old = x->x_val;
377 429
430#ifdef ROCKBOX
431 (void) dy;
432#endif
433
378 if(x->x_gui.x_fsf.x_finemoved) 434 if(x->x_gui.x_fsf.x_finemoved)
379 x->x_pos += (int)dx; 435 x->x_pos += (int)dx;
380 else 436 else
@@ -402,6 +458,11 @@ static void hslider_motion(t_hslider *x, t_floatarg dx, t_floatarg dy)
402static void hslider_click(t_hslider *x, t_floatarg xpos, t_floatarg ypos, 458static void hslider_click(t_hslider *x, t_floatarg xpos, t_floatarg ypos,
403 t_floatarg shift, t_floatarg ctrl, t_floatarg alt) 459 t_floatarg shift, t_floatarg ctrl, t_floatarg alt)
404{ 460{
461#ifdef ROCKBOX
462 (void) shift;
463 (void) ctrl;
464 (void) alt;
465#endif
405 if(!x->x_steady) 466 if(!x->x_steady)
406 x->x_val = (int)(100.0 * (xpos - text_xpix(&x->x_gui.x_obj, x->x_gui.x_glist))); 467 x->x_val = (int)(100.0 * (xpos - text_xpix(&x->x_gui.x_obj, x->x_gui.x_glist)));
407 if(x->x_val > (100*x->x_gui.x_w - 100)) 468 if(x->x_val > (100*x->x_gui.x_w - 100))
@@ -420,6 +481,11 @@ static int hslider_newclick(t_gobj *z, struct _glist *glist,
420{ 481{
421 t_hslider* x = (t_hslider *)z; 482 t_hslider* x = (t_hslider *)z;
422 483
484#ifdef ROCKBOX
485 (void) glist;
486 (void) dbl;
487#endif
488
423 if(doit) 489 if(doit)
424 { 490 {
425 hslider_click( x, (t_floatarg)xpix, (t_floatarg)ypix, (t_floatarg)shift, 491 hslider_click( x, (t_floatarg)xpix, (t_floatarg)ypix, (t_floatarg)shift,
@@ -434,6 +500,9 @@ static int hslider_newclick(t_gobj *z, struct _glist *glist,
434 500
435static void hslider_size(t_hslider *x, t_symbol *s, int ac, t_atom *av) 501static void hslider_size(t_hslider *x, t_symbol *s, int ac, t_atom *av)
436{ 502{
503#ifdef ROCKBOX
504 (void) s;
505#endif
437 hslider_check_width(x, (int)atom_getintarg(0, ac, av)); 506 hslider_check_width(x, (int)atom_getintarg(0, ac, av));
438 if(ac > 1) 507 if(ac > 1)
439 x->x_gui.x_h = iemgui_clip_size((int)atom_getintarg(1, ac, av)); 508 x->x_gui.x_h = iemgui_clip_size((int)atom_getintarg(1, ac, av));
@@ -448,6 +517,9 @@ static void hslider_pos(t_hslider *x, t_symbol *s, int ac, t_atom *av)
448 517
449static void hslider_range(t_hslider *x, t_symbol *s, int ac, t_atom *av) 518static void hslider_range(t_hslider *x, t_symbol *s, int ac, t_atom *av)
450{ 519{
520#ifdef ROCKBOX
521 (void) s;
522#endif
451 hslider_check_minmax(x, (double)atom_getfloatarg(0, ac, av), 523 hslider_check_minmax(x, (double)atom_getfloatarg(0, ac, av),
452 (double)atom_getfloatarg(1, ac, av)); 524 (double)atom_getfloatarg(1, ac, av));
453} 525}
@@ -525,10 +597,20 @@ static void *hslider_new(t_symbol *s, int argc, t_atom *argv)
525 t_hslider *x = (t_hslider *)pd_new(hslider_class); 597 t_hslider *x = (t_hslider *)pd_new(hslider_class);
526 int bflcol[]={-262144, -1, -1}; 598 int bflcol[]={-262144, -1, -1};
527 int w=IEM_SL_DEFAULTSIZE, h=IEM_GUI_DEFAULTSIZE; 599 int w=IEM_SL_DEFAULTSIZE, h=IEM_GUI_DEFAULTSIZE;
600#ifdef ROCKBOX
601 int lilo=0, ldx=-2, ldy=-6, v=0, steady=1;
602#else
528 int lilo=0, ldx=-2, ldy=-6, f=0, v=0, steady=1; 603 int lilo=0, ldx=-2, ldy=-6, f=0, v=0, steady=1;
604#endif
529 int fs=8; 605 int fs=8;
530 double min=0.0, max=(double)(IEM_SL_DEFAULTSIZE-1); 606 double min=0.0, max=(double)(IEM_SL_DEFAULTSIZE-1);
607#ifndef ROCKBOX
531 char str[144]; 608 char str[144];
609#endif
610
611#ifdef ROCKBOX
612 (void) s;
613#endif
532 614
533 iem_inttosymargs(&x->x_gui.x_isa, 0); 615 iem_inttosymargs(&x->x_gui.x_isa, 0);
534 iem_inttofstyle(&x->x_gui.x_fsf, 0); 616 iem_inttofstyle(&x->x_gui.x_fsf, 0);
@@ -607,7 +689,9 @@ static void hslider_free(t_hslider *x)
607{ 689{
608 if(x->x_gui.x_fsf.x_rcv_able) 690 if(x->x_gui.x_fsf.x_rcv_able)
609 pd_unbind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv); 691 pd_unbind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv);
692#ifndef ROCKBOX
610 gfxstub_deleteforkey(x); 693 gfxstub_deleteforkey(x);
694#endif
611} 695}
612 696
613void g_hslider_setup(void) 697void g_hslider_setup(void)
diff --git a/apps/plugins/pdbox/PDa/src/g_io.c b/apps/plugins/pdbox/PDa/src/g_io.c
index db69543a87..3df518717b 100644
--- a/apps/plugins/pdbox/PDa/src/g_io.c
+++ b/apps/plugins/pdbox/PDa/src/g_io.c
@@ -22,9 +22,17 @@ life elsewhere. */
22 * 22 *
23 */ 23 */
24 24
25#ifdef ROCKBOX
26#include "plugin.h"
27#include "pdbox.h"
28#include "m_pd.h"
29#include "g_canvas.h"
30#else
25#include "m_pd.h" 31#include "m_pd.h"
26#include "g_canvas.h" 32#include "g_canvas.h"
27#include <string.h> 33#include <string.h>
34#endif
35
28void signal_setborrowed(t_signal *sig, t_signal *sig2); 36void signal_setborrowed(t_signal *sig, t_signal *sig2);
29void signal_makereusable(t_signal *sig); 37void signal_makereusable(t_signal *sig);
30 38
@@ -51,6 +59,9 @@ typedef struct _vinlet
51 59
52static void *vinlet_new(t_symbol *s) 60static void *vinlet_new(t_symbol *s)
53{ 61{
62#ifdef ROCKBOX
63 (void) s;
64#endif
54 t_vinlet *x = (t_vinlet *)pd_new(vinlet_class); 65 t_vinlet *x = (t_vinlet *)pd_new(vinlet_class);
55 x->x_canvas = canvas_getcurrent(); 66 x->x_canvas = canvas_getcurrent();
56 x->x_inlet = canvas_addinlet(x->x_canvas, &x->x_obj.ob_pd, 0); 67 x->x_inlet = canvas_addinlet(x->x_canvas, &x->x_obj.ob_pd, 0);
@@ -108,7 +119,9 @@ int vinlet_issignal(t_vinlet *x)
108 return (x->x_buf != 0); 119 return (x->x_buf != 0);
109} 120}
110 121
122#ifndef ROCKBOX
111static int tot; 123static int tot;
124#endif
112 125
113t_int *vinlet_perform(t_int *w) 126t_int *vinlet_perform(t_int *w)
114{ 127{
@@ -176,7 +189,13 @@ void vinlet_dspprolog(t_vinlet *x, t_signal **parentsigs,
176 int myvecsize, int phase, int period, int frequency, int downsample, int upsample/* IOhannes */, int reblock, 189 int myvecsize, int phase, int period, int frequency, int downsample, int upsample/* IOhannes */, int reblock,
177 int switched) 190 int switched)
178{ 191{
192#ifdef ROCKBOX
193 t_signal *insig;
194 (void) frequency;
195 (void) switched;
196#else
179 t_signal *insig, *outsig; 197 t_signal *insig, *outsig;
198#endif
180 x->x_updown.downsample = downsample; 199 x->x_updown.downsample = downsample;
181 x->x_updown.upsample = upsample; 200 x->x_updown.upsample = upsample;
182 201
@@ -318,6 +337,9 @@ typedef struct _voutlet
318 337
319static void *voutlet_new(t_symbol *s) 338static void *voutlet_new(t_symbol *s)
320{ 339{
340#ifdef ROCKBOX
341 (void) s;
342#endif
321 t_voutlet *x = (t_voutlet *)pd_new(voutlet_class); 343 t_voutlet *x = (t_voutlet *)pd_new(voutlet_class);
322 x->x_canvas = canvas_getcurrent(); 344 x->x_canvas = canvas_getcurrent();
323 x->x_parentoutlet = canvas_addoutlet(x->x_canvas, &x->x_obj.ob_pd, 0); 345 x->x_parentoutlet = canvas_addoutlet(x->x_canvas, &x->x_obj.ob_pd, 0);
@@ -445,6 +467,12 @@ void voutlet_dspprolog(t_voutlet *x, t_signal **parentsigs,
445 int myvecsize, int phase, int period, int frequency, int downsample, int upsample /* IOhannes */, int reblock, 467 int myvecsize, int phase, int period, int frequency, int downsample, int upsample /* IOhannes */, int reblock,
446 int switched) 468 int switched)
447{ 469{
470#ifdef ROCKBOX
471 (void) myvecsize;
472 (void) phase;
473 (void) period;
474 (void) frequency;
475#endif
448 x->x_updown.downsample=downsample; x->x_updown.upsample=upsample; /* IOhannes */ 476 x->x_updown.downsample=downsample; x->x_updown.upsample=upsample; /* IOhannes */
449 x->x_justcopyout = (switched && !reblock); 477 x->x_justcopyout = (switched && !reblock);
450 if (reblock) 478 if (reblock)
@@ -488,7 +516,11 @@ void voutlet_dspepilog(t_voutlet *x, t_signal **parentsigs,
488 x->x_updown.downsample=downsample; x->x_updown.upsample=upsample; /* IOhannes */ 516 x->x_updown.downsample=downsample; x->x_updown.upsample=upsample; /* IOhannes */
489 if (reblock) 517 if (reblock)
490 { 518 {
519#ifdef ROCKBOX
520 t_signal *outsig;
521#else
491 t_signal *insig, *outsig; 522 t_signal *insig, *outsig;
523#endif
492 int parentvecsize, bufsize, oldbufsize; 524 int parentvecsize, bufsize, oldbufsize;
493 int re_parentvecsize; /* IOhannes */ 525 int re_parentvecsize; /* IOhannes */
494 int bigperiod, epilogphase, blockphase; 526 int bigperiod, epilogphase, blockphase;
diff --git a/apps/plugins/pdbox/PDa/src/g_mycanvas.c b/apps/plugins/pdbox/PDa/src/g_mycanvas.c
index 92615e912f..a00b1bf642 100644
--- a/apps/plugins/pdbox/PDa/src/g_mycanvas.c
+++ b/apps/plugins/pdbox/PDa/src/g_mycanvas.c
@@ -6,6 +6,13 @@
6/* thanks to Miller Puckette, Guenther Geiger and Krzystof Czaja */ 6/* thanks to Miller Puckette, Guenther Geiger and Krzystof Czaja */
7 7
8 8
9#ifdef ROCKBOX
10#include "plugin.h"
11#include "pdbox.h"
12#include "m_pd.h"
13#include "g_canvas.h"
14#include "g_all_guis.h"
15#else /* ROCKBOX */
9#include <stdlib.h> 16#include <stdlib.h>
10#include <string.h> 17#include <string.h>
11#include <stdio.h> 18#include <stdio.h>
@@ -21,6 +28,7 @@
21#else 28#else
22#include <unistd.h> 29#include <unistd.h>
23#endif 30#endif
31#endif /* ROCKBOX */
24 32
25/* ---------- cnv my gui-canvas for a window ---------------- */ 33/* ---------- cnv my gui-canvas for a window ---------------- */
26 34
@@ -31,6 +39,10 @@ static t_class *my_canvas_class;
31 39
32void my_canvas_draw_new(t_my_canvas *x, t_glist *glist) 40void my_canvas_draw_new(t_my_canvas *x, t_glist *glist)
33{ 41{
42#ifdef ROCKBOX
43 (void) x;
44 (void) glist;
45#else /* ROCKBOX */
34 int xpos=text_xpix(&x->x_gui.x_obj, glist); 46 int xpos=text_xpix(&x->x_gui.x_obj, glist);
35 int ypos=text_ypix(&x->x_gui.x_obj, glist); 47 int ypos=text_ypix(&x->x_gui.x_obj, glist);
36 t_canvas *canvas=glist_getcanvas(glist); 48 t_canvas *canvas=glist_getcanvas(glist);
@@ -48,10 +60,15 @@ void my_canvas_draw_new(t_my_canvas *x, t_glist *glist)
48 canvas, xpos+x->x_gui.x_ldx, ypos+x->x_gui.x_ldy, 60 canvas, xpos+x->x_gui.x_ldx, ypos+x->x_gui.x_ldy,
49 strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"", 61 strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"",
50 x->x_gui.x_font, x->x_gui.x_fontsize, x->x_gui.x_lcol, x); 62 x->x_gui.x_font, x->x_gui.x_fontsize, x->x_gui.x_lcol, x);
63#endif /* ROCKBOX */
51} 64}
52 65
53void my_canvas_draw_move(t_my_canvas *x, t_glist *glist) 66void my_canvas_draw_move(t_my_canvas *x, t_glist *glist)
54{ 67{
68#ifdef ROCKBOX
69 (void) x;
70 (void) glist;
71#else /* ROCKBOX */
55 int xpos=text_xpix(&x->x_gui.x_obj, glist); 72 int xpos=text_xpix(&x->x_gui.x_obj, glist);
56 int ypos=text_ypix(&x->x_gui.x_obj, glist); 73 int ypos=text_ypix(&x->x_gui.x_obj, glist);
57 t_canvas *canvas=glist_getcanvas(glist); 74 t_canvas *canvas=glist_getcanvas(glist);
@@ -65,19 +82,29 @@ void my_canvas_draw_move(t_my_canvas *x, t_glist *glist)
65 sys_vgui(".x%x.c coords %xLABEL %d %d\n", 82 sys_vgui(".x%x.c coords %xLABEL %d %d\n",
66 canvas, x, xpos+x->x_gui.x_ldx, 83 canvas, x, xpos+x->x_gui.x_ldx,
67 ypos+x->x_gui.x_ldy); 84 ypos+x->x_gui.x_ldy);
85#endif /* ROCKBOX */
68} 86}
69 87
70void my_canvas_draw_erase(t_my_canvas* x, t_glist* glist) 88void my_canvas_draw_erase(t_my_canvas* x, t_glist* glist)
71{ 89{
90#ifdef ROCKBOX
91 (void) x;
92 (void) glist;
93#else /* ROCKBOX */
72 t_canvas *canvas=glist_getcanvas(glist); 94 t_canvas *canvas=glist_getcanvas(glist);
73 95
74 sys_vgui(".x%x.c delete %xBASE\n", canvas, x); 96 sys_vgui(".x%x.c delete %xBASE\n", canvas, x);
75 sys_vgui(".x%x.c delete %xRECT\n", canvas, x); 97 sys_vgui(".x%x.c delete %xRECT\n", canvas, x);
76 sys_vgui(".x%x.c delete %xLABEL\n", canvas, x); 98 sys_vgui(".x%x.c delete %xLABEL\n", canvas, x);
99#endif /* ROCKBOX */
77} 100}
78 101
79void my_canvas_draw_config(t_my_canvas* x, t_glist* glist) 102void my_canvas_draw_config(t_my_canvas* x, t_glist* glist)
80{ 103{
104#ifdef ROCKBOX
105 (void) x;
106 (void) glist;
107#else /* ROCKBOX */
81 t_canvas *canvas=glist_getcanvas(glist); 108 t_canvas *canvas=glist_getcanvas(glist);
82 109
83 sys_vgui(".x%x.c itemconfigure %xRECT -fill #%6.6x -outline #%6.6x\n", canvas, x, 110 sys_vgui(".x%x.c itemconfigure %xRECT -fill #%6.6x -outline #%6.6x\n", canvas, x,
@@ -87,10 +114,15 @@ void my_canvas_draw_config(t_my_canvas* x, t_glist* glist)
87 sys_vgui(".x%x.c itemconfigure %xLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n", 114 sys_vgui(".x%x.c itemconfigure %xLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n",
88 canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, x->x_gui.x_lcol, 115 canvas, x, x->x_gui.x_font, x->x_gui.x_fontsize, x->x_gui.x_lcol,
89 strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:""); 116 strcmp(x->x_gui.x_lab->s_name, "empty")?x->x_gui.x_lab->s_name:"");
117#endif /* ROCKBOX */
90} 118}
91 119
92void my_canvas_draw_select(t_my_canvas* x, t_glist* glist) 120void my_canvas_draw_select(t_my_canvas* x, t_glist* glist)
93{ 121{
122#ifdef ROCKBOX
123 (void) x;
124 (void) glist;
125#else /* ROCKBOX */
94 t_canvas *canvas=glist_getcanvas(glist); 126 t_canvas *canvas=glist_getcanvas(glist);
95 127
96 if(x->x_gui.x_fsf.x_selected) 128 if(x->x_gui.x_fsf.x_selected)
@@ -101,6 +133,7 @@ void my_canvas_draw_select(t_my_canvas* x, t_glist* glist)
101 { 133 {
102 sys_vgui(".x%x.c itemconfigure %xBASE -outline #%6.6x\n", canvas, x, x->x_gui.x_bcol); 134 sys_vgui(".x%x.c itemconfigure %xBASE -outline #%6.6x\n", canvas, x, x->x_gui.x_bcol);
103 } 135 }
136#endif /* ROCKBOX */
104} 137}
105 138
106void my_canvas_draw(t_my_canvas *x, t_glist *glist, int mode) 139void my_canvas_draw(t_my_canvas *x, t_glist *glist, int mode)
@@ -147,6 +180,10 @@ static void my_canvas_save(t_gobj *z, t_binbuf *b)
147 180
148static void my_canvas_properties(t_gobj *z, t_glist *owner) 181static void my_canvas_properties(t_gobj *z, t_glist *owner)
149{ 182{
183#ifdef ROCKBOX
184 (void) z;
185 (void) owner;
186#else /* ROCKBOX */
150 t_my_canvas *x = (t_my_canvas *)z; 187 t_my_canvas *x = (t_my_canvas *)z;
151 char buf[800]; 188 char buf[800];
152 t_symbol *srl[3]; 189 t_symbol *srl[3];
@@ -168,6 +205,7 @@ static void my_canvas_properties(t_gobj *z, t_glist *owner)
168 x->x_gui.x_fsf.x_font_style, x->x_gui.x_fontsize, 205 x->x_gui.x_fsf.x_font_style, x->x_gui.x_fontsize,
169 0xffffff & x->x_gui.x_bcol, -1/*no frontcolor*/, 0xffffff & x->x_gui.x_lcol); 206 0xffffff & x->x_gui.x_bcol, -1/*no frontcolor*/, 0xffffff & x->x_gui.x_lcol);
170 gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf); 207 gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf);
208#endif /* ROCKBOX */
171} 209}
172 210
173static void my_canvas_get_pos(t_my_canvas *x) 211static void my_canvas_get_pos(t_my_canvas *x)
@@ -182,11 +220,19 @@ static void my_canvas_get_pos(t_my_canvas *x)
182 220
183static void my_canvas_dialog(t_my_canvas *x, t_symbol *s, int argc, t_atom *argv) 221static void my_canvas_dialog(t_my_canvas *x, t_symbol *s, int argc, t_atom *argv)
184{ 222{
223#ifndef ROCKBOX
185 t_symbol *srl[3]; 224 t_symbol *srl[3];
225#endif
186 int a = (int)atom_getintarg(0, argc, argv); 226 int a = (int)atom_getintarg(0, argc, argv);
187 int w = (int)atom_getintarg(2, argc, argv); 227 int w = (int)atom_getintarg(2, argc, argv);
188 int h = (int)atom_getintarg(3, argc, argv); 228 int h = (int)atom_getintarg(3, argc, argv);
229#ifndef ROCKBOX
189 int sr_flags = iemgui_dialog(&x->x_gui, srl, argc, argv); 230 int sr_flags = iemgui_dialog(&x->x_gui, srl, argc, argv);
231#endif
232
233#ifdef ROCKBOX
234 (void) s;
235#endif
190 236
191 x->x_gui.x_isa.x_loadinit = 0; 237 x->x_gui.x_isa.x_loadinit = 0;
192 if(a < 1) 238 if(a < 1)
@@ -207,6 +253,10 @@ static void my_canvas_size(t_my_canvas *x, t_symbol *s, int ac, t_atom *av)
207{ 253{
208 int i = (int)atom_getintarg(0, ac, av); 254 int i = (int)atom_getintarg(0, ac, av);
209 255
256#ifdef ROCKBOX
257 (void) s;
258#endif
259
210 if(i < 1) 260 if(i < 1)
211 i = 1; 261 i = 1;
212 x->x_gui.x_w = i; 262 x->x_gui.x_w = i;
@@ -224,6 +274,10 @@ static void my_canvas_vis_size(t_my_canvas *x, t_symbol *s, int ac, t_atom *av)
224{ 274{
225 int i; 275 int i;
226 276
277#ifdef ROCKBOX
278 (void) s;
279#endif
280
227 i = (int)atom_getintarg(0, ac, av); 281 i = (int)atom_getintarg(0, ac, av);
228 if(i < 1) 282 if(i < 1)
229 i = 1; 283 i = 1;
@@ -262,9 +316,19 @@ static void *my_canvas_new(t_symbol *s, int argc, t_atom *argv)
262 t_my_canvas *x = (t_my_canvas *)pd_new(my_canvas_class); 316 t_my_canvas *x = (t_my_canvas *)pd_new(my_canvas_class);
263 int bflcol[]={-233017, -1, -66577}; 317 int bflcol[]={-233017, -1, -66577};
264 int a=IEM_GUI_DEFAULTSIZE, w=100, h=60; 318 int a=IEM_GUI_DEFAULTSIZE, w=100, h=60;
319#ifdef ROCKBOX
320 int ldx=20, ldy=12, i=0;
321#else
265 int ldx=20, ldy=12, f=2, i=0; 322 int ldx=20, ldy=12, f=2, i=0;
323#endif
266 int fs=14; 324 int fs=14;
325#ifndef ROCKBOX
267 char str[144]; 326 char str[144];
327#endif
328
329#ifdef ROCKBOX
330 (void) s;
331#endif
268 332
269 iem_inttosymargs(&x->x_gui.x_isa, 0); 333 iem_inttosymargs(&x->x_gui.x_isa, 0);
270 iem_inttofstyle(&x->x_gui.x_fsf, 0); 334 iem_inttofstyle(&x->x_gui.x_fsf, 0);
@@ -350,7 +414,9 @@ static void my_canvas_ff(t_my_canvas *x)
350{ 414{
351 if(x->x_gui.x_fsf.x_rcv_able) 415 if(x->x_gui.x_fsf.x_rcv_able)
352 pd_unbind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv); 416 pd_unbind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv);
417#ifndef ROCKBOX
353 gfxstub_deleteforkey(x); 418 gfxstub_deleteforkey(x);
419#endif
354} 420}
355 421
356void g_mycanvas_setup(void) 422void g_mycanvas_setup(void)
diff --git a/apps/plugins/pdbox/PDa/src/g_numbox.c b/apps/plugins/pdbox/PDa/src/g_numbox.c
index 1c4dbb5e48..a5e0a447dc 100644
--- a/apps/plugins/pdbox/PDa/src/g_numbox.c
+++ b/apps/plugins/pdbox/PDa/src/g_numbox.c
@@ -4,6 +4,13 @@
4 4
5/* my_numbox.c written by Thomas Musil (c) IEM KUG Graz Austria 2000-2001 */ 5/* my_numbox.c written by Thomas Musil (c) IEM KUG Graz Austria 2000-2001 */
6 6
7#ifdef ROCKBOX
8#include "plugin.h"
9#include "pdbox.h"
10#include "m_pd.h"
11#include "g_canvas.h"
12#include "g_all_guis.h"
13#else /* ROCKBOX */
7#include <stdlib.h> 14#include <stdlib.h>
8#include <string.h> 15#include <string.h>
9#include <stdio.h> 16#include <stdio.h>
@@ -19,6 +26,7 @@
19#else 26#else
20#include <unistd.h> 27#include <unistd.h>
21#endif 28#endif
29#endif /* ROCKBOX */
22 30
23/*------------------ global varaibles -------------------------*/ 31/*------------------ global varaibles -------------------------*/
24 32
@@ -76,7 +84,11 @@ void my_numbox_ftoa(t_my_numbox *x)
76 double f=x->x_val; 84 double f=x->x_val;
77 int bufsize, is_exp=0, i, idecimal; 85 int bufsize, is_exp=0, i, idecimal;
78 86
87#ifdef ROCKBOX
88 ftoan(f, x->x_buf, 10);
89#else
79 sprintf(x->x_buf, "%g", f); 90 sprintf(x->x_buf, "%g", f);
91#endif
80 bufsize = strlen(x->x_buf); 92 bufsize = strlen(x->x_buf);
81 if(bufsize >= 5)/* if it is in exponential mode */ 93 if(bufsize >= 5)/* if it is in exponential mode */
82 { 94 {
@@ -130,6 +142,10 @@ void my_numbox_ftoa(t_my_numbox *x)
130 142
131static void my_numbox_draw_update(t_my_numbox *x, t_glist *glist) 143static void my_numbox_draw_update(t_my_numbox *x, t_glist *glist)
132{ 144{
145#ifdef ROCKBOX
146 (void) x;
147 (void) glist;
148#else /* ROCKBOX */
133 if (glist_isvisible(glist)) 149 if (glist_isvisible(glist))
134 { 150 {
135 if(x->x_gui.x_fsf.x_change) 151 if(x->x_gui.x_fsf.x_change)
@@ -169,10 +185,15 @@ static void my_numbox_draw_update(t_my_numbox *x, t_glist *glist)
169 x->x_buf[0] = 0; 185 x->x_buf[0] = 0;
170 } 186 }
171 } 187 }
188#endif /* ROCKBOX */
172} 189}
173 190
174static void my_numbox_draw_new(t_my_numbox *x, t_glist *glist) 191static void my_numbox_draw_new(t_my_numbox *x, t_glist *glist)
175{ 192{
193#ifdef ROCKBOX
194 (void) x;
195 (void) glist;
196#else /* ROCKBOX */
176 int half=x->x_gui.x_h/2, d=1+x->x_gui.x_h/34; 197 int half=x->x_gui.x_h/2, d=1+x->x_gui.x_h/34;
177 int xpos=text_xpix(&x->x_gui.x_obj, glist); 198 int xpos=text_xpix(&x->x_gui.x_obj, glist);
178 int ypos=text_ypix(&x->x_gui.x_obj, glist); 199 int ypos=text_ypix(&x->x_gui.x_obj, glist);
@@ -215,10 +236,15 @@ static void my_numbox_draw_new(t_my_numbox *x, t_glist *glist)
215 xpos, ypos, 236 xpos, ypos,
216 xpos+IOWIDTH, ypos+1, 237 xpos+IOWIDTH, ypos+1,
217 x, 0); 238 x, 0);
239#endif /* ROCKBOX */
218} 240}
219 241
220static void my_numbox_draw_move(t_my_numbox *x, t_glist *glist) 242static void my_numbox_draw_move(t_my_numbox *x, t_glist *glist)
221{ 243{
244#ifdef ROCKBOX
245 (void) x;
246 (void) glist;
247#else /* ROCKBOX */
222 int half = x->x_gui.x_h/2, d=1+x->x_gui.x_h/34; 248 int half = x->x_gui.x_h/2, d=1+x->x_gui.x_h/34;
223 int xpos=text_xpix(&x->x_gui.x_obj, glist); 249 int xpos=text_xpix(&x->x_gui.x_obj, glist);
224 int ypos=text_ypix(&x->x_gui.x_obj, glist); 250 int ypos=text_ypix(&x->x_gui.x_obj, glist);
@@ -248,10 +274,15 @@ static void my_numbox_draw_move(t_my_numbox *x, t_glist *glist)
248 canvas, x, 0, 274 canvas, x, 0,
249 xpos, ypos, 275 xpos, ypos,
250 xpos+IOWIDTH, ypos+1); 276 xpos+IOWIDTH, ypos+1);
277#endif /* ROCKBOX */
251} 278}
252 279
253static void my_numbox_draw_erase(t_my_numbox* x,t_glist* glist) 280static void my_numbox_draw_erase(t_my_numbox* x,t_glist* glist)
254{ 281{
282#ifdef ROCKBOX
283 (void) x;
284 (void) glist;
285#else /* ROCKBOX */
255 t_canvas *canvas=glist_getcanvas(glist); 286 t_canvas *canvas=glist_getcanvas(glist);
256 287
257 sys_vgui(".x%x.c delete %xBASE1\n", canvas, x); 288 sys_vgui(".x%x.c delete %xBASE1\n", canvas, x);
@@ -262,10 +293,15 @@ static void my_numbox_draw_erase(t_my_numbox* x,t_glist* glist)
262 sys_vgui(".x%x.c delete %xOUT%d\n", canvas, x, 0); 293 sys_vgui(".x%x.c delete %xOUT%d\n", canvas, x, 0);
263 if(!x->x_gui.x_fsf.x_rcv_able) 294 if(!x->x_gui.x_fsf.x_rcv_able)
264 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0); 295 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0);
296#endif /* ROCKBOX */
265} 297}
266 298
267static void my_numbox_draw_config(t_my_numbox* x,t_glist* glist) 299static void my_numbox_draw_config(t_my_numbox* x,t_glist* glist)
268{ 300{
301#ifdef ROCKBOX
302 (void) x;
303 (void) glist;
304#else /* ROCKBOX */
269 t_canvas *canvas=glist_getcanvas(glist); 305 t_canvas *canvas=glist_getcanvas(glist);
270 306
271 sys_vgui(".x%x.c itemconfigure %xLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n", 307 sys_vgui(".x%x.c itemconfigure %xLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n",
@@ -279,10 +315,16 @@ static void my_numbox_draw_config(t_my_numbox* x,t_glist* glist)
279 x, x->x_gui.x_bcol); 315 x, x->x_gui.x_bcol);
280 sys_vgui(".x%x.c itemconfigure %xBASE2 -fill #%6.6x\n", canvas, 316 sys_vgui(".x%x.c itemconfigure %xBASE2 -fill #%6.6x\n", canvas,
281 x, x->x_gui.x_fsf.x_selected?IEM_GUI_COLOR_SELECTED:x->x_gui.x_fcol); 317 x, x->x_gui.x_fsf.x_selected?IEM_GUI_COLOR_SELECTED:x->x_gui.x_fcol);
318#endif /* ROCKBOX */
282} 319}
283 320
284static void my_numbox_draw_io(t_my_numbox* x,t_glist* glist, int old_snd_rcv_flags) 321static void my_numbox_draw_io(t_my_numbox* x,t_glist* glist, int old_snd_rcv_flags)
285{ 322{
323#ifdef ROCKBOX
324 (void) x;
325 (void) glist;
326 (void) old_snd_rcv_flags;
327#else /* ROCKBOX */
286 int xpos=text_xpix(&x->x_gui.x_obj, glist); 328 int xpos=text_xpix(&x->x_gui.x_obj, glist);
287 int ypos=text_ypix(&x->x_gui.x_obj, glist); 329 int ypos=text_ypix(&x->x_gui.x_obj, glist);
288 t_canvas *canvas=glist_getcanvas(glist); 330 t_canvas *canvas=glist_getcanvas(glist);
@@ -303,10 +345,15 @@ static void my_numbox_draw_io(t_my_numbox* x,t_glist* glist, int old_snd_rcv_fla
303 x, 0); 345 x, 0);
304 if(!(old_snd_rcv_flags & IEM_GUI_OLD_RCV_FLAG) && x->x_gui.x_fsf.x_rcv_able) 346 if(!(old_snd_rcv_flags & IEM_GUI_OLD_RCV_FLAG) && x->x_gui.x_fsf.x_rcv_able)
305 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0); 347 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0);
348#endif /* ROCKBOX */
306} 349}
307 350
308static void my_numbox_draw_select(t_my_numbox *x, t_glist *glist) 351static void my_numbox_draw_select(t_my_numbox *x, t_glist *glist)
309{ 352{
353#ifdef ROCKBOX
354 (void) x;
355 (void) glist;
356#else /* ROCKBOX */
310 t_canvas *canvas=glist_getcanvas(glist); 357 t_canvas *canvas=glist_getcanvas(glist);
311 358
312 if(x->x_gui.x_fsf.x_selected) 359 if(x->x_gui.x_fsf.x_selected)
@@ -338,6 +385,7 @@ static void my_numbox_draw_select(t_my_numbox *x, t_glist *glist)
338 sys_vgui(".x%x.c itemconfigure %xNUMBER -fill #%6.6x\n", 385 sys_vgui(".x%x.c itemconfigure %xNUMBER -fill #%6.6x\n",
339 canvas, x, x->x_gui.x_fcol); 386 canvas, x, x->x_gui.x_fcol);
340 } 387 }
388#endif /* ROCKBOX */
341} 389}
342 390
343void my_numbox_draw(t_my_numbox *x, t_glist *glist, int mode) 391void my_numbox_draw(t_my_numbox *x, t_glist *glist, int mode)
@@ -440,6 +488,10 @@ int my_numbox_check_minmax(t_my_numbox *x, double min, double max)
440 488
441static void my_numbox_properties(t_gobj *z, t_glist *owner) 489static void my_numbox_properties(t_gobj *z, t_glist *owner)
442{ 490{
491#ifdef ROCKBOX
492 (void) z;
493 (void) owner;
494#else /* ROCKBOX */
443 t_my_numbox *x = (t_my_numbox *)z; 495 t_my_numbox *x = (t_my_numbox *)z;
444 char buf[800]; 496 char buf[800];
445 t_symbol *srl[3]; 497 t_symbol *srl[3];
@@ -471,6 +523,7 @@ static void my_numbox_properties(t_gobj *z, t_glist *owner)
471 0xffffff & x->x_gui.x_bcol, 0xffffff & x->x_gui.x_fcol, 523 0xffffff & x->x_gui.x_bcol, 0xffffff & x->x_gui.x_fcol,
472 0xffffff & x->x_gui.x_lcol); 524 0xffffff & x->x_gui.x_lcol);
473 gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf); 525 gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf);
526#endif /* ROCKBOX */
474} 527}
475 528
476static void my_numbox_bang(t_my_numbox *x) 529static void my_numbox_bang(t_my_numbox *x)
@@ -492,6 +545,10 @@ static void my_numbox_dialog(t_my_numbox *x, t_symbol *s, int argc,
492 int log_height = (int)atom_getintarg(6, argc, argv); 545 int log_height = (int)atom_getintarg(6, argc, argv);
493 int sr_flags; 546 int sr_flags;
494 547
548#ifdef ROCKBOX
549 (void) s;
550#endif
551
495 if(lilo != 0) lilo = 1; 552 if(lilo != 0) lilo = 1;
496 x->x_lin0_log1 = lilo; 553 x->x_lin0_log1 = lilo;
497 sr_flags = iemgui_dialog(&x->x_gui, srl, argc, argv); 554 sr_flags = iemgui_dialog(&x->x_gui, srl, argc, argv);
@@ -519,6 +576,10 @@ static void my_numbox_motion(t_my_numbox *x, t_floatarg dx, t_floatarg dy)
519{ 576{
520 double k2=1.0; 577 double k2=1.0;
521 578
579#ifdef ROCKBOX
580 (void) dx;
581#endif
582
522 if(x->x_gui.x_fsf.x_finemoved) 583 if(x->x_gui.x_fsf.x_finemoved)
523 k2 = 0.01; 584 k2 = 0.01;
524 if(x->x_lin0_log1) 585 if(x->x_lin0_log1)
@@ -534,6 +595,11 @@ static void my_numbox_motion(t_my_numbox *x, t_floatarg dx, t_floatarg dy)
534static void my_numbox_click(t_my_numbox *x, t_floatarg xpos, t_floatarg ypos, 595static void my_numbox_click(t_my_numbox *x, t_floatarg xpos, t_floatarg ypos,
535 t_floatarg shift, t_floatarg ctrl, t_floatarg alt) 596 t_floatarg shift, t_floatarg ctrl, t_floatarg alt)
536{ 597{
598#ifdef ROCKBOX
599 (void) shift;
600 (void) ctrl;
601 (void) alt;
602#endif
537 glist_grab(x->x_gui.x_glist, &x->x_gui.x_obj.te_g, 603 glist_grab(x->x_gui.x_glist, &x->x_gui.x_obj.te_g,
538 (t_glistmotionfn)my_numbox_motion, my_numbox_key, xpos, ypos); 604 (t_glistmotionfn)my_numbox_motion, my_numbox_key, xpos, ypos);
539} 605}
@@ -543,6 +609,11 @@ static int my_numbox_newclick(t_gobj *z, struct _glist *glist,
543{ 609{
544 t_my_numbox* x = (t_my_numbox *)z; 610 t_my_numbox* x = (t_my_numbox *)z;
545 611
612#ifdef ROCKBOX
613 (void) glist;
614 (void) dbl;
615#endif
616
546 if(doit) 617 if(doit)
547 { 618 {
548 my_numbox_click( x, (t_floatarg)xpix, (t_floatarg)ypix, 619 my_numbox_click( x, (t_floatarg)xpix, (t_floatarg)ypix,
@@ -603,6 +674,10 @@ static void my_numbox_size(t_my_numbox *x, t_symbol *s, int ac, t_atom *av)
603{ 674{
604 int h, w; 675 int h, w;
605 676
677#ifdef ROCKBOX
678 (void) s;
679#endif
680
606 w = (int)atom_getintarg(0, ac, av); 681 w = (int)atom_getintarg(0, ac, av);
607 if(w < 1) 682 if(w < 1)
608 w = 1; 683 w = 1;
@@ -626,6 +701,9 @@ static void my_numbox_pos(t_my_numbox *x, t_symbol *s, int ac, t_atom *av)
626 701
627static void my_numbox_range(t_my_numbox *x, t_symbol *s, int ac, t_atom *av) 702static void my_numbox_range(t_my_numbox *x, t_symbol *s, int ac, t_atom *av)
628{ 703{
704#ifdef ROCKBOX
705 (void) s;
706#endif
629 if(my_numbox_check_minmax(x, (double)atom_getfloatarg(0, ac, av), 707 if(my_numbox_check_minmax(x, (double)atom_getfloatarg(0, ac, av),
630 (double)atom_getfloatarg(1, ac, av))) 708 (double)atom_getfloatarg(1, ac, av)))
631 { 709 {
@@ -742,6 +820,9 @@ static void my_numbox_key(void *z, t_floatarg fkey)
742 820
743static void my_numbox_list(t_my_numbox *x, t_symbol *s, int ac, t_atom *av) 821static void my_numbox_list(t_my_numbox *x, t_symbol *s, int ac, t_atom *av)
744{ 822{
823#ifdef ROCKBOX
824 (void) s;
825#endif
745 if (IS_A_FLOAT(av,0)) 826 if (IS_A_FLOAT(av,0))
746 { 827 {
747 my_numbox_set(x, atom_getfloatarg(0, ac, av)); 828 my_numbox_set(x, atom_getfloatarg(0, ac, av));
@@ -754,11 +835,21 @@ static void *my_numbox_new(t_symbol *s, int argc, t_atom *argv)
754 t_my_numbox *x = (t_my_numbox *)pd_new(my_numbox_class); 835 t_my_numbox *x = (t_my_numbox *)pd_new(my_numbox_class);
755 int bflcol[]={-262144, -1, -1}; 836 int bflcol[]={-262144, -1, -1};
756 int w=5, h=14; 837 int w=5, h=14;
838#ifdef ROCKBOX
839 int lilo=0, ldx=0, ldy=-6;
840#else
757 int lilo=0, f=0, ldx=0, ldy=-6; 841 int lilo=0, f=0, ldx=0, ldy=-6;
842#endif
758 int fs=10; 843 int fs=10;
759 int log_height=256; 844 int log_height=256;
760 double min=-1.0e+37, max=1.0e+37,v=0.0; 845 double min=-1.0e+37, max=1.0e+37,v=0.0;
846#ifndef ROCKBOX
761 char str[144]; 847 char str[144];
848#endif
849
850#ifdef ROCKBOX
851 (void) s;
852#endif
762 853
763 if((argc >= 17)&&IS_A_FLOAT(argv,0)&&IS_A_FLOAT(argv,1) 854 if((argc >= 17)&&IS_A_FLOAT(argv,0)&&IS_A_FLOAT(argv,1)
764 &&IS_A_FLOAT(argv,2)&&IS_A_FLOAT(argv,3) 855 &&IS_A_FLOAT(argv,2)&&IS_A_FLOAT(argv,3)
@@ -843,7 +934,9 @@ static void my_numbox_free(t_my_numbox *x)
843 pd_unbind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv); 934 pd_unbind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv);
844 clock_free(x->x_clock_reset); 935 clock_free(x->x_clock_reset);
845 clock_free(x->x_clock_wait); 936 clock_free(x->x_clock_wait);
937#ifndef ROCKBOX
846 gfxstub_deleteforkey(x); 938 gfxstub_deleteforkey(x);
939#endif
847} 940}
848 941
849void g_numbox_setup(void) 942void g_numbox_setup(void)
diff --git a/apps/plugins/pdbox/PDa/src/g_readwrite.c b/apps/plugins/pdbox/PDa/src/g_readwrite.c
index 55759dbf1a..81bf02e512 100644
--- a/apps/plugins/pdbox/PDa/src/g_readwrite.c
+++ b/apps/plugins/pdbox/PDa/src/g_readwrite.c
@@ -8,18 +8,29 @@ collection of "scalar" objects. Routines here can save collections of
8scalars into a file and reload them; also, support is included here for 8scalars into a file and reload them; also, support is included here for
9*/ 9*/
10 10
11#ifdef ROCKBOX
12#include "plugin.h"
13#include "pdbox.h"
14#include "m_pd.h"
15#include "g_canvas.h"
16#else /* ROCKBOX */
11#include <stdlib.h> 17#include <stdlib.h>
12#include <stdio.h> 18#include <stdio.h>
13#include "m_pd.h" 19#include "m_pd.h"
14#include "g_canvas.h" 20#include "g_canvas.h"
15#include <string.h> 21#include <string.h>
22#endif /* ROCKBOX */
16 23
17 /* the following routines read "scalars" from a file into a canvas. */ 24 /* the following routines read "scalars" from a file into a canvas. */
18 25
19static int canvas_scanbinbuf(int natoms, t_atom *vec, int *p_indexout, 26static int canvas_scanbinbuf(int natoms, t_atom *vec, int *p_indexout,
20 int *p_next) 27 int *p_next)
21{ 28{
29#ifdef ROCKBOX
30 int i;
31#else
22 int i, j; 32 int i, j;
33#endif
23 int indexwas = *p_next; 34 int indexwas = *p_next;
24 *p_indexout = indexwas; 35 *p_indexout = indexwas;
25 if (indexwas >= natoms) 36 if (indexwas >= natoms)
@@ -38,6 +49,9 @@ int glist_readscalar(t_glist *x, int natoms, t_atom *vec,
38static void canvas_readerror(int natoms, t_atom *vec, int message, 49static void canvas_readerror(int natoms, t_atom *vec, int message,
39 int nline, char *s) 50 int nline, char *s)
40{ 51{
52#ifdef ROCKBOX
53 (void) natoms;
54#endif
41 error(s); 55 error(s);
42 startpost("line was:"); 56 startpost("line was:");
43 postatom(nline, vec + message); 57 postatom(nline, vec + message);
@@ -49,7 +63,11 @@ static void canvas_readerror(int natoms, t_atom *vec, int message,
49static void glist_readatoms(t_glist *x, int natoms, t_atom *vec, 63static void glist_readatoms(t_glist *x, int natoms, t_atom *vec,
50 int *p_nextmsg, t_symbol *templatesym, t_word *w, int argc, t_atom *argv) 64 int *p_nextmsg, t_symbol *templatesym, t_word *w, int argc, t_atom *argv)
51{ 65{
66#ifdef ROCKBOX
67 int message, n, i;
68#else
52 int message, nline, n, i; 69 int message, nline, n, i;
70#endif
53 71
54 t_template *template = template_findbyname(templatesym); 72 t_template *template = template_findbyname(templatesym);
55 if (!template) 73 if (!template)
@@ -64,7 +82,9 @@ static void glist_readatoms(t_glist *x, int natoms, t_atom *vec,
64 { 82 {
65 if (template->t_vec[i].ds_type == DT_ARRAY) 83 if (template->t_vec[i].ds_type == DT_ARRAY)
66 { 84 {
85#ifndef ROCKBOX
67 int j; 86 int j;
87#endif
68 t_array *a = w[i].w_array; 88 t_array *a = w[i].w_array;
69 int elemsize = a->a_elemsize, nitems = 0; 89 int elemsize = a->a_elemsize, nitems = 0;
70 t_symbol *arraytemplatesym = template->t_vec[i].ds_arraytemplate; 90 t_symbol *arraytemplatesym = template->t_vec[i].ds_arraytemplate;
@@ -104,7 +124,11 @@ static void glist_readatoms(t_glist *x, int natoms, t_atom *vec,
104int glist_readscalar(t_glist *x, int natoms, t_atom *vec, 124int glist_readscalar(t_glist *x, int natoms, t_atom *vec,
105 int *p_nextmsg, int selectit) 125 int *p_nextmsg, int selectit)
106{ 126{
127#ifdef ROCKBOX
128 int message, nline;
129#else
107 int message, i, j, nline; 130 int message, i, j, nline;
131#endif
108 t_template *template; 132 t_template *template;
109 t_symbol *templatesym; 133 t_symbol *templatesym;
110 t_scalar *sc; 134 t_scalar *sc;
@@ -159,10 +183,16 @@ int glist_readscalar(t_glist *x, int natoms, t_atom *vec,
159 183
160void glist_readfrombinbuf(t_glist *x, t_binbuf *b, char *filename, int selectem) 184void glist_readfrombinbuf(t_glist *x, t_binbuf *b, char *filename, int selectem)
161{ 185{
186#ifdef ROCKBOX
187 int natoms, nline, message, nextmsg = 0;
188#else
162 t_canvas *canvas = glist_getcanvas(x); 189 t_canvas *canvas = glist_getcanvas(x);
163 int cr = 0, natoms, nline, message, nextmsg = 0, i, j, nitems; 190 int cr = 0, natoms, nline, message, nextmsg = 0, i, j, nitems;
191#endif
164 t_atom *vec; 192 t_atom *vec;
193#ifndef ROCKBOX
165 t_gobj *gobj; 194 t_gobj *gobj;
195#endif
166 196
167 natoms = binbuf_getnatom(b); 197 natoms = binbuf_getnatom(b);
168 vec = binbuf_getvec(b); 198 vec = binbuf_getvec(b);
@@ -244,8 +274,12 @@ static void glist_doread(t_glist *x, t_symbol *filename, t_symbol *format,
244 t_binbuf *b = binbuf_new(); 274 t_binbuf *b = binbuf_new();
245 t_canvas *canvas = glist_getcanvas(x); 275 t_canvas *canvas = glist_getcanvas(x);
246 int wasvis = glist_isvisible(canvas); 276 int wasvis = glist_isvisible(canvas);
277#ifdef ROCKBOX
278 int cr = 0;
279#else
247 int cr = 0, natoms, nline, message, nextmsg = 0, i, j; 280 int cr = 0, natoms, nline, message, nextmsg = 0, i, j;
248 t_atom *vec; 281 t_atom *vec;
282#endif
249 283
250 if (!strcmp(format->s_name, "cr")) 284 if (!strcmp(format->s_name, "cr"))
251 cr = 1; 285 cr = 1;
@@ -302,7 +336,7 @@ void canvas_dataproperties(t_canvas *x, t_scalar *sc, t_binbuf *b)
302 /* take the new object off the list */ 336 /* take the new object off the list */
303 if (ntotal) 337 if (ntotal)
304 { 338 {
305 for (y = x->gl_list, nnew = 1; y2 = y->g_next; 339 for(y = x->gl_list, nnew = 1; (y2 = y->g_next);
306 y = y2, nnew++) 340 y = y2, nnew++)
307 if (nnew == ntotal) 341 if (nnew == ntotal)
308 { 342 {
@@ -360,7 +394,9 @@ static void glist_writelist(t_gobj *y, t_binbuf *b);
360void canvas_writescalar(t_symbol *templatesym, t_word *w, t_binbuf *b, 394void canvas_writescalar(t_symbol *templatesym, t_word *w, t_binbuf *b,
361 int amarrayelement) 395 int amarrayelement)
362{ 396{
397#ifndef ROCKBOX
363 t_dataslot *ds; 398 t_dataslot *ds;
399#endif
364 t_template *template = template_findbyname(templatesym); 400 t_template *template = template_findbyname(templatesym);
365 t_atom *a = (t_atom *)t_getbytes(0); 401 t_atom *a = (t_atom *)t_getbytes(0);
366 int i, n = template->t_n, natom = 0; 402 int i, n = template->t_n, natom = 0;
@@ -532,12 +568,18 @@ t_binbuf *glist_writetobinbuf(t_glist *x, int wholething)
532 568
533static void glist_write(t_glist *x, t_symbol *filename, t_symbol *format) 569static void glist_write(t_glist *x, t_symbol *filename, t_symbol *format)
534{ 570{
571#ifdef ROCKBOX
572 int cr = 0;
573#else
535 int cr = 0, i; 574 int cr = 0, i;
575#endif
536 t_binbuf *b; 576 t_binbuf *b;
537 char buf[MAXPDSTRING]; 577 char buf[MAXPDSTRING];
578#ifndef ROCKBOX
538 t_symbol **templatevec = getbytes(0); 579 t_symbol **templatevec = getbytes(0);
539 int ntemplates = 0; 580 int ntemplates = 0;
540 t_gobj *y; 581 t_gobj *y;
582#endif
541 t_canvas *canvas = glist_getcanvas(x); 583 t_canvas *canvas = glist_getcanvas(x);
542 canvas_makefilename(canvas, filename->s_name, buf, MAXPDSTRING); 584 canvas_makefilename(canvas, filename->s_name, buf, MAXPDSTRING);
543 if (!strcmp(format->s_name, "cr")) 585 if (!strcmp(format->s_name, "cr"))
@@ -586,7 +628,7 @@ static void canvas_saveto(t_canvas *x, t_binbuf *b)
586 gobj_save(y, b); 628 gobj_save(y, b);
587 629
588 linetraverser_start(&t, x); 630 linetraverser_start(&t, x);
589 while (oc = linetraverser_next(&t)) 631 while((oc = linetraverser_next(&t)))
590 { 632 {
591 int srcno = canvas_getindex(x, &t.tr_ob->ob_g); 633 int srcno = canvas_getindex(x, &t.tr_ob->ob_g);
592 int sinkno = canvas_getindex(x, &t.tr_ob2->ob_g); 634 int sinkno = canvas_getindex(x, &t.tr_ob2->ob_g);
@@ -629,7 +671,9 @@ static void canvas_savetemplatesto(t_canvas *x, t_binbuf *b, int wholething)
629{ 671{
630 t_symbol **templatevec = getbytes(0); 672 t_symbol **templatevec = getbytes(0);
631 int i, ntemplates = 0; 673 int i, ntemplates = 0;
674#ifndef ROCKBOX
632 t_gobj *y; 675 t_gobj *y;
676#endif
633 canvas_collecttemplatesfor(x, &ntemplates, &templatevec, wholething); 677 canvas_collecttemplatesfor(x, &ntemplates, &templatevec, wholething);
634 for (i = 0; i < ntemplates; i++) 678 for (i = 0; i < ntemplates; i++)
635 { 679 {
@@ -687,9 +731,13 @@ static void canvas_savetofile(t_canvas *x, t_symbol *filename, t_symbol *dir)
687 731
688static void canvas_menusaveas(t_canvas *x) 732static void canvas_menusaveas(t_canvas *x)
689{ 733{
734#ifdef ROCKBOX
735 (void) x;
736#else /* ROCKBOX */
690 t_canvas *x2 = canvas_getrootfor(x); 737 t_canvas *x2 = canvas_getrootfor(x);
691 sys_vgui("pdtk_canvas_saveas .x%x \"%s\" \"%s\"\n", x2, 738 sys_vgui("pdtk_canvas_saveas .x%x \"%s\" \"%s\"\n", x2,
692 x2->gl_name->s_name, canvas_getdir(x2)->s_name); 739 x2->gl_name->s_name, canvas_getdir(x2)->s_name);
740#endif /* ROCKBOX */
693} 741}
694 742
695static void canvas_menusave(t_canvas *x) 743static void canvas_menusave(t_canvas *x)
diff --git a/apps/plugins/pdbox/PDa/src/g_rtext.c b/apps/plugins/pdbox/PDa/src/g_rtext.c
index 05c31a9ea7..03aea97e9b 100644
--- a/apps/plugins/pdbox/PDa/src/g_rtext.c
+++ b/apps/plugins/pdbox/PDa/src/g_rtext.c
@@ -6,6 +6,14 @@
6/* have to insert gui-objects into editor-list */ 6/* have to insert gui-objects into editor-list */
7/* all changes are labeled with iemlib */ 7/* all changes are labeled with iemlib */
8 8
9#ifdef ROCKBOX
10#include "plugin.h"
11#include "ctype.h"
12#include "pdbox.h"
13#include "m_pd.h"
14#include "g_canvas.h"
15#define snprintf rb->snprintf
16#else /* ROCKBOX */
9#include <stdlib.h> 17#include <stdlib.h>
10#include <string.h> 18#include <string.h>
11#include <stdio.h> 19#include <stdio.h>
@@ -14,6 +22,7 @@
14#include "s_stuff.h" 22#include "s_stuff.h"
15#include "g_canvas.h" 23#include "g_canvas.h"
16#include "t_tk.h" 24#include "t_tk.h"
25#endif /* ROCKBOX */
17 26
18#define LMARGIN 1 27#define LMARGIN 1
19#define RMARGIN 1 28#define RMARGIN 1
@@ -44,7 +53,9 @@ struct _rtext
44t_rtext *rtext_new(t_glist *glist, t_text *who) 53t_rtext *rtext_new(t_glist *glist, t_text *who)
45{ 54{
46 t_rtext *x = (t_rtext *)getbytes(sizeof *x); 55 t_rtext *x = (t_rtext *)getbytes(sizeof *x);
56#ifndef ROCKBOX
47 int w = 0, h = 0, indx; 57 int w = 0, h = 0, indx;
58#endif
48 x->x_height = -1; 59 x->x_height = -1;
49 x->x_text = who; 60 x->x_text = who;
50 x->x_glist = glist; 61 x->x_glist = glist;
@@ -53,8 +64,13 @@ t_rtext *rtext_new(t_glist *glist, t_text *who)
53 x->x_drawnwidth = x->x_drawnheight = 0; 64 x->x_drawnwidth = x->x_drawnheight = 0;
54 binbuf_gettext(who->te_binbuf, &x->x_buf, &x->x_bufsize); 65 binbuf_gettext(who->te_binbuf, &x->x_buf, &x->x_bufsize);
55 glist->gl_editor->e_rtext = x; 66 glist->gl_editor->e_rtext = x;
67#ifdef ROCKBOX
68 snprintf(x->x_tag, strlen(x->x_tag),
69 ".x%x.t%x", (t_int)glist_getcanvas(x->x_glist), (t_int)x);
70#else /* ROCKBOX */
56 sprintf(x->x_tag, ".x%x.t%x", (t_int)glist_getcanvas(x->x_glist), 71 sprintf(x->x_tag, ".x%x.t%x", (t_int)glist_getcanvas(x->x_glist),
57 (t_int)x); 72 (t_int)x);
73#endif /* ROCKBOX */
58 return (x); 74 return (x);
59} 75}
60 76
@@ -149,12 +165,18 @@ static void rtext_senditup(t_rtext *x, int action, int *widthp, int *heightp,
149 char tempbuf[UPBUFSIZE], *tp = tempbuf, *bp = x->x_buf; 165 char tempbuf[UPBUFSIZE], *tp = tempbuf, *bp = x->x_buf;
150 int outchars, inchars = x->x_bufsize, nlines = 0, ncolumns = 0, 166 int outchars, inchars = x->x_bufsize, nlines = 0, ncolumns = 0,
151 pixwide, pixhigh; 167 pixwide, pixhigh;
168#ifdef ROCKBOX
169 int fontwidth = 8, fontheight = 10;
170#else
152 int font = glist_getfont(x->x_glist); 171 int font = glist_getfont(x->x_glist);
153 int fontwidth = sys_fontwidth(font), fontheight = sys_fontheight(font); 172 int fontwidth = sys_fontwidth(font), fontheight = sys_fontheight(font);
173#endif
154 int findx = (*widthp + (fontwidth/2)) / fontwidth, 174 int findx = (*widthp + (fontwidth/2)) / fontwidth,
155 findy = *heightp / fontheight; 175 findy = *heightp / fontheight;
156 int reportedindex = 0; 176 int reportedindex = 0;
177#ifndef ROCKBOX
157 t_canvas *canvas = glist_getcanvas(x->x_glist); 178 t_canvas *canvas = glist_getcanvas(x->x_glist);
179#endif
158 int widthspec = x->x_text->te_width; 180 int widthspec = x->x_text->te_width;
159 int widthlimit = (widthspec ? widthspec : BOXWIDTH); 181 int widthlimit = (widthspec ? widthspec : BOXWIDTH);
160 while (inchars) 182 while (inchars)
@@ -214,16 +236,22 @@ static void rtext_senditup(t_rtext *x, int action, int *widthp, int *heightp,
214 pixhigh = nlines * fontheight + (TMARGIN + BMARGIN); 236 pixhigh = nlines * fontheight + (TMARGIN + BMARGIN);
215 237
216 if (action == SEND_FIRST) 238 if (action == SEND_FIRST)
239#ifdef ROCKBOX
240 ;
241#else /* ROCKBOX */
217 sys_vgui("pdtk_text_new .x%x.c %s %f %f {%.*s} %d %s\n", 242 sys_vgui("pdtk_text_new .x%x.c %s %f %f {%.*s} %d %s\n",
218 canvas, x->x_tag, 243 canvas, x->x_tag,
219 dispx + LMARGIN, dispy + TMARGIN, 244 dispx + LMARGIN, dispy + TMARGIN,
220 outchars, tempbuf, sys_hostfontsize(font), 245 outchars, tempbuf, sys_hostfontsize(font),
221 (glist_isselected(x->x_glist, 246 (glist_isselected(x->x_glist,
222 &x->x_glist->gl_gobj)? "blue" : "black")); 247 &x->x_glist->gl_gobj)? "blue" : "black"));
248#endif /* ROCKBOX */
223 else if (action == SEND_UPDATE) 249 else if (action == SEND_UPDATE)
224 { 250 {
251#ifndef ROCKBOX
225 sys_vgui("pdtk_text_set .x%x.c %s {%.*s}\n", 252 sys_vgui("pdtk_text_set .x%x.c %s {%.*s}\n",
226 canvas, x->x_tag, outchars, tempbuf); 253 canvas, x->x_tag, outchars, tempbuf);
254#endif
227 if (pixwide != x->x_drawnwidth || pixhigh != x->x_drawnheight) 255 if (pixwide != x->x_drawnwidth || pixhigh != x->x_drawnheight)
228 text_drawborder(x->x_text, x->x_glist, x->x_tag, 256 text_drawborder(x->x_text, x->x_glist, x->x_tag,
229 pixwide, pixhigh, 0); 257 pixwide, pixhigh, 0);
@@ -231,18 +259,22 @@ static void rtext_senditup(t_rtext *x, int action, int *widthp, int *heightp,
231 { 259 {
232 if (x->x_selend > x->x_selstart) 260 if (x->x_selend > x->x_selstart)
233 { 261 {
262#ifndef ROCKBOX
234 sys_vgui(".x%x.c select from %s %d\n", canvas, 263 sys_vgui(".x%x.c select from %s %d\n", canvas,
235 x->x_tag, x->x_selstart); 264 x->x_tag, x->x_selstart);
236 sys_vgui(".x%x.c select to %s %d\n", canvas, 265 sys_vgui(".x%x.c select to %s %d\n", canvas,
237 x->x_tag, x->x_selend + (sys_oldtclversion ? 0 : -1)); 266 x->x_tag, x->x_selend + (sys_oldtclversion ? 0 : -1));
238 sys_vgui(".x%x.c focus \"\"\n", canvas); 267 sys_vgui(".x%x.c focus \"\"\n", canvas);
268#endif
239 } 269 }
240 else 270 else
241 { 271 {
272#ifndef ROCKBOX
242 sys_vgui(".x%x.c select clear\n", canvas); 273 sys_vgui(".x%x.c select clear\n", canvas);
243 sys_vgui(".x%x.c icursor %s %d\n", canvas, x->x_tag, 274 sys_vgui(".x%x.c icursor %s %d\n", canvas, x->x_tag,
244 x->x_selstart); 275 x->x_selstart);
245 sys_vgui(".x%x.c focus %s\n", canvas, x->x_tag); 276 sys_vgui(".x%x.c focus %s\n", canvas, x->x_tag);
277#endif
246 } 278 }
247 } 279 }
248 } 280 }
@@ -273,7 +305,9 @@ void rtext_retext(t_rtext *x)
273 int wantreduce = bufsize - text->te_width; 305 int wantreduce = bufsize - text->te_width;
274 char *decimal = 0, *nextchar, *ebuf = x->x_buf + bufsize, 306 char *decimal = 0, *nextchar, *ebuf = x->x_buf + bufsize,
275 *s1, *s2; 307 *s1, *s2;
308#ifndef ROCKBOX
276 int ndecimals; 309 int ndecimals;
310#endif
277 for (decimal = x->x_buf; decimal < ebuf; decimal++) 311 for (decimal = x->x_buf; decimal < ebuf; decimal++)
278 if (*decimal == '.') 312 if (*decimal == '.')
279 break; 313 break;
@@ -339,21 +373,35 @@ void rtext_draw(t_rtext *x)
339 373
340void rtext_erase(t_rtext *x) 374void rtext_erase(t_rtext *x)
341{ 375{
376#ifdef ROCKBOX
377 (void) x;
378#else
342 sys_vgui(".x%x.c delete %s\n", glist_getcanvas(x->x_glist), x->x_tag); 379 sys_vgui(".x%x.c delete %s\n", glist_getcanvas(x->x_glist), x->x_tag);
380#endif
343} 381}
344 382
345void rtext_displace(t_rtext *x, int dx, int dy) 383void rtext_displace(t_rtext *x, int dx, int dy)
346{ 384{
385#ifdef ROCKBOX
386 (void) x;
387 (void) dx;
388 (void) dy;
389#else /* ROCKBOX */
347 sys_vgui(".x%x.c move %s %d %d\n", glist_getcanvas(x->x_glist), 390 sys_vgui(".x%x.c move %s %d %d\n", glist_getcanvas(x->x_glist),
348 x->x_tag, dx, dy); 391 x->x_tag, dx, dy);
392#endif /* ROCKBOX */
349} 393}
350 394
351void rtext_select(t_rtext *x, int state) 395void rtext_select(t_rtext *x, int state)
352{ 396{
353 t_glist *glist = x->x_glist; 397 t_glist *glist = x->x_glist;
354 t_canvas *canvas = glist_getcanvas(glist); 398 t_canvas *canvas = glist_getcanvas(glist);
399#ifdef ROCKBOX
400 (void) state;
401#else /* ROCKBOX */
355 sys_vgui(".x%x.c itemconfigure %s -fill %s\n", canvas, 402 sys_vgui(".x%x.c itemconfigure %s -fill %s\n", canvas,
356 x->x_tag, (state? "blue" : "black")); 403 x->x_tag, (state? "blue" : "black"));
404#endif /* ROCKBOX */
357 canvas_editing = canvas; 405 canvas_editing = canvas;
358} 406}
359 407
@@ -361,10 +409,14 @@ void rtext_activate(t_rtext *x, int state)
361{ 409{
362 int w = 0, h = 0, indx; 410 int w = 0, h = 0, indx;
363 t_glist *glist = x->x_glist; 411 t_glist *glist = x->x_glist;
412#ifndef ROCKBOX
364 t_canvas *canvas = glist_getcanvas(glist); 413 t_canvas *canvas = glist_getcanvas(glist);
414#endif
365 if (state) 415 if (state)
366 { 416 {
417#ifndef ROCKBOX
367 sys_vgui(".x%x.c focus %s\n", canvas, x->x_tag); 418 sys_vgui(".x%x.c focus %s\n", canvas, x->x_tag);
419#endif
368 glist->gl_editor->e_textedfor = x; 420 glist->gl_editor->e_textedfor = x;
369 glist->gl_editor->e_textdirty = 0; 421 glist->gl_editor->e_textdirty = 0;
370 x->x_dragfrom = x->x_selstart = 0; 422 x->x_dragfrom = x->x_selstart = 0;
@@ -373,8 +425,10 @@ void rtext_activate(t_rtext *x, int state)
373 } 425 }
374 else 426 else
375 { 427 {
428#ifndef ROCKBOX
376 sys_vgui("selection clear .x%x.c\n", canvas); 429 sys_vgui("selection clear .x%x.c\n", canvas);
377 sys_vgui(".x%x.c focus \"\"\n", canvas); 430 sys_vgui(".x%x.c focus \"\"\n", canvas);
431#endif
378 if (glist->gl_editor->e_textedfor == x) 432 if (glist->gl_editor->e_textedfor == x)
379 glist->gl_editor->e_textedfor = 0; 433 glist->gl_editor->e_textedfor = 0;
380 x->x_active = 0; 434 x->x_active = 0;
@@ -385,7 +439,9 @@ void rtext_activate(t_rtext *x, int state)
385void rtext_key(t_rtext *x, int keynum, t_symbol *keysym) 439void rtext_key(t_rtext *x, int keynum, t_symbol *keysym)
386{ 440{
387 int w = 0, h = 0, indx, i, newsize, ndel; 441 int w = 0, h = 0, indx, i, newsize, ndel;
442#ifndef ROCKBOX
388 char *s1, *s2; 443 char *s1, *s2;
444#endif
389 if (keynum) 445 if (keynum)
390 { 446 {
391 int n = keynum; 447 int n = keynum;
diff --git a/apps/plugins/pdbox/PDa/src/g_scalar.c b/apps/plugins/pdbox/PDa/src/g_scalar.c
index 329003e63e..8f9b5609d5 100644
--- a/apps/plugins/pdbox/PDa/src/g_scalar.c
+++ b/apps/plugins/pdbox/PDa/src/g_scalar.c
@@ -19,11 +19,18 @@ control their appearances by adding stuff to draw.
19 * added Krzysztof Czajas fix to avoid crashing... 19 * added Krzysztof Czajas fix to avoid crashing...
20 */ 20 */
21 21
22#ifdef ROCKBOX
23#include "plugin.h"
24#include "pdbox.h"
25#include "m_pd.h"
26#include "g_canvas.h"
27#else /* ROCKBOX */
22#include <stdlib.h> 28#include <stdlib.h>
23#include <string.h> 29#include <string.h>
24#include <stdio.h> /* for read/write to files */ 30#include <stdio.h> /* for read/write to files */
25#include "m_pd.h" 31#include "m_pd.h"
26#include "g_canvas.h" 32#include "g_canvas.h"
33#endif /* ROCKBOX */
27 34
28t_class *scalar_class; 35t_class *scalar_class;
29 36
@@ -139,6 +146,9 @@ void glist_scalar(t_glist *glist,
139 t_binbuf *b; 146 t_binbuf *b;
140 int natoms, nextmsg = 0; 147 int natoms, nextmsg = 0;
141 t_atom *vec; 148 t_atom *vec;
149#ifdef ROCKBOX
150 (void) classname;
151#endif
142 if (!template_findbyname(templatesym)) 152 if (!template_findbyname(templatesym))
143 { 153 {
144 pd_error(glist, "%s: no such template", 154 pd_error(glist, "%s: no such template",
@@ -167,7 +177,9 @@ static void scalar_getrect(t_gobj *z, t_glist *owner,
167 int *xp1, int *yp1, int *xp2, int *yp2) 177 int *xp1, int *yp1, int *xp2, int *yp2)
168{ 178{
169 t_scalar *x = (t_scalar *)z; 179 t_scalar *x = (t_scalar *)z;
180#ifndef ROCKBOX
170 int hit = 0; 181 int hit = 0;
182#endif
171 t_template *template = template_findbyname(x->sc_template); 183 t_template *template = template_findbyname(x->sc_template);
172 t_canvas *templatecanvas = template_findcanvas(template); 184 t_canvas *templatecanvas = template_findcanvas(template);
173 int x1 = 0x7fffffff, x2 = -0x7fffffff, y1 = 0x7fffffff, y2 = -0x7fffffff; 185 int x1 = 0x7fffffff, x2 = -0x7fffffff, y1 = 0x7fffffff, y2 = -0x7fffffff;
@@ -213,7 +225,9 @@ static void scalar_getrect(t_gobj *z, t_glist *owner,
213 225
214static void scalar_select(t_gobj *z, t_glist *owner, int state) 226static void scalar_select(t_gobj *z, t_glist *owner, int state)
215{ 227{
228#ifndef ROCKBOX
216 t_scalar *x = (t_scalar *)z; 229 t_scalar *x = (t_scalar *)z;
230#endif
217 /* post("scalar_select %d", state); */ 231 /* post("scalar_select %d", state); */
218 /* later */ 232 /* later */
219 if (state) 233 if (state)
@@ -221,12 +235,16 @@ static void scalar_select(t_gobj *z, t_glist *owner, int state)
221 int x1, y1, x2, y2; 235 int x1, y1, x2, y2;
222 scalar_getrect(z, owner, &x1, &y1, &x2, &y2); 236 scalar_getrect(z, owner, &x1, &y1, &x2, &y2);
223 x1--; x2++; y1--; y2++; 237 x1--; x2++; y1--; y2++;
238#ifndef ROCKBOX
224 sys_vgui(".x%x.c create line %d %d %d %d %d %d %d %d %d %d \ 239 sys_vgui(".x%x.c create line %d %d %d %d %d %d %d %d %d %d \
225 -width 0 -fill blue -tags select%x\n", 240 -width 0 -fill blue -tags select%x\n",
226 glist_getcanvas(owner), x1, y1, x1, y2, x2, y2, x2, y1, x1, y1, 241 glist_getcanvas(owner), x1, y1, x1, y2, x2, y2, x2, y1, x1, y1,
227 x); 242 x);
243#endif
228 } 244 }
245#ifndef ROCKBOX
229 else sys_vgui(".x%x.c delete select%x\n", glist_getcanvas(owner), x); 246 else sys_vgui(".x%x.c delete select%x\n", glist_getcanvas(owner), x);
247#endif
230} 248}
231 249
232static void scalar_displace(t_gobj *z, t_glist *glist, int dx, int dy) 250static void scalar_displace(t_gobj *z, t_glist *glist, int dx, int dy)
@@ -263,12 +281,21 @@ static void scalar_displace(t_gobj *z, t_glist *glist, int dx, int dy)
263 281
264static void scalar_activate(t_gobj *z, t_glist *owner, int state) 282static void scalar_activate(t_gobj *z, t_glist *owner, int state)
265{ 283{
284#ifdef ROCKBOX
285 (void) z;
286 (void) owner;
287 (void) state;
288#endif
266 /* post("scalar_activate %d", state); */ 289 /* post("scalar_activate %d", state); */
267 /* later */ 290 /* later */
268} 291}
269 292
270static void scalar_delete(t_gobj *z, t_glist *glist) 293static void scalar_delete(t_gobj *z, t_glist *glist)
271{ 294{
295#ifdef ROCKBOX
296 (void) z;
297 (void) glist;
298#endif
272 /* nothing to do */ 299 /* nothing to do */
273} 300}
274 301
@@ -285,12 +312,16 @@ static void scalar_vis(t_gobj *z, t_glist *owner, int vis)
285 { 312 {
286 if (vis) 313 if (vis)
287 { 314 {
315#ifndef ROCKBOX
288 int x1 = glist_xtopixels(owner, basex); 316 int x1 = glist_xtopixels(owner, basex);
289 int y1 = glist_ytopixels(owner, basey); 317 int y1 = glist_ytopixels(owner, basey);
290 sys_vgui(".x%x.c create rectangle %d %d %d %d -tags scalar%x\n", 318 sys_vgui(".x%x.c create rectangle %d %d %d %d -tags scalar%x\n",
291 glist_getcanvas(owner), x1-1, y1-1, x1+1, y1+1, x); 319 glist_getcanvas(owner), x1-1, y1-1, x1+1, y1+1, x);
320#endif
292 } 321 }
322#ifndef ROCKBOX
293 else sys_vgui(".x%x.c delete scalar%x\n", glist_getcanvas(owner), x); 323 else sys_vgui(".x%x.c delete scalar%x\n", glist_getcanvas(owner), x);
324#endif
294 return; 325 return;
295 } 326 }
296 327
@@ -316,9 +347,9 @@ static int scalar_click(t_gobj *z, struct _glist *owner,
316 { 347 {
317 t_parentwidgetbehavior *wb = pd_getparentwidget(&y->g_pd); 348 t_parentwidgetbehavior *wb = pd_getparentwidget(&y->g_pd);
318 if (!wb) continue; 349 if (!wb) continue;
319 if (hit = (*wb->w_parentclickfn)(y, owner, 350 if((hit = (*wb->w_parentclickfn)(y, owner,
320 x, template, basex, basey, 351 x, template, basex, basey,
321 xpix, ypix, shift, alt, dbl, doit)) 352 xpix, ypix, shift, alt, dbl, doit)))
322 return (hit); 353 return (hit);
323 } 354 }
324 return (0); 355 return (0);
@@ -331,8 +362,10 @@ static void scalar_save(t_gobj *z, t_binbuf *b)
331{ 362{
332 t_scalar *x = (t_scalar *)z; 363 t_scalar *x = (t_scalar *)z;
333 t_binbuf *b2 = binbuf_new(); 364 t_binbuf *b2 = binbuf_new();
365#ifndef ROCKBOX
334 t_atom a, *argv; 366 t_atom a, *argv;
335 int i, argc; 367 int i, argc;
368#endif
336 canvas_writescalar(x->sc_template, x->sc_vec, b2, 0); 369 canvas_writescalar(x->sc_template, x->sc_vec, b2, 0);
337 binbuf_addv(b, "ss", &s__X, gensym("scalar")); 370 binbuf_addv(b, "ss", &s__X, gensym("scalar"));
338 binbuf_addbinbuf(b, b2); 371 binbuf_addbinbuf(b, b2);
@@ -342,6 +375,10 @@ static void scalar_save(t_gobj *z, t_binbuf *b)
342 375
343static void scalar_properties(t_gobj *z, struct _glist *owner) 376static void scalar_properties(t_gobj *z, struct _glist *owner)
344{ 377{
378#ifdef ROCKBOX
379 (void) z;
380 (void) owner;
381#else /* ROCKBOX */
345 t_scalar *x = (t_scalar *)z; 382 t_scalar *x = (t_scalar *)z;
346 char *buf, buf2[80]; 383 char *buf, buf2[80];
347 int bufsize; 384 int bufsize;
@@ -358,6 +395,7 @@ static void scalar_properties(t_gobj *z, struct _glist *owner)
358 sys_gui(buf); 395 sys_gui(buf);
359 sys_gui("}\n"); 396 sys_gui("}\n");
360 t_freebytes(buf, bufsize+1); 397 t_freebytes(buf, bufsize+1);
398#endif /* ROCKBOX */
361} 399}
362 400
363static t_widgetbehavior scalar_widgetbehavior = 401static t_widgetbehavior scalar_widgetbehavior =
@@ -373,8 +411,10 @@ static t_widgetbehavior scalar_widgetbehavior =
373 411
374static void scalar_free(t_scalar *x) 412static void scalar_free(t_scalar *x)
375{ 413{
414#ifndef ROCKBOX
376 int i; 415 int i;
377 t_dataslot *datatypes, *dt; 416 t_dataslot *datatypes, *dt;
417#endif
378 t_symbol *templatesym = x->sc_template; 418 t_symbol *templatesym = x->sc_template;
379 t_template *template = template_findbyname(templatesym); 419 t_template *template = template_findbyname(templatesym);
380 if (!template) 420 if (!template)
@@ -383,7 +423,9 @@ static void scalar_free(t_scalar *x)
383 return; 423 return;
384 } 424 }
385 word_free(x->sc_vec, template); 425 word_free(x->sc_vec, template);
426#ifndef ROCKBOX
386 gfxstub_deleteforkey(x); 427 gfxstub_deleteforkey(x);
428#endif
387 /* the "size" field in the class is zero, so Pd doesn't try to free 429 /* the "size" field in the class is zero, so Pd doesn't try to free
388 us automatically (see pd_free()) */ 430 us automatically (see pd_free()) */
389 freebytes(x, sizeof(t_scalar) + (template->t_n - 1) * sizeof(*x->sc_vec)); 431 freebytes(x, sizeof(t_scalar) + (template->t_n - 1) * sizeof(*x->sc_vec));
diff --git a/apps/plugins/pdbox/PDa/src/g_template.c b/apps/plugins/pdbox/PDa/src/g_template.c
index 9e62c0f1d2..deb47c3129 100644
--- a/apps/plugins/pdbox/PDa/src/g_template.c
+++ b/apps/plugins/pdbox/PDa/src/g_template.c
@@ -2,6 +2,14 @@
2* For information on usage and redistribution, and for a DISCLAIMER OF ALL 2* For information on usage and redistribution, and for a DISCLAIMER OF ALL
3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ 3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
4 4
5#ifdef ROCKBOX
6#include "plugin.h"
7#include "pdbox.h"
8#include "m_pd.h"
9#include "s_stuff.h"
10#include "g_canvas.h"
11#define snprintf rb->snprintf
12#else /* ROCKBOX */
5#include <stdlib.h> 13#include <stdlib.h>
6#include <string.h> 14#include <string.h>
7#include <stdio.h> 15#include <stdio.h>
@@ -9,6 +17,7 @@
9#include "m_pd.h" 17#include "m_pd.h"
10#include "s_stuff.h" /* for sys_hostfontsize */ 18#include "s_stuff.h" /* for sys_hostfontsize */
11#include "g_canvas.h" 19#include "g_canvas.h"
20#endif /* ROCKBOX */
12 21
13/* 22/*
14This file contains text objects you would put in a canvas to define a 23This file contains text objects you would put in a canvas to define a
@@ -140,7 +149,9 @@ int template_size(t_template *x)
140int template_find_field(t_template *x, t_symbol *name, int *p_onset, 149int template_find_field(t_template *x, t_symbol *name, int *p_onset,
141 int *p_type, t_symbol **p_arraytype) 150 int *p_type, t_symbol **p_arraytype)
142{ 151{
152#ifndef ROCKBOX
143 t_template *t; 153 t_template *t;
154#endif
144 int i, n; 155 int i, n;
145 if (!x) 156 if (!x)
146 { 157 {
@@ -262,7 +273,13 @@ elements might still be old ones.
262static void template_conformwords(t_template *tfrom, t_template *tto, 273static void template_conformwords(t_template *tfrom, t_template *tto,
263 int *conformaction, t_word *wfrom, t_word *wto) 274 int *conformaction, t_word *wfrom, t_word *wto)
264{ 275{
276#ifdef ROCKBOX
277 int nto = tto->t_n, i;
278
279 (void) tfrom;
280#else
265 int nfrom = tfrom->t_n, nto = tto->t_n, i; 281 int nfrom = tfrom->t_n, nto = tto->t_n, i;
282#endif
266 for (i = 0; i < nto; i++) 283 for (i = 0; i < nto; i++)
267 { 284 {
268 if (conformaction[i] >= 0) 285 if (conformaction[i] >= 0)
@@ -282,7 +299,11 @@ static t_scalar *template_conformscalar(t_template *tfrom, t_template *tto,
282{ 299{
283 t_scalar *x; 300 t_scalar *x;
284 t_gpointer gp; 301 t_gpointer gp;
302#ifdef ROCKBOX
303 int i;
304#else
285 int nto = tto->t_n, nfrom = tfrom->t_n, i; 305 int nto = tto->t_n, nfrom = tfrom->t_n, i;
306#endif
286 t_template *scalartemplate; 307 t_template *scalartemplate;
287 /* post("conform scalar"); */ 308 /* post("conform scalar"); */
288 /* possibly replace the scalar */ 309 /* possibly replace the scalar */
@@ -311,7 +332,7 @@ static t_scalar *template_conformscalar(t_template *tfrom, t_template *tto,
311 else 332 else
312 { 333 {
313 t_gobj *y, *y2; 334 t_gobj *y, *y2;
314 for (y = glist->gl_list; y2 = y->g_next; y = y2) 335 for (y = glist->gl_list; (y2 = y->g_next); y = y2)
315 if (y2 == &scfrom->sc_gobj) 336 if (y2 == &scfrom->sc_gobj)
316 { 337 {
317 x->sc_gobj.g_next = y2->g_next; 338 x->sc_gobj.g_next = y2->g_next;
@@ -447,7 +468,9 @@ void template_conform(t_template *tfrom, t_template *tto)
447 468
448t_template *template_findbyname(t_symbol *s) 469t_template *template_findbyname(t_symbol *s)
449{ 470{
471#ifndef ROCKBOX
450 int i; 472 int i;
473#endif
451 if (s == &s_float) 474 if (s == &s_float)
452 return (&template_float); 475 return (&template_float);
453 else return ((t_template *)pd_findbyclass(s, template_class)); 476 else return ((t_template *)pd_findbyclass(s, template_class));
@@ -477,6 +500,10 @@ static void *template_usetemplate(void *dummy, t_symbol *s,
477 t_template *x; 500 t_template *x;
478 t_symbol *templatesym = 501 t_symbol *templatesym =
479 canvas_makebindsym(atom_getsymbolarg(0, argc, argv)); 502 canvas_makebindsym(atom_getsymbolarg(0, argc, argv));
503#ifdef ROCKBOX
504 (void) dummy;
505 (void) s;
506#endif
480 if (!argc) 507 if (!argc)
481 return (0); 508 return (0);
482 argc--; argv++; 509 argc--; argv++;
@@ -540,7 +567,9 @@ static void *gtemplate_donew(t_symbol *sym, int argc, t_atom *argv)
540 t_gtemplate *x = (t_gtemplate *)pd_new(gtemplate_class); 567 t_gtemplate *x = (t_gtemplate *)pd_new(gtemplate_class);
541 t_template *t = template_findbyname(sym); 568 t_template *t = template_findbyname(sym);
542 int i; 569 int i;
570#ifndef ROCKBOX
543 t_symbol *sx = gensym("x"); 571 t_symbol *sx = gensym("x");
572#endif
544 x->x_owner = canvas_getcurrent(); 573 x->x_owner = canvas_getcurrent();
545 x->x_next = 0; 574 x->x_next = 0;
546 x->x_sym = sym; 575 x->x_sym = sym;
@@ -559,7 +588,7 @@ static void *gtemplate_donew(t_symbol *sym, int argc, t_atom *argv)
559 if (t->t_list) 588 if (t->t_list)
560 { 589 {
561 t_gtemplate *x2, *x3; 590 t_gtemplate *x2, *x3;
562 for (x2 = x->x_template->t_list; x3 = x2->x_next; x2 = x3) 591 for(x2 = x->x_template->t_list; (x3 = x2->x_next); x2 = x3)
563 ; 592 ;
564 x2->x_next = x; 593 x2->x_next = x;
565 post("template %s: warning: already exists.", sym->s_name); 594 post("template %s: warning: already exists.", sym->s_name);
@@ -593,8 +622,13 @@ static void *gtemplate_donew(t_symbol *sym, int argc, t_atom *argv)
593 622
594static void *gtemplate_new(t_symbol *s, int argc, t_atom *argv) 623static void *gtemplate_new(t_symbol *s, int argc, t_atom *argv)
595{ 624{
625#ifndef ROCKBOX
596 t_gtemplate *x = (t_gtemplate *)pd_new(gtemplate_class); 626 t_gtemplate *x = (t_gtemplate *)pd_new(gtemplate_class);
627#endif
597 t_symbol *sym = atom_getsymbolarg(0, argc, argv); 628 t_symbol *sym = atom_getsymbolarg(0, argc, argv);
629#ifdef ROCKBOX
630 (void) s;
631#endif
598 if (argc >= 1) 632 if (argc >= 1)
599 argc--; argv++; 633 argc--; argv++;
600 return (gtemplate_donew(canvas_makebindsym(sym), argc, argv)); 634 return (gtemplate_donew(canvas_makebindsym(sym), argc, argv));
@@ -603,9 +637,14 @@ static void *gtemplate_new(t_symbol *s, int argc, t_atom *argv)
603 /* old version (0.34) -- delete 2003 or so */ 637 /* old version (0.34) -- delete 2003 or so */
604static void *gtemplate_new_old(t_symbol *s, int argc, t_atom *argv) 638static void *gtemplate_new_old(t_symbol *s, int argc, t_atom *argv)
605{ 639{
640#ifndef ROCKBOX
606 t_gtemplate *x = (t_gtemplate *)pd_new(gtemplate_class); 641 t_gtemplate *x = (t_gtemplate *)pd_new(gtemplate_class);
642#endif
607 t_symbol *sym = canvas_makebindsym(canvas_getcurrent()->gl_name); 643 t_symbol *sym = canvas_makebindsym(canvas_getcurrent()->gl_name);
608 static int warned; 644 static int warned;
645#ifdef ROCKBOX
646 (void) s;
647#endif
609 if (!warned) 648 if (!warned)
610 { 649 {
611 post("warning -- 'template' (%s) is obsolete; replace with 'struct'", 650 post("warning -- 'template' (%s) is obsolete; replace with 'struct'",
@@ -643,7 +682,7 @@ static void gtemplate_free(t_gtemplate *x)
643 else 682 else
644 { 683 {
645 t_gtemplate *x2, *x3; 684 t_gtemplate *x2, *x3;
646 for (x2 = t->t_list; x3 = x2->x_next; x2 = x3) 685 for(x2 = t->t_list; (x3 = x2->x_next); x2 = x3)
647 { 686 {
648 if (x == x3) 687 if (x == x3)
649 { 688 {
@@ -829,6 +868,16 @@ static void curve_displace(t_gobj *z, t_glist *glist,
829 t_word *data, t_template *template, float basex, float basey, 868 t_word *data, t_template *template, float basex, float basey,
830 int dx, int dy) 869 int dx, int dy)
831{ 870{
871#ifdef ROCKBOX
872 (void) z;
873 (void) glist;
874 (void) data;
875 (void) template;
876 (void) basex;
877 (void) basey;
878 (void) dx;
879 (void) dy;
880#endif
832 /* refuse */ 881 /* refuse */
833} 882}
834 883
@@ -836,6 +885,15 @@ static void curve_select(t_gobj *z, t_glist *glist,
836 t_word *data, t_template *template, float basex, float basey, 885 t_word *data, t_template *template, float basex, float basey,
837 int state) 886 int state)
838{ 887{
888#ifdef ROCKBOX
889 (void) z;
890 (void) glist;
891 (void) data;
892 (void) template;
893 (void) basex;
894 (void) basey;
895 (void) state;
896#endif
839 /* fill in later */ 897 /* fill in later */
840} 898}
841 899
@@ -843,6 +901,15 @@ static void curve_activate(t_gobj *z, t_glist *glist,
843 t_word *data, t_template *template, float basex, float basey, 901 t_word *data, t_template *template, float basex, float basey,
844 int state) 902 int state)
845{ 903{
904#ifdef ROCKBOX
905 (void) z;
906 (void) glist;
907 (void) data;
908 (void) template;
909 (void) basex;
910 (void) basey;
911 (void) state;
912#endif
846 /* fill in later */ 913 /* fill in later */
847} 914}
848 915
@@ -861,8 +928,13 @@ static void numbertocolor(int n, char *s)
861 red = n / 100; 928 red = n / 100;
862 blue = ((n / 10) % 10); 929 blue = ((n / 10) % 10);
863 green = n % 10; 930 green = n % 10;
931#ifdef ROCKBOX
932 snprintf(s, 8, "#%2.2x%2.2x%2.2x",
933 rangecolor(red), rangecolor(blue), rangecolor(green));
934#else
864 sprintf(s, "#%2.2x%2.2x%2.2x", rangecolor(red), rangecolor(blue), 935 sprintf(s, "#%2.2x%2.2x%2.2x", rangecolor(red), rangecolor(blue),
865 rangecolor(green)); 936 rangecolor(green));
937#endif
866} 938}
867 939
868static void curve_vis(t_gobj *z, t_glist *glist, 940static void curve_vis(t_gobj *z, t_glist *glist,
@@ -872,12 +944,22 @@ static void curve_vis(t_gobj *z, t_glist *glist,
872 t_curve *x = (t_curve *)z; 944 t_curve *x = (t_curve *)z;
873 int i, n = x->x_npoints; 945 int i, n = x->x_npoints;
874 t_fielddesc *f = x->x_vec; 946 t_fielddesc *f = x->x_vec;
947
948#ifdef ROCKBOX
949 (void) glist;
950 (void) basex;
951 (void) basey;
952#endif
875 953
876 if (vis) 954 if (vis)
877 { 955 {
878 if (n > 1) 956 if (n > 1)
879 { 957 {
958#ifdef ROCKBOX
959 int flags = x->x_flags;
960#else
880 int flags = x->x_flags, closed = (flags & CLOSED); 961 int flags = x->x_flags, closed = (flags & CLOSED);
962#endif
881 float width = fielddesc_getfloat(&x->x_width, template, data, 1); 963 float width = fielddesc_getfloat(&x->x_width, template, data, 1);
882 char outline[20], fill[20]; 964 char outline[20], fill[20];
883 if (width < 1) width = 1; 965 if (width < 1) width = 1;
@@ -889,19 +971,26 @@ static void curve_vis(t_gobj *z, t_glist *glist,
889 numbertocolor( 971 numbertocolor(
890 fielddesc_getfloat(&x->x_fillcolor, template, data, 1), 972 fielddesc_getfloat(&x->x_fillcolor, template, data, 1),
891 fill); 973 fill);
974#ifndef ROCKBOX
892 sys_vgui(".x%x.c create polygon\\\n", 975 sys_vgui(".x%x.c create polygon\\\n",
893 glist_getcanvas(glist)); 976 glist_getcanvas(glist));
977#endif
894 } 978 }
979#ifndef ROCKBOX
895 else sys_vgui(".x%x.c create line\\\n", 980 else sys_vgui(".x%x.c create line\\\n",
896 glist_getcanvas(glist)); 981 glist_getcanvas(glist));
982#endif
897 for (i = 0, f = x->x_vec; i < n; i++, f += 2) 983 for (i = 0, f = x->x_vec; i < n; i++, f += 2)
898 { 984 {
985#ifndef ROCKBOX
899 float xloc = glist_xtopixels(glist, 986 float xloc = glist_xtopixels(glist,
900 basex + fielddesc_getfloat(f, template, data, 1)); 987 basex + fielddesc_getfloat(f, template, data, 1));
901 float yloc = glist_ytopixels(glist, 988 float yloc = glist_ytopixels(glist,
902 basey + fielddesc_getfloat(f+1, template, data, 1)); 989 basey + fielddesc_getfloat(f+1, template, data, 1));
903 sys_vgui("%d %d\\\n", (int)xloc, (int)yloc); 990 sys_vgui("%d %d\\\n", (int)xloc, (int)yloc);
991#endif
904 } 992 }
993#ifndef ROCKBOX
905 sys_vgui("-width %f\\\n", 994 sys_vgui("-width %f\\\n",
906 fielddesc_getfloat(&x->x_width, template, data, 1)); 995 fielddesc_getfloat(&x->x_width, template, data, 1));
907 if (flags & CLOSED) sys_vgui("-fill %s -outline %s\\\n", 996 if (flags & CLOSED) sys_vgui("-fill %s -outline %s\\\n",
@@ -909,13 +998,16 @@ static void curve_vis(t_gobj *z, t_glist *glist,
909 else sys_vgui("-fill %s\\\n", outline); 998 else sys_vgui("-fill %s\\\n", outline);
910 if (flags & BEZ) sys_vgui("-smooth 1\\\n"); 999 if (flags & BEZ) sys_vgui("-smooth 1\\\n");
911 sys_vgui("-tags curve%x\n", data); 1000 sys_vgui("-tags curve%x\n", data);
1001#endif
912 } 1002 }
913 else post("warning: curves need at least two points to be graphed"); 1003 else post("warning: curves need at least two points to be graphed");
914 } 1004 }
915 else 1005 else
916 { 1006 {
1007#ifndef ROCKBOX
917 if (n > 1) sys_vgui(".x%x.c delete curve%x\n", 1008 if (n > 1) sys_vgui(".x%x.c delete curve%x\n",
918 glist_getcanvas(glist), data); 1009 glist_getcanvas(glist), data);
1010#endif
919 } 1011 }
920} 1012}
921 1013
@@ -969,6 +1061,13 @@ static int curve_click(t_gobj *z, t_glist *glist,
969 int besterror = 0x7fffffff; 1061 int besterror = 0x7fffffff;
970 t_fielddesc *f = x->x_vec; 1062 t_fielddesc *f = x->x_vec;
971 t_word *data = sc->sc_vec; 1063 t_word *data = sc->sc_vec;
1064
1065#ifdef ROCKBOX
1066 (void) shift;
1067 (void) alt;
1068 (void) dbl;
1069#endif
1070
972 for (i = 0, f = x->x_vec; i < n; i++, f += 2) 1071 for (i = 0, f = x->x_vec; i < n; i++, f += 2)
973 { 1072 {
974 int xloc = glist_xtopixels(glist, 1073 int xloc = glist_xtopixels(glist,
@@ -1060,9 +1159,16 @@ static void *plot_new(t_symbol *classsym, t_int argc, t_atom *argv)
1060{ 1159{
1061 t_plot *x = (t_plot *)pd_new(plot_class); 1160 t_plot *x = (t_plot *)pd_new(plot_class);
1062 int flags = 0; 1161 int flags = 0;
1162#ifndef ROCKBOX
1063 int nxy, i; 1163 int nxy, i;
1064 t_fielddesc *fd; 1164 t_fielddesc *fd;
1165#endif
1065 t_symbol *firstarg = atom_getsymbolarg(0, argc, argv); 1166 t_symbol *firstarg = atom_getsymbolarg(0, argc, argv);
1167
1168#ifdef ROCKBOX
1169 (void) classsym;
1170#endif
1171
1066 if (!strcmp(firstarg->s_name, "curve")) 1172 if (!strcmp(firstarg->s_name, "curve"))
1067 { 1173 {
1068 flags |= BEZ; 1174 flags |= BEZ;
@@ -1132,7 +1238,11 @@ int array_getfields(t_symbol *elemtemplatesym,
1132 t_template **elemtemplatep, int *elemsizep, 1238 t_template **elemtemplatep, int *elemsizep,
1133 int *xonsetp, int *yonsetp, int *wonsetp) 1239 int *xonsetp, int *yonsetp, int *wonsetp)
1134{ 1240{
1241#ifdef ROCKBOX
1242 int elemsize, yonset, wonset, xonset, type;
1243#else
1135 int arrayonset, elemsize, yonset, wonset, xonset, type; 1244 int arrayonset, elemsize, yonset, wonset, xonset, type;
1245#endif
1136 t_template *elemtemplate; 1246 t_template *elemtemplate;
1137 t_symbol *dummy; 1247 t_symbol *dummy;
1138 t_canvas *elemtemplatecanvas = 0; 1248 t_canvas *elemtemplatecanvas = 0;
@@ -1219,6 +1329,16 @@ static void plot_displace(t_gobj *z, t_glist *glist,
1219 t_word *data, t_template *template, float basex, float basey, 1329 t_word *data, t_template *template, float basex, float basey,
1220 int dx, int dy) 1330 int dx, int dy)
1221{ 1331{
1332#ifdef ROCKBOX
1333 (void) z;
1334 (void) glist;
1335 (void) data;
1336 (void) template;
1337 (void) basex;
1338 (void) basey;
1339 (void) dx;
1340 (void) dy;
1341#endif
1222 /* not yet */ 1342 /* not yet */
1223} 1343}
1224 1344
@@ -1226,6 +1346,15 @@ static void plot_select(t_gobj *z, t_glist *glist,
1226 t_word *data, t_template *template, float basex, float basey, 1346 t_word *data, t_template *template, float basex, float basey,
1227 int state) 1347 int state)
1228{ 1348{
1349#ifdef ROCKBOX
1350 (void) z;
1351 (void) glist;
1352 (void) data;
1353 (void) template;
1354 (void) basex;
1355 (void) basey;
1356 (void) state;
1357#endif
1229 /* not yet */ 1358 /* not yet */
1230} 1359}
1231 1360
@@ -1233,6 +1362,15 @@ static void plot_activate(t_gobj *z, t_glist *glist,
1233 t_word *data, t_template *template, float basex, float basey, 1362 t_word *data, t_template *template, float basex, float basey,
1234 int state) 1363 int state)
1235{ 1364{
1365#ifdef ROCKBOX
1366 (void) z;
1367 (void) glist;
1368 (void) data;
1369 (void) template;
1370 (void) basex;
1371 (void) basey;
1372 (void) state;
1373#endif
1236 /* not yet */ 1374 /* not yet */
1237} 1375}
1238 1376
@@ -1270,8 +1408,10 @@ static void plot_vis(t_gobj *z, t_glist *glist,
1270 { 1408 {
1271 /* found "w" field which controls linewidth. The trace is 1409 /* found "w" field which controls linewidth. The trace is
1272 a filled polygon with 2n points. */ 1410 a filled polygon with 2n points. */
1411#ifndef ROCKBOX
1273 sys_vgui(".x%x.c create polygon \\\n", 1412 sys_vgui(".x%x.c create polygon \\\n",
1274 glist_getcanvas(glist)); 1413 glist_getcanvas(glist));
1414#endif
1275 1415
1276 for (i = 0, xsum = xloc; i < nelem; i++) 1416 for (i = 0, xsum = xloc; i < nelem; i++)
1277 { 1417 {
@@ -1287,9 +1427,11 @@ static void plot_vis(t_gobj *z, t_glist *glist,
1287 ixpix = xpix + 0.5; 1427 ixpix = xpix + 0.5;
1288 if (xonset >= 0 || ixpix != lastpixel) 1428 if (xonset >= 0 || ixpix != lastpixel)
1289 { 1429 {
1430#ifndef ROCKBOX
1290 sys_vgui("%d %f \\\n", ixpix, 1431 sys_vgui("%d %f \\\n", ixpix,
1291 glist_ytopixels(glist, 1432 glist_ytopixels(glist,
1292 basey + yloc + yval - wval)); 1433 basey + yloc + yval - wval));
1434#endif
1293 ndrawn++; 1435 ndrawn++;
1294 } 1436 }
1295 lastpixel = ixpix; 1437 lastpixel = ixpix;
@@ -1310,8 +1452,10 @@ static void plot_vis(t_gobj *z, t_glist *glist,
1310 ixpix = xpix + 0.5; 1452 ixpix = xpix + 0.5;
1311 if (xonset >= 0 || ixpix != lastpixel) 1453 if (xonset >= 0 || ixpix != lastpixel)
1312 { 1454 {
1455#ifndef ROCKBOX
1313 sys_vgui("%d %f \\\n", ixpix, glist_ytopixels(glist, 1456 sys_vgui("%d %f \\\n", ixpix, glist_ytopixels(glist,
1314 basey + yloc + yval + wval)); 1457 basey + yloc + yval + wval));
1458#endif
1315 ndrawn++; 1459 ndrawn++;
1316 } 1460 }
1317 lastpixel = ixpix; 1461 lastpixel = ixpix;
@@ -1321,23 +1465,31 @@ static void plot_vis(t_gobj *z, t_glist *glist,
1321 should be at least two already. */ 1465 should be at least two already. */
1322 if (ndrawn < 4) 1466 if (ndrawn < 4)
1323 { 1467 {
1468#ifndef ROCKBOX
1324 sys_vgui("%d %f \\\n", ixpix + 10, glist_ytopixels(glist, 1469 sys_vgui("%d %f \\\n", ixpix + 10, glist_ytopixels(glist,
1325 basey + yloc + yval + wval)); 1470 basey + yloc + yval + wval));
1326 sys_vgui("%d %f \\\n", ixpix + 10, glist_ytopixels(glist, 1471 sys_vgui("%d %f \\\n", ixpix + 10, glist_ytopixels(glist,
1327 basey + yloc + yval - wval)); 1472 basey + yloc + yval - wval));
1473#endif
1328 } 1474 }
1329 ouch: 1475 ouch:
1476#ifdef ROCKBOX
1477 ;
1478#else /* ROCKBOX */
1330 sys_vgui(" -width 1 -fill %s -outline %s\\\n", outline, outline); 1479 sys_vgui(" -width 1 -fill %s -outline %s\\\n", outline, outline);
1331 if (x->x_flags & BEZ) sys_vgui("-smooth 1\\\n"); 1480 if (x->x_flags & BEZ) sys_vgui("-smooth 1\\\n");
1332 1481
1333 sys_vgui("-tags plot%x\n", data); 1482 sys_vgui("-tags plot%x\n", data);
1483#endif /* ROCKBOX */
1334 } 1484 }
1335 else if (linewidth > 0) 1485 else if (linewidth > 0)
1336 { 1486 {
1337 /* no "w" field. If the linewidth is positive, draw a 1487 /* no "w" field. If the linewidth is positive, draw a
1338 segmented line with the requested width; otherwise don't 1488 segmented line with the requested width; otherwise don't
1339 draw the trace at all. */ 1489 draw the trace at all. */
1490#ifndef ROCKBOX
1340 sys_vgui(".x%x.c create line \\\n", glist_getcanvas(glist)); 1491 sys_vgui(".x%x.c create line \\\n", glist_getcanvas(glist));
1492#endif
1341 1493
1342 for (xsum = xloc, i = 0; i < nelem; i++) 1494 for (xsum = xloc, i = 0; i < nelem; i++)
1343 { 1495 {
@@ -1352,14 +1504,17 @@ static void plot_vis(t_gobj *z, t_glist *glist,
1352 ixpix = xpix + 0.5; 1504 ixpix = xpix + 0.5;
1353 if (xonset >= 0 || ixpix != lastpixel) 1505 if (xonset >= 0 || ixpix != lastpixel)
1354 { 1506 {
1507#ifndef ROCKBOX
1355 sys_vgui("%d %f \\\n", ixpix, 1508 sys_vgui("%d %f \\\n", ixpix,
1356 glist_ytopixels(glist, basey + yloc + yval)); 1509 glist_ytopixels(glist, basey + yloc + yval));
1510#endif
1357 ndrawn++; 1511 ndrawn++;
1358 } 1512 }
1359 lastpixel = ixpix; 1513 lastpixel = ixpix;
1360 if (ndrawn >= 1000) break; 1514 if (ndrawn >= 1000) break;
1361 } 1515 }
1362 /* TK will complain if there aren't at least 2 points... */ 1516 /* TK will complain if there aren't at least 2 points... */
1517#ifndef ROCKBOX
1363 if (ndrawn == 0) sys_vgui("0 0 0 0 \\\n"); 1518 if (ndrawn == 0) sys_vgui("0 0 0 0 \\\n");
1364 else if (ndrawn == 1) sys_vgui("%d %f \\\n", ixpix + 10, 1519 else if (ndrawn == 1) sys_vgui("%d %f \\\n", ixpix + 10,
1365 glist_ytopixels(glist, basey + yloc + yval)); 1520 glist_ytopixels(glist, basey + yloc + yval));
@@ -1369,6 +1524,7 @@ static void plot_vis(t_gobj *z, t_glist *glist,
1369 if (x->x_flags & BEZ) sys_vgui("-smooth 1\\\n"); 1524 if (x->x_flags & BEZ) sys_vgui("-smooth 1\\\n");
1370 1525
1371 sys_vgui("-tags plot%x\n", data); 1526 sys_vgui("-tags plot%x\n", data);
1527#endif
1372 } 1528 }
1373 /* We're done with the outline; now draw all the points. 1529 /* We're done with the outline; now draw all the points.
1374 This code is inefficient since the template has to be 1530 This code is inefficient since the template has to be
@@ -1413,8 +1569,10 @@ static void plot_vis(t_gobj *z, t_glist *glist,
1413 } 1569 }
1414 } 1570 }
1415 /* and then the trace */ 1571 /* and then the trace */
1572#ifndef ROCKBOX
1416 sys_vgui(".x%x.c delete plot%x\n", 1573 sys_vgui(".x%x.c delete plot%x\n",
1417 glist_getcanvas(glist), data); 1574 glist_getcanvas(glist), data);
1575#endif
1418 } 1576 }
1419} 1577}
1420 1578
@@ -1526,8 +1684,12 @@ static void drawnumber_getrect(t_gobj *z, t_glist *glist,
1526 basex + fielddesc_getfloat(&x->x_xloc, template, data, 0)); 1684 basex + fielddesc_getfloat(&x->x_xloc, template, data, 0));
1527 int yloc = glist_ytopixels(glist, 1685 int yloc = glist_ytopixels(glist,
1528 basey + fielddesc_getfloat(&x->x_yloc, template, data, 0)); 1686 basey + fielddesc_getfloat(&x->x_yloc, template, data, 0));
1687#ifdef ROCKBOX
1688 int fontwidth = 8, fontheight = 10;
1689#else
1529 int font = glist_getfont(glist); 1690 int font = glist_getfont(glist);
1530 int fontwidth = sys_fontwidth(font), fontheight = sys_fontheight(font); 1691 int fontwidth = sys_fontwidth(font), fontheight = sys_fontheight(font);
1692#endif
1531 char buf[DRAWNUMBER_BUFSIZE]; 1693 char buf[DRAWNUMBER_BUFSIZE];
1532 if (x->x_flags & DRAW_SYMBOL) 1694 if (x->x_flags & DRAW_SYMBOL)
1533 SETSYMBOL(&at, fielddesc_getsymbol(&x->x_value, template, data, 0)); 1695 SETSYMBOL(&at, fielddesc_getsymbol(&x->x_value, template, data, 0));
@@ -1543,6 +1705,16 @@ static void drawnumber_displace(t_gobj *z, t_glist *glist,
1543 t_word *data, t_template *template, float basex, float basey, 1705 t_word *data, t_template *template, float basex, float basey,
1544 int dx, int dy) 1706 int dx, int dy)
1545{ 1707{
1708#ifdef ROCKBOX
1709 (void) z;
1710 (void) glist;
1711 (void) data;
1712 (void) template;
1713 (void) basex;
1714 (void) basey;
1715 (void) dx;
1716 (void) dy;
1717#endif
1546 /* refuse */ 1718 /* refuse */
1547} 1719}
1548 1720
@@ -1550,6 +1722,14 @@ static void drawnumber_select(t_gobj *z, t_glist *glist,
1550 t_word *data, t_template *template, float basex, float basey, 1722 t_word *data, t_template *template, float basex, float basey,
1551 int state) 1723 int state)
1552{ 1724{
1725#ifdef ROCKBOX
1726 (void) z;
1727 (void) glist;
1728 (void) data;
1729 (void) template;
1730 (void) basex;
1731 (void) basey;
1732#endif
1553 post("drawnumber_select %d", state); 1733 post("drawnumber_select %d", state);
1554 /* fill in later */ 1734 /* fill in later */
1555} 1735}
@@ -1558,6 +1738,14 @@ static void drawnumber_activate(t_gobj *z, t_glist *glist,
1558 t_word *data, t_template *template, float basex, float basey, 1738 t_word *data, t_template *template, float basex, float basey,
1559 int state) 1739 int state)
1560{ 1740{
1741#ifdef ROCKBOX
1742 (void) z;
1743 (void) glist;
1744 (void) data;
1745 (void) template;
1746 (void) basex;
1747 (void) basey;
1748#endif
1561 post("drawnumber_activate %d", state); 1749 post("drawnumber_activate %d", state);
1562} 1750}
1563 1751
@@ -1566,14 +1754,22 @@ static void drawnumber_vis(t_gobj *z, t_glist *glist,
1566 int vis) 1754 int vis)
1567{ 1755{
1568 t_drawnumber *x = (t_drawnumber *)z; 1756 t_drawnumber *x = (t_drawnumber *)z;
1569 1757
1758#ifdef ROCKBOX
1759 (void) glist;
1760 (void) basex;
1761 (void) basey;
1762#endif
1763
1570 if (vis) 1764 if (vis)
1571 { 1765 {
1572 t_atom at; 1766 t_atom at;
1767#ifndef ROCKBOX
1573 int xloc = glist_xtopixels(glist, 1768 int xloc = glist_xtopixels(glist,
1574 basex + fielddesc_getfloat(&x->x_xloc, template, data, 0)); 1769 basex + fielddesc_getfloat(&x->x_xloc, template, data, 0));
1575 int yloc = glist_ytopixels(glist, 1770 int yloc = glist_ytopixels(glist,
1576 basey + fielddesc_getfloat(&x->x_yloc, template, data, 0)); 1771 basey + fielddesc_getfloat(&x->x_yloc, template, data, 0));
1772#endif
1577 char colorstring[20], buf[DRAWNUMBER_BUFSIZE]; 1773 char colorstring[20], buf[DRAWNUMBER_BUFSIZE];
1578 numbertocolor(fielddesc_getfloat(&x->x_color, template, data, 1), 1774 numbertocolor(fielddesc_getfloat(&x->x_color, template, data, 1),
1579 colorstring); 1775 colorstring);
@@ -1581,13 +1777,17 @@ static void drawnumber_vis(t_gobj *z, t_glist *glist,
1581 SETSYMBOL(&at, fielddesc_getsymbol(&x->x_value, template, data, 0)); 1777 SETSYMBOL(&at, fielddesc_getsymbol(&x->x_value, template, data, 0));
1582 else SETFLOAT(&at, fielddesc_getfloat(&x->x_value, template, data, 0)); 1778 else SETFLOAT(&at, fielddesc_getfloat(&x->x_value, template, data, 0));
1583 drawnumber_sprintf(x, buf, &at); 1779 drawnumber_sprintf(x, buf, &at);
1780#ifndef ROCKBOX
1584 sys_vgui(".x%x.c create text %d %d -anchor nw -fill %s -text {%s}", 1781 sys_vgui(".x%x.c create text %d %d -anchor nw -fill %s -text {%s}",
1585 glist_getcanvas(glist), xloc, yloc, colorstring, buf); 1782 glist_getcanvas(glist), xloc, yloc, colorstring, buf);
1586 sys_vgui(" -font -*-courier-bold--normal--%d-*", 1783 sys_vgui(" -font -*-courier-bold--normal--%d-*",
1587 sys_hostfontsize(glist_getfont(glist))); 1784 sys_hostfontsize(glist_getfont(glist)));
1588 sys_vgui(" -tags drawnumber%x\n", data); 1785 sys_vgui(" -tags drawnumber%x\n", data);
1786#endif
1589 } 1787 }
1788#ifndef ROCKBOX
1590 else sys_vgui(".x%x.c delete drawnumber%x\n", glist_getcanvas(glist), data); 1789 else sys_vgui(".x%x.c delete drawnumber%x\n", glist_getcanvas(glist), data);
1790#endif
1591} 1791}
1592 1792
1593static float drawnumber_motion_ycumulative; 1793static float drawnumber_motion_ycumulative;
@@ -1604,6 +1804,9 @@ static void drawnumber_motion(void *z, t_floatarg dx, t_floatarg dy)
1604 t_drawnumber *x = (t_drawnumber *)z; 1804 t_drawnumber *x = (t_drawnumber *)z;
1605 t_fielddesc *f = &x->x_value; 1805 t_fielddesc *f = &x->x_value;
1606 drawnumber_motion_ycumulative -= dy; 1806 drawnumber_motion_ycumulative -= dy;
1807#ifdef ROCKBOX
1808 (void) dx;
1809#endif
1607 template_setfloat(drawnumber_motion_template, 1810 template_setfloat(drawnumber_motion_template,
1608 f->fd_un.fd_varsym, 1811 f->fd_un.fd_varsym,
1609 drawnumber_motion_wp, 1812 drawnumber_motion_wp,
@@ -1619,6 +1822,11 @@ static int drawnumber_click(t_gobj *z, t_glist *glist,
1619 t_drawnumber *x = (t_drawnumber *)z; 1822 t_drawnumber *x = (t_drawnumber *)z;
1620 int x1, y1, x2, y2; 1823 int x1, y1, x2, y2;
1621 t_word *data = sc->sc_vec; 1824 t_word *data = sc->sc_vec;
1825#ifdef ROCKBOX
1826 (void) shift;
1827 (void) alt;
1828 (void) dbl;
1829#endif
1622 drawnumber_getrect(z, glist, 1830 drawnumber_getrect(z, glist,
1623 sc->sc_vec, template, basex, basey, 1831 sc->sc_vec, template, basex, basey,
1624 &x1, &y1, &x2, &y2); 1832 &x1, &y1, &x2, &y2);
@@ -1652,6 +1860,9 @@ t_parentwidgetbehavior drawnumber_widgetbehavior =
1652 1860
1653static void drawnumber_free(t_drawnumber *x) 1861static void drawnumber_free(t_drawnumber *x)
1654{ 1862{
1863#ifdef ROCKBOX
1864 (void) x;
1865#endif
1655} 1866}
1656 1867
1657static void drawnumber_setup(void) 1868static void drawnumber_setup(void)
@@ -1678,3 +1889,4 @@ void g_template_setup(void)
1678} 1889}
1679 1890
1680 1891
1892
diff --git a/apps/plugins/pdbox/PDa/src/g_text.c b/apps/plugins/pdbox/PDa/src/g_text.c
index f1fbb7f719..98b3fb74f8 100644
--- a/apps/plugins/pdbox/PDa/src/g_text.c
+++ b/apps/plugins/pdbox/PDa/src/g_text.c
@@ -6,15 +6,21 @@
6/* the methods for calling the gui-objects from menu are implemented */ 6/* the methods for calling the gui-objects from menu are implemented */
7/* all changes are labeled with iemlib */ 7/* all changes are labeled with iemlib */
8 8
9#include <stdlib.h>
10#include "m_pd.h" 9#include "m_pd.h"
11#include "m_imp.h" 10#include "m_imp.h"
12#include "s_stuff.h" 11#include "s_stuff.h"
13#include "t_tk.h" 12#include "t_tk.h"
14#include "g_canvas.h" 13#include "g_canvas.h"
14
15#ifdef ROCKBOX
16#include "plugin.h"
17#include "pdbox.h"
18#else /* ROCKBOX */
19#include <stdlib.h>
15#include <stdio.h> 20#include <stdio.h>
16#include <string.h> 21#include <string.h>
17#include <math.h> 22#include <math.h>
23#endif /* ROCKBOX */
18 24
19static t_class *text_class; 25static t_class *text_class;
20static t_class *message_class; 26static t_class *message_class;
@@ -39,6 +45,11 @@ void glist_text(t_glist *gl, t_symbol *s, int argc, t_atom *argv)
39{ 45{
40 t_text *x = (t_text *)pd_new(text_class); 46 t_text *x = (t_text *)pd_new(text_class);
41 t_atom at; 47 t_atom at;
48
49#ifdef ROCKBOX
50 (void) s;
51#endif
52
42 x->te_width = 0; /* don't know it yet. */ 53 x->te_width = 0; /* don't know it yet. */
43 x->te_type = T_TEXT; 54 x->te_type = T_TEXT;
44 x->te_binbuf = binbuf_new(); 55 x->te_binbuf = binbuf_new();
@@ -138,7 +149,12 @@ static void canvas_objtext(t_glist *gl, int xpix, int ypix, int selected,
138 149
139void canvas_obj(t_glist *gl, t_symbol *s, int argc, t_atom *argv) 150void canvas_obj(t_glist *gl, t_symbol *s, int argc, t_atom *argv)
140{ 151{
152#ifdef ROCKBOX
153 (void) s;
154#else
141 t_text *x; 155 t_text *x;
156#endif
157
142 if (argc >= 2) 158 if (argc >= 2)
143 { 159 {
144 t_binbuf *b = binbuf_new(); 160 t_binbuf *b = binbuf_new();
@@ -178,56 +194,111 @@ void canvas_iemguis(t_glist *gl, t_symbol *guiobjname)
178 194
179void canvas_bng(t_glist *gl, t_symbol *s, int argc, t_atom *argv) 195void canvas_bng(t_glist *gl, t_symbol *s, int argc, t_atom *argv)
180{ 196{
197#ifdef ROCKBOX
198 (void) s;
199 (void) argc;
200 (void) argv;
201#endif
181 canvas_iemguis(gl, gensym("bng")); 202 canvas_iemguis(gl, gensym("bng"));
182} 203}
183 204
184void canvas_toggle(t_glist *gl, t_symbol *s, int argc, t_atom *argv) 205void canvas_toggle(t_glist *gl, t_symbol *s, int argc, t_atom *argv)
185{ 206{
207#ifdef ROCKBOX
208 (void) s;
209 (void) argc;
210 (void) argv;
211#endif
186 canvas_iemguis(gl, gensym("tgl")); 212 canvas_iemguis(gl, gensym("tgl"));
187} 213}
188 214
189void canvas_vslider(t_glist *gl, t_symbol *s, int argc, t_atom *argv) 215void canvas_vslider(t_glist *gl, t_symbol *s, int argc, t_atom *argv)
190{ 216{
217#ifdef ROCKBOX
218 (void) s;
219 (void) argc;
220 (void) argv;
221#endif
191 canvas_iemguis(gl, gensym("vsl")); 222 canvas_iemguis(gl, gensym("vsl"));
192} 223}
193 224
194void canvas_hslider(t_glist *gl, t_symbol *s, int argc, t_atom *argv) 225void canvas_hslider(t_glist *gl, t_symbol *s, int argc, t_atom *argv)
195{ 226{
227#ifdef ROCKBOX
228 (void) s;
229 (void) argc;
230 (void) argv;
231#endif
196 canvas_iemguis(gl, gensym("hsl")); 232 canvas_iemguis(gl, gensym("hsl"));
197} 233}
198 234
199void canvas_hdial(t_glist *gl, t_symbol *s, int argc, t_atom *argv) 235void canvas_hdial(t_glist *gl, t_symbol *s, int argc, t_atom *argv)
200{ 236{
237#ifdef ROCKBOX
238 (void) s;
239 (void) argc;
240 (void) argv;
241#endif
201 canvas_iemguis(gl, gensym("hdl")); 242 canvas_iemguis(gl, gensym("hdl"));
202} 243}
203 244
204void canvas_vdial(t_glist *gl, t_symbol *s, int argc, t_atom *argv) 245void canvas_vdial(t_glist *gl, t_symbol *s, int argc, t_atom *argv)
205{ 246{
247#ifdef ROCKBOX
248 (void) s;
249 (void) argc;
250 (void) argv;
251#endif
206 canvas_iemguis(gl, gensym("vdl")); 252 canvas_iemguis(gl, gensym("vdl"));
207} 253}
208 254
209void canvas_hradio(t_glist *gl, t_symbol *s, int argc, t_atom *argv) 255void canvas_hradio(t_glist *gl, t_symbol *s, int argc, t_atom *argv)
210{ 256{
257#ifdef ROCKBOX
258 (void) s;
259 (void) argc;
260 (void) argv;
261#endif
211 canvas_iemguis(gl, gensym("hradio")); 262 canvas_iemguis(gl, gensym("hradio"));
212} 263}
213 264
214void canvas_vradio(t_glist *gl, t_symbol *s, int argc, t_atom *argv) 265void canvas_vradio(t_glist *gl, t_symbol *s, int argc, t_atom *argv)
215{ 266{
267#ifdef ROCKBOX
268 (void) s;
269 (void) argc;
270 (void) argv;
271#endif
216 canvas_iemguis(gl, gensym("vradio")); 272 canvas_iemguis(gl, gensym("vradio"));
217} 273}
218 274
219void canvas_vumeter(t_glist *gl, t_symbol *s, int argc, t_atom *argv) 275void canvas_vumeter(t_glist *gl, t_symbol *s, int argc, t_atom *argv)
220{ 276{
277#ifdef ROCKBOX
278 (void) s;
279 (void) argc;
280 (void) argv;
281#endif
221 canvas_iemguis(gl, gensym("vu")); 282 canvas_iemguis(gl, gensym("vu"));
222} 283}
223 284
224void canvas_mycnv(t_glist *gl, t_symbol *s, int argc, t_atom *argv) 285void canvas_mycnv(t_glist *gl, t_symbol *s, int argc, t_atom *argv)
225{ 286{
287#ifdef ROCKBOX
288 (void) s;
289 (void) argc;
290 (void) argv;
291#endif
226 canvas_iemguis(gl, gensym("cnv")); 292 canvas_iemguis(gl, gensym("cnv"));
227} 293}
228 294
229void canvas_numbox(t_glist *gl, t_symbol *s, int argc, t_atom *argv) 295void canvas_numbox(t_glist *gl, t_symbol *s, int argc, t_atom *argv)
230{ 296{
297#ifdef ROCKBOX
298 (void) s;
299 (void) argc;
300 (void) argv;
301#endif
231 canvas_iemguis(gl, gensym("nbx")); 302 canvas_iemguis(gl, gensym("nbx"));
232} 303}
233 304
@@ -310,11 +381,17 @@ static void message_symbol(t_message *x, t_symbol *s)
310 381
311static void message_list(t_message *x, t_symbol *s, int argc, t_atom *argv) 382static void message_list(t_message *x, t_symbol *s, int argc, t_atom *argv)
312{ 383{
384#ifdef ROCKBOX
385 (void) s;
386#endif
313 binbuf_eval(x->m_text.te_binbuf, &x->m_messresponder.mr_pd, argc, argv); 387 binbuf_eval(x->m_text.te_binbuf, &x->m_messresponder.mr_pd, argc, argv);
314} 388}
315 389
316static void message_set(t_message *x, t_symbol *s, int argc, t_atom *argv) 390static void message_set(t_message *x, t_symbol *s, int argc, t_atom *argv)
317{ 391{
392#ifdef ROCKBOX
393 (void) s;
394#endif
318 binbuf_clear(x->m_text.te_binbuf); 395 binbuf_clear(x->m_text.te_binbuf);
319 binbuf_add(x->m_text.te_binbuf, argc, argv); 396 binbuf_add(x->m_text.te_binbuf, argc, argv);
320 glist_retext(x->m_glist, &x->m_text); 397 glist_retext(x->m_glist, &x->m_text);
@@ -322,12 +399,18 @@ static void message_set(t_message *x, t_symbol *s, int argc, t_atom *argv)
322 399
323static void message_add2(t_message *x, t_symbol *s, int argc, t_atom *argv) 400static void message_add2(t_message *x, t_symbol *s, int argc, t_atom *argv)
324{ 401{
402#ifdef ROCKBOX
403 (void) s;
404#endif
325 binbuf_add(x->m_text.te_binbuf, argc, argv); 405 binbuf_add(x->m_text.te_binbuf, argc, argv);
326 glist_retext(x->m_glist, &x->m_text); 406 glist_retext(x->m_glist, &x->m_text);
327} 407}
328 408
329static void message_add(t_message *x, t_symbol *s, int argc, t_atom *argv) 409static void message_add(t_message *x, t_symbol *s, int argc, t_atom *argv)
330{ 410{
411#ifdef ROCKBOX
412 (void) s;
413#endif
331 binbuf_add(x->m_text.te_binbuf, argc, argv); 414 binbuf_add(x->m_text.te_binbuf, argc, argv);
332 binbuf_addsemi(x->m_text.te_binbuf); 415 binbuf_addsemi(x->m_text.te_binbuf);
333 glist_retext(x->m_glist, &x->m_text); 416 glist_retext(x->m_glist, &x->m_text);
@@ -337,12 +420,21 @@ static void message_click(t_message *x,
337 t_floatarg xpos, t_floatarg ypos, t_floatarg shift, 420 t_floatarg xpos, t_floatarg ypos, t_floatarg shift,
338 t_floatarg ctrl, t_floatarg alt) 421 t_floatarg ctrl, t_floatarg alt)
339{ 422{
423#ifdef ROCKBOX
424 (void) xpos;
425 (void) ypos;
426 (void) shift;
427 (void) ctrl;
428 (void) alt;
429#endif
340 message_float(x, 0); 430 message_float(x, 0);
341 if (glist_isvisible(x->m_glist)) 431 if (glist_isvisible(x->m_glist))
342 { 432 {
433#ifndef ROCKBOX
343 t_rtext *y = glist_findrtext(x->m_glist, &x->m_text); 434 t_rtext *y = glist_findrtext(x->m_glist, &x->m_text);
344 sys_vgui(".x%x.c itemconfigure %sR -width 5\n", 435 sys_vgui(".x%x.c itemconfigure %sR -width 5\n",
345 glist_getcanvas(x->m_glist), rtext_gettag(y)); 436 glist_getcanvas(x->m_glist), rtext_gettag(y));
437#endif
346 clock_delay(x->m_clock, 120); 438 clock_delay(x->m_clock, 120);
347 } 439 }
348} 440}
@@ -351,9 +443,11 @@ static void message_tick(t_message *x)
351{ 443{
352 if (glist_isvisible(x->m_glist)) 444 if (glist_isvisible(x->m_glist))
353 { 445 {
446#ifndef ROCKBOX
354 t_rtext *y = glist_findrtext(x->m_glist, &x->m_text); 447 t_rtext *y = glist_findrtext(x->m_glist, &x->m_text);
355 sys_vgui(".x%x.c itemconfigure %sR -width 1\n", 448 sys_vgui(".x%x.c itemconfigure %sR -width 1\n",
356 glist_getcanvas(x->m_glist), rtext_gettag(y)); 449 glist_getcanvas(x->m_glist), rtext_gettag(y));
450#endif
357 } 451 }
358} 452}
359 453
@@ -364,6 +458,9 @@ static void message_free(t_message *x)
364 458
365void canvas_msg(t_glist *gl, t_symbol *s, int argc, t_atom *argv) 459void canvas_msg(t_glist *gl, t_symbol *s, int argc, t_atom *argv)
366{ 460{
461#ifdef ROCKBOX
462 (void) s;
463#endif
367 t_message *x = (t_message *)pd_new(message_class); 464 t_message *x = (t_message *)pd_new(message_class);
368 x->m_messresponder.mr_pd = messresponder_class; 465 x->m_messresponder.mr_pd = messresponder_class;
369 x->m_messresponder.mr_outlet = outlet_new(&x->m_text, &s_float); 466 x->m_messresponder.mr_outlet = outlet_new(&x->m_text, &s_float);
@@ -467,6 +564,9 @@ static void gatom_set(t_gatom *x, t_symbol *s, int argc, t_atom *argv)
467{ 564{
468 t_atom oldatom = x->a_atom; 565 t_atom oldatom = x->a_atom;
469 int senditup = 0; 566 int senditup = 0;
567#ifdef ROCKBOX
568 (void) s;
569#endif
470 if (!argc) return; 570 if (!argc) return;
471 if (x->a_atom.a_type == A_FLOAT) 571 if (x->a_atom.a_type == A_FLOAT)
472 x->a_atom.a_w.w_float = atom_getfloat(argv), 572 x->a_atom.a_w.w_float = atom_getfloat(argv),
@@ -538,6 +638,9 @@ static void gatom_symbol(t_gatom *x, t_symbol *s)
538 638
539static void gatom_motion(void *z, t_floatarg dx, t_floatarg dy) 639static void gatom_motion(void *z, t_floatarg dx, t_floatarg dy)
540{ 640{
641#ifdef ROCKBOX
642 (void) dx;
643#endif
541 t_gatom *x = (t_gatom *)z; 644 t_gatom *x = (t_gatom *)z;
542 if (dy == 0) return; 645 if (dy == 0) return;
543 if (x->a_atom.a_type == A_FLOAT) 646 if (x->a_atom.a_type == A_FLOAT)
@@ -597,7 +700,7 @@ static void gatom_key(void *z, t_floatarg f)
597 { 700 {
598 /* for numbers, only let reasonable characters through */ 701 /* for numbers, only let reasonable characters through */
599 if ((x->a_atom.a_type == A_SYMBOL) || 702 if ((x->a_atom.a_type == A_SYMBOL) ||
600 (c >= '0' && c <= '9' || c == '.' || c == '-' 703 ((c >= '0' && c <= '9') || c == '.' || c == '-'
601 || c == 'e' || c == 'E')) 704 || c == 'e' || c == 'E'))
602 { 705 {
603 x->a_buf[len] = c; 706 x->a_buf[len] = c;
@@ -608,7 +711,11 @@ static void gatom_key(void *z, t_floatarg f)
608 return; 711 return;
609redraw: 712redraw:
610 /* LATER figure out how to avoid creating all these symbols! */ 713 /* LATER figure out how to avoid creating all these symbols! */
714#ifdef ROCKBOX
715 snprintf(sbuf, sizeof(sbuf)-1, "%s...", x->a_buf);
716#else /* ROCKBOX */
611 sprintf(sbuf, "%s...", x->a_buf); 717 sprintf(sbuf, "%s...", x->a_buf);
718#endif
612 SETSYMBOL(&at, gensym(sbuf)); 719 SETSYMBOL(&at, gensym(sbuf));
613 binbuf_clear(x->a_text.te_binbuf); 720 binbuf_clear(x->a_text.te_binbuf);
614 binbuf_add(x->a_text.te_binbuf, 1, &at); 721 binbuf_add(x->a_text.te_binbuf, 1, &at);
@@ -619,6 +726,9 @@ static void gatom_click(t_gatom *x,
619 t_floatarg xpos, t_floatarg ypos, t_floatarg shift, t_floatarg ctrl, 726 t_floatarg xpos, t_floatarg ypos, t_floatarg shift, t_floatarg ctrl,
620 t_floatarg alt) 727 t_floatarg alt)
621{ 728{
729#ifdef ROCKBOX
730 (void) ctrl;
731#endif
622 if (x->a_text.te_width == 1) 732 if (x->a_text.te_width == 1)
623 { 733 {
624 if (x->a_atom.a_type == A_FLOAT) 734 if (x->a_atom.a_type == A_FLOAT)
@@ -655,6 +765,10 @@ static void gatom_param(t_gatom *x, t_symbol *sel, int argc, t_atom *argv)
655 t_symbol *symfrom = gatom_unescapit(atom_getsymbolarg(5, argc, argv)); 765 t_symbol *symfrom = gatom_unescapit(atom_getsymbolarg(5, argc, argv));
656 t_symbol *symto = gatom_unescapit(atom_getsymbolarg(6, argc, argv)); 766 t_symbol *symto = gatom_unescapit(atom_getsymbolarg(6, argc, argv));
657 767
768#ifdef ROCKBOX
769 (void) sel;
770#endif
771
658 gobj_vis(&x->a_text.te_g, x->a_glist, 0); 772 gobj_vis(&x->a_text.te_g, x->a_glist, 0);
659 if (!*symfrom->s_name && *x->a_symfrom->s_name) 773 if (!*symfrom->s_name && *x->a_symfrom->s_name)
660 inlet_new(&x->a_text, &x->a_text.te_pd, 0, 0); 774 inlet_new(&x->a_text, &x->a_text.te_pd, 0, 0);
@@ -708,7 +822,11 @@ static void gatom_getwherelabel(t_gatom *x, t_glist *glist, int *xp, int *yp)
708 { 822 {
709 *xp = x1 - 3 - 823 *xp = x1 - 3 -
710 strlen(canvas_realizedollar(x->a_glist, x->a_label)->s_name) * 824 strlen(canvas_realizedollar(x->a_glist, x->a_label)->s_name) *
825#ifdef ROCKBOX
826 8;
827#else
711 sys_fontwidth(glist_getfont(glist)); 828 sys_fontwidth(glist_getfont(glist));
829#endif
712 *yp = y1 + 2; 830 *yp = y1 + 2;
713 } 831 }
714 else if (x->a_wherelabel == ATOM_LABELRIGHT) 832 else if (x->a_wherelabel == ATOM_LABELRIGHT)
@@ -719,7 +837,11 @@ static void gatom_getwherelabel(t_gatom *x, t_glist *glist, int *xp, int *yp)
719 else if (x->a_wherelabel == ATOM_LABELUP) 837 else if (x->a_wherelabel == ATOM_LABELUP)
720 { 838 {
721 *xp = x1 - 1; 839 *xp = x1 - 1;
840#ifdef ROCKBOX
841 *yp = y1 - 1 - 10;
842#else
722 *yp = y1 - 1 - sys_fontheight(glist_getfont(glist));; 843 *yp = y1 - 1 - sys_fontheight(glist_getfont(glist));;
844#endif
723 } 845 }
724 else 846 else
725 { 847 {
@@ -731,10 +853,14 @@ static void gatom_getwherelabel(t_gatom *x, t_glist *glist, int *xp, int *yp)
731static void gatom_displace(t_gobj *z, t_glist *glist, 853static void gatom_displace(t_gobj *z, t_glist *glist,
732 int dx, int dy) 854 int dx, int dy)
733{ 855{
856#ifndef ROCKBOX
734 t_gatom *x = (t_gatom*)z; 857 t_gatom *x = (t_gatom*)z;
858#endif
735 text_displace(z, glist, dx, dy); 859 text_displace(z, glist, dx, dy);
860#ifndef ROCKBOX
736 sys_vgui(".x%x.c move %x.l %d %d\n", glist_getcanvas(glist), 861 sys_vgui(".x%x.c move %x.l %d %d\n", glist_getcanvas(glist),
737 x, dx, dy); 862 x, dx, dy);
863#endif
738} 864}
739 865
740static void gatom_vis(t_gobj *z, t_glist *glist, int vis) 866static void gatom_vis(t_gobj *z, t_glist *glist, int vis)
@@ -747,14 +873,18 @@ static void gatom_vis(t_gobj *z, t_glist *glist, int vis)
747 { 873 {
748 int x1, y1; 874 int x1, y1;
749 gatom_getwherelabel(x, glist, &x1, &y1); 875 gatom_getwherelabel(x, glist, &x1, &y1);
876#ifndef ROCKBOX
750 sys_vgui("pdtk_text_new .x%x.c %x.l %f %f {%s} %d %s\n", 877 sys_vgui("pdtk_text_new .x%x.c %x.l %f %f {%s} %d %s\n",
751 glist_getcanvas(glist), x, 878 glist_getcanvas(glist), x,
752 (double)x1, (double)y1, 879 (double)x1, (double)y1,
753 canvas_realizedollar(x->a_glist, x->a_label)->s_name, 880 canvas_realizedollar(x->a_glist, x->a_label)->s_name,
754 sys_hostfontsize(glist_getfont(glist)), 881 sys_hostfontsize(glist_getfont(glist)),
755 "black"); 882 "black");
883#endif
756 } 884 }
885#ifndef ROCKBOX
757 else sys_vgui(".x%x.c delete %x.l\n", glist_getcanvas(glist), x); 886 else sys_vgui(".x%x.c delete %x.l\n", glist_getcanvas(glist), x);
887#endif
758 } 888 }
759} 889}
760 890
@@ -763,6 +893,11 @@ void canvas_atom(t_glist *gl, t_atomtype type,
763{ 893{
764 t_gatom *x = (t_gatom *)pd_new(gatom_class); 894 t_gatom *x = (t_gatom *)pd_new(gatom_class);
765 t_atom at; 895 t_atom at;
896
897#ifdef ROCKBOX
898 (void) s;
899#endif
900
766 x->a_text.te_width = 0; /* don't know it yet. */ 901 x->a_text.te_width = 0; /* don't know it yet. */
767 x->a_text.te_type = T_ATOM; 902 x->a_text.te_type = T_ATOM;
768 x->a_text.te_binbuf = binbuf_new(); 903 x->a_text.te_binbuf = binbuf_new();
@@ -850,11 +985,17 @@ static void gatom_free(t_gatom *x)
850 if (*x->a_symfrom->s_name) 985 if (*x->a_symfrom->s_name)
851 pd_unbind(&x->a_text.te_pd, 986 pd_unbind(&x->a_text.te_pd,
852 canvas_realizedollar(x->a_glist, x->a_symfrom)); 987 canvas_realizedollar(x->a_glist, x->a_symfrom));
988#ifndef ROCKBOX
853 gfxstub_deleteforkey(x); 989 gfxstub_deleteforkey(x);
990#endif
854} 991}
855 992
856static void gatom_properties(t_gobj *z, t_glist *owner) 993static void gatom_properties(t_gobj *z, t_glist *owner)
857{ 994{
995#ifdef ROCKBOX
996 (void) z;
997 (void) owner;
998#else /* ROCKBOX */
858 t_gatom *x = (t_gatom *)z; 999 t_gatom *x = (t_gatom *)z;
859 char buf[200]; 1000 char buf[200];
860 sprintf(buf, "pdtk_gatom_dialog %%s %d %g %g %d %s %s %s\n", 1001 sprintf(buf, "pdtk_gatom_dialog %%s %d %g %g %d %s %s %s\n",
@@ -863,6 +1004,7 @@ static void gatom_properties(t_gobj *z, t_glist *owner)
863 gatom_escapit(x->a_symfrom)->s_name, 1004 gatom_escapit(x->a_symfrom)->s_name,
864 gatom_escapit(x->a_symto)->s_name); 1005 gatom_escapit(x->a_symto)->s_name);
865 gfxstub_new(&x->a_text.te_pd, x, buf); 1006 gfxstub_new(&x->a_text.te_pd, x, buf);
1007#endif /* ROCKBOX */
866} 1008}
867 1009
868 1010
@@ -880,8 +1022,12 @@ static void text_getrect(t_gobj *z, t_glist *glist,
880 1022
881 if (x->te_type == T_ATOM && x->te_width > 0) 1023 if (x->te_type == T_ATOM && x->te_width > 0)
882 { 1024 {
1025#ifdef ROCKBOX
1026 int fontwidth = 8, fontheight = 10;
1027#else
883 int font = glist_getfont(glist); 1028 int font = glist_getfont(glist);
884 int fontwidth = sys_fontwidth(font), fontheight = sys_fontheight(font); 1029 int fontwidth = sys_fontwidth(font), fontheight = sys_fontheight(font);
1030#endif
885 width = (x->te_width > 0 ? x->te_width : 6) * fontwidth + 2; 1031 width = (x->te_width > 0 ? x->te_width : 6) * fontwidth + 2;
886 height = fontheight + 1; /* borrowed from TMARGIN, etc, in g_rtext.c */ 1032 height = fontheight + 1; /* borrowed from TMARGIN, etc, in g_rtext.c */
887 } 1033 }
@@ -933,8 +1079,13 @@ static void text_select(t_gobj *z, t_glist *glist, int state)
933 t_rtext *y = glist_findrtext(glist, x); 1079 t_rtext *y = glist_findrtext(glist, x);
934 rtext_select(y, state); 1080 rtext_select(y, state);
935 if (glist_isvisible(glist) && text_shouldvis(x, glist)) 1081 if (glist_isvisible(glist) && text_shouldvis(x, glist))
1082#ifdef ROCKBOX
1083 {
1084 }
1085#else /* ROCKBOX */
936 sys_vgui(".x%x.c itemconfigure %sR -fill %s\n", glist, 1086 sys_vgui(".x%x.c itemconfigure %sR -fill %s\n", glist,
937 rtext_gettag(y), (state? "blue" : "black")); 1087 rtext_gettag(y), (state? "blue" : "black"));
1088#endif /* ROCKBOX */
938} 1089}
939 1090
940static void text_activate(t_gobj *z, t_glist *glist, int state) 1091static void text_activate(t_gobj *z, t_glist *glist, int state)
@@ -988,6 +1139,10 @@ static void text_vis(t_gobj *z, t_glist *glist, int vis)
988static int text_click(t_gobj *z, struct _glist *glist, 1139static int text_click(t_gobj *z, struct _glist *glist,
989 int xpix, int ypix, int shift, int alt, int dbl, int doit) 1140 int xpix, int ypix, int shift, int alt, int dbl, int doit)
990{ 1141{
1142#ifdef ROCKBOX
1143 (void) glist;
1144 (void) dbl;
1145#endif
991 t_text *x = (t_text *)z; 1146 t_text *x = (t_text *)z;
992 if (x->te_type == T_OBJECT) 1147 if (x->te_type == T_OBJECT)
993 { 1148 {
@@ -1111,9 +1266,20 @@ void glist_drawiofor(t_glist *glist, t_object *ob, int firsttime,
1111 char *tag, int x1, int y1, int x2, int y2) 1266 char *tag, int x1, int y1, int x2, int y2)
1112{ 1267{
1113 int n = obj_noutlets(ob), nplus = (n == 1 ? 1 : n-1), i; 1268 int n = obj_noutlets(ob), nplus = (n == 1 ? 1 : n-1), i;
1269#ifdef ROCKBOX
1270 (void) glist;
1271 (void) firsttime;
1272 (void) tag;
1273 (void) x1;
1274 (void) y1;
1275 (void) x2;
1276 (void) y2;
1277#else /* ROCKBOX */
1114 int width = x2 - x1; 1278 int width = x2 - x1;
1279#endif /* ROCKBOX */
1115 for (i = 0; i < n; i++) 1280 for (i = 0; i < n; i++)
1116 { 1281 {
1282#ifndef ROCKBOX
1117 int onset = x1 + (width - IOWIDTH) * i / nplus; 1283 int onset = x1 + (width - IOWIDTH) * i / nplus;
1118 if (firsttime) 1284 if (firsttime)
1119 sys_vgui(".x%x.c create rectangle %d %d %d %d -tags %so%d\n", 1285 sys_vgui(".x%x.c create rectangle %d %d %d %d -tags %so%d\n",
@@ -1126,11 +1292,13 @@ void glist_drawiofor(t_glist *glist, t_object *ob, int firsttime,
1126 glist_getcanvas(glist), tag, i, 1292 glist_getcanvas(glist), tag, i,
1127 onset, y2 - 1, 1293 onset, y2 - 1,
1128 onset + IOWIDTH, y2); 1294 onset + IOWIDTH, y2);
1295#endif /* ROCKBOX */
1129 } 1296 }
1130 n = obj_ninlets(ob); 1297 n = obj_ninlets(ob);
1131 nplus = (n == 1 ? 1 : n-1); 1298 nplus = (n == 1 ? 1 : n-1);
1132 for (i = 0; i < n; i++) 1299 for (i = 0; i < n; i++)
1133 { 1300 {
1301#ifndef ROCKBOX
1134 int onset = x1 + (width - IOWIDTH) * i / nplus; 1302 int onset = x1 + (width - IOWIDTH) * i / nplus;
1135 if (firsttime) 1303 if (firsttime)
1136 sys_vgui(".x%x.c create rectangle %d %d %d %d -tags %si%d\n", 1304 sys_vgui(".x%x.c create rectangle %d %d %d %d -tags %si%d\n",
@@ -1143,6 +1311,7 @@ void glist_drawiofor(t_glist *glist, t_object *ob, int firsttime,
1143 glist_getcanvas(glist), tag, i, 1311 glist_getcanvas(glist), tag, i,
1144 onset, y1, 1312 onset, y1,
1145 onset + IOWIDTH, y1 + EXTRAPIX); 1313 onset + IOWIDTH, y1 + EXTRAPIX);
1314#endif /* ROCKBOX */
1146 } 1315 }
1147} 1316}
1148 1317
@@ -1151,11 +1320,18 @@ void text_drawborder(t_text *x, t_glist *glist,
1151{ 1320{
1152 t_object *ob; 1321 t_object *ob;
1153 int x1, y1, x2, y2, width, height; 1322 int x1, y1, x2, y2, width, height;
1323
1324#ifdef ROCKBOX
1325 (void) width2;
1326 (void) height2;
1327#endif
1328
1154 text_getrect(&x->te_g, glist, &x1, &y1, &x2, &y2); 1329 text_getrect(&x->te_g, glist, &x1, &y1, &x2, &y2);
1155 width = x2 - x1; 1330 width = x2 - x1;
1156 height = y2 - y1; 1331 height = y2 - y1;
1157 if (x->te_type == T_OBJECT) 1332 if (x->te_type == T_OBJECT)
1158 { 1333 {
1334#ifndef ROCKBOX
1159 if (firsttime) 1335 if (firsttime)
1160 sys_vgui(".x%x.c create line\ 1336 sys_vgui(".x%x.c create line\
1161 %d %d %d %d %d %d %d %d %d %d -tags %sR\n", 1337 %d %d %d %d %d %d %d %d %d %d -tags %sR\n",
@@ -1166,9 +1342,11 @@ void text_drawborder(t_text *x, t_glist *glist,
1166 %d %d %d %d %d %d %d %d %d %d\n", 1342 %d %d %d %d %d %d %d %d %d %d\n",
1167 glist_getcanvas(glist), tag, 1343 glist_getcanvas(glist), tag,
1168 x1, y1, x2, y1, x2, y2, x1, y2, x1, y1); 1344 x1, y1, x2, y1, x2, y2, x1, y2, x1, y1);
1345#endif
1169 } 1346 }
1170 else if (x->te_type == T_MESSAGE) 1347 else if (x->te_type == T_MESSAGE)
1171 { 1348 {
1349#ifndef ROCKBOX
1172 if (firsttime) 1350 if (firsttime)
1173 sys_vgui(".x%x.c create line\ 1351 sys_vgui(".x%x.c create line\
1174 %d %d %d %d %d %d %d %d %d %d %d %d %d %d -tags %sR\n", 1352 %d %d %d %d %d %d %d %d %d %d %d %d %d %d -tags %sR\n",
@@ -1182,9 +1360,11 @@ void text_drawborder(t_text *x, t_glist *glist,
1182 glist_getcanvas(glist), tag, 1360 glist_getcanvas(glist), tag,
1183 x1, y1, x2+4, y1, x2, y1+4, x2, y2-4, x2+4, y2, 1361 x1, y1, x2+4, y1, x2, y1+4, x2, y2-4, x2+4, y2,
1184 x1, y2, x1, y1); 1362 x1, y2, x1, y1);
1363#endif
1185 } 1364 }
1186 else if (x->te_type == T_ATOM) 1365 else if (x->te_type == T_ATOM)
1187 { 1366 {
1367#ifndef ROCKBOX
1188 if (firsttime) 1368 if (firsttime)
1189 sys_vgui(".x%x.c create line\ 1369 sys_vgui(".x%x.c create line\
1190 %d %d %d %d %d %d %d %d %d %d %d %d -tags %sR\n", 1370 %d %d %d %d %d %d %d %d %d %d %d %d -tags %sR\n",
@@ -1196,31 +1376,46 @@ void text_drawborder(t_text *x, t_glist *glist,
1196 %d %d %d %d %d %d %d %d %d %d %d %d\n", 1376 %d %d %d %d %d %d %d %d %d %d %d %d\n",
1197 glist_getcanvas(glist), tag, 1377 glist_getcanvas(glist), tag,
1198 x1, y1, x2-4, y1, x2, y1+4, x2, y2, x1, y2, x1, y1); 1378 x1, y1, x2-4, y1, x2, y1+4, x2, y2, x1, y2, x1, y1);
1379#endif
1199 } 1380 }
1200 /* draw inlets/outlets */ 1381 /* draw inlets/outlets */
1201 1382
1202 if (ob = pd_checkobject(&x->te_pd)) 1383 if ((ob = pd_checkobject(&x->te_pd)))
1203 glist_drawiofor(glist, ob, firsttime, tag, x1, y1, x2, y2); 1384 glist_drawiofor(glist, ob, firsttime, tag, x1, y1, x2, y2);
1204} 1385}
1205 1386
1206void glist_eraseiofor(t_glist *glist, t_object *ob, char *tag) 1387void glist_eraseiofor(t_glist *glist, t_object *ob, char *tag)
1207{ 1388{
1208 int i, n; 1389 int i, n;
1390#ifdef ROCKBOX
1391 (void) glist;
1392 (void) tag;
1393#endif
1209 n = obj_noutlets(ob); 1394 n = obj_noutlets(ob);
1210 for (i = 0; i < n; i++) 1395 for (i = 0; i < n; i++)
1396#ifdef ROCKBOX
1397 ;
1398#else /* ROCKBOX */
1211 sys_vgui(".x%x.c delete %so%d\n", 1399 sys_vgui(".x%x.c delete %so%d\n",
1212 glist_getcanvas(glist), tag, i); 1400 glist_getcanvas(glist), tag, i);
1401#endif /* ROCKBOX */
1213 n = obj_ninlets(ob); 1402 n = obj_ninlets(ob);
1214 for (i = 0; i < n; i++) 1403 for (i = 0; i < n; i++)
1404#ifdef ROCKBOX
1405 ;
1406#else /* ROCKBOX */
1215 sys_vgui(".x%x.c delete %si%d\n", 1407 sys_vgui(".x%x.c delete %si%d\n",
1216 glist_getcanvas(glist), tag, i); 1408 glist_getcanvas(glist), tag, i);
1409#endif /* ROCKBOX */
1217} 1410}
1218 1411
1219void text_eraseborder(t_text *x, t_glist *glist, char *tag) 1412void text_eraseborder(t_text *x, t_glist *glist, char *tag)
1220{ 1413{
1221 if (x->te_type == T_TEXT) return; 1414 if (x->te_type == T_TEXT) return;
1415#ifndef ROCKBOX
1222 sys_vgui(".x%x.c delete %sR\n", 1416 sys_vgui(".x%x.c delete %sR\n",
1223 glist_getcanvas(glist), tag); 1417 glist_getcanvas(glist), tag);
1418#endif
1224 glist_eraseiofor(glist, x, tag); 1419 glist_eraseiofor(glist, x, tag);
1225} 1420}
1226 1421
diff --git a/apps/plugins/pdbox/PDa/src/g_toggle.c b/apps/plugins/pdbox/PDa/src/g_toggle.c
index 5a3401ffa8..e3e2f05098 100644
--- a/apps/plugins/pdbox/PDa/src/g_toggle.c
+++ b/apps/plugins/pdbox/PDa/src/g_toggle.c
@@ -6,6 +6,13 @@
6/* thanks to Miller Puckette, Guenther Geiger and Krzystof Czaja */ 6/* thanks to Miller Puckette, Guenther Geiger and Krzystof Czaja */
7 7
8 8
9#ifdef ROCKBOX
10#include "plugin.h"
11#include "pdbox.h"
12#include "m_pd.h"
13#include "g_canvas.h"
14#include "g_all_guis.h"
15#else /* ROCKBOX */
9#include <stdlib.h> 16#include <stdlib.h>
10#include <string.h> 17#include <string.h>
11#include <stdio.h> 18#include <stdio.h>
@@ -21,6 +28,7 @@
21#else 28#else
22#include <unistd.h> 29#include <unistd.h>
23#endif 30#endif
31#endif /* ROCKBOX */
24 32
25/* --------------- tgl gui-toggle ------------------------- */ 33/* --------------- tgl gui-toggle ------------------------- */
26 34
@@ -31,6 +39,10 @@ static t_class *toggle_class;
31 39
32void toggle_draw_update(t_toggle *x, t_glist *glist) 40void toggle_draw_update(t_toggle *x, t_glist *glist)
33{ 41{
42#ifdef ROCKBOX
43 (void) x;
44 (void) glist;
45#else /* ROCKBOX */
34 if(glist_isvisible(glist)) 46 if(glist_isvisible(glist))
35 { 47 {
36 t_canvas *canvas=glist_getcanvas(glist); 48 t_canvas *canvas=glist_getcanvas(glist);
@@ -40,10 +52,15 @@ void toggle_draw_update(t_toggle *x, t_glist *glist)
40 sys_vgui(".x%x.c itemconfigure %xX2 -fill #%6.6x\n", canvas, x, 52 sys_vgui(".x%x.c itemconfigure %xX2 -fill #%6.6x\n", canvas, x,
41 (x->x_on!=0.0)?x->x_gui.x_fcol:x->x_gui.x_bcol); 53 (x->x_on!=0.0)?x->x_gui.x_fcol:x->x_gui.x_bcol);
42 } 54 }
55#endif /* ROCKBOX */
43} 56}
44 57
45void toggle_draw_new(t_toggle *x, t_glist *glist) 58void toggle_draw_new(t_toggle *x, t_glist *glist)
46{ 59{
60#ifdef ROCKBOX
61 (void) x;
62 (void) glist;
63#else /* ROCKBOX */
47 t_canvas *canvas=glist_getcanvas(glist); 64 t_canvas *canvas=glist_getcanvas(glist);
48 int w=1, xx=text_xpix(&x->x_gui.x_obj, glist), yy=text_ypix(&x->x_gui.x_obj, glist); 65 int w=1, xx=text_xpix(&x->x_gui.x_obj, glist), yy=text_ypix(&x->x_gui.x_obj, glist);
49 66
@@ -72,10 +89,15 @@ void toggle_draw_new(t_toggle *x, t_glist *glist)
72 if(!x->x_gui.x_fsf.x_rcv_able) 89 if(!x->x_gui.x_fsf.x_rcv_able)
73 sys_vgui(".x%x.c create rectangle %d %d %d %d -tags %xIN%d\n", 90 sys_vgui(".x%x.c create rectangle %d %d %d %d -tags %xIN%d\n",
74 canvas, xx, yy, xx + IOWIDTH, yy+1, x, 0); 91 canvas, xx, yy, xx + IOWIDTH, yy+1, x, 0);
92#endif /* ROCKBOX */
75} 93}
76 94
77void toggle_draw_move(t_toggle *x, t_glist *glist) 95void toggle_draw_move(t_toggle *x, t_glist *glist)
78{ 96{
97#ifdef ROCKBOX
98 (void) x;
99 (void) glist;
100#else /* ROCKBOX */
79 t_canvas *canvas=glist_getcanvas(glist); 101 t_canvas *canvas=glist_getcanvas(glist);
80 int w=1, xx=text_xpix(&x->x_gui.x_obj, glist), yy=text_ypix(&x->x_gui.x_obj, glist); 102 int w=1, xx=text_xpix(&x->x_gui.x_obj, glist), yy=text_ypix(&x->x_gui.x_obj, glist);
81 103
@@ -100,10 +122,15 @@ void toggle_draw_move(t_toggle *x, t_glist *glist)
100 if(!x->x_gui.x_fsf.x_rcv_able) 122 if(!x->x_gui.x_fsf.x_rcv_able)
101 sys_vgui(".x%x.c coords %xIN%d %d %d %d %d\n", 123 sys_vgui(".x%x.c coords %xIN%d %d %d %d %d\n",
102 canvas, x, 0, xx, yy, xx + IOWIDTH, yy+1); 124 canvas, x, 0, xx, yy, xx + IOWIDTH, yy+1);
125#endif /* ROCKBOX */
103} 126}
104 127
105void toggle_draw_erase(t_toggle* x, t_glist* glist) 128void toggle_draw_erase(t_toggle* x, t_glist* glist)
106{ 129{
130#ifdef ROCKBOX
131 (void) x;
132 (void) glist;
133#else /* ROCKBOX */
107 t_canvas *canvas=glist_getcanvas(glist); 134 t_canvas *canvas=glist_getcanvas(glist);
108 135
109 sys_vgui(".x%x.c delete %xBASE\n", canvas, x); 136 sys_vgui(".x%x.c delete %xBASE\n", canvas, x);
@@ -114,10 +141,15 @@ void toggle_draw_erase(t_toggle* x, t_glist* glist)
114 sys_vgui(".x%x.c delete %xOUT%d\n", canvas, x, 0); 141 sys_vgui(".x%x.c delete %xOUT%d\n", canvas, x, 0);
115 if(!x->x_gui.x_fsf.x_rcv_able) 142 if(!x->x_gui.x_fsf.x_rcv_able)
116 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0); 143 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0);
144#endif /* ROCKBOX */
117} 145}
118 146
119void toggle_draw_config(t_toggle* x, t_glist* glist) 147void toggle_draw_config(t_toggle* x, t_glist* glist)
120{ 148{
149#ifdef ROCKBOX
150 (void) x;
151 (void) glist;
152#else /* ROCKBOX */
121 t_canvas *canvas=glist_getcanvas(glist); 153 t_canvas *canvas=glist_getcanvas(glist);
122 154
123 sys_vgui(".x%x.c itemconfigure %xLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n", 155 sys_vgui(".x%x.c itemconfigure %xLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n",
@@ -130,10 +162,16 @@ void toggle_draw_config(t_toggle* x, t_glist* glist)
130 x->x_on?x->x_gui.x_fcol:x->x_gui.x_bcol); 162 x->x_on?x->x_gui.x_fcol:x->x_gui.x_bcol);
131 sys_vgui(".x%x.c itemconfigure %xX2 -fill #%6.6x\n", canvas, x, 163 sys_vgui(".x%x.c itemconfigure %xX2 -fill #%6.6x\n", canvas, x,
132 x->x_on?x->x_gui.x_fcol:x->x_gui.x_bcol); 164 x->x_on?x->x_gui.x_fcol:x->x_gui.x_bcol);
165#endif /* ROCKBOX */
133} 166}
134 167
135void toggle_draw_io(t_toggle* x, t_glist* glist, int old_snd_rcv_flags) 168void toggle_draw_io(t_toggle* x, t_glist* glist, int old_snd_rcv_flags)
136{ 169{
170#ifdef ROCKBOX
171 (void) x;
172 (void) glist;
173 (void) old_snd_rcv_flags;
174#else /* ROCKBOX */
137 int xpos=text_xpix(&x->x_gui.x_obj, glist); 175 int xpos=text_xpix(&x->x_gui.x_obj, glist);
138 int ypos=text_ypix(&x->x_gui.x_obj, glist); 176 int ypos=text_ypix(&x->x_gui.x_obj, glist);
139 t_canvas *canvas=glist_getcanvas(glist); 177 t_canvas *canvas=glist_getcanvas(glist);
@@ -151,10 +189,15 @@ void toggle_draw_io(t_toggle* x, t_glist* glist, int old_snd_rcv_flags)
151 xpos + IOWIDTH, ypos+1, x, 0); 189 xpos + IOWIDTH, ypos+1, x, 0);
152 if(!(old_snd_rcv_flags & IEM_GUI_OLD_RCV_FLAG) && x->x_gui.x_fsf.x_rcv_able) 190 if(!(old_snd_rcv_flags & IEM_GUI_OLD_RCV_FLAG) && x->x_gui.x_fsf.x_rcv_able)
153 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0); 191 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0);
192#endif /* ROCKBOX */
154} 193}
155 194
156void toggle_draw_select(t_toggle* x, t_glist* glist) 195void toggle_draw_select(t_toggle* x, t_glist* glist)
157{ 196{
197#ifdef ROCKBOX
198 (void) x;
199 (void) glist;
200#else /* ROCKBOX */
158 t_canvas *canvas=glist_getcanvas(glist); 201 t_canvas *canvas=glist_getcanvas(glist);
159 202
160 if(x->x_gui.x_fsf.x_selected) 203 if(x->x_gui.x_fsf.x_selected)
@@ -167,6 +210,7 @@ void toggle_draw_select(t_toggle* x, t_glist* glist)
167 sys_vgui(".x%x.c itemconfigure %xBASE -outline #%6.6x\n", canvas, x, IEM_GUI_COLOR_NORMAL); 210 sys_vgui(".x%x.c itemconfigure %xBASE -outline #%6.6x\n", canvas, x, IEM_GUI_COLOR_NORMAL);
168 sys_vgui(".x%x.c itemconfigure %xLABEL -fill #%6.6x\n", canvas, x, x->x_gui.x_lcol); 211 sys_vgui(".x%x.c itemconfigure %xLABEL -fill #%6.6x\n", canvas, x, x->x_gui.x_lcol);
169 } 212 }
213#endif /* ROCKBOX */
170} 214}
171 215
172void toggle_draw(t_toggle *x, t_glist *glist, int mode) 216void toggle_draw(t_toggle *x, t_glist *glist, int mode)
@@ -220,6 +264,10 @@ static void toggle_save(t_gobj *z, t_binbuf *b)
220 264
221static void toggle_properties(t_gobj *z, t_glist *owner) 265static void toggle_properties(t_gobj *z, t_glist *owner)
222{ 266{
267#ifdef ROCKBOX
268 (void) z;
269 (void) owner;
270#else /* ROCKBOX */
223 t_toggle *x = (t_toggle *)z; 271 t_toggle *x = (t_toggle *)z;
224 char buf[800]; 272 char buf[800];
225 t_symbol *srl[3]; 273 t_symbol *srl[3];
@@ -241,6 +289,7 @@ static void toggle_properties(t_gobj *z, t_glist *owner)
241 x->x_gui.x_fsf.x_font_style, x->x_gui.x_fontsize, 289 x->x_gui.x_fsf.x_font_style, x->x_gui.x_fontsize,
242 0xffffff & x->x_gui.x_bcol, 0xffffff & x->x_gui.x_fcol, 0xffffff & x->x_gui.x_lcol); 290 0xffffff & x->x_gui.x_bcol, 0xffffff & x->x_gui.x_fcol, 0xffffff & x->x_gui.x_lcol);
243 gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf); 291 gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf);
292#endif
244} 293}
245 294
246static void toggle_bang(t_toggle *x) 295static void toggle_bang(t_toggle *x)
@@ -259,6 +308,10 @@ static void toggle_dialog(t_toggle *x, t_symbol *s, int argc, t_atom *argv)
259 float nonzero = (float)atom_getfloatarg(2, argc, argv); 308 float nonzero = (float)atom_getfloatarg(2, argc, argv);
260 int sr_flags; 309 int sr_flags;
261 310
311#ifdef ROCKBOX
312 (void) s;
313#endif
314
262 if(nonzero == 0.0) 315 if(nonzero == 0.0)
263 nonzero = 1.0; 316 nonzero = 1.0;
264 x->x_nonzero = nonzero; 317 x->x_nonzero = nonzero;
@@ -274,10 +327,26 @@ static void toggle_dialog(t_toggle *x, t_symbol *s, int argc, t_atom *argv)
274} 327}
275 328
276static void toggle_click(t_toggle *x, t_floatarg xpos, t_floatarg ypos, t_floatarg shift, t_floatarg ctrl, t_floatarg alt) 329static void toggle_click(t_toggle *x, t_floatarg xpos, t_floatarg ypos, t_floatarg shift, t_floatarg ctrl, t_floatarg alt)
330#ifdef ROCKBOX
331{
332 (void) xpos;
333 (void) ypos;
334 (void) shift;
335 (void) alt;
336 (void) ctrl;
337
338 toggle_bang(x);
339}
340#else /* ROCKBOX */
277{toggle_bang(x);} 341{toggle_bang(x);}
342#endif /* ROCKBOX */
278 343
279static int toggle_newclick(t_gobj *z, struct _glist *glist, int xpix, int ypix, int shift, int alt, int dbl, int doit) 344static int toggle_newclick(t_gobj *z, struct _glist *glist, int xpix, int ypix, int shift, int alt, int dbl, int doit)
280{ 345{
346#ifdef ROCKBOX
347 (void) glist;
348 (void) dbl;
349#endif
281 if(doit) 350 if(doit)
282 toggle_click((t_toggle *)z, (t_floatarg)xpix, (t_floatarg)ypix, (t_floatarg)shift, 0, (t_floatarg)alt); 351 toggle_click((t_toggle *)z, (t_floatarg)xpix, (t_floatarg)ypix, (t_floatarg)shift, 0, (t_floatarg)alt);
283 return (1); 352 return (1);
@@ -318,6 +387,9 @@ static void toggle_loadbang(t_toggle *x)
318 387
319static void toggle_size(t_toggle *x, t_symbol *s, int ac, t_atom *av) 388static void toggle_size(t_toggle *x, t_symbol *s, int ac, t_atom *av)
320{ 389{
390#ifdef ROCKBOX
391 (void) s;
392#endif
321 x->x_gui.x_w = iemgui_clip_size((int)atom_getintarg(0, ac, av)); 393 x->x_gui.x_w = iemgui_clip_size((int)atom_getintarg(0, ac, av));
322 x->x_gui.x_h = x->x_gui.x_w; 394 x->x_gui.x_h = x->x_gui.x_w;
323 iemgui_size((void *)x, &x->x_gui); 395 iemgui_size((void *)x, &x->x_gui);
@@ -362,11 +434,21 @@ static void *toggle_new(t_symbol *s, int argc, t_atom *argv)
362{ 434{
363 t_toggle *x = (t_toggle *)pd_new(toggle_class); 435 t_toggle *x = (t_toggle *)pd_new(toggle_class);
364 int bflcol[]={-262144, -1, -1}; 436 int bflcol[]={-262144, -1, -1};
437#ifdef ROCKBOX
438 int a=IEM_GUI_DEFAULTSIZE;
439#else
365 int a=IEM_GUI_DEFAULTSIZE, f=0; 440 int a=IEM_GUI_DEFAULTSIZE, f=0;
441#endif
366 int ldx=0, ldy=-6; 442 int ldx=0, ldy=-6;
367 int fs=8; 443 int fs=8;
368 float on=0.0, nonzero=1.0; 444 float on=0.0, nonzero=1.0;
445#ifndef ROCKBOX
369 char str[144]; 446 char str[144];
447#endif
448
449#ifdef ROCKBOX
450 (void) s;
451#endif
370 452
371 iem_inttosymargs(&x->x_gui.x_isa, 0); 453 iem_inttosymargs(&x->x_gui.x_isa, 0);
372 iem_inttofstyle(&x->x_gui.x_fsf, 0); 454 iem_inttofstyle(&x->x_gui.x_fsf, 0);
@@ -433,7 +515,9 @@ static void toggle_ff(t_toggle *x)
433{ 515{
434 if(x->x_gui.x_fsf.x_rcv_able) 516 if(x->x_gui.x_fsf.x_rcv_able)
435 pd_unbind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv); 517 pd_unbind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv);
518#ifndef ROCKBOX
436 gfxstub_deleteforkey(x); 519 gfxstub_deleteforkey(x);
520#endif
437} 521}
438 522
439void g_toggle_setup(void) 523void g_toggle_setup(void)
diff --git a/apps/plugins/pdbox/PDa/src/g_traversal.c b/apps/plugins/pdbox/PDa/src/g_traversal.c
index 0e2c6855b4..b6ac2d110e 100644
--- a/apps/plugins/pdbox/PDa/src/g_traversal.c
+++ b/apps/plugins/pdbox/PDa/src/g_traversal.c
@@ -16,11 +16,18 @@ sublist - get a pointer into a list which is an element of another scalar
16 16
17*/ 17*/
18 18
19#ifdef ROCKBOX
20#include "plugin.h"
21#include "pdbox.h"
22#include "m_pd.h"
23#include "g_canvas.h"
24#else /* ROCKBOX */
19#include <stdlib.h> 25#include <stdlib.h>
20#include <string.h> 26#include <string.h>
21#include <stdio.h> /* for read/write to files */ 27#include <stdio.h> /* for read/write to files */
22#include "m_pd.h" 28#include "m_pd.h"
23#include "g_canvas.h" 29#include "g_canvas.h"
30#endif /* ROCKBOX */
24 31
25/* ------------- gstubs and gpointers - safe pointing --------------- */ 32/* ------------- gstubs and gpointers - safe pointing --------------- */
26 33
@@ -135,7 +142,7 @@ void gpointer_copy(const t_gpointer *gpfrom, t_gpointer *gpto)
135void gpointer_unset(t_gpointer *gp) 142void gpointer_unset(t_gpointer *gp)
136{ 143{
137 t_gstub *gs; 144 t_gstub *gs;
138 if (gs = gp->gp_stub) 145 if((gs = gp->gp_stub))
139 { 146 {
140 gstub_dis(gs); 147 gstub_dis(gs);
141 gp->gp_stub = 0; 148 gp->gp_stub = 0;
@@ -145,7 +152,7 @@ void gpointer_unset(t_gpointer *gp)
145void gpointer_setglist(t_gpointer *gp, t_glist *glist, t_scalar *x) 152void gpointer_setglist(t_gpointer *gp, t_glist *glist, t_scalar *x)
146{ 153{
147 t_gstub *gs; 154 t_gstub *gs;
148 if (gs = gp->gp_stub) gstub_dis(gs); 155 if((gs = gp->gp_stub)) gstub_dis(gs);
149 gp->gp_stub = gs = glist->gl_stub; 156 gp->gp_stub = gs = glist->gl_stub;
150 gp->gp_valid = glist->gl_valid; 157 gp->gp_valid = glist->gl_valid;
151 gp->gp_un.gp_scalar = x; 158 gp->gp_un.gp_scalar = x;
@@ -155,7 +162,7 @@ void gpointer_setglist(t_gpointer *gp, t_glist *glist, t_scalar *x)
155static void gpointer_setarray(t_gpointer *gp, t_array *array, t_word *w) 162static void gpointer_setarray(t_gpointer *gp, t_array *array, t_word *w)
156{ 163{
157 t_gstub *gs; 164 t_gstub *gs;
158 if (gs = gp->gp_stub) gstub_dis(gs); 165 if((gs = gp->gp_stub)) gstub_dis(gs);
159 gp->gp_stub = gs = array->a_stub; 166 gp->gp_stub = gs = array->a_stub;
160 gp->gp_valid = array->a_valid; 167 gp->gp_valid = array->a_valid;
161 gp->gp_un.gp_w = w; 168 gp->gp_un.gp_w = w;
@@ -194,6 +201,9 @@ static void *ptrobj_new(t_symbol *classname, int argc, t_atom *argv)
194 t_ptrobj *x = (t_ptrobj *)pd_new(ptrobj_class); 201 t_ptrobj *x = (t_ptrobj *)pd_new(ptrobj_class);
195 t_typedout *to; 202 t_typedout *to;
196 int n; 203 int n;
204#ifdef ROCKBOX
205 (void) classname;
206#endif
197 gpointer_init(&x->x_gp); 207 gpointer_init(&x->x_gp);
198 x->x_typedout = to = (t_typedout *)getbytes(argc * sizeof (*to)); 208 x->x_typedout = to = (t_typedout *)getbytes(argc * sizeof (*to));
199 x->x_ntypedout = n = argc; 209 x->x_ntypedout = n = argc;
@@ -285,10 +295,14 @@ static void ptrobj_next(t_ptrobj *x)
285 295
286static void ptrobj_sendwindow(t_ptrobj *x, t_symbol *s, int argc, t_atom *argv) 296static void ptrobj_sendwindow(t_ptrobj *x, t_symbol *s, int argc, t_atom *argv)
287{ 297{
298#ifdef ROCKBOX
299 (void) s;
300#else /* ROCKBOX */
288 t_scalar *sc; 301 t_scalar *sc;
289 t_symbol *templatesym; 302 t_symbol *templatesym;
290 int n; 303 int n;
291 t_typedout *to; 304 t_typedout *to;
305#endif /* ROCKBOX */
292 t_glist *glist; 306 t_glist *glist;
293 t_pd *canvas; 307 t_pd *canvas;
294 t_gstub *gs; 308 t_gstub *gs;
@@ -388,6 +402,9 @@ static void *get_new(t_symbol *why, int argc, t_atom *argv)
388 int i; 402 int i;
389 t_getvariable *sp; 403 t_getvariable *sp;
390 x->x_templatesym = canvas_makebindsym(atom_getsymbolarg(0, argc, argv)); 404 x->x_templatesym = canvas_makebindsym(atom_getsymbolarg(0, argc, argv));
405#ifdef ROCKBOX
406 (void) why;
407#endif
391 if (argc) argc--, argv++; 408 if (argc) argc--, argv++;
392 x->x_variables 409 x->x_variables
393 = (t_getvariable *)getbytes(argc * sizeof (*x->x_variables)); 410 = (t_getvariable *)getbytes(argc * sizeof (*x->x_variables));
@@ -468,6 +485,9 @@ static void *set_new(t_symbol *why, int argc, t_atom *argv)
468 int i; 485 int i;
469 t_setvariable *sp; 486 t_setvariable *sp;
470 x->x_templatesym = canvas_makebindsym(atom_getsymbolarg(0, argc, argv)); 487 x->x_templatesym = canvas_makebindsym(atom_getsymbolarg(0, argc, argv));
488#ifdef ROCKBOX
489 (void) why;
490#endif
471 if (argc) argc--, argv++; 491 if (argc) argc--, argv++;
472 x->x_variables 492 x->x_variables
473 = (t_setvariable *)getbytes(argc * sizeof (*x->x_variables)); 493 = (t_setvariable *)getbytes(argc * sizeof (*x->x_variables));
@@ -634,6 +654,9 @@ static void elem_float(t_elem *x, t_float f)
634 654
635static void elem_free(t_elem *x, t_gpointer *gp) 655static void elem_free(t_elem *x, t_gpointer *gp)
636{ 656{
657#ifdef ROCKBOX
658 (void) gp;
659#endif
637 gpointer_unset(&x->x_gp); 660 gpointer_unset(&x->x_gp);
638 gpointer_unset(&x->x_gparent); 661 gpointer_unset(&x->x_gparent);
639} 662}
@@ -667,13 +690,19 @@ static void *getsize_new(t_symbol *templatesym, t_symbol *fieldsym)
667 690
668static void getsize_pointer(t_getsize *x, t_gpointer *gp) 691static void getsize_pointer(t_getsize *x, t_gpointer *gp)
669{ 692{
693#ifdef ROCKBOX
694 int onset, type;
695#else /* ROCKBOX */
670 int nitems, onset, type; 696 int nitems, onset, type;
697#endif /* ROCKBOX */
671 t_symbol *templatesym = x->x_templatesym, *fieldsym = x->x_fieldsym, 698 t_symbol *templatesym = x->x_templatesym, *fieldsym = x->x_fieldsym,
672 *elemtemplatesym; 699 *elemtemplatesym;
673 t_template *template = template_findbyname(templatesym); 700 t_template *template = template_findbyname(templatesym);
674 t_word *w; 701 t_word *w;
675 t_array *array; 702 t_array *array;
703#ifndef ROCKBOX
676 int elemsize; 704 int elemsize;
705#endif
677 t_gstub *gs = gp->gp_stub; 706 t_gstub *gs = gp->gp_stub;
678 if (!template) 707 if (!template)
679 { 708 {
@@ -731,6 +760,9 @@ typedef struct _setsize
731static void *setsize_new(t_symbol *templatesym, t_symbol *fieldsym, 760static void *setsize_new(t_symbol *templatesym, t_symbol *fieldsym,
732 t_floatarg newsize) 761 t_floatarg newsize)
733{ 762{
763#ifdef ROCKBOX
764 (void) newsize;
765#endif
734 t_setsize *x = (t_setsize *)pd_new(setsize_class); 766 t_setsize *x = (t_setsize *)pd_new(setsize_class);
735 x->x_templatesym = canvas_makebindsym(templatesym); 767 x->x_templatesym = canvas_makebindsym(templatesym);
736 x->x_fieldsym = fieldsym; 768 x->x_fieldsym = fieldsym;
@@ -748,7 +780,9 @@ static void setsize_float(t_setsize *x, t_float f)
748 t_template *template = template_findbyname(templatesym); 780 t_template *template = template_findbyname(templatesym);
749 t_template *elemtemplate; 781 t_template *elemtemplate;
750 t_word *w; 782 t_word *w;
783#ifndef ROCKBOX
751 t_atom at; 784 t_atom at;
785#endif
752 t_array *array; 786 t_array *array;
753 int elemsize; 787 int elemsize;
754 int newsize = f; 788 int newsize = f;
@@ -830,7 +864,11 @@ static void setsize_float(t_setsize *x, t_float f)
830 if (newsize > nitems) 864 if (newsize > nitems)
831 { 865 {
832 char *newelem = ((char *)array->a_vec) + nitems * elemsize; 866 char *newelem = ((char *)array->a_vec) + nitems * elemsize;
867#ifdef ROCKBOX
868 int nnew = newsize - nitems;
869#else /* ROCKBOX */
833 int i = 0, nnew = newsize - nitems; 870 int i = 0, nnew = newsize - nitems;
871#endif /* ROCKBOX */
834 872
835 while (nnew--) 873 while (nnew--)
836 { 874 {
@@ -896,6 +934,9 @@ static void *append_new(t_symbol *why, int argc, t_atom *argv)
896 int i; 934 int i;
897 t_appendvariable *sp; 935 t_appendvariable *sp;
898 x->x_templatesym = canvas_makebindsym(atom_getsymbolarg(0, argc, argv)); 936 x->x_templatesym = canvas_makebindsym(atom_getsymbolarg(0, argc, argv));
937#ifdef ROCKBOX
938 (void) why;
939#endif
899 if (argc) argc--, argv++; 940 if (argc) argc--, argv++;
900 x->x_variables 941 x->x_variables
901 = (t_appendvariable *)getbytes(argc * sizeof (*x->x_variables)); 942 = (t_appendvariable *)getbytes(argc * sizeof (*x->x_variables));
@@ -1023,8 +1064,10 @@ static void sublist_pointer(t_sublist *x, t_gpointer *gp)
1023 t_symbol *templatesym = x->x_templatesym, *dummy; 1064 t_symbol *templatesym = x->x_templatesym, *dummy;
1024 t_template *template = template_findbyname(templatesym); 1065 t_template *template = template_findbyname(templatesym);
1025 t_gstub *gs = gp->gp_stub; 1066 t_gstub *gs = gp->gp_stub;
1026 t_word *vec; 1067#ifndef ROCKBOX
1068 t_word *vec;
1027 t_getvariable *vp; 1069 t_getvariable *vp;
1070#endif
1028 int onset, type; 1071 int onset, type;
1029 t_word *w; 1072 t_word *w;
1030 1073
@@ -1059,6 +1102,9 @@ static void sublist_pointer(t_sublist *x, t_gpointer *gp)
1059 1102
1060static void sublist_free(t_sublist *x, t_gpointer *gp) 1103static void sublist_free(t_sublist *x, t_gpointer *gp)
1061{ 1104{
1105#ifdef ROCKBOX
1106 (void) gp;
1107#endif
1062 gpointer_unset(&x->x_gp); 1108 gpointer_unset(&x->x_gp);
1063} 1109}
1064 1110
diff --git a/apps/plugins/pdbox/PDa/src/g_vdial.c b/apps/plugins/pdbox/PDa/src/g_vdial.c
index 47ac3d19bb..bf026c697f 100644
--- a/apps/plugins/pdbox/PDa/src/g_vdial.c
+++ b/apps/plugins/pdbox/PDa/src/g_vdial.c
@@ -7,6 +7,13 @@
7/* name change to vradio by MSP (it's a radio button really) and changed to 7/* name change to vradio by MSP (it's a radio button really) and changed to
8put out a "float" as in sliders, toggles, etc. */ 8put out a "float" as in sliders, toggles, etc. */
9 9
10#ifdef ROCKBOX
11#include "plugin.h"
12#include "pdbox.h"
13#include "m_pd.h"
14#include "g_canvas.h"
15#include "g_all_guis.h"
16#else /* ROCKBOX */
10#include <stdlib.h> 17#include <stdlib.h>
11#include <string.h> 18#include <string.h>
12#include <stdio.h> 19#include <stdio.h>
@@ -16,6 +23,7 @@ put out a "float" as in sliders, toggles, etc. */
16#include "t_tk.h" 23#include "t_tk.h"
17#include "g_all_guis.h" 24#include "g_all_guis.h"
18#include <math.h> 25#include <math.h>
26#endif /* ROCKBOX */
19 27
20/*------------------ global variables -------------------------*/ 28/*------------------ global variables -------------------------*/
21 29
@@ -34,6 +42,10 @@ static t_class *vradio_class, *vradio_old_class;
34 42
35void vradio_draw_update(t_vradio *x, t_glist *glist) 43void vradio_draw_update(t_vradio *x, t_glist *glist)
36{ 44{
45#ifdef ROCKBOX
46 (void) x;
47 (void) glist;
48#else /* ROCKBOX */
37 if(glist_isvisible(glist)) 49 if(glist_isvisible(glist))
38 { 50 {
39 t_canvas *canvas=glist_getcanvas(glist); 51 t_canvas *canvas=glist_getcanvas(glist);
@@ -45,10 +57,15 @@ void vradio_draw_update(t_vradio *x, t_glist *glist)
45 canvas, x, x->x_on, 57 canvas, x, x->x_on,
46 x->x_gui.x_fcol, x->x_gui.x_fcol); 58 x->x_gui.x_fcol, x->x_gui.x_fcol);
47 } 59 }
60#endif /* ROCKBOX */
48} 61}
49 62
50void vradio_draw_new(t_vradio *x, t_glist *glist) 63void vradio_draw_new(t_vradio *x, t_glist *glist)
51{ 64{
65#ifdef ROCKBOX
66 (void) x;
67 (void) glist;
68#else /* ROCKBOX */
52 t_canvas *canvas=glist_getcanvas(glist); 69 t_canvas *canvas=glist_getcanvas(glist);
53 int n=x->x_number, i, dy=x->x_gui.x_h, s4=dy/4; 70 int n=x->x_number, i, dy=x->x_gui.x_h, s4=dy/4;
54 int yy11b=text_ypix(&x->x_gui.x_obj, glist); 71 int yy11b=text_ypix(&x->x_gui.x_obj, glist);
@@ -83,10 +100,15 @@ void vradio_draw_new(t_vradio *x, t_glist *glist)
83 if(!x->x_gui.x_fsf.x_rcv_able) 100 if(!x->x_gui.x_fsf.x_rcv_able)
84 sys_vgui(".x%x.c create rectangle %d %d %d %d -tags %xIN%d\n", 101 sys_vgui(".x%x.c create rectangle %d %d %d %d -tags %xIN%d\n",
85 canvas, xx11, yy11b, xx11 + IOWIDTH, yy11b+1, x, 0); 102 canvas, xx11, yy11b, xx11 + IOWIDTH, yy11b+1, x, 0);
103#endif /* ROCKBOX */
86} 104}
87 105
88void vradio_draw_move(t_vradio *x, t_glist *glist) 106void vradio_draw_move(t_vradio *x, t_glist *glist)
89{ 107{
108#ifdef ROCKBOX
109 (void) x;
110 (void) glist;
111#else /* ROCKBOX */
90 t_canvas *canvas=glist_getcanvas(glist); 112 t_canvas *canvas=glist_getcanvas(glist);
91 int n=x->x_number, i, dy=x->x_gui.x_h, s4=dy/4; 113 int n=x->x_number, i, dy=x->x_gui.x_h, s4=dy/4;
92 int yy11b=text_ypix(&x->x_gui.x_obj, glist); 114 int yy11b=text_ypix(&x->x_gui.x_obj, glist);
@@ -114,10 +136,15 @@ void vradio_draw_move(t_vradio *x, t_glist *glist)
114 if(!x->x_gui.x_fsf.x_rcv_able) 136 if(!x->x_gui.x_fsf.x_rcv_able)
115 sys_vgui(".x%x.c coords %xIN%d %d %d %d %d\n", 137 sys_vgui(".x%x.c coords %xIN%d %d %d %d %d\n",
116 canvas, x, 0, xx11, yy11b, xx11 + IOWIDTH, yy11b+1); 138 canvas, x, 0, xx11, yy11b, xx11 + IOWIDTH, yy11b+1);
139#endif /* ROCKBOX */
117} 140}
118 141
119void vradio_draw_erase(t_vradio* x, t_glist* glist) 142void vradio_draw_erase(t_vradio* x, t_glist* glist)
120{ 143{
144#ifdef ROCKBOX
145 (void) x;
146 (void) glist;
147#else /* ROCKBOX */
121 t_canvas *canvas=glist_getcanvas(glist); 148 t_canvas *canvas=glist_getcanvas(glist);
122 int n=x->x_number, i; 149 int n=x->x_number, i;
123 150
@@ -131,10 +158,15 @@ void vradio_draw_erase(t_vradio* x, t_glist* glist)
131 sys_vgui(".x%x.c delete %xOUT%d\n", canvas, x, 0); 158 sys_vgui(".x%x.c delete %xOUT%d\n", canvas, x, 0);
132 if(!x->x_gui.x_fsf.x_rcv_able) 159 if(!x->x_gui.x_fsf.x_rcv_able)
133 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0); 160 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0);
161#endif /* ROCKBOX */
134} 162}
135 163
136void vradio_draw_config(t_vradio* x, t_glist* glist) 164void vradio_draw_config(t_vradio* x, t_glist* glist)
137{ 165{
166#ifdef ROCKBOX
167 (void) x;
168 (void) glist;
169#else /* ROCKBOX */
138 t_canvas *canvas=glist_getcanvas(glist); 170 t_canvas *canvas=glist_getcanvas(glist);
139 int n=x->x_number, i; 171 int n=x->x_number, i;
140 172
@@ -150,10 +182,16 @@ void vradio_draw_config(t_vradio* x, t_glist* glist)
150 (x->x_on==i)?x->x_gui.x_fcol:x->x_gui.x_bcol, 182 (x->x_on==i)?x->x_gui.x_fcol:x->x_gui.x_bcol,
151 (x->x_on==i)?x->x_gui.x_fcol:x->x_gui.x_bcol); 183 (x->x_on==i)?x->x_gui.x_fcol:x->x_gui.x_bcol);
152 } 184 }
185#endif /* ROCKBOX */
153} 186}
154 187
155void vradio_draw_io(t_vradio* x, t_glist* glist, int old_snd_rcv_flags) 188void vradio_draw_io(t_vradio* x, t_glist* glist, int old_snd_rcv_flags)
156{ 189{
190#ifdef ROCKBOX
191 (void) x;
192 (void) glist;
193 (void) old_snd_rcv_flags;
194#else /* ROCKBOX */
157 t_canvas *canvas=glist_getcanvas(glist); 195 t_canvas *canvas=glist_getcanvas(glist);
158 int xpos=text_xpix(&x->x_gui.x_obj, glist); 196 int xpos=text_xpix(&x->x_gui.x_obj, glist);
159 int ypos=text_ypix(&x->x_gui.x_obj, glist); 197 int ypos=text_ypix(&x->x_gui.x_obj, glist);
@@ -173,10 +211,15 @@ void vradio_draw_io(t_vradio* x, t_glist* glist, int old_snd_rcv_flags)
173 x, 0); 211 x, 0);
174 if(!(old_snd_rcv_flags & IEM_GUI_OLD_RCV_FLAG) && x->x_gui.x_fsf.x_rcv_able) 212 if(!(old_snd_rcv_flags & IEM_GUI_OLD_RCV_FLAG) && x->x_gui.x_fsf.x_rcv_able)
175 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0); 213 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0);
214#endif /* ROCKBOX */
176} 215}
177 216
178void vradio_draw_select(t_vradio* x, t_glist* glist) 217void vradio_draw_select(t_vradio* x, t_glist* glist)
179{ 218{
219#ifdef ROCKBOX
220 (void) x;
221 (void) glist;
222#else /* ROCKBOX */
180 t_canvas *canvas=glist_getcanvas(glist); 223 t_canvas *canvas=glist_getcanvas(glist);
181 int n=x->x_number, i; 224 int n=x->x_number, i;
182 225
@@ -199,6 +242,7 @@ void vradio_draw_select(t_vradio* x, t_glist* glist)
199 sys_vgui(".x%x.c itemconfigure %xLABEL -fill #%6.6x\n", canvas, x, 242 sys_vgui(".x%x.c itemconfigure %xLABEL -fill #%6.6x\n", canvas, x,
200 x->x_gui.x_lcol); 243 x->x_gui.x_lcol);
201 } 244 }
245#endif /* ROCKBOX */
202} 246}
203 247
204void vradio_draw(t_vradio *x, t_glist *glist, int mode) 248void vradio_draw(t_vradio *x, t_glist *glist, int mode)
@@ -254,6 +298,10 @@ static void vradio_save(t_gobj *z, t_binbuf *b)
254 298
255static void vradio_properties(t_gobj *z, t_glist *owner) 299static void vradio_properties(t_gobj *z, t_glist *owner)
256{ 300{
301#ifdef ROCKBOX
302 (void) z;
303 (void) owner;
304#else /* ROCKBOX */
257 t_vradio *x = (t_vradio *)z; 305 t_vradio *x = (t_vradio *)z;
258 char buf[800]; 306 char buf[800];
259 t_symbol *srl[3]; 307 t_symbol *srl[3];
@@ -278,6 +326,7 @@ static void vradio_properties(t_gobj *z, t_glist *owner)
278 x->x_gui.x_fsf.x_font_style, x->x_gui.x_fontsize, 326 x->x_gui.x_fsf.x_font_style, x->x_gui.x_fontsize,
279 0xffffff & x->x_gui.x_bcol, 0xffffff & x->x_gui.x_fcol, 0xffffff & x->x_gui.x_lcol); 327 0xffffff & x->x_gui.x_bcol, 0xffffff & x->x_gui.x_fcol, 0xffffff & x->x_gui.x_lcol);
280 gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf); 328 gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf);
329#endif /* ROCKBOX */
281} 330}
282 331
283static void vradio_dialog(t_vradio *x, t_symbol *s, int argc, t_atom *argv) 332static void vradio_dialog(t_vradio *x, t_symbol *s, int argc, t_atom *argv)
@@ -288,6 +337,10 @@ static void vradio_dialog(t_vradio *x, t_symbol *s, int argc, t_atom *argv)
288 int num = (int)atom_getintarg(6, argc, argv); 337 int num = (int)atom_getintarg(6, argc, argv);
289 int sr_flags; 338 int sr_flags;
290 339
340#ifdef ROCKBOX
341 (void) s;
342#endif
343
291 if(chg != 0) chg = 1; 344 if(chg != 0) chg = 1;
292 x->x_change = chg; 345 x->x_change = chg;
293 sr_flags = iemgui_dialog(&x->x_gui, srl, argc, argv); 346 sr_flags = iemgui_dialog(&x->x_gui, srl, argc, argv);
@@ -463,12 +516,23 @@ static void vradio_click(t_vradio *x, t_floatarg xpos, t_floatarg ypos,
463{ 516{
464 int yy = (int)ypos - text_ypix(&x->x_gui.x_obj, x->x_gui.x_glist); 517 int yy = (int)ypos - text_ypix(&x->x_gui.x_obj, x->x_gui.x_glist);
465 518
519#ifdef ROCKBOX
520 (void) xpos;
521 (void) shift;
522 (void) ctrl;
523 (void) alt;
524#endif
525
466 vradio_fout(x, (float)(yy / x->x_gui.x_h)); 526 vradio_fout(x, (float)(yy / x->x_gui.x_h));
467} 527}
468 528
469static int vradio_newclick(t_gobj *z, struct _glist *glist, 529static int vradio_newclick(t_gobj *z, struct _glist *glist,
470 int xpix, int ypix, int shift, int alt, int dbl, int doit) 530 int xpix, int ypix, int shift, int alt, int dbl, int doit)
471{ 531{
532#ifdef ROCKBOX
533 (void) glist;
534 (void) dbl;
535#endif
472 if(doit) 536 if(doit)
473 vradio_click((t_vradio *)z, (t_floatarg)xpix, (t_floatarg)ypix, 537 vradio_click((t_vradio *)z, (t_floatarg)xpix, (t_floatarg)ypix,
474 (t_floatarg)shift, 0, (t_floatarg)alt); 538 (t_floatarg)shift, 0, (t_floatarg)alt);
@@ -502,6 +566,9 @@ static void vradio_number(t_vradio *x, t_floatarg num)
502 566
503static void vradio_size(t_vradio *x, t_symbol *s, int ac, t_atom *av) 567static void vradio_size(t_vradio *x, t_symbol *s, int ac, t_atom *av)
504{ 568{
569#ifdef ROCKBOX
570 (void) s;
571#endif
505 x->x_gui.x_w = iemgui_clip_size((int)atom_getintarg(0, ac, av)); 572 x->x_gui.x_w = iemgui_clip_size((int)atom_getintarg(0, ac, av));
506 x->x_gui.x_h = x->x_gui.x_w; 573 x->x_gui.x_h = x->x_gui.x_w;
507 iemgui_size((void *)x, &x->x_gui); 574 iemgui_size((void *)x, &x->x_gui);
@@ -546,11 +613,21 @@ static void *vradio_donew(t_symbol *s, int argc, t_atom *argv, int old)
546{ 613{
547 t_vradio *x = (t_vradio *)pd_new(old? vradio_old_class : vradio_class); 614 t_vradio *x = (t_vradio *)pd_new(old? vradio_old_class : vradio_class);
548 int bflcol[]={-262144, -1, -1}; 615 int bflcol[]={-262144, -1, -1};
616#ifdef ROCKBOX
617 int a=IEM_GUI_DEFAULTSIZE, on=0;
618#else
549 int a=IEM_GUI_DEFAULTSIZE, on=0, f=0; 619 int a=IEM_GUI_DEFAULTSIZE, on=0, f=0;
620#endif
550 int ldx=0, ldy=-6, chg=1, num=8; 621 int ldx=0, ldy=-6, chg=1, num=8;
551 int fs=8; 622 int fs=8;
623#ifndef ROCKBOX
552 int ftbreak=IEM_BNG_DEFAULTBREAKFLASHTIME, fthold=IEM_BNG_DEFAULTHOLDFLASHTIME; 624 int ftbreak=IEM_BNG_DEFAULTBREAKFLASHTIME, fthold=IEM_BNG_DEFAULTHOLDFLASHTIME;
553 char str[144]; 625 char str[144];
626#endif
627
628#ifdef ROCKBOX
629 (void) s;
630#endif
554 631
555 if((argc == 15)&&IS_A_FLOAT(argv,0)&&IS_A_FLOAT(argv,1)&&IS_A_FLOAT(argv,2) 632 if((argc == 15)&&IS_A_FLOAT(argv,0)&&IS_A_FLOAT(argv,1)&&IS_A_FLOAT(argv,2)
556 &&IS_A_FLOAT(argv,3) 633 &&IS_A_FLOAT(argv,3)
@@ -632,7 +709,9 @@ static void vradio_ff(t_vradio *x)
632{ 709{
633 if(x->x_gui.x_fsf.x_rcv_able) 710 if(x->x_gui.x_fsf.x_rcv_able)
634 pd_unbind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv); 711 pd_unbind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv);
712#ifndef ROCKBOX
635 gfxstub_deleteforkey(x); 713 gfxstub_deleteforkey(x);
714#endif
636} 715}
637 716
638void g_vradio_setup(void) 717void g_vradio_setup(void)
diff --git a/apps/plugins/pdbox/PDa/src/g_vslider.c b/apps/plugins/pdbox/PDa/src/g_vslider.c
index ee02236769..f01dcfdf6d 100644
--- a/apps/plugins/pdbox/PDa/src/g_vslider.c
+++ b/apps/plugins/pdbox/PDa/src/g_vslider.c
@@ -6,6 +6,13 @@
6/* thanks to Miller Puckette, Guenther Geiger and Krzystof Czaja */ 6/* thanks to Miller Puckette, Guenther Geiger and Krzystof Czaja */
7 7
8 8
9#ifdef ROCKBOX
10#include "plugin.h"
11#include "pdbox.h"
12#include "m_pd.h"
13#include "g_canvas.h"
14#include "g_all_guis.h"
15#else /* ROCKBOX */
9#include <stdlib.h> 16#include <stdlib.h>
10#include <string.h> 17#include <string.h>
11#include <stdio.h> 18#include <stdio.h>
@@ -21,6 +28,7 @@
21#else 28#else
22#include <unistd.h> 29#include <unistd.h>
23#endif 30#endif
31#endif /* ROCKBOX */
24 32
25 33
26/* ------------ vsl gui-vertical slider ----------------------- */ 34/* ------------ vsl gui-vertical slider ----------------------- */
@@ -32,6 +40,10 @@ static t_class *vslider_class;
32 40
33static void vslider_draw_update(t_vslider *x, t_glist *glist) 41static void vslider_draw_update(t_vslider *x, t_glist *glist)
34{ 42{
43#ifdef ROCKBOX
44 (void) x;
45 (void) glist;
46#else /* ROCKBOX */
35 if (glist_isvisible(glist)) 47 if (glist_isvisible(glist))
36 { 48 {
37 int r = text_ypix(&x->x_gui.x_obj, glist) + x->x_gui.x_h - (x->x_val + 50)/100; 49 int r = text_ypix(&x->x_gui.x_obj, glist) + x->x_gui.x_h - (x->x_val + 50)/100;
@@ -41,10 +53,15 @@ static void vslider_draw_update(t_vslider *x, t_glist *glist)
41 glist_getcanvas(glist), x, xpos+1, r, 53 glist_getcanvas(glist), x, xpos+1, r,
42 xpos + x->x_gui.x_w, r); 54 xpos + x->x_gui.x_w, r);
43 } 55 }
56#endif /* ROCKBOX */
44} 57}
45 58
46static void vslider_draw_new(t_vslider *x, t_glist *glist) 59static void vslider_draw_new(t_vslider *x, t_glist *glist)
47{ 60{
61#ifdef ROCKBOX
62 (void) x;
63 (void) glist;
64#else /* ROCKBOX */
48 int xpos=text_xpix(&x->x_gui.x_obj, glist); 65 int xpos=text_xpix(&x->x_gui.x_obj, glist);
49 int ypos=text_ypix(&x->x_gui.x_obj, glist); 66 int ypos=text_ypix(&x->x_gui.x_obj, glist);
50 int r = ypos + x->x_gui.x_h - (x->x_val + 50)/100; 67 int r = ypos + x->x_gui.x_h - (x->x_val + 50)/100;
@@ -74,10 +91,15 @@ static void vslider_draw_new(t_vslider *x, t_glist *glist)
74 xpos, ypos-2, 91 xpos, ypos-2,
75 xpos+7, ypos-1, 92 xpos+7, ypos-1,
76 x, 0); 93 x, 0);
94#endif /* ROCKBOX */
77} 95}
78 96
79static void vslider_draw_move(t_vslider *x, t_glist *glist) 97static void vslider_draw_move(t_vslider *x, t_glist *glist)
80{ 98{
99#ifdef ROCKBOX
100 (void) x;
101 (void) glist;
102#else /* ROCKBOX */
81 int xpos=text_xpix(&x->x_gui.x_obj, glist); 103 int xpos=text_xpix(&x->x_gui.x_obj, glist);
82 int ypos=text_ypix(&x->x_gui.x_obj, glist); 104 int ypos=text_ypix(&x->x_gui.x_obj, glist);
83 int r = ypos + x->x_gui.x_h - (x->x_val + 50)/100; 105 int r = ypos + x->x_gui.x_h - (x->x_val + 50)/100;
@@ -102,10 +124,15 @@ static void vslider_draw_move(t_vslider *x, t_glist *glist)
102 canvas, x, 0, 124 canvas, x, 0,
103 xpos, ypos-2, 125 xpos, ypos-2,
104 xpos+7, ypos-1); 126 xpos+7, ypos-1);
127#endif /* ROCKBOX */
105} 128}
106 129
107static void vslider_draw_erase(t_vslider* x,t_glist* glist) 130static void vslider_draw_erase(t_vslider* x,t_glist* glist)
108{ 131{
132#ifdef ROCKBOX
133 (void) x;
134 (void) glist;
135#else /* ROCKBOX */
109 t_canvas *canvas=glist_getcanvas(glist); 136 t_canvas *canvas=glist_getcanvas(glist);
110 137
111 sys_vgui(".x%x.c delete %xBASE\n", canvas, x); 138 sys_vgui(".x%x.c delete %xBASE\n", canvas, x);
@@ -115,10 +142,15 @@ static void vslider_draw_erase(t_vslider* x,t_glist* glist)
115 sys_vgui(".x%x.c delete %xOUT%d\n", canvas, x, 0); 142 sys_vgui(".x%x.c delete %xOUT%d\n", canvas, x, 0);
116 if(!x->x_gui.x_fsf.x_rcv_able) 143 if(!x->x_gui.x_fsf.x_rcv_able)
117 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0); 144 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0);
145#endif /* ROCKBOX */
118} 146}
119 147
120static void vslider_draw_config(t_vslider* x,t_glist* glist) 148static void vslider_draw_config(t_vslider* x,t_glist* glist)
121{ 149{
150#ifdef ROCKBOX
151 (void) x;
152 (void) glist;
153#else /* ROCKBOX */
122 t_canvas *canvas=glist_getcanvas(glist); 154 t_canvas *canvas=glist_getcanvas(glist);
123 155
124 sys_vgui(".x%x.c itemconfigure %xLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n", 156 sys_vgui(".x%x.c itemconfigure %xLABEL -font {%s %d bold} -fill #%6.6x -text {%s} \n",
@@ -129,10 +161,16 @@ static void vslider_draw_config(t_vslider* x,t_glist* glist)
129 x, x->x_gui.x_fcol); 161 x, x->x_gui.x_fcol);
130 sys_vgui(".x%x.c itemconfigure %xBASE -fill #%6.6x\n", canvas, 162 sys_vgui(".x%x.c itemconfigure %xBASE -fill #%6.6x\n", canvas,
131 x, x->x_gui.x_bcol); 163 x, x->x_gui.x_bcol);
164#endif /* ROCKBOX */
132} 165}
133 166
134static void vslider_draw_io(t_vslider* x,t_glist* glist, int old_snd_rcv_flags) 167static void vslider_draw_io(t_vslider* x,t_glist* glist, int old_snd_rcv_flags)
135{ 168{
169#ifdef ROCKBOX
170 (void) x;
171 (void) glist;
172 (void) old_snd_rcv_flags;
173#else /* ROCKBOX */
136 int xpos=text_xpix(&x->x_gui.x_obj, glist); 174 int xpos=text_xpix(&x->x_gui.x_obj, glist);
137 int ypos=text_ypix(&x->x_gui.x_obj, glist); 175 int ypos=text_ypix(&x->x_gui.x_obj, glist);
138 t_canvas *canvas=glist_getcanvas(glist); 176 t_canvas *canvas=glist_getcanvas(glist);
@@ -153,10 +191,15 @@ static void vslider_draw_io(t_vslider* x,t_glist* glist, int old_snd_rcv_flags)
153 x, 0); 191 x, 0);
154 if(!(old_snd_rcv_flags & IEM_GUI_OLD_RCV_FLAG) && x->x_gui.x_fsf.x_rcv_able) 192 if(!(old_snd_rcv_flags & IEM_GUI_OLD_RCV_FLAG) && x->x_gui.x_fsf.x_rcv_able)
155 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0); 193 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0);
194#endif /* ROCKBOX */
156} 195}
157 196
158static void vslider_draw_select(t_vslider *x, t_glist *glist) 197static void vslider_draw_select(t_vslider *x, t_glist *glist)
159{ 198{
199#ifdef ROCKBOX
200 (void) x;
201 (void) glist;
202#else /* ROCKBOX */
160 t_canvas *canvas=glist_getcanvas(glist); 203 t_canvas *canvas=glist_getcanvas(glist);
161 204
162 if(x->x_gui.x_fsf.x_selected) 205 if(x->x_gui.x_fsf.x_selected)
@@ -169,6 +212,7 @@ static void vslider_draw_select(t_vslider *x, t_glist *glist)
169 sys_vgui(".x%x.c itemconfigure %xBASE -outline #%6.6x\n", canvas, x, IEM_GUI_COLOR_NORMAL); 212 sys_vgui(".x%x.c itemconfigure %xBASE -outline #%6.6x\n", canvas, x, IEM_GUI_COLOR_NORMAL);
170 sys_vgui(".x%x.c itemconfigure %xLABEL -fill #%6.6x\n", canvas, x, x->x_gui.x_lcol); 213 sys_vgui(".x%x.c itemconfigure %xLABEL -fill #%6.6x\n", canvas, x, x->x_gui.x_lcol);
171 } 214 }
215#endif /* ROCKBOX */
172} 216}
173 217
174void vslider_draw(t_vslider *x, t_glist *glist, int mode) 218void vslider_draw(t_vslider *x, t_glist *glist, int mode)
@@ -270,6 +314,10 @@ void vslider_check_minmax(t_vslider *x, double min, double max)
270 314
271static void vslider_properties(t_gobj *z, t_glist *owner) 315static void vslider_properties(t_gobj *z, t_glist *owner)
272{ 316{
317#ifdef ROCKBOX
318 (void) z;
319 (void) owner;
320#else /* ROCKBOX */
273 t_vslider *x = (t_vslider *)z; 321 t_vslider *x = (t_vslider *)z;
274 char buf[800]; 322 char buf[800];
275 t_symbol *srl[3]; 323 t_symbol *srl[3];
@@ -292,6 +340,7 @@ static void vslider_properties(t_gobj *z, t_glist *owner)
292 x->x_gui.x_fsf.x_font_style, x->x_gui.x_fontsize, 340 x->x_gui.x_fsf.x_font_style, x->x_gui.x_fontsize,
293 0xffffff & x->x_gui.x_bcol, 0xffffff & x->x_gui.x_fcol, 0xffffff & x->x_gui.x_lcol); 341 0xffffff & x->x_gui.x_bcol, 0xffffff & x->x_gui.x_fcol, 0xffffff & x->x_gui.x_lcol);
294 gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf); 342 gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf);
343#endif
295} 344}
296 345
297static void vslider_bang(t_vslider *x) 346static void vslider_bang(t_vslider *x)
@@ -321,6 +370,10 @@ static void vslider_dialog(t_vslider *x, t_symbol *s, int argc, t_atom *argv)
321 int steady = (int)atom_getintarg(17, argc, argv); 370 int steady = (int)atom_getintarg(17, argc, argv);
322 int sr_flags; 371 int sr_flags;
323 372
373#ifdef ROCKBOX
374 (void) s;
375#endif
376
324 if(lilo != 0) lilo = 1; 377 if(lilo != 0) lilo = 1;
325 x->x_lin0_log1 = lilo; 378 x->x_lin0_log1 = lilo;
326 if(steady) 379 if(steady)
@@ -341,6 +394,10 @@ static void vslider_motion(t_vslider *x, t_floatarg dx, t_floatarg dy)
341{ 394{
342 int old = x->x_val; 395 int old = x->x_val;
343 396
397#ifdef ROCKBOX
398 (void) dx;
399#endif
400
344 if(x->x_gui.x_fsf.x_finemoved) 401 if(x->x_gui.x_fsf.x_finemoved)
345 x->x_pos -= (int)dy; 402 x->x_pos -= (int)dy;
346 else 403 else
@@ -368,6 +425,11 @@ static void vslider_motion(t_vslider *x, t_floatarg dx, t_floatarg dy)
368static void vslider_click(t_vslider *x, t_floatarg xpos, t_floatarg ypos, 425static void vslider_click(t_vslider *x, t_floatarg xpos, t_floatarg ypos,
369 t_floatarg shift, t_floatarg ctrl, t_floatarg alt) 426 t_floatarg shift, t_floatarg ctrl, t_floatarg alt)
370{ 427{
428#ifdef ROCKBOX
429 (void) shift;
430 (void) ctrl;
431 (void) alt;
432#endif
371 if(!x->x_steady) 433 if(!x->x_steady)
372 x->x_val = (int)(100.0 * (x->x_gui.x_h + text_ypix(&x->x_gui.x_obj, x->x_gui.x_glist) - ypos)); 434 x->x_val = (int)(100.0 * (x->x_gui.x_h + text_ypix(&x->x_gui.x_obj, x->x_gui.x_glist) - ypos));
373 if(x->x_val > (100*x->x_gui.x_h - 100)) 435 if(x->x_val > (100*x->x_gui.x_h - 100))
@@ -386,6 +448,11 @@ static int vslider_newclick(t_gobj *z, struct _glist *glist,
386{ 448{
387 t_vslider* x = (t_vslider *)z; 449 t_vslider* x = (t_vslider *)z;
388 450
451#ifdef ROCKBOX
452 (void) glist;
453 (void) dbl;
454#endif
455
389 if(doit) 456 if(doit)
390 { 457 {
391 vslider_click( x, (t_floatarg)xpix, (t_floatarg)ypix, (t_floatarg)shift, 458 vslider_click( x, (t_floatarg)xpix, (t_floatarg)ypix, (t_floatarg)shift,
@@ -434,6 +501,9 @@ static void vslider_float(t_vslider *x, t_floatarg f)
434 501
435static void vslider_size(t_vslider *x, t_symbol *s, int ac, t_atom *av) 502static void vslider_size(t_vslider *x, t_symbol *s, int ac, t_atom *av)
436{ 503{
504#ifdef ROCKBOX
505 (void) s;
506#endif
437 x->x_gui.x_w = iemgui_clip_size((int)atom_getintarg(0, ac, av)); 507 x->x_gui.x_w = iemgui_clip_size((int)atom_getintarg(0, ac, av));
438 if(ac > 1) 508 if(ac > 1)
439 vslider_check_height(x, (int)atom_getintarg(1, ac, av)); 509 vslider_check_height(x, (int)atom_getintarg(1, ac, av));
@@ -448,6 +518,9 @@ static void vslider_pos(t_vslider *x, t_symbol *s, int ac, t_atom *av)
448 518
449static void vslider_range(t_vslider *x, t_symbol *s, int ac, t_atom *av) 519static void vslider_range(t_vslider *x, t_symbol *s, int ac, t_atom *av)
450{ 520{
521#ifdef ROCKBOX
522 (void) s;
523#endif
451 vslider_check_minmax(x, (double)atom_getfloatarg(0, ac, av), 524 vslider_check_minmax(x, (double)atom_getfloatarg(0, ac, av),
452 (double)atom_getfloatarg(1, ac, av)); 525 (double)atom_getfloatarg(1, ac, av));
453} 526}
@@ -506,10 +579,20 @@ static void *vslider_new(t_symbol *s, int argc, t_atom *argv)
506 t_vslider *x = (t_vslider *)pd_new(vslider_class); 579 t_vslider *x = (t_vslider *)pd_new(vslider_class);
507 int bflcol[]={-262144, -1, -1}; 580 int bflcol[]={-262144, -1, -1};
508 int w=IEM_GUI_DEFAULTSIZE, h=IEM_SL_DEFAULTSIZE; 581 int w=IEM_GUI_DEFAULTSIZE, h=IEM_SL_DEFAULTSIZE;
582#ifdef ROCKBOX
583 int lilo=0, ldx=0, ldy=-8;
584#else
509 int lilo=0, f=0, ldx=0, ldy=-8; 585 int lilo=0, f=0, ldx=0, ldy=-8;
586#endif
510 int fs=8, v=0, steady=1; 587 int fs=8, v=0, steady=1;
511 double min=0.0, max=(double)(IEM_SL_DEFAULTSIZE-1); 588 double min=0.0, max=(double)(IEM_SL_DEFAULTSIZE-1);
589#ifndef ROCKBOX
512 char str[144]; 590 char str[144];
591#endif
592
593#ifdef ROCKBOX
594 (void) s;
595#endif
513 596
514 iem_inttosymargs(&x->x_gui.x_isa, 0); 597 iem_inttosymargs(&x->x_gui.x_isa, 0);
515 iem_inttofstyle(&x->x_gui.x_fsf, 0); 598 iem_inttofstyle(&x->x_gui.x_fsf, 0);
@@ -581,7 +664,9 @@ static void vslider_free(t_vslider *x)
581{ 664{
582 if(x->x_gui.x_fsf.x_rcv_able) 665 if(x->x_gui.x_fsf.x_rcv_able)
583 pd_unbind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv); 666 pd_unbind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv);
667#ifndef ROCKBOX
584 gfxstub_deleteforkey(x); 668 gfxstub_deleteforkey(x);
669#endif
585} 670}
586 671
587void g_vslider_setup(void) 672void g_vslider_setup(void)
diff --git a/apps/plugins/pdbox/PDa/src/g_vumeter.c b/apps/plugins/pdbox/PDa/src/g_vumeter.c
index fb3a8fafa4..2c43fbd120 100644
--- a/apps/plugins/pdbox/PDa/src/g_vumeter.c
+++ b/apps/plugins/pdbox/PDa/src/g_vumeter.c
@@ -5,7 +5,13 @@
5/* g_7_guis.c written by Thomas Musil (c) IEM KUG Graz Austria 2000-2001 */ 5/* g_7_guis.c written by Thomas Musil (c) IEM KUG Graz Austria 2000-2001 */
6/* thanks to Miller Puckette, Guenther Geiger and Krzystof Czaja */ 6/* thanks to Miller Puckette, Guenther Geiger and Krzystof Czaja */
7 7
8 8#ifdef ROCKBOX
9#include "plugin.h"
10#include "pdbox.h"
11#include "m_pd.h"
12#include "g_canvas.h"
13#include "g_all_guis.h"
14#else /* ROCKBOX */
9#include <stdlib.h> 15#include <stdlib.h>
10#include <string.h> 16#include <string.h>
11#include <stdio.h> 17#include <stdio.h>
@@ -21,6 +27,7 @@
21#else 27#else
22#include <unistd.h> 28#include <unistd.h>
23#endif 29#endif
30#endif /* ROCKBOX */
24 31
25/* ----- vu gui-peak- & rms- vu-meter-display ---------- */ 32/* ----- vu gui-peak- & rms- vu-meter-display ---------- */
26 33
@@ -31,6 +38,10 @@ static t_class *vu_class;
31 38
32static void vu_update_rms(t_vu *x, t_glist *glist) 39static void vu_update_rms(t_vu *x, t_glist *glist)
33{ 40{
41#ifdef ROCKBOX
42 (void) x;
43 (void) glist;
44#else /* ROCKBOX */
34 if(glist_isvisible(glist)) 45 if(glist_isvisible(glist))
35 { 46 {
36 int w4=x->x_gui.x_w/4, off=text_ypix(&x->x_gui.x_obj, glist)-1; 47 int w4=x->x_gui.x_w/4, off=text_ypix(&x->x_gui.x_obj, glist)-1;
@@ -40,10 +51,15 @@ static void vu_update_rms(t_vu *x, t_glist *glist)
40 glist_getcanvas(glist), x, quad1, off, quad3, 51 glist_getcanvas(glist), x, quad1, off, quad3,
41 off + (x->x_led_size+1)*(IEM_VU_STEPS-x->x_rms)); 52 off + (x->x_led_size+1)*(IEM_VU_STEPS-x->x_rms));
42 } 53 }
54#endif /* ROCKBOX */
43} 55}
44 56
45static void vu_update_peak(t_vu *x, t_glist *glist) 57static void vu_update_peak(t_vu *x, t_glist *glist)
46{ 58{
59#ifdef ROCKBOX
60 (void) x;
61 (void) glist;
62#else /* ROCKBOX */
47 t_canvas *canvas=glist_getcanvas(glist); 63 t_canvas *canvas=glist_getcanvas(glist);
48 64
49 if(glist_isvisible(glist)) 65 if(glist_isvisible(glist))
@@ -74,10 +90,15 @@ static void vu_update_peak(t_vu *x, t_glist *glist)
74 mid, ypos+20); 90 mid, ypos+20);
75 } 91 }
76 } 92 }
93#endif /* ROCKBOX */
77} 94}
78 95
79static void vu_draw_new(t_vu *x, t_glist *glist) 96static void vu_draw_new(t_vu *x, t_glist *glist)
80{ 97{
98#ifdef ROCKBOX
99 (void) x;
100 (void) glist;
101#else /* ROCKBOX */
81 t_canvas *canvas=glist_getcanvas(glist); 102 t_canvas *canvas=glist_getcanvas(glist);
82 103
83 int xpos=text_xpix(&x->x_gui.x_obj, glist); 104 int xpos=text_xpix(&x->x_gui.x_obj, glist);
@@ -151,11 +172,16 @@ static void vu_draw_new(t_vu *x, t_glist *glist)
151 xpos+x->x_gui.x_w+1, ypos-1, 172 xpos+x->x_gui.x_w+1, ypos-1,
152 x, 1); 173 x, 1);
153 } 174 }
175#endif /* ROCKBOX */
154} 176}
155 177
156 178
157static void vu_draw_move(t_vu *x, t_glist *glist) 179static void vu_draw_move(t_vu *x, t_glist *glist)
158{ 180{
181#ifdef ROCKBOX
182 (void) x;
183 (void) glist;
184#else /* ROCKBOX */
159 t_canvas *canvas=glist_getcanvas(glist); 185 t_canvas *canvas=glist_getcanvas(glist);
160 186
161 int xpos=text_xpix(&x->x_gui.x_obj, glist); 187 int xpos=text_xpix(&x->x_gui.x_obj, glist);
@@ -212,10 +238,15 @@ static void vu_draw_move(t_vu *x, t_glist *glist)
212 xpos+x->x_gui.x_w+1-IOWIDTH, ypos-2, 238 xpos+x->x_gui.x_w+1-IOWIDTH, ypos-2,
213 xpos+x->x_gui.x_w+1, ypos-1); 239 xpos+x->x_gui.x_w+1, ypos-1);
214 } 240 }
241#endif /* ROCKBOX */
215} 242}
216 243
217static void vu_draw_erase(t_vu* x,t_glist* glist) 244static void vu_draw_erase(t_vu* x,t_glist* glist)
218{ 245{
246#ifdef ROCKBOX
247 (void) x;
248 (void) glist;
249#else /* ROCKBOX */
219 int i; 250 int i;
220 t_canvas *canvas=glist_getcanvas(glist); 251 t_canvas *canvas=glist_getcanvas(glist);
221 252
@@ -244,10 +275,15 @@ static void vu_draw_erase(t_vu* x,t_glist* glist)
244 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0); 275 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0);
245 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 1); 276 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 1);
246 } 277 }
278#endif /* ROCKBOX */
247} 279}
248 280
249static void vu_draw_config(t_vu* x, t_glist* glist) 281static void vu_draw_config(t_vu* x, t_glist* glist)
250{ 282{
283#ifdef ROCKBOX
284 (void) x;
285 (void) glist;
286#else /* ROCKBOX */
251 int i; 287 int i;
252 t_canvas *canvas=glist_getcanvas(glist); 288 t_canvas *canvas=glist_getcanvas(glist);
253 289
@@ -277,10 +313,16 @@ static void vu_draw_config(t_vu* x, t_glist* glist)
277 x, x->x_gui.x_bcol, x->x_gui.x_bcol); 313 x, x->x_gui.x_bcol, x->x_gui.x_bcol);
278 sys_vgui(".x%x.c itemconfigure %xPLED -width %d\n", canvas, x, 314 sys_vgui(".x%x.c itemconfigure %xPLED -width %d\n", canvas, x,
279 x->x_led_size); 315 x->x_led_size);
316#endif /* ROCKBOX */
280} 317}
281 318
282static void vu_draw_io(t_vu* x, t_glist* glist, int old_snd_rcv_flags) 319static void vu_draw_io(t_vu* x, t_glist* glist, int old_snd_rcv_flags)
283{ 320{
321#ifdef ROCKBOX
322 (void) x;
323 (void) glist;
324 (void) old_snd_rcv_flags;
325#else /* ROCKBOX */
284 int xpos=text_xpix(&x->x_gui.x_obj, glist); 326 int xpos=text_xpix(&x->x_gui.x_obj, glist);
285 int ypos=text_ypix(&x->x_gui.x_obj, glist); 327 int ypos=text_ypix(&x->x_gui.x_obj, glist);
286 t_canvas *canvas=glist_getcanvas(glist); 328 t_canvas *canvas=glist_getcanvas(glist);
@@ -321,10 +363,15 @@ static void vu_draw_io(t_vu* x, t_glist* glist, int old_snd_rcv_flags)
321 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0); 363 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 0);
322 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 1); 364 sys_vgui(".x%x.c delete %xIN%d\n", canvas, x, 1);
323 } 365 }
366#endif /* ROCKBOX */
324} 367}
325 368
326static void vu_draw_select(t_vu* x,t_glist* glist) 369static void vu_draw_select(t_vu* x,t_glist* glist)
327{ 370{
371#ifdef ROCKBOX
372 (void) x;
373 (void) glist;
374#else /* ROCKBOX */
328 int i; 375 int i;
329 t_canvas *canvas=glist_getcanvas(glist); 376 t_canvas *canvas=glist_getcanvas(glist);
330 377
@@ -362,6 +409,7 @@ static void vu_draw_select(t_vu* x,t_glist* glist)
362 } 409 }
363 sys_vgui(".x%x.c itemconfigure %xLABEL -fill #%6.6x\n", canvas, x, x->x_gui.x_lcol); 410 sys_vgui(".x%x.c itemconfigure %xLABEL -fill #%6.6x\n", canvas, x, x->x_gui.x_lcol);
364 } 411 }
412#endif /* ROCKBOX */
365} 413}
366 414
367void vu_draw(t_vu *x, t_glist *glist, int mode) 415void vu_draw(t_vu *x, t_glist *glist, int mode)
@@ -425,6 +473,10 @@ void vu_check_height(t_vu *x, int h)
425 473
426static void vu_scale(t_vu *x, t_floatarg fscale) 474static void vu_scale(t_vu *x, t_floatarg fscale)
427{ 475{
476#ifdef ROCKBOX
477 (void) x;
478 (void) fscale;
479#else /* ROCKBOX */
428 int i, scale = (int)fscale; 480 int i, scale = (int)fscale;
429 481
430 if(scale != 0) scale = 1; 482 if(scale != 0) scale = 1;
@@ -446,7 +498,11 @@ static void vu_scale(t_vu *x, t_floatarg fscale)
446 } 498 }
447 if(!x->x_scale && scale) 499 if(!x->x_scale && scale)
448 { 500 {
501#ifdef ROCKBOX
502 int end=text_xpix(&x->x_gui.x_obj, x->x_gui.x_glist)+x->x_gui.x_w+4;
503#else /* ROCKBOX */
449 int w4=x->x_gui.x_w/4, end=text_xpix(&x->x_gui.x_obj, x->x_gui.x_glist)+x->x_gui.x_w+4; 504 int w4=x->x_gui.x_w/4, end=text_xpix(&x->x_gui.x_obj, x->x_gui.x_glist)+x->x_gui.x_w+4;
505#endif /* ROCKBOX */
450 int k1=x->x_led_size+1, k2=IEM_VU_STEPS+1, k3=k1/2; 506 int k1=x->x_led_size+1, k2=IEM_VU_STEPS+1, k3=k1/2;
451 int yyy, k4=text_ypix(&x->x_gui.x_obj, x->x_gui.x_glist)-k3; 507 int yyy, k4=text_ypix(&x->x_gui.x_obj, x->x_gui.x_glist)-k3;
452 t_canvas *canvas=glist_getcanvas(x->x_gui.x_glist); 508 t_canvas *canvas=glist_getcanvas(x->x_gui.x_glist);
@@ -471,10 +527,15 @@ static void vu_scale(t_vu *x, t_floatarg fscale)
471 x->x_gui.x_lcol, x, i); 527 x->x_gui.x_lcol, x, i);
472 } 528 }
473 } 529 }
530#endif /* ROCKBOX */
474} 531}
475 532
476static void vu_properties(t_gobj *z, t_glist *owner) 533static void vu_properties(t_gobj *z, t_glist *owner)
477{ 534{
535#ifdef ROCKBOX
536 (void) z;
537 (void) owner;
538#else /* ROCKBOX */
478 t_vu *x = (t_vu *)z; 539 t_vu *x = (t_vu *)z;
479 char buf[800]; 540 char buf[800];
480 t_symbol *srl[3]; 541 t_symbol *srl[3];
@@ -496,6 +557,7 @@ static void vu_properties(t_gobj *z, t_glist *owner)
496 x->x_gui.x_fsf.x_font_style, x->x_gui.x_fontsize, 557 x->x_gui.x_fsf.x_font_style, x->x_gui.x_fontsize,
497 0xffffff & x->x_gui.x_bcol, -1/*no front-color*/, 0xffffff & x->x_gui.x_lcol); 558 0xffffff & x->x_gui.x_bcol, -1/*no front-color*/, 0xffffff & x->x_gui.x_lcol);
498 gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf); 559 gfxstub_new(&x->x_gui.x_obj.ob_pd, x, buf);
560#endif /* ROCKBOX */
499} 561}
500 562
501static void vu_dialog(t_vu *x, t_symbol *s, int argc, t_atom *argv) 563static void vu_dialog(t_vu *x, t_symbol *s, int argc, t_atom *argv)
@@ -506,6 +568,10 @@ static void vu_dialog(t_vu *x, t_symbol *s, int argc, t_atom *argv)
506 int scale = (int)atom_getintarg(4, argc, argv); 568 int scale = (int)atom_getintarg(4, argc, argv);
507 int sr_flags; 569 int sr_flags;
508 570
571#ifdef ROCKBOX
572 (void) s;
573#endif
574
509 srl[0] = gensym("empty"); 575 srl[0] = gensym("empty");
510 sr_flags = iemgui_dialog(&x->x_gui, srl, argc, argv); 576 sr_flags = iemgui_dialog(&x->x_gui, srl, argc, argv);
511 x->x_gui.x_fsf.x_snd_able = 0; 577 x->x_gui.x_fsf.x_snd_able = 0;
@@ -523,6 +589,9 @@ static void vu_dialog(t_vu *x, t_symbol *s, int argc, t_atom *argv)
523 589
524static void vu_size(t_vu *x, t_symbol *s, int ac, t_atom *av) 590static void vu_size(t_vu *x, t_symbol *s, int ac, t_atom *av)
525{ 591{
592#ifdef ROCKBOX
593 (void) s;
594#endif
526 x->x_gui.x_w = iemgui_clip_size((int)atom_getintarg(0, ac, av)); 595 x->x_gui.x_w = iemgui_clip_size((int)atom_getintarg(0, ac, av));
527 if(ac > 1) 596 if(ac > 1)
528 vu_check_height(x, (int)atom_getintarg(1, ac, av)); 597 vu_check_height(x, (int)atom_getintarg(1, ac, av));
@@ -608,9 +677,14 @@ static void *vu_new(t_symbol *s, int argc, t_atom *argv)
608 t_vu *x = (t_vu *)pd_new(vu_class); 677 t_vu *x = (t_vu *)pd_new(vu_class);
609 int bflcol[]={-66577, -1, -1}; 678 int bflcol[]={-66577, -1, -1};
610 int w=IEM_GUI_DEFAULTSIZE, h=IEM_VU_STEPS*IEM_VU_DEFAULTSIZE; 679 int w=IEM_GUI_DEFAULTSIZE, h=IEM_VU_STEPS*IEM_VU_DEFAULTSIZE;
680#ifdef ROCKBOX
681 int ldx=-1, ldy=-8, fs=8, scale=1;
682 (void) s;
683#else /* ROCKBOX */
611 int ldx=-1, ldy=-8, f=0, fs=8, scale=1; 684 int ldx=-1, ldy=-8, f=0, fs=8, scale=1;
612 int ftbreak=IEM_BNG_DEFAULTBREAKFLASHTIME, fthold=IEM_BNG_DEFAULTHOLDFLASHTIME; 685 int ftbreak=IEM_BNG_DEFAULTBREAKFLASHTIME, fthold=IEM_BNG_DEFAULTHOLDFLASHTIME;
613 char str[144]; 686 char str[144];
687#endif /* ROCKBOX */
614 688
615 iem_inttosymargs(&x->x_gui.x_isa, 0); 689 iem_inttosymargs(&x->x_gui.x_isa, 0);
616 iem_inttofstyle(&x->x_gui.x_fsf, 0); 690 iem_inttofstyle(&x->x_gui.x_fsf, 0);
@@ -678,7 +752,9 @@ static void vu_free(t_vu *x)
678{ 752{
679 if(x->x_gui.x_fsf.x_rcv_able) 753 if(x->x_gui.x_fsf.x_rcv_able)
680 pd_unbind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv); 754 pd_unbind(&x->x_gui.x_obj.ob_pd, x->x_gui.x_rcv);
755#ifndef ROCKBOX
681 gfxstub_deleteforkey(x); 756 gfxstub_deleteforkey(x);
757#endif
682} 758}
683 759
684void g_vumeter_setup(void) 760void g_vumeter_setup(void)
diff --git a/apps/plugins/pdbox/PDa/src/m_atom.c b/apps/plugins/pdbox/PDa/src/m_atom.c
index f2ed3a0b65..4d30c1b3de 100644
--- a/apps/plugins/pdbox/PDa/src/m_atom.c
+++ b/apps/plugins/pdbox/PDa/src/m_atom.c
@@ -3,8 +3,14 @@
3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ 3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
4 4
5#include "m_pd.h" 5#include "m_pd.h"
6
7#ifdef ROCKBOX
8#include "plugin.h"
9#include "pdbox.h"
10#else /* ROCKBOX */
6#include <stdio.h> 11#include <stdio.h>
7#include <string.h> 12#include <string.h>
13#endif /* ROCKBOX */
8 14
9 /* convenience routines for checking and getting values of 15 /* convenience routines for checking and getting values of
10 atoms. There's no "pointer" version since there's nothing 16 atoms. There's no "pointer" version since there's nothing
@@ -23,7 +29,9 @@ t_int atom_getint(t_atom *a)
23 29
24t_symbol *atom_getsymbol(t_atom *a) /* LATER think about this more carefully */ 30t_symbol *atom_getsymbol(t_atom *a) /* LATER think about this more carefully */
25{ 31{
32#ifndef ROCKBOX
26 char buf[30]; 33 char buf[30];
34#endif
27 if (a->a_type == A_SYMBOL) return (a->a_w.w_symbol); 35 if (a->a_type == A_SYMBOL) return (a->a_w.w_symbol);
28 else return (&s_float); 36 else return (&s_float);
29} 37}
@@ -33,7 +41,11 @@ t_symbol *atom_gensym(t_atom *a) /* this works better for graph labels */
33 char buf[30]; 41 char buf[30];
34 if (a->a_type == A_SYMBOL) return (a->a_w.w_symbol); 42 if (a->a_type == A_SYMBOL) return (a->a_w.w_symbol);
35 else if (a->a_type == A_FLOAT) 43 else if (a->a_type == A_FLOAT)
44#ifdef ROCKBOX
45 ftoan(a->a_w.w_float, buf, sizeof(buf)-1);
46#else
36 sprintf(buf, "%g", a->a_w.w_float); 47 sprintf(buf, "%g", a->a_w.w_float);
48#endif
37 else strcpy(buf, "???"); 49 else strcpy(buf, "???");
38 return (gensym(buf)); 50 return (gensym(buf));
39} 51}
@@ -76,7 +88,11 @@ void atom_string(t_atom *a, char *buf, unsigned int bufsize)
76 strcpy(buf, "(pointer)"); 88 strcpy(buf, "(pointer)");
77 break; 89 break;
78 case A_FLOAT: 90 case A_FLOAT:
91#ifdef ROCKBOX
92 ftoan(a->a_w.w_float, tbuf, sizeof(tbuf)-1);
93#else
79 sprintf(tbuf, "%g", a->a_w.w_float); 94 sprintf(tbuf, "%g", a->a_w.w_float);
95#endif
80 if (strlen(tbuf) < bufsize-1) strcpy(buf, tbuf); 96 if (strlen(tbuf) < bufsize-1) strcpy(buf, tbuf);
81 else if (a->a_w.w_float < 0) strcpy(buf, "-"); 97 else if (a->a_w.w_float < 0) strcpy(buf, "-");
82 else strcat(buf, "+"); 98 else strcat(buf, "+");
@@ -118,10 +134,10 @@ void atom_string(t_atom *a, char *buf, unsigned int bufsize)
118 } 134 }
119 break; 135 break;
120 case A_DOLLAR: 136 case A_DOLLAR:
121 sprintf(buf, "$%d", a->a_w.w_index); 137 snprintf(buf, bufsize-1, "$%d", a->a_w.w_index);
122 break; 138 break;
123 case A_DOLLSYM: 139 case A_DOLLSYM:
124 sprintf(buf, "$%s", a->a_w.w_symbol->s_name); 140 snprintf(buf, bufsize-1, "$%s", a->a_w.w_symbol->s_name);
125 break; 141 break;
126 default: 142 default:
127 bug("atom_string"); 143 bug("atom_string");
diff --git a/apps/plugins/pdbox/PDa/src/m_binbuf.c b/apps/plugins/pdbox/PDa/src/m_binbuf.c
index 03a560db7b..224d269559 100644
--- a/apps/plugins/pdbox/PDa/src/m_binbuf.c
+++ b/apps/plugins/pdbox/PDa/src/m_binbuf.c
@@ -10,9 +10,15 @@
10 * change marked with IOhannes 10 * change marked with IOhannes
11 */ 11 */
12 12
13#ifdef ROCKBOX
14#include "plugin.h"
15#include "pdbox.h"
16#ifdef SIMULATOR
17int printf(const char *fmt, ...);
18void perror(const char*);
19#endif
20#else /* ROCKBOX */
13#include <stdlib.h> 21#include <stdlib.h>
14#include "m_pd.h"
15#include "s_stuff.h"
16#include <stdio.h> 22#include <stdio.h>
17#ifdef UNIX 23#ifdef UNIX
18#include <unistd.h> 24#include <unistd.h>
@@ -21,8 +27,13 @@
21#include <io.h> 27#include <io.h>
22#endif 28#endif
23#include <fcntl.h> 29#include <fcntl.h>
30
24#include <string.h> 31#include <string.h>
25#include <stdarg.h> 32#include <stdarg.h>
33#endif /* ROCKBOX */
34
35#include "m_pd.h"
36#include "s_stuff.h"
26 37
27struct _binbuf 38struct _binbuf
28{ 39{
@@ -72,7 +83,9 @@ void binbuf_text(t_binbuf *x, char *text, size_t size)
72 x->b_n = 0; 83 x->b_n = 0;
73 while (1) 84 while (1)
74 { 85 {
86#ifndef ROCKBOX
75 int type; 87 int type;
88#endif
76 /* skip leading space */ 89 /* skip leading space */
77 while ((textp != etext) && (*textp == ' ' || *textp == '\n' 90 while ((textp != etext) && (*textp == ' ' || *textp == '\n'
78 || *textp == '\r' || *textp == '\t')) textp++; 91 || *textp == '\r' || *textp == '\t')) textp++;
@@ -158,6 +171,7 @@ void binbuf_text(t_binbuf *x, char *text, size_t size)
158#if 0 171#if 0
159 post("buf %s", buf); 172 post("buf %s", buf);
160#endif 173#endif
174
161 if (*buf == '$' && buf[1] >= '0' && buf[1] <= '9' && !firstslash) 175 if (*buf == '$' && buf[1] >= '0' && buf[1] <= '9' && !firstslash)
162 { 176 {
163 for (bufp = buf+2; *bufp; bufp++) 177 for (bufp = buf+2; *bufp; bufp++)
@@ -219,7 +233,7 @@ void binbuf_gettext(t_binbuf *x, char **bufp, int *lengthp)
219 } 233 }
220 if (length && buf[length-1] == ' ') 234 if (length && buf[length-1] == ' ')
221 { 235 {
222 if (newbuf = t_resizebytes(buf, length, length-1)) 236 if((newbuf = t_resizebytes(buf, length, length-1)))
223 { 237 {
224 buf = newbuf; 238 buf = newbuf;
225 length--; 239 length--;
@@ -236,8 +250,8 @@ void binbuf_add(t_binbuf *x, int argc, t_atom *argv)
236{ 250{
237 int newsize = x->b_n + argc, i; 251 int newsize = x->b_n + argc, i;
238 t_atom *ap; 252 t_atom *ap;
239 if (ap = t_resizebytes(x->b_vec, x->b_n * sizeof(*x->b_vec), 253 if((ap = t_resizebytes(x->b_vec, x->b_n * sizeof(*x->b_vec),
240 newsize * sizeof(*x->b_vec))) 254 newsize * sizeof(*x->b_vec))))
241 x->b_vec = ap; 255 x->b_vec = ap;
242 else 256 else
243 { 257 {
@@ -310,11 +324,19 @@ void binbuf_addbinbuf(t_binbuf *x, t_binbuf *y)
310 SETSYMBOL(ap, gensym(",")); 324 SETSYMBOL(ap, gensym(","));
311 break; 325 break;
312 case A_DOLLAR: 326 case A_DOLLAR:
327#ifdef ROCKBOX
328 snprintf(tbuf, sizeof(tbuf)-1, "$%d", ap->a_w.w_index);
329#else /* ROCKBOX */
313 sprintf(tbuf, "$%d", ap->a_w.w_index); 330 sprintf(tbuf, "$%d", ap->a_w.w_index);
331#endif /* ROCKBOX */
314 SETSYMBOL(ap, gensym(tbuf)); 332 SETSYMBOL(ap, gensym(tbuf));
315 break; 333 break;
316 case A_DOLLSYM: 334 case A_DOLLSYM:
335#ifdef ROCKBOX
336 snprintf(tbuf, sizeof(tbuf)-1, "$%s", ap->a_w.w_symbol->s_name);
337#else /* ROCKBOX */
317 sprintf(tbuf, "$%s", ap->a_w.w_symbol->s_name); 338 sprintf(tbuf, "$%s", ap->a_w.w_symbol->s_name);
339#endif /* ROCKBOX */
318 SETSYMBOL(ap, gensym(tbuf)); 340 SETSYMBOL(ap, gensym(tbuf));
319 break; 341 break;
320 case A_SYMBOL: 342 case A_SYMBOL:
@@ -346,8 +368,8 @@ void binbuf_restore(t_binbuf *x, int argc, t_atom *argv)
346{ 368{
347 int newsize = x->b_n + argc, i; 369 int newsize = x->b_n + argc, i;
348 t_atom *ap; 370 t_atom *ap;
349 if (ap = t_resizebytes(x->b_vec, x->b_n * sizeof(*x->b_vec), 371 if((ap = t_resizebytes(x->b_vec, x->b_n * sizeof(*x->b_vec),
350 newsize * sizeof(*x->b_vec))) 372 newsize * sizeof(*x->b_vec))))
351 x->b_vec = ap; 373 x->b_vec = ap;
352 else 374 else
353 { 375 {
@@ -374,7 +396,11 @@ void binbuf_restore(t_binbuf *x, int argc, t_atom *argv)
374 else 396 else
375 { 397 {
376 int dollar = 0; 398 int dollar = 0;
399#ifdef ROCKBOX
400 dollar = atoi(argv->a_w.w_symbol->s_name + 1);
401#else
377 sscanf(argv->a_w.w_symbol->s_name + 1, "%d", &dollar); 402 sscanf(argv->a_w.w_symbol->s_name + 1, "%d", &dollar);
403#endif
378 SETDOLLAR(ap, dollar); 404 SETDOLLAR(ap, dollar);
379 } 405 }
380 } 406 }
@@ -430,10 +456,18 @@ t_symbol *binbuf_realizedollsym(t_symbol *s, int ac, t_atom *av, int tonew)
430 { 456 {
431 if (!tonew) 457 if (!tonew)
432 return (0); 458 return (0);
459#ifdef ROCKBOX
460 else snprintf(buf, sizeof(buf)-1, "$%d", argno);
461#else /* ROCKBOX */
433 else sprintf(buf, "$%d", argno); 462 else sprintf(buf, "$%d", argno);
463#endif /* ROCKBOX */
434 } 464 }
435 else if (argno == 0) 465 else if (argno == 0)
466#ifdef ROCKBOX
467 snprintf(buf, sizeof(buf)-1, "%d", canvas_getdollarzero());
468#else /* ROCKBOX */
436 sprintf(buf, "%d", canvas_getdollarzero()); 469 sprintf(buf, "%d", canvas_getdollarzero());
470#endif /* ROCKBOX */
437 else 471 else
438 atom_string(av+(argno-1), buf, MAXPDSTRING/2-1); 472 atom_string(av+(argno-1), buf, MAXPDSTRING/2-1);
439 strncat(buf, sp, MAXPDSTRING/2-1); 473 strncat(buf, sp, MAXPDSTRING/2-1);
@@ -582,6 +616,10 @@ void binbuf_eval(t_binbuf *x, t_pd *target, int argc, t_atom *argv)
582 if (nargs == 1) pd_float(target, stackwas->a_w.w_float); 616 if (nargs == 1) pd_float(target, stackwas->a_w.w_float);
583 else pd_list(target, 0, nargs, stackwas); 617 else pd_list(target, 0, nargs, stackwas);
584 break; 618 break;
619#ifdef ROCKBOX
620 default:
621 break;
622#endif
585 } 623 }
586 } 624 }
587 msp = stackwas; 625 msp = stackwas;
@@ -606,12 +644,14 @@ static int binbuf_doopen(char *s, int mode)
606 return (open(namebuf, mode)); 644 return (open(namebuf, mode));
607} 645}
608 646
647#ifndef ROCKBOX
609static FILE *binbuf_dofopen(char *s, char *mode) 648static FILE *binbuf_dofopen(char *s, char *mode)
610{ 649{
611 char namebuf[MAXPDSTRING]; 650 char namebuf[MAXPDSTRING];
612 sys_bashfilename(s, namebuf); 651 sys_bashfilename(s, namebuf);
613 return (fopen(namebuf, mode)); 652 return (fopen(namebuf, mode));
614} 653}
654#endif
615 655
616int binbuf_read(t_binbuf *b, char *filename, char *dirname, int crflag) 656int binbuf_read(t_binbuf *b, char *filename, char *dirname, int crflag)
617{ 657{
@@ -620,30 +660,51 @@ int binbuf_read(t_binbuf *b, char *filename, char *dirname, int crflag)
620 int readret; 660 int readret;
621 char *buf; 661 char *buf;
622 char namebuf[MAXPDSTRING]; 662 char namebuf[MAXPDSTRING];
623 663
624 namebuf[0] = 0; 664 namebuf[0] = 0;
625 if (*dirname) 665 if (*dirname)
626 strcat(namebuf, dirname), strcat(namebuf, "/"); 666 strcat(namebuf, dirname), strcat(namebuf, "/");
627 strcat(namebuf, filename); 667 strcat(namebuf, filename);
628 668
629 if ((fd = binbuf_doopen(namebuf, 0)) < 0) 669 if ((fd = binbuf_doopen(namebuf, 0)) < 0)
630 { 670 {
671#ifdef ROCKBOX
672#ifdef SIMULATOR
673 printf("open: ");
674 perror(namebuf);
675#endif /* SIMULATOR */
676#else /* ROCKBOX */
631 fprintf(stderr, "open: "); 677 fprintf(stderr, "open: ");
632 perror(namebuf); 678 perror(namebuf);
679#endif /* ROCKBOX */
633 return (1); 680 return (1);
634 } 681 }
635 if ((length = lseek(fd, 0, SEEK_END)) < 0 || lseek(fd, 0, SEEK_SET) < 0 682 if ((length = lseek(fd, 0, SEEK_END)) < 0 || lseek(fd, 0, SEEK_SET) < 0
636 || !(buf = t_getbytes(length))) 683 || !(buf = t_getbytes(length)))
637 { 684 {
685#ifdef ROCKBOX
686#ifdef SIMULATOR
687 printf("lseek: ");
688 perror(namebuf);
689#endif /* SIMULATOR */
690#else /* ROCKBOX */
638 fprintf(stderr, "lseek: "); 691 fprintf(stderr, "lseek: ");
639 perror(namebuf); 692 perror(namebuf);
693#endif /* ROCKBOX */
640 close(fd); 694 close(fd);
641 return(1); 695 return(1);
642 } 696 }
643 if ((readret = read(fd, buf, length)) < length) 697 if ((readret = read(fd, buf, length)) < length)
644 { 698 {
699#ifdef ROCKBOX
700#ifdef SIMULATOR
701 printf("read (%d %ld) -> %d\n", fd, length, readret);
702 perror(namebuf);
703#endif /* SIMULATOR */
704#else /* ROCKBOX */
645 fprintf(stderr, "read (%d %ld) -> %d\n", fd, length, readret); 705 fprintf(stderr, "read (%d %ld) -> %d\n", fd, length, readret);
646 perror(namebuf); 706 perror(namebuf);
707#endif /* ROCKBOX */
647 close(fd); 708 close(fd);
648 t_freebytes(buf, length); 709 t_freebytes(buf, length);
649 return(1); 710 return(1);
@@ -691,7 +752,11 @@ static t_binbuf *binbuf_convert(t_binbuf *oldb, int maxtopd);
691 semicolons. */ 752 semicolons. */
692int binbuf_write(t_binbuf *x, char *filename, char *dir, int crflag) 753int binbuf_write(t_binbuf *x, char *filename, char *dir, int crflag)
693{ 754{
755#ifdef ROCKBOX
756 int f = 0;
757#else /* ROCKBOX */
694 FILE *f = 0; 758 FILE *f = 0;
759#endif /* ROCKBOX */
695 char sbuf[WBUFSIZE], fbuf[MAXPDSTRING], *bp = sbuf, *ep = sbuf + WBUFSIZE; 760 char sbuf[WBUFSIZE], fbuf[MAXPDSTRING], *bp = sbuf, *ep = sbuf + WBUFSIZE;
696 t_atom *ap; 761 t_atom *ap;
697 int indx, deleteit = 0; 762 int indx, deleteit = 0;
@@ -707,9 +772,19 @@ int binbuf_write(t_binbuf *x, char *filename, char *dir, int crflag)
707 deleteit = 1; 772 deleteit = 1;
708 } 773 }
709 774
775#ifdef ROCKBOX
776 if(!(f = binbuf_doopen(fbuf, O_WRONLY|O_CREAT|O_TRUNC)))
777#else /* ROCKBOX */
710 if (!(f = binbuf_dofopen(fbuf, "w"))) 778 if (!(f = binbuf_dofopen(fbuf, "w")))
779#endif /* ROCKBOX */
711 { 780 {
781#ifdef ROCKBOX
782#ifdef SIMULATOR
783 printf("open: ");
784#endif /* SIMULATOR */
785#else /* ROCKBOX */
712 fprintf(stderr, "open: "); 786 fprintf(stderr, "open: ");
787#endif /* ROCKBOX */
713 sys_unixerror(fbuf); 788 sys_unixerror(fbuf);
714 goto fail; 789 goto fail;
715 } 790 }
@@ -723,7 +798,11 @@ int binbuf_write(t_binbuf *x, char *filename, char *dir, int crflag)
723 else length = 40; 798 else length = 40;
724 if (ep - bp < length) 799 if (ep - bp < length)
725 { 800 {
801#ifdef ROCKBOX
802 if(write(f, sbuf, bp-sbuf) < 1)
803#else /* ROCKBOX */
726 if (fwrite(sbuf, bp-sbuf, 1, f) < 1) 804 if (fwrite(sbuf, bp-sbuf, 1, f) < 1)
805#endif /* ROCKBOX */
727 { 806 {
728 sys_unixerror(fbuf); 807 sys_unixerror(fbuf);
729 goto fail; 808 goto fail;
@@ -750,20 +829,32 @@ int binbuf_write(t_binbuf *x, char *filename, char *dir, int crflag)
750 ncolumn++; 829 ncolumn++;
751 } 830 }
752 } 831 }
832#ifdef ROCKBOX
833 if(write(f, sbuf, bp-sbuf) < 1)
834#else /* ROCKBOX */
753 if (fwrite(sbuf, bp-sbuf, 1, f) < 1) 835 if (fwrite(sbuf, bp-sbuf, 1, f) < 1)
836#endif /* ROCKBOX */
754 { 837 {
755 sys_unixerror(fbuf); 838 sys_unixerror(fbuf);
756 goto fail; 839 goto fail;
757 } 840 }
758 if (deleteit) 841 if (deleteit)
759 binbuf_free(x); 842 binbuf_free(x);
843#ifdef ROCKBOX
844 close(f);
845#else /* ROCKBOX */
760 fclose(f); 846 fclose(f);
847#endif /* ROCKBOX */
761 return (0); 848 return (0);
762fail: 849fail:
763 if (deleteit) 850 if (deleteit)
764 binbuf_free(x); 851 binbuf_free(x);
765 if (f) 852 if (f)
766 fclose(f); 853#ifdef ROCKBOX
854 close(f);
855#else /* ROCKBOX */
856 fclose(f);
857#endif /* ROCKBOX */
767 return (1); 858 return (1);
768} 859}
769 860
@@ -816,13 +907,21 @@ static t_binbuf *binbuf_convert(t_binbuf *oldb, int maxtopd)
816 if (nextmess[i].a_type == A_DOLLAR) 907 if (nextmess[i].a_type == A_DOLLAR)
817 { 908 {
818 char buf[100]; 909 char buf[100];
910#ifdef ROCKBOX
911 snprintf(buf, sizeof(buf)-1, "$%d", nextmess[i].a_w.w_index);
912#else /* ROCKBOX */
819 sprintf(buf, "$%d", nextmess[i].a_w.w_index); 913 sprintf(buf, "$%d", nextmess[i].a_w.w_index);
914#endif /* ROCKBOX */
820 SETSYMBOL(nextmess+i, gensym(buf)); 915 SETSYMBOL(nextmess+i, gensym(buf));
821 } 916 }
822 else if (nextmess[i].a_type == A_DOLLSYM) 917 else if (nextmess[i].a_type == A_DOLLSYM)
823 { 918 {
824 char buf[100]; 919 char buf[100];
920#ifdef ROCKBOX
921 snprintf(buf, sizeof(buf)-1, "$%s", nextmess[i].a_w.w_symbol->s_name);
922#else /* ROCKBOX */
825 sprintf(buf, "$%s", nextmess[i].a_w.w_symbol->s_name); 923 sprintf(buf, "$%s", nextmess[i].a_w.w_symbol->s_name);
924#endif /* ROCKBOX */
826 SETSYMBOL(nextmess+i, gensym(buf)); 925 SETSYMBOL(nextmess+i, gensym(buf));
827 } 926 }
828 } 927 }
@@ -846,7 +945,11 @@ static t_binbuf *binbuf_convert(t_binbuf *oldb, int maxtopd)
846 atom_getfloatarg(2, natom, nextmess), 945 atom_getfloatarg(2, natom, nextmess),
847 atom_getfloatarg(5, natom, nextmess) - 946 atom_getfloatarg(5, natom, nextmess) -
848 atom_getfloatarg(3, natom, nextmess), 947 atom_getfloatarg(3, natom, nextmess),
948#ifdef ROCKBOX
949 10.0);
950#else
849 (float)sys_defaultfont); 951 (float)sys_defaultfont);
952#endif
850 } 953 }
851 } 954 }
852 if (!strcmp(first, "#P")) 955 if (!strcmp(first, "#P"))
@@ -1157,13 +1260,13 @@ int binbuf_match(t_binbuf *inbuf, t_binbuf *searchbuf)
1157 t_atom *a1 = &inbuf->b_vec[indexin + nmatched], 1260 t_atom *a1 = &inbuf->b_vec[indexin + nmatched],
1158 *a2 = &searchbuf->b_vec[nmatched]; 1261 *a2 = &searchbuf->b_vec[nmatched];
1159 if (a1->a_type != a2->a_type || 1262 if (a1->a_type != a2->a_type ||
1160 a1->a_type == A_SYMBOL && a1->a_w.w_symbol != a2->a_w.w_symbol 1263 (a1->a_type == A_SYMBOL && a1->a_w.w_symbol != a2->a_w.w_symbol)
1161 || 1264 ||
1162 a1->a_type == A_FLOAT && a1->a_w.w_float != a2->a_w.w_float 1265 (a1->a_type == A_FLOAT && a1->a_w.w_float != a2->a_w.w_float)
1163 || 1266 ||
1164 a1->a_type == A_DOLLAR && a1->a_w.w_index != a2->a_w.w_index 1267 (a1->a_type == A_DOLLAR && a1->a_w.w_index != a2->a_w.w_index)
1165 || 1268 ||
1166 a1->a_type == A_DOLLSYM && a1->a_w.w_symbol != a2->a_w.w_symbol) 1269 (a1->a_type == A_DOLLSYM && a1->a_w.w_symbol != a2->a_w.w_symbol))
1167 goto nomatch; 1270 goto nomatch;
1168 } 1271 }
1169 return (1); 1272 return (1);
@@ -1183,9 +1286,12 @@ void binbuf_evalfile(t_symbol *name, t_symbol *dir)
1183 /* set filename so that new canvases can pick them up */ 1286 /* set filename so that new canvases can pick them up */
1184 int dspstate = canvas_suspend_dsp(); 1287 int dspstate = canvas_suspend_dsp();
1185 glob_setfilename(0, name, dir); 1288 glob_setfilename(0, name, dir);
1289
1186 if (binbuf_read(b, name->s_name, dir->s_name, 0)) 1290 if (binbuf_read(b, name->s_name, dir->s_name, 0))
1187 { 1291 {
1292#if !defined(ROCKBOX) || (defined(ROCKBOX) && defined(SIMULATOR))
1188 perror(name->s_name); 1293 perror(name->s_name);
1294#endif
1189 } 1295 }
1190 else 1296 else
1191 { 1297 {
@@ -1205,6 +1311,10 @@ void binbuf_evalfile(t_symbol *name, t_symbol *dir)
1205void glob_evalfile(t_pd *ignore, t_symbol *name, t_symbol *dir) 1311void glob_evalfile(t_pd *ignore, t_symbol *name, t_symbol *dir)
1206{ 1312{
1207 t_pd *x = 0; 1313 t_pd *x = 0;
1314
1315#ifdef ROCKBOX
1316 (void) ignore;
1317#endif
1208 /* even though binbuf_evalfile appears to take care of dspstate, 1318 /* even though binbuf_evalfile appears to take care of dspstate,
1209 we have to do it again here, because canvas_startdsp() assumes 1319 we have to do it again here, because canvas_startdsp() assumes
1210 that all toplevel canvases are visible. LATER check if this 1320 that all toplevel canvases are visible. LATER check if this
diff --git a/apps/plugins/pdbox/PDa/src/m_class.c b/apps/plugins/pdbox/PDa/src/m_class.c
index 66cb34d921..98fe9be23d 100644
--- a/apps/plugins/pdbox/PDa/src/m_class.c
+++ b/apps/plugins/pdbox/PDa/src/m_class.c
@@ -2,10 +2,23 @@
2* For information on usage and redistribution, and for a DISCLAIMER OF ALL 2* For information on usage and redistribution, and for a DISCLAIMER OF ALL
3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ 3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
4 4
5#if 0
6//#ifdef ROCKBOX
7#include "plugin.h"
8#include "pdbox.h"
9#endif
10
5#define PD_CLASS_DEF 11#define PD_CLASS_DEF
6#include "m_pd.h" 12#include "m_pd.h"
7#include "m_imp.h" 13#include "m_imp.h"
8#include "s_stuff.h" 14#include "s_stuff.h"
15
16#ifdef ROCKBOX
17
18#include "plugin.h"
19#include "pdbox.h"
20
21#else /* ROCKBOX */
9#include <stdlib.h> 22#include <stdlib.h>
10#ifdef UNIX 23#ifdef UNIX
11#include <unistd.h> 24#include <unistd.h>
@@ -16,6 +29,7 @@
16 29
17#include <stdarg.h> 30#include <stdarg.h>
18#include <string.h> 31#include <string.h>
32#endif /* ROCKBOX */
19 33
20static t_symbol *class_loadsym; /* name under which an extern is invoked */ 34static t_symbol *class_loadsym; /* name under which an extern is invoked */
21static void pd_defaultfloat(t_pd *x, t_float f); 35static void pd_defaultfloat(t_pd *x, t_float f);
@@ -27,6 +41,10 @@ static t_symbol *class_extern_dir = &s_;
27 41
28static void pd_defaultanything(t_pd *x, t_symbol *s, int argc, t_atom *argv) 42static void pd_defaultanything(t_pd *x, t_symbol *s, int argc, t_atom *argv)
29{ 43{
44#ifdef ROCKBOX
45 (void) argc;
46 (void) argv;
47#endif
30 pd_error(x, "%s: no method for '%s'", (*x)->c_name->s_name, s->s_name); 48 pd_error(x, "%s: no method for '%s'", (*x)->c_name->s_name, s->s_name);
31} 49}
32 50
@@ -422,6 +440,10 @@ char *class_gethelpdir(t_class *c)
422 440
423static void class_nosavefn(t_gobj *z, t_binbuf *b) 441static void class_nosavefn(t_gobj *z, t_binbuf *b)
424{ 442{
443#ifdef ROCKBOX
444 (void) z;
445 (void) b;
446#endif
425 bug("save function called but not defined"); 447 bug("save function called but not defined");
426} 448}
427 449
@@ -465,7 +487,7 @@ t_symbol *dogensym(char *s, t_symbol *oldsym)
465 s2++; 487 s2++;
466 } 488 }
467 sym1 = symhash + (hash2 & (HASHSIZE-1)); 489 sym1 = symhash + (hash2 & (HASHSIZE-1));
468 while (sym2 = *sym1) 490 while ((sym2 = *sym1))
469 { 491 {
470 if (!strcmp(sym2->s_name, s)) return(sym2); 492 if (!strcmp(sym2->s_name, s)) return(sym2);
471 sym1 = &sym2->s_next; 493 sym1 = &sym2->s_next;
@@ -485,10 +507,14 @@ t_symbol *dogensym(char *s, t_symbol *oldsym)
485 507
486t_symbol *gensym(char *s) 508t_symbol *gensym(char *s)
487{ 509{
510printf("gensym: %s\n", s);
488 return(dogensym(s, 0)); 511 return(dogensym(s, 0));
489} 512}
490 513
491static t_symbol *addfileextent(t_symbol *s) 514#ifndef ROCKBOX
515static
516#endif
517t_symbol *addfileextent(t_symbol *s)
492{ 518{
493 char namebuf[MAXPDSTRING], *str = s->s_name; 519 char namebuf[MAXPDSTRING], *str = s->s_name;
494 int ln = strlen(str); 520 int ln = strlen(str);
@@ -608,7 +634,9 @@ typedef t_pd *(*t_fun6)(t_int i1, t_int i2, t_int i3, t_int i4, t_int i5, t_int
608 634
609void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv) 635void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv)
610{ 636{
637#ifndef ROCKBOX
611 t_method *f; 638 t_method *f;
639#endif
612 t_class *c = *x; 640 t_class *c = *x;
613 t_methodentry *m; 641 t_methodentry *m;
614 t_atomtype *wp, wanttype; 642 t_atomtype *wp, wanttype;
@@ -617,7 +645,7 @@ void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv)
617 t_floatarg ad[MAXPDARG+1], *dp = ad; 645 t_floatarg ad[MAXPDARG+1], *dp = ad;
618 int narg = 0; 646 int narg = 0;
619 t_pd *bonzo; 647 t_pd *bonzo;
620 648
621 /* check for messages that are handled by fixed slots in the class 649 /* check for messages that are handled by fixed slots in the class
622 structure. We don't catch "pointer" though so that sending "pointer" 650 structure. We don't catch "pointer" though so that sending "pointer"
623 to pd_objectmaker doesn't require that we supply a pointer value. */ 651 to pd_objectmaker doesn't require that we supply a pointer value. */
@@ -658,9 +686,10 @@ void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv)
658 else (*((t_messgimme)(m->me_fun)))(x, s, argc, argv); 686 else (*((t_messgimme)(m->me_fun)))(x, s, argc, argv);
659 return; 687 return;
660 } 688 }
689
661 if (argc > MAXPDARG) argc = MAXPDARG; 690 if (argc > MAXPDARG) argc = MAXPDARG;
662 if (x != &pd_objectmaker) *(ap++) = (t_int)x, narg++; 691 if (x != &pd_objectmaker) *(ap++) = (t_int)x, narg++;
663 while (wanttype = *wp++) 692 while((wanttype = *wp++))
664 { 693 {
665 switch (wanttype) 694 switch (wanttype)
666 { 695 {
@@ -712,6 +741,11 @@ void pd_typedmess(t_pd *x, t_symbol *s, int argc, t_atom *argv)
712 } 741 }
713 narg++; 742 narg++;
714 ap++; 743 ap++;
744#ifdef ROCKBOX
745 break;
746 default:
747 break;
748#endif
715 } 749 }
716 } 750 }
717 switch (narg) 751 switch (narg)
diff --git a/apps/plugins/pdbox/PDa/src/m_conf.c b/apps/plugins/pdbox/PDa/src/m_conf.c
index a3f1c70ec4..6f3fe7f795 100644
--- a/apps/plugins/pdbox/PDa/src/m_conf.c
+++ b/apps/plugins/pdbox/PDa/src/m_conf.c
@@ -51,6 +51,9 @@ void d_osc_setup(void);
51void d_soundfile_setup(void); 51void d_soundfile_setup(void);
52void d_ugen_setup(void); 52void d_ugen_setup(void);
53 53
54/* PD anywhere specific. -- W.B. */
55void d_intern_setup(void);
56
54void conf_init(void) 57void conf_init(void)
55{ 58{
56 g_array_setup(); 59 g_array_setup();
@@ -81,11 +84,15 @@ void conf_init(void)
81 x_time_setup(); 84 x_time_setup();
82 x_arithmetic_setup(); 85 x_arithmetic_setup();
83 86
87#ifndef ROCKBOX
84 x_midi_setup(); 88 x_midi_setup();
89#endif
85 x_misc_setup(); 90 x_misc_setup();
86 x_net_setup(); 91 x_net_setup();
87 x_qlist_setup(); 92 x_qlist_setup();
93#ifndef ROCKBOX
88 x_gui_setup(); 94 x_gui_setup();
95#endif
89 d_arithmetic_setup(); 96 d_arithmetic_setup();
90 d_dac_setup(); 97 d_dac_setup();
91 d_fft_setup(); 98 d_fft_setup();
diff --git a/apps/plugins/pdbox/PDa/src/m_fixed.c b/apps/plugins/pdbox/PDa/src/m_fixed.c
index 7beaa8077a..374f92cbca 100644
--- a/apps/plugins/pdbox/PDa/src/m_fixed.c
+++ b/apps/plugins/pdbox/PDa/src/m_fixed.c
@@ -1,9 +1,14 @@
1 1
2#ifdef ROCKBOX
3#include "plugin.h"
4#include "pdbox.h"
5#else /* ROCKBOX */
2#include <sys/socket.h> 6#include <sys/socket.h>
3#include <netinet/in.h> 7#include <netinet/in.h>
4#include <netinet/tcp.h> 8#include <netinet/tcp.h>
5#include <netdb.h> 9#include <netdb.h>
6#include <stdio.h> 10#include <stdio.h>
11#endif /* ROCKBOX */
7 12
8#include "m_pd.h" 13#include "m_pd.h"
9#include "m_imp.h" 14#include "m_imp.h"
@@ -21,8 +26,19 @@ static t_int x_fd = -1;
21 26
22 27
23 28
24static void ipod_connect() 29static void ipod_connect(void)
25{ 30{
31#ifdef ROCKBOX
32 if (x_fd >= 0)
33 {
34 error("ipod_connect: already connected");
35 return;
36 }
37 else
38 {
39 x_fd++;
40 }
41#else /* ROCKBOX */
26 struct sockaddr_in server; 42 struct sockaddr_in server;
27 struct hostent *hp; 43 struct hostent *hp;
28 int sockfd; 44 int sockfd;
@@ -65,6 +81,7 @@ static void ipod_connect()
65 } 81 }
66 post("connected %s %d",hostname,portno); 82 post("connected %s %d",hostname,portno);
67 x_fd = sockfd; 83 x_fd = sockfd;
84#endif /* ROCKBOX */
68} 85}
69 86
70 87
@@ -72,8 +89,13 @@ static void ipod_connect()
72static void ipod_bang(t_ipod *x) 89static void ipod_bang(t_ipod *x)
73{ 90{
74 static char sendme[200]; 91 static char sendme[200];
92#ifdef ROCKBOX
93 snprintf(sendme, sizeof(sendme)-1, "%s bang;\n", x->x_what->s_name);
94 SEND_FROM_CORE(sendme);
95#else /* ROCKBOX */
75 sprintf(sendme,"%s bang;\n",x->x_what->s_name); 96 sprintf(sendme,"%s bang;\n",x->x_what->s_name);
76 send(x_fd,sendme,strlen(sendme),0); 97 send(x_fd,sendme,strlen(sendme),0);
98#endif /*ROCKBOX */
77 99
78// if (x->x_sym->s_thing) pd_bang(x->x_sym->s_thing); 100// if (x->x_sym->s_thing) pd_bang(x->x_sym->s_thing);
79} 101}
@@ -81,9 +103,19 @@ static void ipod_bang(t_ipod *x)
81static void ipod_float(t_ipod *x, t_float f) 103static void ipod_float(t_ipod *x, t_float f)
82{ 104{
83 static char sendme[200]; 105 static char sendme[200];
106#ifdef ROCKBOX
107 char f_buf[32];
108
109 ftoan(f, f_buf, sizeof(f_buf)-1);
110 strcpy(sendme, x->x_what->s_name);
111 strcat(sendme, " ");
112 strcat(sendme, f_buf);
84 113
114 SEND_FROM_CORE(sendme);
115#else /* ROCKBOX */
85 sprintf(sendme,"%s %f;\n",x->x_what->s_name,f); 116 sprintf(sendme,"%s %f;\n",x->x_what->s_name,f);
86 send(x_fd,sendme,strlen(sendme),0); 117 send(x_fd,sendme,strlen(sendme),0);
118#endif /* ROCKBOX */
87 119
88// post("forwarding float %s",x->x_what->s_name); 120// post("forwarding float %s",x->x_what->s_name);
89// if (x->x_sym->s_thing) pd_float(x->x_sym->s_thing, f); 121// if (x->x_sym->s_thing) pd_float(x->x_sym->s_thing, f);
diff --git a/apps/plugins/pdbox/PDa/src/m_glob.c b/apps/plugins/pdbox/PDa/src/m_glob.c
index 2ec584a33d..9a036a984e 100644
--- a/apps/plugins/pdbox/PDa/src/m_glob.c
+++ b/apps/plugins/pdbox/PDa/src/m_glob.c
@@ -83,6 +83,7 @@ void glob_init(void)
83 gensym("audiostatus"), 0); 83 gensym("audiostatus"), 0);
84 class_addmethod(glob_pdobject, (t_method)glob_finderror, 84 class_addmethod(glob_pdobject, (t_method)glob_finderror,
85 gensym("finderror"), 0); 85 gensym("finderror"), 0);
86#ifndef ROCKBOX
86 class_addmethod(glob_pdobject, (t_method)glob_audio_properties, 87 class_addmethod(glob_pdobject, (t_method)glob_audio_properties,
87 gensym("audio-properties"), A_DEFFLOAT, 0); 88 gensym("audio-properties"), A_DEFFLOAT, 0);
88 class_addmethod(glob_pdobject, (t_method)glob_audio_dialog, 89 class_addmethod(glob_pdobject, (t_method)glob_audio_dialog,
@@ -93,6 +94,7 @@ void glob_init(void)
93 gensym("midi-properties"), A_DEFFLOAT, 0); 94 gensym("midi-properties"), A_DEFFLOAT, 0);
94 class_addmethod(glob_pdobject, (t_method)glob_midi_dialog, 95 class_addmethod(glob_pdobject, (t_method)glob_midi_dialog,
95 gensym("midi-dialog"), A_GIMME, 0); 96 gensym("midi-dialog"), A_GIMME, 0);
97#endif /* ROCKBOX */
96 class_addmethod(glob_pdobject, (t_method)glob_start_path_dialog, 98 class_addmethod(glob_pdobject, (t_method)glob_start_path_dialog,
97 gensym("start-path-dialog"), A_DEFFLOAT, 0); 99 gensym("start-path-dialog"), A_DEFFLOAT, 0);
98 class_addmethod(glob_pdobject, (t_method)glob_path_dialog, 100 class_addmethod(glob_pdobject, (t_method)glob_path_dialog,
diff --git a/apps/plugins/pdbox/PDa/src/m_memory.c b/apps/plugins/pdbox/PDa/src/m_memory.c
index f9ee378f87..2a05d72d2d 100644
--- a/apps/plugins/pdbox/PDa/src/m_memory.c
+++ b/apps/plugins/pdbox/PDa/src/m_memory.c
@@ -4,7 +4,7 @@
4 4
5#ifdef ROCKBOX 5#ifdef ROCKBOX
6#include "plugin.h" 6#include "plugin.h"
7#define memset rb->memset 7#include "pdbox.h"
8#else /* ROCKBOX */ 8#else /* ROCKBOX */
9#include <stdlib.h> 9#include <stdlib.h>
10#include <string.h> 10#include <string.h>
diff --git a/apps/plugins/pdbox/PDa/src/m_obj.c b/apps/plugins/pdbox/PDa/src/m_obj.c
index 785fd240bf..fa17a9052b 100644
--- a/apps/plugins/pdbox/PDa/src/m_obj.c
+++ b/apps/plugins/pdbox/PDa/src/m_obj.c
@@ -53,9 +53,9 @@ t_inlet *inlet_new(t_object *owner, t_pd *dest, t_symbol *s1, t_symbol *s2)
53 else x->i_symto = s2; 53 else x->i_symto = s2;
54 x->i_symfrom = s1; 54 x->i_symfrom = s1;
55 x->i_next = 0; 55 x->i_next = 0;
56 if (y = owner->ob_inlet) 56 if((y = owner->ob_inlet))
57 { 57 {
58 while (y2 = y->i_next) y = y2; 58 while((y2 = y->i_next)) y = y2;
59 y->i_next = x; 59 y->i_next = x;
60 } 60 }
61 else owner->ob_inlet = x; 61 else owner->ob_inlet = x;
@@ -106,7 +106,9 @@ static void inlet_symbol(t_inlet *x, t_symbol *s)
106 106
107static void inlet_list(t_inlet *x, t_symbol *s, int argc, t_atom *argv) 107static void inlet_list(t_inlet *x, t_symbol *s, int argc, t_atom *argv)
108{ 108{
109#ifndef ROCKBOX
109 t_atom at; 110 t_atom at;
111#endif
110 if (x->i_symfrom == &s_list || x->i_symfrom == &s_float 112 if (x->i_symfrom == &s_list || x->i_symfrom == &s_float
111 || x->i_symfrom == &s_symbol || x->i_symfrom == &s_pointer) 113 || x->i_symfrom == &s_symbol || x->i_symfrom == &s_pointer)
112 typedmess(x->i_dest, x->i_symto, argc, argv); 114 typedmess(x->i_dest, x->i_symto, argc, argv);
@@ -154,9 +156,9 @@ t_inlet *pointerinlet_new(t_object *owner, t_gpointer *gp)
154 x->i_symfrom = &s_pointer; 156 x->i_symfrom = &s_pointer;
155 x->i_pointerslot = gp; 157 x->i_pointerslot = gp;
156 x->i_next = 0; 158 x->i_next = 0;
157 if (y = owner->ob_inlet) 159 if((y = owner->ob_inlet))
158 { 160 {
159 while (y2 = y->i_next) y = y2; 161 while((y2 = y->i_next)) y = y2;
160 y->i_next = x; 162 y->i_next = x;
161 } 163 }
162 else owner->ob_inlet = x; 164 else owner->ob_inlet = x;
@@ -176,9 +178,9 @@ t_inlet *floatinlet_new(t_object *owner, t_float *fp)
176 x->i_symfrom = &s_float; 178 x->i_symfrom = &s_float;
177 x->i_floatslot = fp; 179 x->i_floatslot = fp;
178 x->i_next = 0; 180 x->i_next = 0;
179 if (y = owner->ob_inlet) 181 if((y = owner->ob_inlet))
180 { 182 {
181 while (y2 = y->i_next) y = y2; 183 while((y2 = y->i_next)) y = y2;
182 y->i_next = x; 184 y->i_next = x;
183 } 185 }
184 else owner->ob_inlet = x; 186 else owner->ob_inlet = x;
@@ -198,9 +200,9 @@ t_inlet *symbolinlet_new(t_object *owner, t_symbol **sp)
198 x->i_symfrom = &s_symbol; 200 x->i_symfrom = &s_symbol;
199 x->i_symslot = sp; 201 x->i_symslot = sp;
200 x->i_next = 0; 202 x->i_next = 0;
201 if (y = owner->ob_inlet) 203 if((y = owner->ob_inlet))
202 { 204 {
203 while (y2 = y->i_next) y = y2; 205 while((y2 = y->i_next)) y = y2;
204 y->i_next = x; 206 y->i_next = x;
205 } 207 }
206 else owner->ob_inlet = x; 208 else owner->ob_inlet = x;
@@ -217,6 +219,11 @@ void obj_list(t_object *x, t_symbol *s, int argc, t_atom *argv)
217 t_atom *ap; 219 t_atom *ap;
218 int count; 220 int count;
219 t_inlet *ip = ((t_object *)x)->ob_inlet; 221 t_inlet *ip = ((t_object *)x)->ob_inlet;
222
223#ifdef ROCKBOX
224 (void) s;
225#endif
226
220 if (!argc) return; 227 if (!argc) return;
221 for (count = argc-1, ap = argv+1; ip && count--; ap++, ip = ip->i_next) 228 for (count = argc-1, ap = argv+1; ip && count--; ap++, ip = ip->i_next)
222 { 229 {
@@ -296,9 +303,9 @@ t_outlet *outlet_new(t_object *owner, t_symbol *s)
296 t_outlet *x = (t_outlet *)getbytes(sizeof(*x)), *y, *y2; 303 t_outlet *x = (t_outlet *)getbytes(sizeof(*x)), *y, *y2;
297 x->o_owner = owner; 304 x->o_owner = owner;
298 x->o_next = 0; 305 x->o_next = 0;
299 if (y = owner->ob_outlet) 306 if((y = owner->ob_outlet))
300 { 307 {
301 while (y2 = y->o_next) y = y2; 308 while((y2 = y->o_next)) y = y2;
302 y->o_next = x; 309 y->o_next = x;
303 } 310 }
304 else owner->ob_outlet = x; 311 else owner->ob_outlet = x;
@@ -474,7 +481,7 @@ doit:
474 freebytes(oc, sizeof(*oc)); 481 freebytes(oc, sizeof(*oc));
475 goto done; 482 goto done;
476 } 483 }
477 while (oc2 = oc->oc_next) 484 while((oc2 = oc->oc_next))
478 { 485 {
479 if (oc2->oc_to == to) 486 if (oc2->oc_to == to)
480 { 487 {
diff --git a/apps/plugins/pdbox/PDa/src/m_pd.c b/apps/plugins/pdbox/PDa/src/m_pd.c
index e686c2cb52..25f5f2d212 100644
--- a/apps/plugins/pdbox/PDa/src/m_pd.c
+++ b/apps/plugins/pdbox/PDa/src/m_pd.c
@@ -2,10 +2,15 @@
2* For information on usage and redistribution, and for a DISCLAIMER OF ALL 2* For information on usage and redistribution, and for a DISCLAIMER OF ALL
3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ 3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
4 4
5#include <stdlib.h>
6#include "m_pd.h" 5#include "m_pd.h"
7#include "m_imp.h" 6#include "m_imp.h"
8 7
8#ifdef ROCKBOX
9void pd_checkgui(t_pd *x, t_symbol *s);
10#else /* ROCKBOX */
11#include <stdlib.h>
12#endif /* ROCKBOX */
13
9 /* FIXME no out-of-memory testing yet! */ 14 /* FIXME no out-of-memory testing yet! */
10 15
11t_pd *pd_new(t_class *c) 16t_pd *pd_new(t_class *c)
@@ -166,7 +171,7 @@ void pd_unbind(t_pd *x, t_symbol *s)
166 b->b_list = e->e_next; 171 b->b_list = e->e_next;
167 freebytes(e, sizeof(t_bindelem)); 172 freebytes(e, sizeof(t_bindelem));
168 } 173 }
169 else for (e = b->b_list; e2 = e->e_next; e = e2) 174 else for (e = b->b_list; (e2 = e->e_next); e = e2)
170 if (e2->e_who == x) 175 if (e2->e_who == x)
171 { 176 {
172 e->e_next = e2->e_next; 177 e->e_next = e2->e_next;
@@ -194,8 +199,13 @@ t_pd *pd_findbyclass(t_symbol *s, t_class *c)
194 if (*s->s_thing == bindlist_class) 199 if (*s->s_thing == bindlist_class)
195 { 200 {
196 t_bindlist *b = (t_bindlist *)s->s_thing; 201 t_bindlist *b = (t_bindlist *)s->s_thing;
202#ifdef ROCKBOX
203 t_bindelem *e;
204#else /* ROCKBOX */
197 t_bindelem *e, *e2; 205 t_bindelem *e, *e2;
206#endif /* ROCKBOX */
198 int warned = 0; 207 int warned = 0;
208
199 for (e = b->b_list; e; e = e->e_next) 209 for (e = b->b_list; e; e = e->e_next)
200 if (*e->e_who == c) 210 if (*e->e_who == c)
201 { 211 {
@@ -288,6 +298,9 @@ void pd_symbol(t_pd *x, t_symbol *s)
288 298
289void pd_list(t_pd *x, t_symbol *s, int argc, t_atom *argv) 299void pd_list(t_pd *x, t_symbol *s, int argc, t_atom *argv)
290{ 300{
301#ifdef ROCKBOX
302 (void) s;
303#endif
291 (*(*x)->c_listmethod)(x, &s_list, argc, argv); 304 (*(*x)->c_listmethod)(x, &s_list, argc, argv);
292} 305}
293 306
diff --git a/apps/plugins/pdbox/PDa/src/m_sched.c b/apps/plugins/pdbox/PDa/src/m_sched.c
index 9d3bed828a..104cc66c70 100644
--- a/apps/plugins/pdbox/PDa/src/m_sched.c
+++ b/apps/plugins/pdbox/PDa/src/m_sched.c
@@ -2,6 +2,11 @@
2* For information on usage and redistribution, and for a DISCLAIMER OF ALL 2* For information on usage and redistribution, and for a DISCLAIMER OF ALL
3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ 3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
4 4
5#ifdef ROCKBOX
6#include "plugin.h"
7#include "pdbox.h"
8#endif
9
5/* scheduling stuff */ 10/* scheduling stuff */
6 11
7#include "m_pd.h" 12#include "m_pd.h"
@@ -14,13 +19,21 @@
14 19
15 20
16/* T.Grill - enable PD global thread locking - sys_lock, sys_unlock, sys_trylock functions */ 21/* T.Grill - enable PD global thread locking - sys_lock, sys_unlock, sys_trylock functions */
17#define THREAD_LOCKING 22#ifndef ROCKBOX
23#define THREAD_LOCKING
18#include "pthread.h" 24#include "pthread.h"
25#endif
19 26
20 27
21static int sys_quit; 28static int sys_quit;
22static t_time sys_time; 29#ifndef ROCKBOX
23static t_time sys_time_per_msec = TIMEUNITPERSEC / 1000.; 30static
31#endif
32t_time sys_time;
33#ifndef ROCKBOX
34static
35#endif
36t_time sys_time_per_msec = TIMEUNITPERSEC / 1000.;
24 37
25int sys_schedblocksize = DEFDACBLKSIZE; 38int sys_schedblocksize = DEFDACBLKSIZE;
26int sys_usecsincelastsleep(void); 39int sys_usecsincelastsleep(void);
@@ -133,9 +146,12 @@ static int sys_bin[] = {0, 2, 5, 10, 20, 30, 50, 100, 1000};
133#define NBIN (sizeof(sys_bin)/sizeof(*sys_bin)) 146#define NBIN (sizeof(sys_bin)/sizeof(*sys_bin))
134#define NHIST 10 147#define NHIST 10
135static int sys_histogram[NHIST][NBIN]; 148static int sys_histogram[NHIST][NBIN];
149#ifndef ROCKBOX
136static t_time sys_histtime; 150static t_time sys_histtime;
151#endif
137static int sched_diddsp, sched_didpoll, sched_didnothing; 152static int sched_diddsp, sched_didpoll, sched_didnothing;
138 153
154#ifndef ROCKBOX
139static void sys_clearhist( void) 155static void sys_clearhist( void)
140{ 156{
141 unsigned int i, j; 157 unsigned int i, j;
@@ -144,6 +160,7 @@ static void sys_clearhist( void)
144 sys_histtime = sys_getrealtime(); 160 sys_histtime = sys_getrealtime();
145 sched_diddsp = sched_didpoll = sched_didnothing = 0; 161 sched_diddsp = sched_didpoll = sched_didnothing = 0;
146} 162}
163#endif
147 164
148void sys_printhist( void) 165void sys_printhist( void)
149{ 166{
@@ -169,10 +186,15 @@ void sys_printhist( void)
169 sched_diddsp, sched_didpoll, sched_didnothing); 186 sched_diddsp, sched_didpoll, sched_didnothing);
170} 187}
171 188
189#ifndef ROCKBOX
172static int sys_histphase; 190static int sys_histphase;
191#endif
173 192
174int sys_addhist(int phase) 193int sys_addhist(int phase)
175{ 194{
195#ifdef ROCKBOX
196 (void) phase;
197#endif
176#ifndef FIXEDPOINT 198#ifndef FIXEDPOINT
177 int i, j, phasewas = sys_histphase; 199 int i, j, phasewas = sys_histphase;
178 t_time newtime = sys_getrealtime(); 200 t_time newtime = sys_getrealtime();
@@ -216,7 +238,11 @@ static char *(oss_errornames[]) = {
216 238
217void glob_audiostatus(void) 239void glob_audiostatus(void)
218{ 240{
241#ifdef ROCKBOX
242 int nresync, nresyncphase, i;
243#else
219 int dev, nresync, nresyncphase, i; 244 int dev, nresync, nresyncphase, i;
245#endif
220 nresync = (oss_nresync >= NRESYNC ? NRESYNC : oss_nresync); 246 nresync = (oss_nresync >= NRESYNC ? NRESYNC : oss_nresync);
221 nresyncphase = oss_resyncphase - 1; 247 nresyncphase = oss_resyncphase - 1;
222 post("audio I/O error history:"); 248 post("audio I/O error history:");
@@ -251,7 +277,9 @@ void sys_log_error(int type)
251 if (type != ERR_NOTHING && !sched_diored && 277 if (type != ERR_NOTHING && !sched_diored &&
252 (sched_diddsp >= sched_dioredtime)) 278 (sched_diddsp >= sched_dioredtime))
253 { 279 {
280#ifndef ROCKBOX
254 sys_vgui("pdtk_pd_dio 1\n"); 281 sys_vgui("pdtk_pd_dio 1\n");
282#endif
255 sched_diored = 1; 283 sched_diored = 1;
256 } 284 }
257 sched_dioredtime = 285 sched_dioredtime =
@@ -263,6 +291,7 @@ static int sched_lastinclip, sched_lastoutclip,
263 291
264void glob_ping(t_pd *dummy); 292void glob_ping(t_pd *dummy);
265 293
294#ifndef ROCKBOX
266static void sched_pollformeters( void) 295static void sched_pollformeters( void)
267{ 296{
268 int inclip, outclip, indb, outdb; 297 int inclip, outclip, indb, outdb;
@@ -313,9 +342,13 @@ static void sched_pollformeters( void)
313 sched_nextmeterpolltime = 342 sched_nextmeterpolltime =
314 sched_diddsp + (int)(sys_dacsr /(double)sys_schedblocksize); 343 sched_diddsp + (int)(sys_dacsr /(double)sys_schedblocksize);
315} 344}
345#endif /* ROCKBOX */
316 346
317void glob_meters(void *dummy, float f) 347void glob_meters(void *dummy, float f)
318{ 348{
349#ifdef ROCKBOX
350 (void) dummy;
351#endif
319 if (f == 0) 352 if (f == 0)
320 sys_getmeters(0, 0); 353 sys_getmeters(0, 0);
321 sched_meterson = (f != 0); 354 sched_meterson = (f != 0);
@@ -335,7 +368,10 @@ void dsp_tick(void);
335 368
336static int sched_usedacs = 1; 369static int sched_usedacs = 1;
337static t_time sched_referencerealtime, sched_referencelogicaltime; 370static t_time sched_referencerealtime, sched_referencelogicaltime;
338static t_time sys_time_per_dsp_tick; 371#ifndef ROCKBOX
372static
373#endif
374t_time sys_time_per_dsp_tick;
339 375
340void sched_set_using_dacs(int flag) 376void sched_set_using_dacs(int flag)
341{ 377{
@@ -344,14 +380,24 @@ void sched_set_using_dacs(int flag)
344 { 380 {
345 sched_referencerealtime = sys_getrealtime(); 381 sched_referencerealtime = sys_getrealtime();
346 sched_referencelogicaltime = clock_getlogicaltime(); 382 sched_referencelogicaltime = clock_getlogicaltime();
383#ifndef ROCKBOX
347 post("schedsetuding"); 384 post("schedsetuding");
385#endif
348 } 386 }
349 sys_time_per_dsp_tick = (TIMEUNITPERSEC) * 387 sys_time_per_dsp_tick = (TIMEUNITPERSEC) *
350 ((double)sys_schedblocksize) / sys_dacsr; 388 ((double)sys_schedblocksize) / sys_dacsr;
389/*
390#ifdef SIMULATOR
391printf("%f\n%f\n%f\n%f\n", (double)sys_time_per_dsp_tick, (double)TIMEUNITPERSEC, (double) sys_schedblocksize, (double)sys_dacsr);
392#endif
393*/
351} 394}
352 395
353 /* take the scheduler forward one DSP tick, also handling clock timeouts */ 396 /* take the scheduler forward one DSP tick, also handling clock timeouts */
354static void sched_tick(t_time next_sys_time) 397#ifndef ROCKBOX
398static
399#endif
400void sched_tick(t_time next_sys_time)
355{ 401{
356 int countdown = 5000; 402 int countdown = 5000;
357 while (clock_setlist && clock_setlist->c_settime < next_sys_time) 403 while (clock_setlist && clock_setlist->c_settime < next_sys_time)
@@ -364,7 +410,9 @@ static void sched_tick(t_time next_sys_time)
364 if (!countdown--) 410 if (!countdown--)
365 { 411 {
366 countdown = 5000; 412 countdown = 5000;
413#ifndef ROCKBOX
367 sys_pollgui(); 414 sys_pollgui();
415#endif
368 } 416 }
369 if (sys_quit) 417 if (sys_quit)
370 return; 418 return;
@@ -388,9 +436,11 @@ the audio I/O system is still busy with previous transfers.
388void sys_pollmidiqueue( void); 436void sys_pollmidiqueue( void);
389void sys_initmidiqueue( void); 437void sys_initmidiqueue( void);
390 438
439#ifndef ROCKBOX
391int m_scheduler_pda( void) 440int m_scheduler_pda( void)
392{ 441{
393 int idlecount = 0; 442 int idlecount = 0;
443
394 sys_time_per_dsp_tick = (TIMEUNITPERSEC) * 444 sys_time_per_dsp_tick = (TIMEUNITPERSEC) *
395 ((double)sys_schedblocksize) / sys_dacsr; 445 ((double)sys_schedblocksize) / sys_dacsr;
396 446
@@ -402,13 +452,18 @@ int m_scheduler_pda( void)
402 sys_sleepgrain = 100; 452 sys_sleepgrain = 100;
403 else if (sys_sleepgrain > 5000) 453 else if (sys_sleepgrain > 5000)
404 sys_sleepgrain = 5000; 454 sys_sleepgrain = 5000;
455
405 sys_initmidiqueue(); 456 sys_initmidiqueue();
457
406 while (!sys_quit) 458 while (!sys_quit)
407 { 459 {
460
408 int didsomething = 0; 461 int didsomething = 0;
462
409 int timeforward; 463 int timeforward;
410 464
411 sys_addhist(0); 465 sys_addhist(0);
466
412 waitfortick: 467 waitfortick:
413 if (sched_usedacs) 468 if (sched_usedacs)
414 { 469 {
@@ -564,7 +619,7 @@ int sys_trylock(void)
564 619
565void sys_lock(void) {} 620void sys_lock(void) {}
566void sys_unlock(void) {} 621void sys_unlock(void) {}
567int sys_trylock(void) {} 622int sys_trylock(void) { return 0; }
568 623
569#endif 624#endif
570 625
@@ -580,3 +635,4 @@ void sys_exit(void)
580 sys_quit = 1; 635 sys_quit = 1;
581} 636}
582 637
638#endif /* ROCKBOX */
diff --git a/apps/plugins/pdbox/PDa/src/s_audio.c b/apps/plugins/pdbox/PDa/src/s_audio.c
index 5f27d98671..61d1caa583 100644
--- a/apps/plugins/pdbox/PDa/src/s_audio.c
+++ b/apps/plugins/pdbox/PDa/src/s_audio.c
@@ -6,6 +6,13 @@
6 audio settings from argparse routine and from dialog window. 6 audio settings from argparse routine and from dialog window.
7*/ 7*/
8 8
9#ifdef ROCKBOX
10#include "plugin.h"
11#include "pdbox.h"
12#include "m_pd.h"
13#include "s_stuff.h"
14#define snprintf rb->snprintf
15#else /* ROCKBOX */
9#include "m_pd.h" 16#include "m_pd.h"
10#include "s_stuff.h" 17#include "s_stuff.h"
11#include <stdio.h> 18#include <stdio.h>
@@ -17,6 +24,7 @@
17#include <stdlib.h> 24#include <stdlib.h>
18#include <string.h> 25#include <string.h>
19#include <errno.h> 26#include <errno.h>
27#endif /* ROCKBOX */
20 28
21#define SYS_DEFAULTCH 2 29#define SYS_DEFAULTCH 2
22#define SYS_MAXCH 100 30#define SYS_MAXCH 100
@@ -116,7 +124,11 @@ static void sys_save_audio_params(
116void oss_init(void); 124void oss_init(void);
117#endif 125#endif
118 126
127#ifdef ROCKBOX
128static void pd_audio_init(void)
129#else
119static void audio_init( void) 130static void audio_init( void)
131#endif
120{ 132{
121 static int initted = 0; 133 static int initted = 0;
122 if (initted) 134 if (initted)
@@ -131,7 +143,9 @@ static void audio_init( void)
131 143
132static void sys_setchsr(int chin, int chout, int sr) 144static void sys_setchsr(int chin, int chout, int sr)
133{ 145{
146#ifndef ROCKBOX
134 int nblk; 147 int nblk;
148#endif
135 int inbytes = (chin ? chin : 2) * (DEFDACBLKSIZE*sizeof(float)); 149 int inbytes = (chin ? chin : 2) * (DEFDACBLKSIZE*sizeof(float));
136 int outbytes = (chout ? chout : 2) * (DEFDACBLKSIZE*sizeof(float)); 150 int outbytes = (chout ? chout : 2) * (DEFDACBLKSIZE*sizeof(float));
137 151
@@ -144,12 +158,20 @@ static void sys_setchsr(int chin, int chout, int sr)
144 158
145 if (sys_soundin) 159 if (sys_soundin)
146 free(sys_soundin); 160 free(sys_soundin);
161#ifdef ROCKBOX
162 sys_soundin = (t_sample*) malloc(inbytes);
163#else
147 sys_soundin = (t_float *)malloc(inbytes); 164 sys_soundin = (t_float *)malloc(inbytes);
165#endif
148 memset(sys_soundin, 0, inbytes); 166 memset(sys_soundin, 0, inbytes);
149 167
150 if (sys_soundout) 168 if (sys_soundout)
151 free(sys_soundout); 169 free(sys_soundout);
170#ifdef ROCKBOX
171 sys_soundout = (t_sample*) malloc(outbytes);
172#else
152 sys_soundout = (t_float *)malloc(outbytes); 173 sys_soundout = (t_float *)malloc(outbytes);
174#endif
153 memset(sys_soundout, 0, outbytes); 175 memset(sys_soundout, 0, outbytes);
154 176
155 if (sys_verbose) 177 if (sys_verbose)
@@ -169,12 +191,20 @@ void sys_open_audio(int naudioindev, int *audioindev, int nchindev,
169 int *chindev, int naudiooutdev, int *audiooutdev, int nchoutdev, 191 int *chindev, int naudiooutdev, int *audiooutdev, int nchoutdev,
170 int *choutdev, int rate, int advance, int enable) 192 int *choutdev, int rate, int advance, int enable)
171{ 193{
194#ifdef ROCKBOX
195 int i;
196#else
172 int i, *ip; 197 int i, *ip;
198#endif
173 int defaultchannels = SYS_DEFAULTCH; 199 int defaultchannels = SYS_DEFAULTCH;
174 int inchans, outchans; 200 int inchans, outchans;
175 if (rate < 1) 201 if (rate < 1)
176 rate = SYS_DEFAULTSRATE; 202 rate = SYS_DEFAULTSRATE;
203#ifdef ROCKBOX
204 pd_audio_init();
205#else
177 audio_init(); 206 audio_init();
207#endif
178 /* Since the channel vector might be longer than the 208 /* Since the channel vector might be longer than the
179 audio device vector, or vice versa, we fill the shorter one 209 audio device vector, or vice versa, we fill the shorter one
180 in to match the longer one. Also, if both are empty, we fill in 210 in to match the longer one. Also, if both are empty, we fill in
@@ -330,6 +360,11 @@ else
330 naudiooutdev, audiooutdev, nchoutdev, choutdev, rate); 360 naudiooutdev, audiooutdev, nchoutdev, choutdev, rate);
331 else 361 else
332#endif 362#endif
363#ifdef USEAPI_ROCKBOX
364 if (sys_audioapi == API_ROCKBOX)
365 rockbox_open_audio(rate);
366 else
367#endif
333 post("unknown audio API specified"); 368 post("unknown audio API specified");
334 } 369 }
335 sys_save_audio_params(naudioindev, audioindev, chindev, 370 sys_save_audio_params(naudioindev, audioindev, chindev,
@@ -337,7 +372,9 @@ else
337 if (sys_inchannels == 0 && sys_outchannels == 0) 372 if (sys_inchannels == 0 && sys_outchannels == 0)
338 enable = 0; 373 enable = 0;
339 audio_state = enable; 374 audio_state = enable;
375#ifndef ROCKBOX
340 sys_vgui("set pd_whichapi %d\n", (audio_isopen() ? sys_audioapi : 0)); 376 sys_vgui("set pd_whichapi %d\n", (audio_isopen() ? sys_audioapi : 0));
377#endif
341 sched_set_using_dacs(enable); 378 sched_set_using_dacs(enable);
342} 379}
343 380
@@ -370,6 +407,11 @@ void sys_close_audio(void)
370 mmio_close_audio(); 407 mmio_close_audio();
371 else 408 else
372#endif 409#endif
410#ifdef USEAPI_ROCKBOX
411 if (sys_audioapi == API_ROCKBOX)
412 rockbox_close_audio();
413 else
414#endif
373 post("sys_close_audio: unknown API %d", sys_audioapi); 415 post("sys_close_audio: unknown API %d", sys_audioapi);
374 sys_inchannels = sys_outchannels = 0; 416 sys_inchannels = sys_outchannels = 0;
375} 417}
@@ -435,6 +477,11 @@ int sys_send_dacs(void)
435 return (mmio_send_dacs()); 477 return (mmio_send_dacs());
436 else 478 else
437#endif 479#endif
480#ifdef USEAPI_ROCKBOX
481 if (sys_audioapi == API_ROCKBOX)
482 return (rockbox_send_dacs());
483 else
484#endif
438 post("unknown API"); 485 post("unknown API");
439 return (0); 486 return (0);
440} 487}
@@ -482,11 +529,17 @@ void sys_reportidle(void)
482#define MAXNDEV 20 529#define MAXNDEV 20
483#define DEVDESCSIZE 80 530#define DEVDESCSIZE 80
484 531
532#ifndef ROCKBOX
485static void audio_getdevs(char *indevlist, int *nindevs, 533static void audio_getdevs(char *indevlist, int *nindevs,
486 char *outdevlist, int *noutdevs, int *canmulti, 534 char *outdevlist, int *noutdevs, int *canmulti,
487 int maxndev, int devdescsize) 535 int maxndev, int devdescsize)
488{ 536{
537#ifdef ROCKBOX
538 (void) maxndev;
539 pd_audio_init();
540#else
489 audio_init(); 541 audio_init();
542#endif /* ROCKBOX */
490#ifdef USEAPI_OSS 543#ifdef USEAPI_OSS
491 if (sys_audioapi == API_OSS) 544 if (sys_audioapi == API_OSS)
492 { 545 {
@@ -519,6 +572,13 @@ static void audio_getdevs(char *indevlist, int *nindevs,
519 } 572 }
520 else 573 else
521#endif 574#endif
575#ifdef USEAPI_ROCKBOX
576 if (sys_audioapi == API_ROCKBOX)
577 {
578 /* Rockbox devices are known in advance. (?) */
579 }
580 else
581#endif
522 { 582 {
523 /* this shouldn't happen once all the above get filled in. */ 583 /* this shouldn't happen once all the above get filled in. */
524 int i; 584 int i;
@@ -531,6 +591,7 @@ static void audio_getdevs(char *indevlist, int *nindevs,
531 *canmulti = 0; 591 *canmulti = 0;
532 } 592 }
533} 593}
594#endif
534 595
535#ifdef MSW 596#ifdef MSW
536#define DEVONSET 0 /* microsoft device list starts at 0 (the "mapper"). */ 597#define DEVONSET 0 /* microsoft device list starts at 0 (the "mapper"). */
@@ -538,6 +599,7 @@ static void audio_getdevs(char *indevlist, int *nindevs,
538#define DEVONSET 1 /* To agree with command line flags, normally start at 1 */ 599#define DEVONSET 1 /* To agree with command line flags, normally start at 1 */
539#endif 600#endif
540 601
602#ifndef ROCKBOX
541static void sys_listaudiodevs(void ) 603static void sys_listaudiodevs(void )
542{ 604{
543 char indevlist[MAXNDEV*DEVDESCSIZE], outdevlist[MAXNDEV*DEVDESCSIZE]; 605 char indevlist[MAXNDEV*DEVDESCSIZE], outdevlist[MAXNDEV*DEVDESCSIZE];
@@ -564,8 +626,10 @@ static void sys_listaudiodevs(void )
564 } 626 }
565 post("API number %d\n", sys_audioapi); 627 post("API number %d\n", sys_audioapi);
566} 628}
629#endif
567 630
568 /* start an audio settings dialog window */ 631 /* start an audio settings dialog window */
632#ifndef ROCKBOX
569void glob_audio_properties(t_pd *dummy, t_floatarg flongform) 633void glob_audio_properties(t_pd *dummy, t_floatarg flongform)
570{ 634{
571 char buf[1024 + 2 * MAXNDEV*(DEVDESCSIZE+4)]; 635 char buf[1024 + 2 * MAXNDEV*(DEVDESCSIZE+4)];
@@ -645,8 +709,10 @@ void glob_audio_properties(t_pd *dummy, t_floatarg flongform)
645 gfxstub_deleteforkey(0); 709 gfxstub_deleteforkey(0);
646 gfxstub_new(&glob_pdobject, glob_audio_properties, buf); 710 gfxstub_new(&glob_pdobject, glob_audio_properties, buf);
647} 711}
712#endif
648 713
649 /* new values from dialog window */ 714 /* new values from dialog window */
715#ifndef ROCKBOX
650void glob_audio_dialog(t_pd *dummy, t_symbol *s, int argc, t_atom *argv) 716void glob_audio_dialog(t_pd *dummy, t_symbol *s, int argc, t_atom *argv)
651{ 717{
652 int naudioindev, audioindev[MAXAUDIOINDEV], chindev[MAXAUDIOINDEV]; 718 int naudioindev, audioindev[MAXAUDIOINDEV], chindev[MAXAUDIOINDEV];
@@ -696,6 +762,7 @@ void glob_audio_dialog(t_pd *dummy, t_symbol *s, int argc, t_atom *argv)
696 noutdev, newaudiooutdev, noutdev, newaudiooutchan, 762 noutdev, newaudiooutdev, noutdev, newaudiooutchan,
697 newrate, newadvance, 1); 763 newrate, newadvance, 1);
698} 764}
765#endif
699 766
700void sys_listdevs(void ) 767void sys_listdevs(void )
701{ 768{
@@ -724,6 +791,13 @@ void sys_listdevs(void )
724 sys_listaudiodevs(); 791 sys_listaudiodevs();
725 else 792 else
726#endif 793#endif
794#ifdef USEAPI_ROCKBOX
795 if (sys_audioapi == API_ROCKBOX)
796 {
797 /* Nothing to list, IMO. */
798 }
799 else
800#endif
727 post("unknown API"); 801 post("unknown API");
728 802
729 sys_listmididevs(); 803 sys_listmididevs();
@@ -746,9 +820,11 @@ void sys_set_audio_api(int which)
746 post("sys_audioapi %d", sys_audioapi); 820 post("sys_audioapi %d", sys_audioapi);
747} 821}
748 822
823#ifndef ROCKBOX
749void glob_audio_setapi(void *dummy, t_floatarg f) 824void glob_audio_setapi(void *dummy, t_floatarg f)
750{ 825{
751 int newapi = f; 826 int newapi = f;
827
752 if (newapi) 828 if (newapi)
753 { 829 {
754 if (newapi == sys_audioapi) 830 if (newapi == sys_audioapi)
@@ -775,6 +851,7 @@ void glob_audio_setapi(void *dummy, t_floatarg f)
775 sched_set_using_dacs(0); 851 sched_set_using_dacs(0);
776 } 852 }
777} 853}
854#endif
778 855
779 /* start or stop the audio hardware */ 856 /* start or stop the audio hardware */
780void sys_set_audio_state(int onoff) 857void sys_set_audio_state(int onoff)
@@ -842,6 +919,10 @@ void alsa_printstate( void);
842void glob_foo(void *dummy, t_symbol *s, int argc, t_atom *argv) 919void glob_foo(void *dummy, t_symbol *s, int argc, t_atom *argv)
843{ 920{
844 t_symbol *arg = atom_getsymbolarg(0, argc, argv); 921 t_symbol *arg = atom_getsymbolarg(0, argc, argv);
922#ifdef ROCKBOX
923 (void) dummy;
924 (void) s;
925#endif
845 if (arg == gensym("restart")) 926 if (arg == gensym("restart"))
846 { 927 {
847 int naudioindev, audioindev[MAXAUDIOINDEV], chindev[MAXAUDIOINDEV]; 928 int naudioindev, audioindev[MAXAUDIOINDEV], chindev[MAXAUDIOINDEV];
diff --git a/apps/plugins/pdbox/PDa/src/s_audio_rockbox.c b/apps/plugins/pdbox/PDa/src/s_audio_rockbox.c
new file mode 100644
index 0000000000..7f9b0e03e1
--- /dev/null
+++ b/apps/plugins/pdbox/PDa/src/s_audio_rockbox.c
@@ -0,0 +1,144 @@
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2009 Wincent Balin
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21
22#include "plugin.h"
23#include "pdbox.h"
24
25#include "m_pd.h"
26#include "s_stuff.h"
27
28/* Sound output buffer. */
29#define AUDIO_OUTPUT_BLOCKS 3
30static struct pdbox_audio_block audio_output[AUDIO_OUTPUT_BLOCKS];
31static unsigned int output_head;
32static unsigned int output_tail;
33static unsigned int output_fill;
34
35/* Open audio. */
36void rockbox_open_audio(int rate)
37{
38 unsigned int i;
39
40 /* Initialize output buffer. */
41 for(i = 0; i < AUDIO_OUTPUT_BLOCKS; i++)
42 audio_output[i].fill = 0;
43
44 output_head = 0;
45 output_tail = 0;
46 output_fill = 0;
47
48#if INPUT_SRC_CAPS != 0
49 /* Select playback */
50 rb->audio_set_input_source(AUDIO_SRC_PLAYBACK, SRCF_PLAYBACK);
51 rb->audio_set_output_source(AUDIO_SRC_PLAYBACK);
52#endif
53
54 /* Set sample rate of the audio buffer. */
55 rb->pcm_set_frequency(rate);
56}
57
58/* Close audio. */
59void rockbox_close_audio(void)
60{
61 /* Stop playback. */
62 rb->pcm_play_stop();
63
64 /* Restore default sampling rate. */
65 rb->pcm_set_frequency(HW_SAMPR_DEFAULT);
66}
67
68/* Rockbox audio callback. */
69void pdbox_get_more(unsigned char** start, size_t* size)
70{
71 if(output_fill > 0)
72 {
73 /* Store output data address and size. */
74 *start = (unsigned char*) audio_output[output_tail].data;
75 *size = audio_output[output_tail].fill;
76
77 /* Advance tail index. */
78 audio_output[output_tail].fill = 0;
79 output_fill--;
80 if(output_tail == AUDIO_OUTPUT_BLOCKS-1)
81 output_tail = 0;
82 else
83 output_tail++;
84 }
85 else
86 {
87 /* Nothing to play. */
88 *start = NULL;
89 *size = 0;
90 return;
91 }
92}
93
94/* Audio I/O. */
95int rockbox_send_dacs(void)
96{
97
98
99 /* Start playback if needed and possible. */
100 if(output_fill > 1 &&
101 audio_output[output_tail].fill == PD_AUDIO_BLOCK_SIZE)
102 {
103 /* Start playback. */
104 rb->pcm_play_data(pdbox_get_more,
105 (unsigned char*) audio_output[output_tail].data,
106 PD_AUDIO_BLOCK_SIZE);
107
108 /* Advance tail index. */
109 audio_output[output_tail].fill = PD_AUDIO_BLOCK_SIZE;
110 output_fill--;
111 if(output_tail == AUDIO_OUTPUT_BLOCKS-1)
112 output_tail = 0;
113 else
114 output_tail++;
115 }
116
117
118
119
120#if 0
121 if (sys_getrealtime() > timebefore + 0.002)
122 {
123 /* post("slept"); */
124 return (SENDDACS_SLEPT);
125 }
126 else
127#endif
128 return (SENDDACS_YES);
129}
130
131/* Placeholder. */
132void rockbox_listdevs(void)
133{
134}
135
136#if 0
137/* Scanning for devices */
138void rockbox_getdevs(char *indevlist, int *nindevs,
139 char *outdevlist, int *noutdevs, int *canmulti,
140 int maxndev, int devdescsize)
141{
142}
143#endif
144
diff --git a/apps/plugins/pdbox/PDa/src/s_file.c b/apps/plugins/pdbox/PDa/src/s_file.c
index 27825d5948..f98741cf2a 100644
--- a/apps/plugins/pdbox/PDa/src/s_file.c
+++ b/apps/plugins/pdbox/PDa/src/s_file.c
@@ -6,14 +6,32 @@
6 * this file contains file-handling routines. 6 * this file contains file-handling routines.
7 */ 7 */
8 8
9#ifdef ROCKBOX
10#include "plugin.h"
11#include "pdbox.h"
12#include "m_pd.h"
13#include "s_stuff.h"
14#else /* ROCKBOX */
9#include "m_pd.h" 15#include "m_pd.h"
10#include "s_stuff.h" 16#include "s_stuff.h"
11#include <sys/types.h> 17#include <sys/types.h>
12#include <sys/stat.h> 18#include <sys/stat.h>
19#endif /* ROCKBOX */
13 20
14 /* LATER delete this? -- replaced by find_via_path() in s_path.c */ 21 /* LATER delete this? -- replaced by find_via_path() in s_path.c */
15int sys_isreadablefile(const char *s) 22int sys_isreadablefile(const char *s)
16{ 23{
24#ifdef ROCKBOX
25 int fd;
26
27 if((fd = open(s, O_RDONLY)))
28 {
29 close(fd);
30 return 1;
31 }
32 else
33 return 0;
34#else /* ROCKBOX */
17 struct stat statbuf; 35 struct stat statbuf;
18 int mode; 36 int mode;
19 if (stat(s, &statbuf) < 0) return (0); 37 if (stat(s, &statbuf) < 0) return (0);
@@ -22,13 +40,14 @@ int sys_isreadablefile(const char *s)
22 if (S_ISDIR(mode)) return (0); 40 if (S_ISDIR(mode)) return (0);
23#endif 41#endif
24 return (1); 42 return (1);
43#endif /* ROCKBOX */
25} 44}
26 45
27 /* change '/' characters to the system's native file separator */ 46 /* change '/' characters to the system's native file separator */
28void sys_bashfilename(const char *from, char *to) 47void sys_bashfilename(const char *from, char *to)
29{ 48{
30 char c; 49 char c;
31 while (c = *from++) 50 while((c = *from++))
32 { 51 {
33#ifdef MSW 52#ifdef MSW
34 if (c == '/') c = '\\'; 53 if (c == '/') c = '\\';
@@ -43,7 +62,7 @@ void sys_bashfilename(const char *from, char *to)
43void sys_unbashfilename(const char *from, char *to) 62void sys_unbashfilename(const char *from, char *to)
44{ 63{
45 char c; 64 char c;
46 while (c = *from++) 65 while((c = *from++))
47 { 66 {
48#ifdef MSW 67#ifdef MSW
49 if (c == '\\') c = '/'; 68 if (c == '\\') c = '/';
diff --git a/apps/plugins/pdbox/PDa/src/s_loader.c b/apps/plugins/pdbox/PDa/src/s_loader.c
index c5a8677f71..7f47b1f8f8 100644
--- a/apps/plugins/pdbox/PDa/src/s_loader.c
+++ b/apps/plugins/pdbox/PDa/src/s_loader.c
@@ -2,6 +2,10 @@
2* For information on usage and redistribution, and for a DISCLAIMER OF ALL 2* For information on usage and redistribution, and for a DISCLAIMER OF ALL
3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ 3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
4 4
5#ifdef ROCKBOX
6#include "plugin.h"
7#include "pdbox.h"
8#else /* ROCKBOX */
5#ifdef DL_OPEN 9#ifdef DL_OPEN
6#include <dlfcn.h> 10#include <dlfcn.h>
7#endif 11#endif
@@ -17,12 +21,14 @@
17#include <mach-o/dyld.h> 21#include <mach-o/dyld.h>
18#endif 22#endif
19#include <string.h> 23#include <string.h>
24#include <stdio.h>
25#endif /* ROCKBOX */
20#include "m_pd.h" 26#include "m_pd.h"
21#include "s_stuff.h" 27#include "s_stuff.h"
22#include <stdio.h>
23 28
24typedef void (*t_xxx)(void); 29typedef void (*t_xxx)(void);
25 30
31#ifndef ROCKBOX
26static char sys_dllextent[] = 32static char sys_dllextent[] =
27#ifdef __FreeBSD__ 33#ifdef __FreeBSD__
28 ".pd_freebsd"; 34 ".pd_freebsd";
@@ -43,12 +49,22 @@ static char sys_dllextent[] =
43#ifdef MSW 49#ifdef MSW
44 ".dll"; 50 ".dll";
45#endif 51#endif
52#endif /* ROCKBOX */
46 53
47void class_set_extern_dir(t_symbol *s); 54void class_set_extern_dir(t_symbol *s);
48 55
49#ifdef STATIC 56#ifdef STATIC
50int sys_load_lib(char *dirname, char *classname) 57int sys_load_lib(char *dirname, char *classname)
58#ifdef ROCKBOX
59{
60 (void) dirname;
61 (void) classname;
62
63 return 0;
64}
65#else /* ROCKBOX */
51{ return 0;} 66{ return 0;}
67#endif /* ROCKBOX */
52#else 68#else
53int sys_load_lib(char *dirname, char *classname) 69int sys_load_lib(char *dirname, char *classname)
54{ 70{
diff --git a/apps/plugins/pdbox/PDa/src/s_path.c b/apps/plugins/pdbox/PDa/src/s_path.c
index f40f1f6e49..da4fc94782 100644
--- a/apps/plugins/pdbox/PDa/src/s_path.c
+++ b/apps/plugins/pdbox/PDa/src/s_path.c
@@ -14,6 +14,26 @@
14#define DEBUG(x) 14#define DEBUG(x)
15void readsf_banana( void); /* debugging */ 15void readsf_banana( void); /* debugging */
16 16
17#ifdef ROCKBOX
18
19#include "plugin.h"
20#include "pdbox.h"
21
22#include "m_pd.h"
23#include "m_imp.h"
24#include "s_stuff.h"
25
26#define open rb->open
27#define close rb->close
28#define strcpy rb->strcpy
29#define strcat rb->strcat
30#define strlen rb->strlen
31#define strcmp rb->strcmp
32#define strncpy rb->strncpy
33#define strrchr rb->strrchr
34#define strncat rb_strncat
35
36#else /* ROCKBOX */
17#include <stdlib.h> 37#include <stdlib.h>
18#ifdef UNIX 38#ifdef UNIX
19#include <unistd.h> 39#include <unistd.h>
@@ -29,6 +49,7 @@ void readsf_banana( void); /* debugging */
29#include "s_stuff.h" 49#include "s_stuff.h"
30#include <stdio.h> 50#include <stdio.h>
31#include <fcntl.h> 51#include <fcntl.h>
52#endif /* ROCKBOX */
32 53
33static t_namelist *pd_path, *pd_helppath; 54static t_namelist *pd_path, *pd_helppath;
34 55
@@ -85,6 +106,10 @@ t_namelist *namelist_append(t_namelist *listwas, const char *s)
85 char temp[MAXPDSTRING]; 106 char temp[MAXPDSTRING];
86 t_namelist *nl = listwas, *rtn = listwas; 107 t_namelist *nl = listwas, *rtn = listwas;
87 108
109#ifdef ROCKBOX
110 (void) rtn;
111#endif
112
88 npos = s; 113 npos = s;
89 do 114 do
90 { 115 {
@@ -138,6 +163,10 @@ int open_via_path(const char *dir, const char *name, const char* ext,
138 int fd = -1; 163 int fd = -1;
139 char listbuf[MAXPDSTRING]; 164 char listbuf[MAXPDSTRING];
140 165
166#ifdef ROCKBOX
167 (void) bin;
168#endif
169
141 if (name[0] == '/' 170 if (name[0] == '/'
142#ifdef MSW 171#ifdef MSW
143 || (name[1] == ':' && name[2] == '/') 172 || (name[1] == ':' && name[2] == '/')
@@ -191,6 +220,7 @@ int open_via_path(const char *dir, const char *name, const char* ext,
191 char *slash; 220 char *slash;
192 if (sys_verbose) post("tried %s and succeeded", dirresult); 221 if (sys_verbose) post("tried %s and succeeded", dirresult);
193 sys_unbashfilename(dirresult, dirresult); 222 sys_unbashfilename(dirresult, dirresult);
223
194 slash = strrchr(dirresult, '/'); 224 slash = strrchr(dirresult, '/');
195 if (slash) 225 if (slash)
196 { 226 {
@@ -199,7 +229,7 @@ int open_via_path(const char *dir, const char *name, const char* ext,
199 } 229 }
200 else *nameresult = dirresult; 230 else *nameresult = dirresult;
201 231
202 return (fd); 232 return (fd);
203 } 233 }
204 } 234 }
205 else 235 else
@@ -245,7 +275,9 @@ static int do_open_via_helppath(const char *realname, t_namelist *listp)
245 else 275 else
246#endif 276#endif
247 { 277 {
278#ifndef ROCKBOX
248 char *slash; 279 char *slash;
280#endif
249 if (sys_verbose) post("tried %s and succeeded", dirresult); 281 if (sys_verbose) post("tried %s and succeeded", dirresult);
250 sys_unbashfilename(dirresult, dirresult); 282 sys_unbashfilename(dirresult, dirresult);
251 close (fd); 283 close (fd);
@@ -266,8 +298,12 @@ static int do_open_via_helppath(const char *realname, t_namelist *listp)
266 search attempts. */ 298 search attempts. */
267void open_via_helppath(const char *name, const char *dir) 299void open_via_helppath(const char *name, const char *dir)
268{ 300{
301#ifdef ROCKBOX
302 t_namelist thislist, *listp;
303#else /*ROCKBOX */
269 t_namelist *nl, thislist, *listp; 304 t_namelist *nl, thislist, *listp;
270 int fd = -1; 305 int fd = -1;
306#endif /* ROCKBOX */
271 char dirbuf2[MAXPDSTRING], realname[MAXPDSTRING]; 307 char dirbuf2[MAXPDSTRING], realname[MAXPDSTRING];
272 308
273 /* if directory is supplied, put it at head of search list. */ 309 /* if directory is supplied, put it at head of search list. */
@@ -380,6 +416,10 @@ int sys_rcfile(void)
380 /* start an audio settings dialog window */ 416 /* start an audio settings dialog window */
381void glob_start_path_dialog(t_pd *dummy, t_floatarg flongform) 417void glob_start_path_dialog(t_pd *dummy, t_floatarg flongform)
382{ 418{
419#ifdef ROCKBOX
420 (void) dummy;
421 (void) flongform;
422#else /* ROCKBOX */
383 char buf[MAXPDSTRING]; 423 char buf[MAXPDSTRING];
384 int i; 424 int i;
385 t_namelist *nl; 425 t_namelist *nl;
@@ -391,12 +431,19 @@ void glob_start_path_dialog(t_pd *dummy, t_floatarg flongform)
391 431
392 sprintf(buf, "pdtk_path_dialog %%s\n"); 432 sprintf(buf, "pdtk_path_dialog %%s\n");
393 gfxstub_new(&glob_pdobject, glob_start_path_dialog, buf); 433 gfxstub_new(&glob_pdobject, glob_start_path_dialog, buf);
434#endif /* ROCKBOX */
394} 435}
395 436
396 /* new values from dialog window */ 437 /* new values from dialog window */
397void glob_path_dialog(t_pd *dummy, t_symbol *s, int argc, t_atom *argv) 438void glob_path_dialog(t_pd *dummy, t_symbol *s, int argc, t_atom *argv)
398{ 439{
399 int i; 440 int i;
441
442#ifdef ROCKBOX
443 (void) dummy;
444 (void) s;
445#endif /* ROCKBOX */
446
400 namelist_free(pd_path); 447 namelist_free(pd_path);
401 pd_path = 0; 448 pd_path = 0;
402 for (i = 0; i < argc; i++) 449 for (i = 0; i < argc; i++)
diff --git a/apps/plugins/pdbox/PDa/src/s_print.c b/apps/plugins/pdbox/PDa/src/s_print.c
index 40f881f00e..c71dcb7845 100644
--- a/apps/plugins/pdbox/PDa/src/s_print.c
+++ b/apps/plugins/pdbox/PDa/src/s_print.c
@@ -79,7 +79,7 @@ void poststring(char *s)
79#ifdef SIMULATOR 79#ifdef SIMULATOR
80 printf(" %s", s); 80 printf(" %s", s);
81#else /* SIMULATOR */ 81#else /* SIMULATOR */
82 (void)s; 82 (void) s;
83#endif /* SIMULATOR */ 83#endif /* SIMULATOR */
84#else /* ROCKBOX */ 84#else /* ROCKBOX */
85 fprintf(stderr, " %s", s); 85 fprintf(stderr, " %s", s);
@@ -167,7 +167,7 @@ void pd_error(void *object, char *fmt, ...)
167 saidit = 1; 167 saidit = 1;
168 } 168 }
169#else /* SIMULATOR */ 169#else /* SIMULATOR */
170 (void)object; 170 (void) object;
171 (void) fmt; 171 (void) fmt;
172#endif /* SIMULATOR */ 172#endif /* SIMULATOR */
173#else /* ROCKBOX */ 173#else /* ROCKBOX */
@@ -191,7 +191,7 @@ void pd_error(void *object, char *fmt, ...)
191void glob_finderror(t_pd *dummy) 191void glob_finderror(t_pd *dummy)
192{ 192{
193#ifdef ROCKBOX 193#ifdef ROCKBOX
194 (void)dummy; 194 (void) dummy;
195#endif /* ROCKBOX */ 195#endif /* ROCKBOX */
196 if (!error_object) 196 if (!error_object)
197 post("no findable error yet."); 197 post("no findable error yet.");
@@ -250,8 +250,12 @@ void sys_logerror(char *object, char *s)
250 250
251void sys_unixerror(char *object) 251void sys_unixerror(char *object)
252{ 252{
253#ifdef ROCKBOX
254 (void) object;
255#else
253 errobject = object; 256 errobject = object;
254 errstring = strerror(errno); 257 errstring = strerror(errno);
258#endif /* ROCKBOX */
255} 259}
256 260
257void sys_ouch(void) 261void sys_ouch(void)
diff --git a/apps/plugins/pdbox/PDa/src/s_stuff.h b/apps/plugins/pdbox/PDa/src/s_stuff.h
index 2c7ae8b209..566df34773 100644
--- a/apps/plugins/pdbox/PDa/src/s_stuff.h
+++ b/apps/plugins/pdbox/PDa/src/s_stuff.h
@@ -130,8 +130,9 @@ void sys_setvirtualalarm( void);
130#define API_MMIO 3 130#define API_MMIO 3
131#define API_PORTAUDIO 4 131#define API_PORTAUDIO 4
132#define API_JACK 5 132#define API_JACK 5
133#define API_ROCKBOX 6
133 134
134#ifdef __linux__ 135#if defined(__linux__) && !defined(ROCKBOX)
135#define API_DEFAULT API_OSS 136#define API_DEFAULT API_OSS
136#define API_DEFSTRING "OSS" 137#define API_DEFSTRING "OSS"
137#endif 138#endif
@@ -143,6 +144,10 @@ void sys_setvirtualalarm( void);
143#define API_DEFAULT API_PORTAUDIO 144#define API_DEFAULT API_PORTAUDIO
144#define API_DEFSTRING "portaudio" 145#define API_DEFSTRING "portaudio"
145#endif 146#endif
147#ifdef ROCKBOX
148#define API_DEFAULT API_ROCKBOX
149#define API_DEFSTRING "Rockbox"
150#endif
146#define DEFAULTAUDIODEV 0 151#define DEFAULTAUDIODEV 0
147 152
148#define MAXAUDIOINDEV 4 153#define MAXAUDIOINDEV 4
@@ -204,6 +209,11 @@ void mmio_getdevs(char *indevlist, int *nindevs,
204 char *outdevlist, int *noutdevs, int *canmulti, 209 char *outdevlist, int *noutdevs, int *canmulti,
205 int maxndev, int devdescsize); 210 int maxndev, int devdescsize);
206 211
212void rockbox_open_audio(int rate);
213void rockbox_close_audio(void);
214int rockbox_send_dacs(void);
215void rockbox_getdevs(void);
216
207void sys_listmididevs(void); 217void sys_listmididevs(void);
208void sys_set_audio_api(int whichapi); 218void sys_set_audio_api(int whichapi);
209void sys_get_audio_apis(char *buf); 219void sys_get_audio_apis(char *buf);
diff --git a/apps/plugins/pdbox/PDa/src/x_acoustics.c b/apps/plugins/pdbox/PDa/src/x_acoustics.c
index 9c5cd07495..cb2b01fe41 100644
--- a/apps/plugins/pdbox/PDa/src/x_acoustics.c
+++ b/apps/plugins/pdbox/PDa/src/x_acoustics.c
@@ -5,6 +5,11 @@
5/* utility functions for signals 5/* utility functions for signals
6*/ 6*/
7 7
8#ifdef ROCKBOX
9#include "plugin.h"
10#include "pdbox.h"
11#endif
12
8#include "m_pd.h" 13#include "m_pd.h"
9#include <math.h> 14#include <math.h>
10#define LOGTEN 2.302585092994 15#define LOGTEN 2.302585092994
diff --git a/apps/plugins/pdbox/PDa/src/x_arithmetic.c b/apps/plugins/pdbox/PDa/src/x_arithmetic.c
index f060f2fd49..3ac5b5f075 100644
--- a/apps/plugins/pdbox/PDa/src/x_arithmetic.c
+++ b/apps/plugins/pdbox/PDa/src/x_arithmetic.c
@@ -6,6 +6,11 @@
6done on floats; the logical and bitwise binops convert their 6done on floats; the logical and bitwise binops convert their
7inputs to int and their outputs back to float. */ 7inputs to int and their outputs back to float. */
8 8
9#ifdef ROCKBOX
10#include "plugin.h"
11#include "pdbox.h"
12#endif
13
9#include "m_pd.h" 14#include "m_pd.h"
10#include <math.h> 15#include <math.h>
11 16
diff --git a/apps/plugins/pdbox/PDa/src/x_connective.c b/apps/plugins/pdbox/PDa/src/x_connective.c
index 52bc0920a1..8ad2f605cf 100644
--- a/apps/plugins/pdbox/PDa/src/x_connective.c
+++ b/apps/plugins/pdbox/PDa/src/x_connective.c
@@ -4,10 +4,18 @@
4 4
5/* connective objects */ 5/* connective objects */
6 6
7#ifdef ROCKBOX
8#include "plugin.h"
9#include "pdbox.h"
10#endif
11
7#include "m_pd.h" 12#include "m_pd.h"
8 13
14#ifndef ROCKBOX
9#include <string.h> 15#include <string.h>
10#include <stdio.h> 16#include <stdio.h>
17#endif
18
11extern t_pd *newest; 19extern t_pd *newest;
12 20
13/* -------------------------- int ------------------------------ */ 21/* -------------------------- int ------------------------------ */
@@ -62,6 +70,9 @@ typedef struct _pdfloat
62 70
63static void *pdfloat_new(t_pd *dummy, t_float f) 71static void *pdfloat_new(t_pd *dummy, t_float f)
64{ 72{
73#ifdef ROCKBOX
74 (void) dummy;
75#endif
65 t_pdfloat *x = (t_pdfloat *)pd_new(pdfloat_class); 76 t_pdfloat *x = (t_pdfloat *)pd_new(pdfloat_class);
66 x->x_f = f; 77 x->x_f = f;
67 outlet_new(&x->x_obj, &s_float); 78 outlet_new(&x->x_obj, &s_float);
@@ -105,6 +116,9 @@ typedef struct _pdsymbol
105 116
106static void *pdsymbol_new(t_pd *dummy, t_symbol *s) 117static void *pdsymbol_new(t_pd *dummy, t_symbol *s)
107{ 118{
119#ifdef ROCKBOX
120 (void) dummy;
121#endif
108 t_pdsymbol *x = (t_pdsymbol *)pd_new(pdsymbol_class); 122 t_pdsymbol *x = (t_pdsymbol *)pd_new(pdsymbol_class);
109 x->x_s = s; 123 x->x_s = s;
110 outlet_new(&x->x_obj, &s_symbol); 124 outlet_new(&x->x_obj, &s_symbol);
@@ -125,6 +139,10 @@ static void pdsymbol_symbol(t_pdsymbol *x, t_symbol *s)
125 139
126static void pdsymbol_anything(t_pdsymbol *x, t_symbol *s, int ac, t_atom *av) 140static void pdsymbol_anything(t_pdsymbol *x, t_symbol *s, int ac, t_atom *av)
127{ 141{
142#ifdef ROCKBOX
143 (void) ac;
144 (void) av;
145#endif
128 outlet_symbol(x->x_obj.ob_outlet, x->x_s = s); 146 outlet_symbol(x->x_obj.ob_outlet, x->x_s = s);
129} 147}
130 148
@@ -147,6 +165,9 @@ typedef struct _bang
147 165
148static void *bang_new(t_pd *dummy) 166static void *bang_new(t_pd *dummy)
149{ 167{
168#ifdef ROCKBOX
169 (void) dummy;
170#endif
150 t_bang *x = (t_bang *)pd_new(bang_class); 171 t_bang *x = (t_bang *)pd_new(bang_class);
151 outlet_new(&x->x_obj, &s_bang); 172 outlet_new(&x->x_obj, &s_bang);
152 newest = &x->x_obj.ob_pd; 173 newest = &x->x_obj.ob_pd;
@@ -155,6 +176,9 @@ static void *bang_new(t_pd *dummy)
155 176
156static void *bang_new2(t_bang f) 177static void *bang_new2(t_bang f)
157{ 178{
179#ifdef ROCKBOX
180 (void) f;
181#endif
158 return (bang_new(0)); 182 return (bang_new(0));
159} 183}
160 184
@@ -383,6 +407,9 @@ static void sel2_free(t_sel2 *x)
383 407
384static void *select_new(t_symbol *s, int argc, t_atom *argv) 408static void *select_new(t_symbol *s, int argc, t_atom *argv)
385{ 409{
410#ifdef ROCKBOX
411 (void) s;
412#endif
386 t_atom a; 413 t_atom a;
387 if (argc == 0) 414 if (argc == 0)
388 { 415 {
@@ -484,6 +511,9 @@ static void route_anything(t_route *x, t_symbol *sel, int argc, t_atom *argv)
484 511
485static void route_list(t_route *x, t_symbol *sel, int argc, t_atom *argv) 512static void route_list(t_route *x, t_symbol *sel, int argc, t_atom *argv)
486{ 513{
514#ifdef ROCKBOX
515 (void) sel;
516#endif
487 t_routeelement *e; 517 t_routeelement *e;
488 int nelement; 518 int nelement;
489 if (x->x_type == A_FLOAT) 519 if (x->x_type == A_FLOAT)
@@ -562,6 +592,9 @@ static void route_free(t_route *x)
562 592
563static void *route_new(t_symbol *s, int argc, t_atom *argv) 593static void *route_new(t_symbol *s, int argc, t_atom *argv)
564{ 594{
595#ifdef ROCKBOX
596 (void) s;
597#endif
565 int n; 598 int n;
566 t_routeelement *e; 599 t_routeelement *e;
567 t_route *x = (t_route *)pd_new(route_class); 600 t_route *x = (t_route *)pd_new(route_class);
@@ -610,6 +643,9 @@ typedef struct _pack
610 643
611static void *pack_new(t_symbol *s, int argc, t_atom *argv) 644static void *pack_new(t_symbol *s, int argc, t_atom *argv)
612{ 645{
646#ifdef ROCKBOX
647 (void) s;
648#endif
613 t_pack *x = (t_pack *)pd_new(pack_class); 649 t_pack *x = (t_pack *)pd_new(pack_class);
614 t_atom defarg[2], *ap, *vec, *vp; 650 t_atom defarg[2], *ap, *vec, *vp;
615 t_gpointer *gp; 651 t_gpointer *gp;
@@ -737,6 +773,9 @@ static void pack_symbol(t_pack *x, t_symbol *s)
737 773
738static void pack_list(t_pack *x, t_symbol *s, int ac, t_atom *av) 774static void pack_list(t_pack *x, t_symbol *s, int ac, t_atom *av)
739{ 775{
776#ifdef ROCKBOX
777 (void) s;
778#endif
740 obj_list(&x->x_obj, 0, ac, av); 779 obj_list(&x->x_obj, 0, ac, av);
741} 780}
742 781
@@ -793,6 +832,9 @@ typedef struct _unpack
793 832
794static void *unpack_new(t_symbol *s, int argc, t_atom *argv) 833static void *unpack_new(t_symbol *s, int argc, t_atom *argv)
795{ 834{
835#ifdef ROCKBOX
836 (void) s;
837#endif
796 t_unpack *x = (t_unpack *)pd_new(unpack_class); 838 t_unpack *x = (t_unpack *)pd_new(unpack_class);
797 t_atom defarg[2], *ap; 839 t_atom defarg[2], *ap;
798 t_unpackout *u; 840 t_unpackout *u;
@@ -841,6 +883,9 @@ static void *unpack_new(t_symbol *s, int argc, t_atom *argv)
841 883
842static void unpack_list(t_unpack *x, t_symbol *s, int argc, t_atom *argv) 884static void unpack_list(t_unpack *x, t_symbol *s, int argc, t_atom *argv)
843{ 885{
886#ifdef ROCKBOX
887 (void) s;
888#endif
844 t_atom *ap; 889 t_atom *ap;
845 t_unpackout *u; 890 t_unpackout *u;
846 int i; 891 int i;
@@ -907,6 +952,9 @@ typedef struct _trigger
907 952
908static void *trigger_new(t_symbol *s, int argc, t_atom *argv) 953static void *trigger_new(t_symbol *s, int argc, t_atom *argv)
909{ 954{
955#ifdef ROCKBOX
956 (void) s;
957#endif
910 t_trigger *x = (t_trigger *)pd_new(trigger_class); 958 t_trigger *x = (t_trigger *)pd_new(trigger_class);
911 t_atom defarg[2], *ap; 959 t_atom defarg[2], *ap;
912 t_triggerout *u; 960 t_triggerout *u;
@@ -953,6 +1001,9 @@ static void *trigger_new(t_symbol *s, int argc, t_atom *argv)
953 1001
954static void trigger_list(t_trigger *x, t_symbol *s, int argc, t_atom *argv) 1002static void trigger_list(t_trigger *x, t_symbol *s, int argc, t_atom *argv)
955{ 1003{
1004#ifdef ROCKBOX
1005 (void) s;
1006#endif
956 t_triggerout *u; 1007 t_triggerout *u;
957 int i; 1008 int i;
958 t_atom at; 1009 t_atom at;
@@ -1204,14 +1255,22 @@ static void *makefilename_new(t_symbol *s)
1204static void makefilename_float(t_makefilename *x, t_floatarg f) 1255static void makefilename_float(t_makefilename *x, t_floatarg f)
1205{ 1256{
1206 char buf[MAXPDSTRING]; 1257 char buf[MAXPDSTRING];
1258#ifdef ROCKBOX
1259 snprintf(buf, sizeof(buf), x->x_format->s_name, (int)f);
1260#else
1207 sprintf(buf, x->x_format->s_name, (int)f); 1261 sprintf(buf, x->x_format->s_name, (int)f);
1262#endif
1208 outlet_symbol(x->x_obj.ob_outlet, gensym(buf)); 1263 outlet_symbol(x->x_obj.ob_outlet, gensym(buf));
1209} 1264}
1210 1265
1211static void makefilename_symbol(t_makefilename *x, t_symbol *s) 1266static void makefilename_symbol(t_makefilename *x, t_symbol *s)
1212{ 1267{
1213 char buf[MAXPDSTRING]; 1268 char buf[MAXPDSTRING];
1269#ifdef ROCKBOX
1270 snprintf(buf, sizeof(buf), x->x_format->s_name, s->s_name);
1271#else
1214 sprintf(buf, x->x_format->s_name, s->s_name); 1272 sprintf(buf, x->x_format->s_name, s->s_name);
1273#endif
1215 outlet_symbol(x->x_obj.ob_outlet, gensym(buf)); 1274 outlet_symbol(x->x_obj.ob_outlet, gensym(buf));
1216} 1275}
1217 1276
diff --git a/apps/plugins/pdbox/PDa/src/x_interface.c b/apps/plugins/pdbox/PDa/src/x_interface.c
index 227ca0f4fd..9939c6bdf0 100644
--- a/apps/plugins/pdbox/PDa/src/x_interface.c
+++ b/apps/plugins/pdbox/PDa/src/x_interface.c
@@ -30,6 +30,9 @@ static void print_bang(t_print *x)
30 30
31static void print_pointer(t_print *x, t_gpointer *gp) 31static void print_pointer(t_print *x, t_gpointer *gp)
32{ 32{
33#ifdef ROCKBOX
34 (void) gp;
35#endif
33 post("%s(gpointer)", x->x_sym->s_name); 36 post("%s(gpointer)", x->x_sym->s_name);
34} 37}
35 38
@@ -40,8 +43,12 @@ static void print_float(t_print *x, t_float f)
40 43
41static void print_list(t_print *x, t_symbol *s, int argc, t_atom *argv) 44static void print_list(t_print *x, t_symbol *s, int argc, t_atom *argv)
42{ 45{
46#ifdef ROCKBOX
47 (void) s;
48#else
43 int i; 49 int i;
44 char buf[80]; 50 char buf[80];
51#endif
45 if (argc && argv->a_type != A_SYMBOL) startpost("%s:", x->x_sym->s_name); 52 if (argc && argv->a_type != A_SYMBOL) startpost("%s:", x->x_sym->s_name);
46 else startpost("%s%s", x->x_sym->s_name, 53 else startpost("%s%s", x->x_sym->s_name,
47 (argc > 1 ? s_list.s_name : (argc == 1 ? s_symbol.s_name : 54 (argc > 1 ? s_list.s_name : (argc == 1 ? s_symbol.s_name :
@@ -52,8 +59,10 @@ static void print_list(t_print *x, t_symbol *s, int argc, t_atom *argv)
52 59
53static void print_anything(t_print *x, t_symbol *s, int argc, t_atom *argv) 60static void print_anything(t_print *x, t_symbol *s, int argc, t_atom *argv)
54{ 61{
62#ifndef ROCKBOX
55 int i; 63 int i;
56 char buf[80]; 64 char buf[80];
65#endif
57 startpost("%s%s", x->x_sym->s_name, s->s_name); 66 startpost("%s%s", x->x_sym->s_name, s->s_name);
58 postatom(argc, argv); 67 postatom(argc, argv);
59 endpost(); 68 endpost();
diff --git a/apps/plugins/pdbox/PDa/src/x_misc.c b/apps/plugins/pdbox/PDa/src/x_misc.c
index e7d0005421..e929646e7c 100644
--- a/apps/plugins/pdbox/PDa/src/x_misc.c
+++ b/apps/plugins/pdbox/PDa/src/x_misc.c
@@ -4,6 +4,13 @@
4 4
5/* misc. */ 5/* misc. */
6 6
7#ifdef ROCKBOX
8#include "plugin.h"
9#include "pdbox.h"
10#include "m_pd.h"
11#include "s_stuff.h"
12extern uint64_t runningtime;
13#else /* ROCKBOX */
7#include "m_pd.h" 14#include "m_pd.h"
8#include "s_stuff.h" 15#include "s_stuff.h"
9#include <math.h> 16#include <math.h>
@@ -19,6 +26,7 @@
19#include <wtypes.h> 26#include <wtypes.h>
20#include <time.h> 27#include <time.h>
21#endif 28#endif
29#endif /* ROCKBOX */
22 30
23#if defined (MACOSX) || defined (__FreeBSD__) 31#if defined (MACOSX) || defined (__FreeBSD__)
24#define HZ CLK_TCK 32#define HZ CLK_TCK
@@ -68,6 +76,9 @@ static void random_bang(t_random *x)
68 76
69static void random_seed(t_random *x, float f, float glob) 77static void random_seed(t_random *x, float f, float glob)
70{ 78{
79#ifdef ROCKBOX
80 (void) glob;
81#endif
71 x->x_state = f; 82 x->x_state = f;
72} 83}
73 84
@@ -155,6 +166,10 @@ typedef struct _serial
155 166
156static void serial_float(t_serial *x, t_float f) 167static void serial_float(t_serial *x, t_float f)
157{ 168{
169#ifdef ROCKBOX
170 (void) x;
171 (void) f;
172#else /* ROCKBOX */
158 int n = f; 173 int n = f;
159 char message[MAXSERIAL * 4 + 100]; 174 char message[MAXSERIAL * 4 + 100];
160 if (!x->x_open) 175 if (!x->x_open)
@@ -164,6 +179,7 @@ static void serial_float(t_serial *x, t_float f)
164 } 179 }
165 sprintf(message, "com%d_send \"\\%3.3o\"\n", x->x_portno, n); 180 sprintf(message, "com%d_send \"\\%3.3o\"\n", x->x_portno, n);
166 sys_gui(message); 181 sys_gui(message);
182#endif /* ROCKBOX */
167} 183}
168 184
169static void *serial_new(t_floatarg fportno) 185static void *serial_new(t_floatarg fportno)
@@ -190,6 +206,9 @@ static t_class *cputime_class;
190typedef struct _cputime 206typedef struct _cputime
191{ 207{
192 t_object x_obj; 208 t_object x_obj;
209#ifdef ROCKBOX
210 uint64_t x_runningtime;
211#endif
193#ifdef UNIX 212#ifdef UNIX
194 struct tms x_setcputime; 213 struct tms x_setcputime;
195#endif 214#endif
@@ -202,6 +221,9 @@ typedef struct _cputime
202 221
203static void cputime_bang(t_cputime *x) 222static void cputime_bang(t_cputime *x)
204{ 223{
224#ifdef ROCKBOX
225 x->x_runningtime = runningtime;
226#endif
205#ifdef UNIX 227#ifdef UNIX
206 times(&x->x_setcputime); 228 times(&x->x_setcputime);
207#endif 229#endif
@@ -221,9 +243,16 @@ static void cputime_bang(t_cputime *x)
221#endif 243#endif
222} 244}
223 245
246#ifndef ROCKBOX
224#define HZ 100 247#define HZ 100
248#endif
225static void cputime_bang2(t_cputime *x) 249static void cputime_bang2(t_cputime *x)
226{ 250{
251#ifdef ROCKBOX
252 float elapsedcpu = 1000 *
253 (runningtime - x->x_runningtime) / HZ;
254 outlet_float(x->x_obj.ob_outlet, elapsedcpu);
255#endif
227#ifdef UNIX 256#ifdef UNIX
228 float elapsedcpu; 257 float elapsedcpu;
229 struct tms newcputime; 258 struct tms newcputime;
diff --git a/apps/plugins/pdbox/PDa/src/x_net.c b/apps/plugins/pdbox/PDa/src/x_net.c
index c4a004cc5c..aa19f78ec0 100644
--- a/apps/plugins/pdbox/PDa/src/x_net.c
+++ b/apps/plugins/pdbox/PDa/src/x_net.c
@@ -2,11 +2,17 @@
2* For information on usage and redistribution, and for a DISCLAIMER OF ALL 2* For information on usage and redistribution, and for a DISCLAIMER OF ALL
3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ 3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
4 4
5#ifdef ROCKBOX
6#include "plugin.h"
7#include "pdbox.h"
8#endif
9
5/* network */ 10/* network */
6 11
7#include "m_pd.h" 12#include "m_pd.h"
8#include "s_stuff.h" 13#include "s_stuff.h"
9 14
15#ifndef ROCKBOX
10#include <sys/types.h> 16#include <sys/types.h>
11#include <string.h> 17#include <string.h>
12#ifdef UNIX 18#ifdef UNIX
@@ -19,6 +25,7 @@
19#else 25#else
20#include <winsock.h> 26#include <winsock.h>
21#endif 27#endif
28#endif /* ROCKBOX */
22 29
23static t_class *netsend_class; 30static t_class *netsend_class;
24 31
@@ -31,16 +38,27 @@ typedef struct _netsend
31 38
32static void *netsend_new(t_floatarg udpflag) 39static void *netsend_new(t_floatarg udpflag)
33{ 40{
41#ifdef ROCKBOX
42 (void) udpflag;
43#endif
44
34 t_netsend *x = (t_netsend *)pd_new(netsend_class); 45 t_netsend *x = (t_netsend *)pd_new(netsend_class);
35 outlet_new(&x->x_obj, &s_float); 46 outlet_new(&x->x_obj, &s_float);
36 x->x_fd = -1; 47 x->x_fd = -1;
48#ifndef ROCKBOX
37 x->x_protocol = (udpflag != 0 ? SOCK_DGRAM : SOCK_STREAM); 49 x->x_protocol = (udpflag != 0 ? SOCK_DGRAM : SOCK_STREAM);
50#endif
38 return (x); 51 return (x);
39} 52}
40 53
41static void netsend_connect(t_netsend *x, t_symbol *hostname, 54static void netsend_connect(t_netsend *x, t_symbol *hostname,
42 t_floatarg fportno) 55 t_floatarg fportno)
43{ 56{
57#ifdef ROCKBOX
58 (void) x;
59 (void) hostname;
60 (void) fportno;
61#else /* ROCKBOX */
44 struct sockaddr_in server; 62 struct sockaddr_in server;
45 struct hostent *hp; 63 struct hostent *hp;
46 int sockfd; 64 int sockfd;
@@ -100,13 +118,16 @@ static void netsend_connect(t_netsend *x, t_symbol *hostname,
100 } 118 }
101 x->x_fd = sockfd; 119 x->x_fd = sockfd;
102 outlet_float(x->x_obj.ob_outlet, 1); 120 outlet_float(x->x_obj.ob_outlet, 1);
121#endif /* ROCKBOX */
103} 122}
104 123
105static void netsend_disconnect(t_netsend *x) 124static void netsend_disconnect(t_netsend *x)
106{ 125{
107 if (x->x_fd >= 0) 126 if (x->x_fd >= 0)
108 { 127 {
128#ifndef ROCKBOX
109 sys_closesocket(x->x_fd); 129 sys_closesocket(x->x_fd);
130#endif
110 x->x_fd = -1; 131 x->x_fd = -1;
111 outlet_float(x->x_obj.ob_outlet, 0); 132 outlet_float(x->x_obj.ob_outlet, 0);
112 } 133 }
@@ -114,6 +135,12 @@ static void netsend_disconnect(t_netsend *x)
114 135
115static void netsend_send(t_netsend *x, t_symbol *s, int argc, t_atom *argv) 136static void netsend_send(t_netsend *x, t_symbol *s, int argc, t_atom *argv)
116{ 137{
138#ifdef ROCKBOX
139 (void) x;
140 (void) s;
141 (void) argc;
142 (void) argv;
143#else /* ROCKBOX */
117 if (x->x_fd >= 0) 144 if (x->x_fd >= 0)
118 { 145 {
119 t_binbuf *b = binbuf_new(); 146 t_binbuf *b = binbuf_new();
@@ -159,11 +186,16 @@ static void netsend_send(t_netsend *x, t_symbol *s, int argc, t_atom *argv)
159 binbuf_free(b); 186 binbuf_free(b);
160 } 187 }
161 else error("netsend: not connected"); 188 else error("netsend: not connected");
189#endif /* ROCKBOX */
162} 190}
163 191
164static void netsend_free(t_netsend *x) 192static void netsend_free(t_netsend *x)
165{ 193{
194#ifdef ROCKBOX
195 (void) x;
196#else
166 netsend_disconnect(x); 197 netsend_disconnect(x);
198#endif
167} 199}
168 200
169static void netsend_setup(void) 201static void netsend_setup(void)
@@ -193,14 +225,23 @@ typedef struct _netreceive
193 int x_udp; 225 int x_udp;
194} t_netreceive; 226} t_netreceive;
195 227
228#ifdef ROCKBOX
229static t_netreceive* receiver;
230static int receiver_port;
231#endif /* ROCKBOX */
232
233#ifndef ROCKBOX
196static void netreceive_notify(t_netreceive *x) 234static void netreceive_notify(t_netreceive *x)
197{ 235{
198 outlet_float(x->x_connectout, --x->x_nconnections); 236 outlet_float(x->x_connectout, --x->x_nconnections);
199} 237}
238#endif /* ROCKBOX */
200 239
201static void netreceive_doit(void *z, t_binbuf *b) 240static void netreceive_doit(void *z, t_binbuf *b)
202{ 241{
242#ifndef ROCKBOX
203 t_atom messbuf[1024]; 243 t_atom messbuf[1024];
244#endif
204 t_netreceive *x = (t_netreceive *)z; 245 t_netreceive *x = (t_netreceive *)z;
205 int msg, natom = binbuf_getnatom(b); 246 int msg, natom = binbuf_getnatom(b);
206 t_atom *at = binbuf_getvec(b); 247 t_atom *at = binbuf_getvec(b);
@@ -234,6 +275,7 @@ static void netreceive_doit(void *z, t_binbuf *b)
234 } 275 }
235} 276}
236 277
278#ifndef ROCKBOX
237static void netreceive_connectpoll(t_netreceive *x) 279static void netreceive_connectpoll(t_netreceive *x)
238{ 280{
239 int fd = accept(x->x_connectsocket, 0, 0); 281 int fd = accept(x->x_connectsocket, 0, 0);
@@ -247,11 +289,41 @@ static void netreceive_connectpoll(t_netreceive *x)
247 outlet_float(x->x_connectout, ++x->x_nconnections); 289 outlet_float(x->x_connectout, ++x->x_nconnections);
248 } 290 }
249} 291}
292#endif
250 293
251static void *netreceive_new(t_symbol *compatflag, 294static void *netreceive_new(t_symbol *compatflag,
252 t_floatarg fportno, t_floatarg udpflag) 295 t_floatarg fportno, t_floatarg udpflag)
253{ 296{
254 t_netreceive *x; 297 t_netreceive *x;
298
299#ifdef ROCKBOX
300 int portno = fportno, udp = (udpflag != 0);
301
302 (void) compatflag;
303
304 /* Look whether callback is already taken. */
305 if(receiver)
306 {
307 post("Receiver callback already taken!\n");
308 return NULL;
309 }
310
311 /* Look whether TCP sockets are thought to exist. */
312 if(!udp)
313 {
314 post("Trying to create TCP socket!\n");
315 return NULL;
316 }
317
318 x = (t_netreceive *) pd_new(netreceive_class);
319 x->x_msgout = outlet_new(&x->x_obj, &s_anything);
320 x->x_nconnections = 0;
321 x->x_udp = udp;
322
323 receiver = x;
324 receiver_port = portno;
325
326#else /* ROCKBOX */
255 struct sockaddr_in server; 327 struct sockaddr_in server;
256 int sockfd, portno = fportno, udp = (udpflag != 0); 328 int sockfd, portno = fportno, udp = (udpflag != 0);
257 int old = !strcmp(compatflag->s_name , "old"); 329 int old = !strcmp(compatflag->s_name , "old");
@@ -333,20 +405,62 @@ static void *netreceive_new(t_symbol *compatflag,
333 x->x_connectsocket = sockfd; 405 x->x_connectsocket = sockfd;
334 x->x_nconnections = 0; 406 x->x_nconnections = 0;
335 x->x_udp = udp; 407 x->x_udp = udp;
408#endif /* ROCKBOX */
336 409
337 return (x); 410 return (x);
338} 411}
339 412
340static void netreceive_free(t_netreceive *x) 413static void netreceive_free(t_netreceive *x)
341{ 414{
415#ifdef ROCKBOX
416 if(receiver && receiver == x)
417 receiver = NULL;
418#else /* ROCKBOX */
342 /* LATER make me clean up open connections */ 419 /* LATER make me clean up open connections */
343 if (x->x_connectsocket >= 0) 420 if (x->x_connectsocket >= 0)
344 { 421 {
345 sys_rmpollfn(x->x_connectsocket); 422 sys_rmpollfn(x->x_connectsocket);
346 sys_closesocket(x->x_connectsocket); 423 sys_closesocket(x->x_connectsocket);
347 } 424 }
425#endif /* ROCKBOX */
348} 426}
349 427
428#ifdef ROCKBOX
429/* Basically a reimplementation of socketreceiver_getudp()
430 from s_inter.c */
431t_binbuf* inbinbuf;
432void outlet_setstacklim(void);
433
434void rockbox_receive_callback(struct datagram* dg)
435{
436 /* Check whether there is a receiver. */
437 if(!receiver)
438 return;
439
440 /* Limit string. */
441 dg->data[dg->size] = '\0';
442
443 /* If complete line... */
444 if(dg->data[dg->size-1] == '\n')
445 {
446 char* semi = strchr(dg->data, ';');
447
448 /* Limit message. */
449 if(semi)
450 *semi = '\0';
451
452 /* Create binary buffer. */
453 binbuf_text(inbinbuf, dg->data, strlen(dg->data));
454
455 /* Limit outlet stack. */
456 outlet_setstacklim();
457
458 /* Execute receive function. */
459 netreceive_doit(receiver, inbinbuf);
460 }
461}
462#endif /* ROCKBOX */
463
350static void netreceive_setup(void) 464static void netreceive_setup(void)
351{ 465{
352 netreceive_class = class_new(gensym("netreceive"), 466 netreceive_class = class_new(gensym("netreceive"),
@@ -360,5 +474,3 @@ void x_net_setup(void)
360 netsend_setup(); 474 netsend_setup();
361 netreceive_setup(); 475 netreceive_setup();
362} 476}
363
364
diff --git a/apps/plugins/pdbox/PDa/src/x_qlist.c b/apps/plugins/pdbox/PDa/src/x_qlist.c
index 7dbec5e7b4..fc7866ff41 100644
--- a/apps/plugins/pdbox/PDa/src/x_qlist.c
+++ b/apps/plugins/pdbox/PDa/src/x_qlist.c
@@ -2,7 +2,14 @@
2* For information on usage and redistribution, and for a DISCLAIMER OF ALL 2* For information on usage and redistribution, and for a DISCLAIMER OF ALL
3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */ 3* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
4 4
5#ifdef ROCKBOX
6#include "plugin.h"
7#include "pdbox.h"
8#endif
9
5#include "m_pd.h" 10#include "m_pd.h"
11
12#ifndef ROCKBOX
6#include <string.h> 13#include <string.h>
7#ifdef UNIX 14#ifdef UNIX
8#include <unistd.h> 15#include <unistd.h>
@@ -10,6 +17,7 @@
10#ifdef MSW 17#ifdef MSW
11#include <io.h> 18#include <io.h>
12#endif 19#endif
20#endif /* ROCKBOX */
13 21
14typedef struct _qlist 22typedef struct _qlist
15{ 23{
@@ -32,7 +40,9 @@ static t_class *qlist_class;
32 40
33static void *qlist_new( void) 41static void *qlist_new( void)
34{ 42{
43#ifndef ROCKBOX
35 t_symbol *name, *filename = 0; 44 t_symbol *name, *filename = 0;
45#endif
36 t_qlist *x = (t_qlist *)pd_new(qlist_class); 46 t_qlist *x = (t_qlist *)pd_new(qlist_class);
37 x->x_binbuf = binbuf_new(); 47 x->x_binbuf = binbuf_new();
38 x->x_clock = clock_new(x, (t_method)qlist_tick); 48 x->x_clock = clock_new(x, (t_method)qlist_tick);
@@ -151,6 +161,9 @@ static void qlist_tick(t_qlist *x)
151 161
152static void qlist_add(t_qlist *x, t_symbol *s, int ac, t_atom *av) 162static void qlist_add(t_qlist *x, t_symbol *s, int ac, t_atom *av)
153{ 163{
164#ifdef ROCKBOX
165 (void) s;
166#endif
154 t_atom a; 167 t_atom a;
155 SETSEMI(&a); 168 SETSEMI(&a);
156 binbuf_add(x->x_binbuf, ac, av); 169 binbuf_add(x->x_binbuf, ac, av);
@@ -159,6 +172,9 @@ static void qlist_add(t_qlist *x, t_symbol *s, int ac, t_atom *av)
159 172
160static void qlist_add2(t_qlist *x, t_symbol *s, int ac, t_atom *av) 173static void qlist_add2(t_qlist *x, t_symbol *s, int ac, t_atom *av)
161{ 174{
175#ifdef ROCKBOX
176 (void) s;
177#endif
162 binbuf_add(x->x_binbuf, ac, av); 178 binbuf_add(x->x_binbuf, ac, av);
163} 179}
164 180
@@ -239,7 +255,9 @@ typedef t_qlist t_textfile;
239 255
240static void *textfile_new( void) 256static void *textfile_new( void)
241{ 257{
258#ifndef ROCKBOX
242 t_symbol *name, *filename = 0; 259 t_symbol *name, *filename = 0;
260#endif
243 t_textfile *x = (t_textfile *)pd_new(textfile_class); 261 t_textfile *x = (t_textfile *)pd_new(textfile_class);
244 x->x_binbuf = binbuf_new(); 262 x->x_binbuf = binbuf_new();
245 outlet_new(&x->x_ob, &s_list); 263 outlet_new(&x->x_ob, &s_list);
@@ -257,7 +275,11 @@ static void *textfile_new( void)
257static void textfile_bang(t_textfile *x) 275static void textfile_bang(t_textfile *x)
258{ 276{
259 int argc = binbuf_getnatom(x->x_binbuf), 277 int argc = binbuf_getnatom(x->x_binbuf),
278#ifdef ROCKBOX
279 onset = x->x_onset, onset2;
280#else
260 count, onset = x->x_onset, onset2; 281 count, onset = x->x_onset, onset2;
282#endif
261 t_atom *argv = binbuf_getvec(x->x_binbuf); 283 t_atom *argv = binbuf_getvec(x->x_binbuf);
262 t_atom *ap = argv + onset, *ap2; 284 t_atom *ap = argv + onset, *ap2;
263 while (onset < argc && 285 while (onset < argc &&
diff --git a/apps/plugins/pdbox/PDa/src/x_time.c b/apps/plugins/pdbox/PDa/src/x_time.c
index 4cab8bc364..2d38369aa5 100644
--- a/apps/plugins/pdbox/PDa/src/x_time.c
+++ b/apps/plugins/pdbox/PDa/src/x_time.c
@@ -266,6 +266,9 @@ static void timer_bang2(t_timer *x)
266 266
267static void *timer_new(t_floatarg f) 267static void *timer_new(t_floatarg f)
268{ 268{
269#ifdef ROCKBOX
270 (void) f;
271#endif
269 t_timer *x = (t_timer *)pd_new(timer_class); 272 t_timer *x = (t_timer *)pd_new(timer_class);
270 timer_bang(x); 273 timer_bang(x);
271 outlet_new(&x->x_obj, gensym("float")); 274 outlet_new(&x->x_obj, gensym("float"));
@@ -314,6 +317,9 @@ typedef struct _pipe
314 317
315static void *pipe_new(t_symbol *s, int argc, t_atom *argv) 318static void *pipe_new(t_symbol *s, int argc, t_atom *argv)
316{ 319{
320#ifdef ROCKBOX
321 (void) s;
322#endif
317 t_pipe *x = (t_pipe *)pd_new(pipe_class); 323 t_pipe *x = (t_pipe *)pd_new(pipe_class);
318 t_atom defarg, *ap; 324 t_atom defarg, *ap;
319 t_pipeout *vec, *vp; 325 t_pipeout *vec, *vp;
@@ -412,7 +418,7 @@ static void hang_tick(t_hang *h)
412 int i; 418 int i;
413 union word *w; 419 union word *w;
414 if (x->x_hang == h) x->x_hang = h->h_next; 420 if (x->x_hang == h) x->x_hang = h->h_next;
415 else for (h2 = x->x_hang; h3 = h2->h_next; h2 = h3) 421 else for (h2 = x->x_hang; (h3 = h2->h_next); h2 = h3)
416 { 422 {
417 if (h3 == h) 423 if (h3 == h)
418 { 424 {
@@ -432,6 +438,9 @@ static void hang_tick(t_hang *h)
432 outlet_pointer(p->p_outlet, w->w_gpointer); 438 outlet_pointer(p->p_outlet, w->w_gpointer);
433 else post("pipe: stale pointer"); 439 else post("pipe: stale pointer");
434 break; 440 break;
441#ifdef ROCKBOX
442 default: break;
443#endif
435 } 444 }
436 } 445 }
437 hang_free(h); 446 hang_free(h);
@@ -439,6 +448,9 @@ static void hang_tick(t_hang *h)
439 448
440static void pipe_list(t_pipe *x, t_symbol *s, int ac, t_atom *av) 449static void pipe_list(t_pipe *x, t_symbol *s, int ac, t_atom *av)
441{ 450{
451#ifdef ROCKBOX
452 (void) s;
453#endif
442 t_hang *h = (t_hang *) 454 t_hang *h = (t_hang *)
443 getbytes(sizeof(*h) + (x->x_n - 1) * sizeof(*h->h_vec)); 455 getbytes(sizeof(*h) + (x->x_n - 1) * sizeof(*h->h_vec));
444 t_gpointer *gp, *gp2; 456 t_gpointer *gp, *gp2;
@@ -465,6 +477,10 @@ static void pipe_list(t_pipe *x, t_symbol *s, int ac, t_atom *av)
465 if (gp->gp_stub) gp->gp_stub->gs_refcount++; 477 if (gp->gp_stub) gp->gp_stub->gs_refcount++;
466 } 478 }
467 gp++; 479 gp++;
480#ifdef ROCKBOX
481 break;
482 default: break;
483#endif
468 } 484 }
469 } 485 }
470 for (i = 0, gp = x->x_gp, gp2 = h->h_gp, p = x->x_vec, w = h->h_vec; 486 for (i = 0, gp = x->x_gp, gp2 = h->h_gp, p = x->x_vec, w = h->h_vec;
@@ -493,7 +509,7 @@ static void pipe_flush(t_pipe *x)
493static void pipe_clear(t_pipe *x) 509static void pipe_clear(t_pipe *x)
494{ 510{
495 t_hang *hang; 511 t_hang *hang;
496 while (hang = x->x_hang) 512 while ((hang = x->x_hang))
497 { 513 {
498 x->x_hang = hang->h_next; 514 x->x_hang = hang->h_next;
499 hang_free(hang); 515 hang_free(hang);