head 1.5; access; symbols pkgsrc-2026Q1:1.5.0.116 pkgsrc-2026Q1-base:1.5 pkgsrc-2025Q4:1.5.0.114 pkgsrc-2025Q4-base:1.5 pkgsrc-2025Q3:1.5.0.112 pkgsrc-2025Q3-base:1.5 pkgsrc-2025Q2:1.5.0.110 pkgsrc-2025Q2-base:1.5 pkgsrc-2025Q1:1.5.0.108 pkgsrc-2025Q1-base:1.5 pkgsrc-2024Q4:1.5.0.106 pkgsrc-2024Q4-base:1.5 pkgsrc-2024Q3:1.5.0.104 pkgsrc-2024Q3-base:1.5 pkgsrc-2024Q2:1.5.0.102 pkgsrc-2024Q2-base:1.5 pkgsrc-2024Q1:1.5.0.100 pkgsrc-2024Q1-base:1.5 pkgsrc-2023Q4:1.5.0.98 pkgsrc-2023Q4-base:1.5 pkgsrc-2023Q3:1.5.0.96 pkgsrc-2023Q3-base:1.5 pkgsrc-2023Q2:1.5.0.94 pkgsrc-2023Q2-base:1.5 pkgsrc-2023Q1:1.5.0.92 pkgsrc-2023Q1-base:1.5 pkgsrc-2022Q4:1.5.0.90 pkgsrc-2022Q4-base:1.5 pkgsrc-2022Q3:1.5.0.88 pkgsrc-2022Q3-base:1.5 pkgsrc-2022Q2:1.5.0.86 pkgsrc-2022Q2-base:1.5 pkgsrc-2022Q1:1.5.0.84 pkgsrc-2022Q1-base:1.5 pkgsrc-2021Q4:1.5.0.82 pkgsrc-2021Q4-base:1.5 pkgsrc-2021Q3:1.5.0.80 pkgsrc-2021Q3-base:1.5 pkgsrc-2021Q2:1.5.0.78 pkgsrc-2021Q2-base:1.5 pkgsrc-2021Q1:1.5.0.76 pkgsrc-2021Q1-base:1.5 pkgsrc-2020Q4:1.5.0.74 pkgsrc-2020Q4-base:1.5 pkgsrc-2020Q3:1.5.0.72 pkgsrc-2020Q3-base:1.5 pkgsrc-2020Q2:1.5.0.68 pkgsrc-2020Q2-base:1.5 pkgsrc-2020Q1:1.5.0.48 pkgsrc-2020Q1-base:1.5 pkgsrc-2019Q4:1.5.0.70 pkgsrc-2019Q4-base:1.5 pkgsrc-2019Q3:1.5.0.66 pkgsrc-2019Q3-base:1.5 pkgsrc-2019Q2:1.5.0.64 pkgsrc-2019Q2-base:1.5 pkgsrc-2019Q1:1.5.0.62 pkgsrc-2019Q1-base:1.5 pkgsrc-2018Q4:1.5.0.60 pkgsrc-2018Q4-base:1.5 pkgsrc-2018Q3:1.5.0.58 pkgsrc-2018Q3-base:1.5 pkgsrc-2018Q2:1.5.0.56 pkgsrc-2018Q2-base:1.5 pkgsrc-2018Q1:1.5.0.54 pkgsrc-2018Q1-base:1.5 pkgsrc-2017Q4:1.5.0.52 pkgsrc-2017Q4-base:1.5 pkgsrc-2017Q3:1.5.0.50 pkgsrc-2017Q3-base:1.5 pkgsrc-2017Q2:1.5.0.46 pkgsrc-2017Q2-base:1.5 pkgsrc-2017Q1:1.5.0.44 pkgsrc-2017Q1-base:1.5 pkgsrc-2016Q4:1.5.0.42 pkgsrc-2016Q4-base:1.5 pkgsrc-2016Q3:1.5.0.40 pkgsrc-2016Q3-base:1.5 pkgsrc-2016Q2:1.5.0.38 pkgsrc-2016Q2-base:1.5 pkgsrc-2016Q1:1.5.0.36 pkgsrc-2016Q1-base:1.5 pkgsrc-2015Q4:1.5.0.34 pkgsrc-2015Q4-base:1.5 pkgsrc-2015Q3:1.5.0.32 pkgsrc-2015Q3-base:1.5 pkgsrc-2015Q2:1.5.0.30 pkgsrc-2015Q2-base:1.5 pkgsrc-2015Q1:1.5.0.28 pkgsrc-2015Q1-base:1.5 pkgsrc-2014Q4:1.5.0.26 pkgsrc-2014Q4-base:1.5 pkgsrc-2014Q3:1.5.0.24 pkgsrc-2014Q3-base:1.5 pkgsrc-2014Q2:1.5.0.22 pkgsrc-2014Q2-base:1.5 pkgsrc-2014Q1:1.5.0.20 pkgsrc-2014Q1-base:1.5 pkgsrc-2013Q4:1.5.0.18 pkgsrc-2013Q4-base:1.5 pkgsrc-2013Q3:1.5.0.16 pkgsrc-2013Q3-base:1.5 pkgsrc-2013Q2:1.5.0.14 pkgsrc-2013Q2-base:1.5 pkgsrc-2013Q1:1.5.0.12 pkgsrc-2013Q1-base:1.5 pkgsrc-2012Q4:1.5.0.10 pkgsrc-2012Q4-base:1.5 pkgsrc-2012Q3:1.5.0.8 pkgsrc-2012Q3-base:1.5 pkgsrc-2012Q2:1.5.0.6 pkgsrc-2012Q2-base:1.5 pkgsrc-2012Q1:1.5.0.4 pkgsrc-2012Q1-base:1.5 pkgsrc-2011Q4:1.5.0.2 pkgsrc-2011Q4-base:1.5 pkgsrc-2011Q3:1.4.0.74 pkgsrc-2011Q3-base:1.4 pkgsrc-2011Q2:1.4.0.72 pkgsrc-2011Q2-base:1.4 pkgsrc-2011Q1:1.4.0.70 pkgsrc-2011Q1-base:1.4 pkgsrc-2010Q4:1.4.0.68 pkgsrc-2010Q4-base:1.4 pkgsrc-2010Q3:1.4.0.66 pkgsrc-2010Q3-base:1.4 pkgsrc-2010Q2:1.4.0.64 pkgsrc-2010Q2-base:1.4 pkgsrc-2010Q1:1.4.0.62 pkgsrc-2010Q1-base:1.4 pkgsrc-2009Q4:1.4.0.60 pkgsrc-2009Q4-base:1.4 pkgsrc-2009Q3:1.4.0.58 pkgsrc-2009Q3-base:1.4 pkgsrc-2009Q2:1.4.0.56 pkgsrc-2009Q2-base:1.4 pkgsrc-2009Q1:1.4.0.54 pkgsrc-2009Q1-base:1.4 pkgsrc-2008Q4:1.4.0.52 pkgsrc-2008Q4-base:1.4 pkgsrc-2008Q3:1.4.0.50 pkgsrc-2008Q3-base:1.4 cube-native-xorg:1.4.0.48 cube-native-xorg-base:1.4 pkgsrc-2008Q2:1.4.0.46 pkgsrc-2008Q2-base:1.4 cwrapper:1.4.0.44 pkgsrc-2008Q1:1.4.0.42 pkgsrc-2008Q1-base:1.4 pkgsrc-2007Q4:1.4.0.40 pkgsrc-2007Q4-base:1.4 pkgsrc-2007Q3:1.4.0.38 pkgsrc-2007Q3-base:1.4 pkgsrc-2007Q2:1.4.0.36 pkgsrc-2007Q2-base:1.4 pkgsrc-2007Q1:1.4.0.34 pkgsrc-2007Q1-base:1.4 pkgsrc-2006Q4:1.4.0.32 pkgsrc-2006Q4-base:1.4 pkgsrc-2006Q3:1.4.0.30 pkgsrc-2006Q3-base:1.4 pkgsrc-2006Q2:1.4.0.28 pkgsrc-2006Q2-base:1.4 pkgsrc-2006Q1:1.4.0.26 pkgsrc-2006Q1-base:1.4 pkgsrc-2005Q4:1.4.0.24 pkgsrc-2005Q4-base:1.4 pkgsrc-2005Q3:1.4.0.22 pkgsrc-2005Q3-base:1.4 pkgsrc-2005Q2:1.4.0.20 pkgsrc-2005Q2-base:1.4 pkgsrc-2005Q1:1.4.0.18 pkgsrc-2005Q1-base:1.4 pkgsrc-2004Q4:1.4.0.16 pkgsrc-2004Q4-base:1.4 pkgsrc-2004Q3:1.4.0.14 pkgsrc-2004Q3-base:1.4 pkgsrc-2004Q2:1.4.0.12 pkgsrc-2004Q2-base:1.4 pkgsrc-2004Q1:1.4.0.10 pkgsrc-2004Q1-base:1.4 pkgsrc-2003Q4:1.4.0.8 pkgsrc-2003Q4-base:1.4 netbsd-1-6-1:1.4.0.4 netbsd-1-6-1-base:1.4 netbsd-1-6:1.4.0.6 netbsd-1-6-RELEASE-base:1.4 pkgviews:1.4.0.2 pkgviews-base:1.4 buildlink2:1.3.0.2 buildlink2-base:1.3 netbsd-1-5-PATCH003:1.3 netbsd-1-5-PATCH001:1.3 netbsd-1-5-RELEASE:1.3 netbsd-1-4-PATCH003:1.3 netbsd-1-4-PATCH002:1.3 comdex-fall-1999:1.3 netbsd-1-4-PATCH001:1.3 netbsd-1-4-RELEASE:1.3 netbsd-1-3-PATCH003:1.3 netbsd-1-3-PATCH002:1.2; locks; strict; comment @# @; 1.5 date 2011.11.22.20.57.35; author wiz; state Exp; branches; next 1.4; 1.4 date 2002.06.27.15.52.14; author agc; state Exp; branches; next 1.3; 1.3 date 98.08.07.10.35.57; author agc; state Exp; branches; next 1.2; 1.2 date 98.01.06.22.42.03; author augustss; state Exp; branches; next 1.1; 1.1 date 97.10.28.23.49.44; author augustss; state Exp; branches; next ; desc @@ 1.5 log @Unconditionalize the DragonFly patches for newer c++. Use patches instead of sed. Set LICENSE while here. @ text @$NetBSD: patch-ad,v 1.4 2002/06/27 15:52:14 agc Exp $ --- header.cc.orig 1994-06-23 12:14:35.000000000 +0000 +++ header.cc @@@@ -20,15 +20,15 @@@@ /* * Changes from version 1.1 to 1.2: - * - iostreams manipulator calls like "cerr << setw (2) << ..." replaced by - * "cerr.width (2); ..." due to problems with older GNU C++ releases. + * - iostreams manipulator calls like "std::cerr << setw (2) << ..." replaced by + * "std::cerr.width (2); ..." due to problems with older GNU C++ releases. * - syncword recognition slightly changed */ #include #include -#include -#include +#include +#include #include #include "header.h" @@@@ -36,7 +36,7 @@@@ const uint32 Header::frequencies[3] = { 44100, 48000, 32000 }; -bool Header::read_header (Ibitstream *stream, Crc16 **crcp) +boolean Header::read_header (Ibitstream *stream, Crc16 **crcp) { uint32 headerstring; @@@@ -45,41 +45,41 @@@@ bool Header::read_header (Ibitstream *st if ((headerstring & 0xFFF80000) != 0xFFF80000) { - cerr << "invalid syncword 0x"; - cerr.width (8); - cerr.fill ('0'); - cerr << hex << headerstring - << " found at fileoffset " << dec + std::cerr << "invalid syncword 0x"; + std::cerr.width (8); + std::cerr.fill ('0'); + std::cerr << headerstring + << " found at fileoffset " << lseek (stream->filedescriptor (), 0, SEEK_CUR) - 4 << '\n'; return False; } if ((h_layer = (headerstring >> 17) & 3) == 0) { - cerr << "unknown layer identifier found!\n"; + std::cerr << "unknown layer identifier found!\n"; exit (1); } h_layer = 4 - h_layer; // now 1 means Layer I and 3 means Layer III if (h_layer == 3) { - cerr << "Sorry, Layer III not implemented!\n"; + std::cerr << "Sorry, Layer III not implemented!\n"; exit (1); } h_protection_bit = (headerstring >> 16) & 1; if ((h_bitrate_index = (headerstring >> 12) & 0xF) == 15) { - cerr << "unknown bitrate index found!\n"; + std::cerr << "unknown bitrate index found!\n"; exit (1); } if (!h_bitrate_index) { - cerr << "free format not yet implemented!\n"; + std::cerr << "free format not yet implemented!\n"; exit (1); } if ((h_sample_frequency = (e_sample_frequency)((headerstring >> 10) & 3)) == 3) { - cerr << "unknown sample frequency!\n"; + std::cerr << "unknown sample frequency!\n"; exit (1); } h_padding_bit = (headerstring >> 9) & 1; @@@@ -90,7 +90,7 @@@@ bool Header::read_header (Ibitstream *st h_mode != single_channel) || (h_bitrate_index >= 11 && h_mode == single_channel)) { - cerr << "illegal combination of mode and bitrate in a layer II stream:\n" + std::cerr << "illegal combination of mode and bitrate in a layer II stream:\n" " mode: " << mode_string () << "\n bitrate: " << bitrate_string () << '\n'; exit (1); @@@@ -161,7 +161,7 @@@@ uint32 Header::calculate_framesize () static const int32 bitrates_layer_2[15] = { 0 /*free format*/, 32000, 48000, 56000, 64000, 80000, 96000, 112000, 128000, 160000, 192000, 224000, 256000, 320000, 384000 }; - static const samplefrequencies[3] = { 44100, 48000, 32000 }; + static const int32 samplefrequencies[3] = { 44100, 48000, 32000 }; uint32 framesize; if (h_layer == 1) @ 1.4 log @Fix a compilation problem on 1.6 and above. Split patch files out into one file per patch-file. @ text @d1 1 a1 1 $NetBSD$ d3 22 a24 2 --- header.cc 2002/06/27 15:41:04 1.1 +++ header.cc 2002/06/27 15:44:28 d34 7 a40 4 @@@@ -48,8 +48,8 @@@@ cerr << "invalid syncword 0x"; cerr.width (8); cerr.fill ('0'); d43 4 a46 1 + cerr << headerstring d51 45 a95 1 @@@@ -161,7 +161,7 @@@@ @ 1.3 log @Add NetBSD RCS Ids. @ text @d3 11 a13 19 diff -u ../work/configuration.sh ./configuration.sh --- ../work/configuration.sh Sun Oct 26 12:31:52 1997 +++ ./configuration.sh Sun Oct 26 12:19:41 1997 @@@@ -72,6 +72,12 @@@@ INCLUDEDIRS= LIBRARIES= AUDIO_INCLUDES='#include ' ;; + NetBSD*) + COMPILER=g++ + COMPILERFLAGS='-O2 -DNETBSD' + INCLUDEDIRS= + LIBRARIES= + AUDIO_INCLUDES='#include ' ;; FreeBSD*) COMPILER=g++ COMPILERFLAGS='-O2 -m486 -DLINUX -DDAMN_INTEL_BYTE_ORDER' diff -u ../work/header.cc ./header.cc --- ../work/header.cc Sun Oct 26 12:31:52 1997 +++ ./header.cc Sun Oct 26 12:25:28 1997 d25 7 a31 177 diff -u ../work/ibitstream.cc ./ibitstream.cc --- ../work/ibitstream.cc Sun Oct 26 12:31:52 1997 +++ ./ibitstream.cc Sun Oct 26 12:17:22 1997 @@@@ -33,6 +33,12 @@@@ #include "all.h" #include "ibitstream.h" +#ifdef NETBSD +#include +#if BYTE_ORDER == LITTLE_ENDIAN +#define DAMN_INTEL_BYTE_ORDER +#endif +#endif #define swap_int32(int_32) (((int_32) << 24) | (((int_32) << 8) & 0x00ff0000) | \ (((int_32) >> 8) & 0x0000ff00) | ((int_32) >> 24)) diff -u ../work/maplay.cc ./maplay.cc --- ../work/maplay.cc Sun Oct 26 12:31:52 1997 +++ ./maplay.cc Sun Oct 26 12:18:30 1997 @@@@ -323,6 +323,17 @@@@ Exit (0); } #else +#ifdef NETBSD + { + if (NetBSDObuffer::class_suitable (mode == single_channel || which_channels != both) ? 1 : 2) + if (mode == single_channel || which_channels != both) + buffer = new NetBSDObuffer (1, header); + else + buffer = new NetBSDObuffer (2, header); + else + Exit (0); + } +#else //#ifdef your_machine // { // if (mode == single_channel || which_channels != both) @@@@ -337,6 +348,7 @@@@ Exit (0); } //#endif // !your_machine +#endif // !NETBSD #endif // !LINUX #endif // !SPARC #endif // !Indigo diff -u ../work/obuffer.cc ./obuffer.cc --- ../work/obuffer.cc Sun Oct 26 12:31:52 1997 +++ ./obuffer.cc Sun Oct 26 12:32:53 1997 @@@@ -639,3 +639,122 @@@@ } #endif /* LINUX */ + +#ifdef NETBSD +int NetBSDObuffer::audio_fd = -1; + +int NetBSDObuffer::open_audio_device (void) +{ + int fd; + + if ((fd = open ("/dev/audio", O_WRONLY | O_NDELAY, 0)) < 0) + if (errno == EBUSY) + { + cerr << "Sorry, the audio device is busy!\n"; + exit (1); + } + else + { + perror ("can't open /dev/audio for writing"); + exit (1); + } + + int flags; + if ((flags = fcntl (fd, F_GETFL, 0)) < 0) + { + perror ("fcntl F_GETFL on /dev/audio failed"); + exit (1); + } + flags &= ~O_NDELAY; + if (fcntl (fd, F_SETFL, flags) < 0) + { + perror ("fcntl F_SETFL on /dev/audio failed"); + exit (1); + } + return fd; +} + + +NetBSDObuffer::NetBSDObuffer (uint32 number_of_channels, Header *header) +{ +#ifdef DEBUG + if (!number_of_channels || number_of_channels > MAXCHANNELS) + { + cerr << "NetBSDObuffer: 0 < number of channels < " << MAXCHANNELS << "!\n"; + exit (1); + } +#endif + channels = number_of_channels; + for (int i = 0; i < number_of_channels; ++i) + bufferp[i] = buffer + i; + + if (audio_fd < 0) + { + cerr << "Internal error, NetBSDObuffer::audio_fd has to be initialized\n" + "by NetBSDObuffer::class_suitable()!\n"; + exit (1); + } + + audio_info info; + AUDIO_INITINFO(&info); + + // configure the device: + info.play.encoding = AUDIO_ENCODING_SLINEAR; + info.play.precision = 16; + info.play.channels = channels; + info.play.sample_rate = header->frequency (); + + if (ioctl (audio_fd, AUDIO_SETINFO, &info)) + { + perror ("configuration of /dev/audio failed"); + exit (1); + } +} + + +NetBSDObuffer::~NetBSDObuffer (void) +{ + close (audio_fd); +} + + +void NetBSDObuffer::append (uint32 channel, int16 value) +{ +#ifdef DEBUG + if (channel >= channels) + { + cerr << "illegal channelnumber in NetBSDObuffer::append()!\n"; + exit (1); + } + if (bufferp[channel] - buffer >= OBUFFERSIZE) + { + cerr << "buffer overflow!\n"; + exit (1); + } +#endif + *bufferp[channel] = value; + bufferp[channel] += channels; +} + + +void NetBSDObuffer::write_buffer (int) +{ + int length = (int)((char *)bufferp[0] - (char *)buffer); + if (write (audio_fd, buffer, length) != length) + { + perror ("write to /dev/audio failed"); + exit (1); + } + for (int i = 0; i < channels; ++i) + bufferp[i] = buffer + i; +} + + +boolean NetBSDObuffer::class_suitable (uint32 number_of_channels) +{ + // open the dsp audio device: + audio_fd = open_audio_device (); + return True; +} + +#endif /* NETBSD */ diff -u ../work/obuffer.h ./obuffer.h --- ../work/obuffer.h Sun Oct 26 12:31:52 1997 +++ ./obuffer.h Sun Oct 26 12:19:16 1997 @@@@ -163,4 +163,24 @@@@ }; #endif // LINUX d33 1 a33 21 +#ifdef NETBSD +class NetBSDObuffer : public Obuffer +{ + int16 buffer[OBUFFERSIZE]; + int16 *bufferp[MAXCHANNELS]; + uint32 channels; + static int audio_fd; + + static int open_audio_device (void); + +public: + NetBSDObuffer (uint32 number_of_channels, Header *); + ~NetBSDObuffer (void); + void append (uint32 channel, int16 value); + void write_buffer (int dummy); + + static boolean class_suitable (uint32 number_of_channels); +}; +#endif // LINUX + #endif @ 1.2 log @Avoid -m486 flag. @ text @d1 2 @ 1.1 log @Change RCS Id. NetBSD port. @ text @d10 1 a10 1 + COMPILERFLAGS='-O2 -m486 -DNETBSD' @