head 1.6; access; symbols pkgsrc-2026Q1:1.6.0.32 pkgsrc-2026Q1-base:1.6 pkgsrc-2025Q4:1.6.0.30 pkgsrc-2025Q4-base:1.6 pkgsrc-2025Q3:1.6.0.28 pkgsrc-2025Q3-base:1.6 pkgsrc-2025Q2:1.6.0.26 pkgsrc-2025Q2-base:1.6 pkgsrc-2025Q1:1.6.0.24 pkgsrc-2025Q1-base:1.6 pkgsrc-2024Q4:1.6.0.22 pkgsrc-2024Q4-base:1.6 pkgsrc-2024Q3:1.6.0.20 pkgsrc-2024Q3-base:1.6 pkgsrc-2024Q2:1.6.0.18 pkgsrc-2024Q2-base:1.6 pkgsrc-2024Q1:1.6.0.16 pkgsrc-2024Q1-base:1.6 pkgsrc-2023Q4:1.6.0.14 pkgsrc-2023Q4-base:1.6 pkgsrc-2023Q3:1.6.0.12 pkgsrc-2023Q3-base:1.6 pkgsrc-2023Q2:1.6.0.10 pkgsrc-2023Q2-base:1.6 pkgsrc-2023Q1:1.6.0.8 pkgsrc-2023Q1-base:1.6 pkgsrc-2022Q4:1.6.0.6 pkgsrc-2022Q4-base:1.6 pkgsrc-2022Q3:1.6.0.4 pkgsrc-2022Q3-base:1.6 pkgsrc-2022Q2:1.6.0.2 pkgsrc-2022Q2-base:1.6 pkgsrc-2022Q1:1.5.0.146 pkgsrc-2022Q1-base:1.5 pkgsrc-2021Q4:1.5.0.144 pkgsrc-2021Q4-base:1.5 pkgsrc-2021Q3:1.5.0.142 pkgsrc-2021Q3-base:1.5 pkgsrc-2021Q2:1.5.0.140 pkgsrc-2021Q2-base:1.5 pkgsrc-2021Q1:1.5.0.138 pkgsrc-2021Q1-base:1.5 pkgsrc-2020Q4:1.5.0.136 pkgsrc-2020Q4-base:1.5 pkgsrc-2020Q3:1.5.0.134 pkgsrc-2020Q3-base:1.5 pkgsrc-2020Q2:1.5.0.130 pkgsrc-2020Q2-base:1.5 pkgsrc-2020Q1:1.5.0.110 pkgsrc-2020Q1-base:1.5 pkgsrc-2019Q4:1.5.0.132 pkgsrc-2019Q4-base:1.5 pkgsrc-2019Q3:1.5.0.128 pkgsrc-2019Q3-base:1.5 pkgsrc-2019Q2:1.5.0.126 pkgsrc-2019Q2-base:1.5 pkgsrc-2019Q1:1.5.0.124 pkgsrc-2019Q1-base:1.5 pkgsrc-2018Q4:1.5.0.122 pkgsrc-2018Q4-base:1.5 pkgsrc-2018Q3:1.5.0.120 pkgsrc-2018Q3-base:1.5 pkgsrc-2018Q2:1.5.0.118 pkgsrc-2018Q2-base:1.5 pkgsrc-2018Q1:1.5.0.116 pkgsrc-2018Q1-base:1.5 pkgsrc-2017Q4:1.5.0.114 pkgsrc-2017Q4-base:1.5 pkgsrc-2017Q3:1.5.0.112 pkgsrc-2017Q3-base:1.5 pkgsrc-2017Q2:1.5.0.108 pkgsrc-2017Q2-base:1.5 pkgsrc-2017Q1:1.5.0.106 pkgsrc-2017Q1-base:1.5 pkgsrc-2016Q4:1.5.0.104 pkgsrc-2016Q4-base:1.5 pkgsrc-2016Q3:1.5.0.102 pkgsrc-2016Q3-base:1.5 pkgsrc-2016Q2:1.5.0.100 pkgsrc-2016Q2-base:1.5 pkgsrc-2016Q1:1.5.0.98 pkgsrc-2016Q1-base:1.5 pkgsrc-2015Q4:1.5.0.96 pkgsrc-2015Q4-base:1.5 pkgsrc-2015Q3:1.5.0.94 pkgsrc-2015Q3-base:1.5 pkgsrc-2015Q2:1.5.0.92 pkgsrc-2015Q2-base:1.5 pkgsrc-2015Q1:1.5.0.90 pkgsrc-2015Q1-base:1.5 pkgsrc-2014Q4:1.5.0.88 pkgsrc-2014Q4-base:1.5 pkgsrc-2014Q3:1.5.0.86 pkgsrc-2014Q3-base:1.5 pkgsrc-2014Q2:1.5.0.84 pkgsrc-2014Q2-base:1.5 pkgsrc-2014Q1:1.5.0.82 pkgsrc-2014Q1-base:1.5 pkgsrc-2013Q4:1.5.0.80 pkgsrc-2013Q4-base:1.5 pkgsrc-2013Q3:1.5.0.78 pkgsrc-2013Q3-base:1.5 pkgsrc-2013Q2:1.5.0.76 pkgsrc-2013Q2-base:1.5 pkgsrc-2013Q1:1.5.0.74 pkgsrc-2013Q1-base:1.5 pkgsrc-2012Q4:1.5.0.72 pkgsrc-2012Q4-base:1.5 pkgsrc-2012Q3:1.5.0.70 pkgsrc-2012Q3-base:1.5 pkgsrc-2012Q2:1.5.0.68 pkgsrc-2012Q2-base:1.5 pkgsrc-2012Q1:1.5.0.66 pkgsrc-2012Q1-base:1.5 pkgsrc-2011Q4:1.5.0.64 pkgsrc-2011Q4-base:1.5 pkgsrc-2011Q3:1.5.0.62 pkgsrc-2011Q3-base:1.5 pkgsrc-2011Q2:1.5.0.60 pkgsrc-2011Q2-base:1.5 pkgsrc-2011Q1:1.5.0.58 pkgsrc-2011Q1-base:1.5 pkgsrc-2010Q4:1.5.0.56 pkgsrc-2010Q4-base:1.5 pkgsrc-2010Q3:1.5.0.54 pkgsrc-2010Q3-base:1.5 pkgsrc-2010Q2:1.5.0.52 pkgsrc-2010Q2-base:1.5 pkgsrc-2010Q1:1.5.0.50 pkgsrc-2010Q1-base:1.5 pkgsrc-2009Q4:1.5.0.48 pkgsrc-2009Q4-base:1.5 pkgsrc-2009Q3:1.5.0.46 pkgsrc-2009Q3-base:1.5 pkgsrc-2009Q2:1.5.0.44 pkgsrc-2009Q2-base:1.5 pkgsrc-2009Q1:1.5.0.42 pkgsrc-2009Q1-base:1.5 pkgsrc-2008Q4:1.5.0.40 pkgsrc-2008Q4-base:1.5 pkgsrc-2008Q3:1.5.0.38 pkgsrc-2008Q3-base:1.5 cube-native-xorg:1.5.0.36 cube-native-xorg-base:1.5 pkgsrc-2008Q2:1.5.0.34 pkgsrc-2008Q2-base:1.5 cwrapper:1.5.0.32 pkgsrc-2008Q1:1.5.0.30 pkgsrc-2008Q1-base:1.5 pkgsrc-2007Q4:1.5.0.28 pkgsrc-2007Q4-base:1.5 pkgsrc-2007Q3:1.5.0.26 pkgsrc-2007Q3-base:1.5 pkgsrc-2007Q2:1.5.0.24 pkgsrc-2007Q2-base:1.5 pkgsrc-2007Q1:1.5.0.22 pkgsrc-2007Q1-base:1.5 pkgsrc-2006Q4:1.5.0.20 pkgsrc-2006Q4-base:1.5 pkgsrc-2006Q3:1.5.0.18 pkgsrc-2006Q3-base:1.5 pkgsrc-2006Q2:1.5.0.16 pkgsrc-2006Q2-base:1.5 pkgsrc-2006Q1:1.5.0.14 pkgsrc-2006Q1-base:1.5 pkgsrc-2005Q4:1.5.0.12 pkgsrc-2005Q4-base:1.5 pkgsrc-2005Q3:1.5.0.10 pkgsrc-2005Q3-base:1.5 pkgsrc-2005Q2:1.5.0.8 pkgsrc-2005Q2-base:1.5 pkgsrc-2005Q1:1.5.0.6 pkgsrc-2005Q1-base:1.5 pkgsrc-2004Q4:1.5.0.4 pkgsrc-2004Q4-base:1.5 pkgsrc-2004Q3:1.5.0.2 pkgsrc-2004Q3-base:1.5 pkgsrc-2004Q2:1.4.0.6 pkgsrc-2004Q2-base:1.4 pkgsrc-2004Q1:1.4.0.4 pkgsrc-2004Q1-base:1.4 pkgsrc-2003Q4:1.4.0.2 pkgsrc-2003Q4-base:1.4 netbsd-1-6-1:1.3.0.2 netbsd-1-6-1-base:1.3 netbsd-1-6:1.2.0.4 netbsd-1-6-RELEASE-base:1.2; locks; strict; comment @# @; 1.6 date 2022.06.06.12.12.47; author martin; state Exp; branches; next 1.5; commitid PaSMqvuWsGDhxYGD; 1.5 date 2004.09.12.05.08.28; author minskim; state Exp; branches; next 1.4; 1.4 date 2003.09.03.12.35.13; author martin; state dead; branches; next 1.3; 1.3 date 2002.10.03.15.46.58; author abs; state Exp; branches; next 1.2; 1.2 date 2002.08.02.23.01.47; author abs; state Exp; branches; next 1.1; 1.1 date 2002.08.01.08.51.20; author abs; state Exp; branches; next ; desc @@ 1.6 log @Fix handling of 64bit time_t on 32bit archs @ text @$NetBSD: patch-ai,v 1.5 2004/09/12 05:08:28 minskim Exp $ --- configure.orig 2003-08-03 09:57:19.000000000 -0500 +++ configure @@@@ -9316,7 +9316,7 @@@@ -for ac_func in strsep +for ac_func in strsep strlcpy strtoumax do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` echo "$as_me:$LINENO: checking for $ac_func" >&5 @@@@ -9896,6 +9896,8 @@@@ _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + : Avoid regenerating within pkgsrc + exit 0 ac_cs_recheck=: ;; --version | --vers* | -V ) echo "$ac_cs_version"; exit 0 ;; @ 1.5 log @Make this package build on Linux by using strncpy() when strlcpy() is not available. @ text @d1 1 a1 1 $NetBSD$ d5 1 a5 1 @@@@ -9316,7 +9316,7 @@@@ esac d10 1 a10 1 +for ac_func in strsep strlcpy d14 9 @ 1.4 log @Update to mserv-0.35. Most previus patches have been integrated, various fixes. This version is compatible with a new nifty win32 gui client, see the homepage for links. @ text @d1 1 a1 1 $NetBSD: patch-ai,v 1.3 2002/10/03 15:46:58 abs Exp $ d3 3 a5 8 --- mserv/mp3info.c.orig Thu Oct 3 16:10:58 2002 +++ mserv/mp3info.c @@@@ -7,6 +7,7 @@@@ #include #include #include +#include "mserv.h" #include "mp3info.h" a6 4 /* mp3 frame header structure */ @@@@ -25,6 +26,8 @@@@ #define h_id(val) ((val>>19)&1) #define h_thing(val) ((val>>20)&0xfff) a7 3 +#define ID3V2HEADERLEN 10 + /* mp3 bit rate and sampling frequency tables */ d9 5 a13 104 const int bitrate_table[2][3][16] = @@@@ -51,6 +54,16 @@@@ typedef struct id3tag_disc_str unsigned char genre; } id3tag_disc; +/* id3 v2 frame tag data */ + +typedef struct id3v2_frame_str +{ + char frameid[4]; + uint32_t size; + uint16_t flags; + char data[1024]; + size_t datalen; +} id3v2_frame; /* id3 tags genre */ const char *genres_table[] = { @@@@ -201,20 +214,46 @@@@ static int is_mp3(unsigned long int flag return 1; } +/* returns 0 if id3v2 frame found, -1 otherwise */ + +static int read_id3v2_frame(FILE *f, id3v2_frame *frame) +{ + if (fread(frame->frameid, 1, 4, f) != 4 || + fread(&frame->size, 1, 4, f) != 4 || fread(&frame->flags, 1, 2, f) != 2) + return -1; + frame->size = ntohl(frame->size); + frame->flags = ntohs(frame->flags); + frame->datalen = (frame->size >= sizeof(frame->data) - 1) + ?(sizeof(frame->data) - 1) :frame->size; + if (fread(frame->data, 1, frame->datalen, f) != frame->datalen) + return -1; + if (frame->frameid[0] == 'T' && memcmp(frame->frameid + 1, "XXX", 3)) { + frame->data[frame->datalen] = 0; + if (frame->data[0] == 0) /* Only handle non unicode */ + strcpy(frame->data, frame->data + 1); + else + frame->data[0] = 0; + } + return 0; +} + /* returns 0 if no id3v2 header, otherwise returns tag length, or -1 and errno set */ static int mp3_id3v2head(FILE *f) { char tag[3]; + char size[4]; if (fseek(f, 0, SEEK_SET) == -1 || fread(tag, 1, 3, f) != 3) return -1; if (strncmp(tag, "ID3", 3)) return 0; /* no header */ + if (fseek(f, 2 + 1, SEEK_CUR) == -1 || fread(size, 1, 4, f) != 4) + return -1; - errno = ENOSYS; - return -1; + return ID3V2HEADERLEN + size[3] + (size[2] << 7) + (size[1] << 14) + + (size[0] << 21); } /* determines length and bitrate of an mp3. returns -1 on failure with errno @@@@ -321,12 +360,35 @@@@ int mserv_mp3info_readlen(const char *fn /* No ID3 tag present; last 128 bytes is music. */ filelen += 128; } - fclose(f); /* ignore error */ *bitrate_ret = bitrate; length = ((filelen - headerlen) / mean_frame_size ) * ((115200/2) * (1+h_id(flags)) ) / fs; /* in 1/100 seconds */ + + /* If mp3v2 header present, read its contents */ + if (headerlen && fseek(f, ID3V2HEADERLEN, SEEK_SET) != -1) { + id3v2_frame frame; + while (read_id3v2_frame(f, &frame) != -1) { + if (!memcmp(frame.frameid, "TALB", 4)) { + memcpy(id3tag->album, frame.data, sizeof(id3tag->album) - 1); + id3tag->album[sizeof(id3tag->album) - 1] = 0; + } + else if (!memcmp(frame.frameid, "TPE1", 4)) { + memcpy(id3tag->artist, frame.data, sizeof(id3tag->artist) - 1); + id3tag->artist[sizeof(id3tag->artist) - 1] = 0; + } + else if (!memcmp(frame.frameid, "TIT2", 4)) { + memcpy(id3tag->title, frame.data, sizeof(id3tag->title) - 1); + id3tag->title[sizeof(id3tag->title) - 1] = 0; + } + if (ftell(f) >= headerlen) + break; + } + } + + fclose(f); /* ignore error */ return length; + error: errnok = errno; fclose(f); /* ignore error */ @ 1.3 log @Update mserv to mserv-0.33nb5: Correctly parse ID3V2 headers. @ text @d1 1 a1 1 $NetBSD$ @ 1.2 log @Updated mserv to 0.33nb4: Ensure reset message is flushed before restart starts, and fix volume control to correctly report new value so 'volume -' and 'volume +' will always reduce/increase the volume by the minimum value. @ text @d3 102 a104 12 --- mserv/mserv.c.orig Sat Jul 15 18:01:15 2000 +++ mserv/mserv.c @@@@ -3370,7 +3370,13 @@@@ int mserv_setmixer(t_client *cl, int wha mserv_response(cl, "IOCTLWR", NULL); return -1; } - newval = newval & 0xFF; + if (ioctl(mixer_fd, MIXER_READ(what), &newval) == -1) { + close(mixer_fd); + perror("iotcl read"); + mserv_response(cl, "IOCTLRD", 0); + return -1; d106 19 a124 4 + newval = newval & 0xff; if (type == 0 || newval != curval) break; param++; @ 1.1 log @add missing patches for last @ text @d3 17 a19 13 --- mserv/mservplay.c.orig Tue Jan 25 19:59:16 2000 +++ mserv/mservplay.c @@@@ -14,10 +14,6 @@@@ #include "defines.h" #include "misc.h" -#ifndef PATH_MPG123 -#define PATH_MPG123 "/usr/local/bin/mpg123" -#endif - int main(int argc, char *argv[]) { const pid_t pid = getpid(); @