aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/cdstatus
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/cdstatus
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
downloadopenembedded-709c4d66e0b107ca606941b988bad717c0b45d9b.tar.gz
openembedded-709c4d66e0b107ca606941b988bad717c0b45d9b.tar.bz2
openembedded-709c4d66e0b107ca606941b988bad717c0b45d9b.zip
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/cdstatus')
-rw-r--r--recipes/cdstatus/cdstatus-0.96.05/cdstatus.patch131
-rw-r--r--recipes/cdstatus/cdstatus_0.96.05.bb23
2 files changed, 154 insertions, 0 deletions
diff --git a/recipes/cdstatus/cdstatus-0.96.05/cdstatus.patch b/recipes/cdstatus/cdstatus-0.96.05/cdstatus.patch
new file mode 100644
index 0000000000..913cd721e0
--- /dev/null
+++ b/recipes/cdstatus/cdstatus-0.96.05/cdstatus.patch
@@ -0,0 +1,131 @@
+*** cdstatus-0.96.05/src/cdstatus.c.orig 2005-11-26 16:23:27.000000000 +0100
+--- cdstatus-0.96.05/src/cdstatus.c 2005-11-26 19:06:57.000000000 +0100
+***************
+*** 436,441 ****
+--- 436,501 ----
+ return 0;
+ }
+
++ /* following code copied from
++ http://www.gamedev.net/reference/articles/article2091.asp
++ it has been slightly modified as we did not have a reason to output
++ big endian or float
++ */
++ static short ShortSwap( short s )
++ {
++ unsigned char b1, b2;
++
++ b1 = s & 255;
++ b2 = (s >> 8) & 255;
++
++ return (b1 << 8) + b2;
++ }
++
++ static short ShortNoSwap( short s )
++ {
++ return s;
++ }
++
++ static int LongSwap (int i)
++ {
++ unsigned char b1, b2, b3, b4;
++
++ b1 = i & 255;
++ b2 = ( i >> 8 ) & 255;
++ b3 = ( i>>16 ) & 255;
++ b4 = ( i>>24 ) & 255;
++
++ return ((int)b1 << 24) + ((int)b2 << 16) + ((int)b3 << 8) + b4;
++ }
++
++ static int LongNoSwap( int i )
++ {
++ return i;
++ }
++
++ static short (*LittleShort) ( short s );
++ static int (*LittleLong) ( int i );
++
++ static void InitEndian( void )
++ {
++ char SwapTest[2] = { 1, 0 };
++
++ if( *(short *) SwapTest == 1 )
++ {
++ // little endian
++ //set func pointers to correct funcs
++ LittleShort = ShortNoSwap;
++ LittleLong = LongNoSwap;
++ }
++ else
++ {
++ // big endian
++ LittleShort = ShortSwap;
++ LittleLong = LongSwap;
++ }
++ }
++ /* end of copied code */
++
+ static void writeWavHeader(unsigned int readframes, FILE * audio_out)
+ {
+ long int chunksize;
+***************
+*** 456,478 ****
+
+ wavHeader wHeader;
+
+ /* "RIFF" */
+! wHeader.RIFF_header = 0x46464952;
+
+ chunksize = readframes * CD_FRAMESIZE_RAW;
+! wHeader.total_size = (int32_t)(chunksize + sizeof(wavHeader));
+
+ /* "WAVEfmt " */
+! wHeader.WAVE = 0x45564157;
+! wHeader.fmt = 0x20746D66;
+
+! wHeader.subchunk_size = 16;
+! wHeader.audio_format = 1;
+! wHeader.number_channels = 2;
+! wHeader.sampling_rate = 44100;
+! wHeader.byte_rate = 176400;
+! wHeader.block_align = 4;
+! wHeader.bits_per_sample = 16;
+
+ if(fwrite((const void *) &wHeader, sizeof(wavHeader), (size_t) 1, audio_out)!=1)
+ {
+--- 516,539 ----
+
+ wavHeader wHeader;
+
++ InitEndian();
+ /* "RIFF" */
+! wHeader.RIFF_header = LittleLong(0x46464952);
+
+ chunksize = readframes * CD_FRAMESIZE_RAW;
+! wHeader.total_size = LittleLong((int32_t)(chunksize + sizeof(wavHeader)));
+
+ /* "WAVEfmt " */
+! wHeader.WAVE = LittleLong(0x45564157);
+! wHeader.fmt = LittleLong(0x20746D66);
+
+! wHeader.subchunk_size = LittleLong(16);
+! wHeader.audio_format = LittleShort(1);
+! wHeader.number_channels = LittleShort(2);
+! wHeader.sampling_rate = LittleLong(44100);
+! wHeader.byte_rate = LittleLong(176400);
+! wHeader.block_align = LittleShort(4);
+! wHeader.bits_per_sample = LittleShort(16);
+
+ if(fwrite((const void *) &wHeader, sizeof(wavHeader), (size_t) 1, audio_out)!=1)
+ {
+***************
+*** 492,497 ****
+--- 553,559 ----
+ }
+ exit(EXIT_FAILURE);
+ }
++ chunksize = LittleLong(chunksize);
+ if(fwrite((const void *) &chunksize, sizeof(long int), (size_t) 1, audio_out)!=1)
+ {
+ perror("Error writing wav file chunksize header");
diff --git a/recipes/cdstatus/cdstatus_0.96.05.bb b/recipes/cdstatus/cdstatus_0.96.05.bb
new file mode 100644
index 0000000000..acff6a5861
--- /dev/null
+++ b/recipes/cdstatus/cdstatus_0.96.05.bb
@@ -0,0 +1,23 @@
+# cdstatus OE build file
+
+PR ="r2"
+LICENSE="GPL"
+HOMEPAGE = "http://cdstatus.sourceforge.net/"
+FILES_${PN} += "${datadir}/cdstatus.cfg"
+
+SRC_URI="${SOURCEFORGE_MIRROR}/cdstatus/cdstatus-0.96.05.tar.gz \
+ file://cdstatus.patch;patch=1"
+
+S="${WORKDIR}/cdstatus-0.96.05"
+
+inherit autotools
+
+do_install() {
+ install -d 0755 ${D}/${bindir}
+ install -d 0755 ${D}/${datadir}
+ install -d 0755 ${D}/${mandir}
+ install -m 0755 src/cdstatus ${D}/${bindir}
+ install -m 0644 cdstatus.cfg ${D}/${datadir}
+ install -m 0644 cdstatus.1 ${D}/${mandir}
+
+}