summaryrefslogtreecommitdiff
path: root/media-sound/mp3blaster
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-08-01 10:47:11 +0100
committerV3n3RiX <venerix@koprulu.sector>2023-08-01 10:47:11 +0100
commit958e1f729da918df0d3a435745d914882c2786e5 (patch)
tree9d0f2aaf06af8b1c3a0d804cf9ece02cbc8910ef /media-sound/mp3blaster
parent057c56fbd3f54a8b2af3034c585e8df753b10664 (diff)
gentoo auto-resync : 01:08:2023 - 10:47:11
Diffstat (limited to 'media-sound/mp3blaster')
-rw-r--r--media-sound/mp3blaster/Manifest2
-rw-r--r--media-sound/mp3blaster/files/mp3blaster-3.2.6-drop-register-keyword.patch593
-rw-r--r--media-sound/mp3blaster/mp3blaster-3.2.6-r2.ebuild66
3 files changed, 661 insertions, 0 deletions
diff --git a/media-sound/mp3blaster/Manifest b/media-sound/mp3blaster/Manifest
index bf92616db48d..a3e02108c89d 100644
--- a/media-sound/mp3blaster/Manifest
+++ b/media-sound/mp3blaster/Manifest
@@ -1,5 +1,7 @@
AUX mp3blaster-3.2.5-fix-build-system.patch 2785 BLAKE2B 85f48a92691a538f01cf36c472d9d94e41a45bc0556e50b5f0375ef31c5aa2d2a44356ab2d732e11c135fac1a58b9e5c4e69a218f2d65663ea098319ad6964a8 SHA512 307796e8967b942f1b8133c271eb2a4a24ac9ce3ef2d3ed144197d615ba801198b4af115439f4306c5b84c5c3b7b4025475ed1dbae992d2731f646636ce8df8f
AUX mp3blaster-3.2.5-fix-c++14.patch 1206 BLAKE2B 2f007e1af876c70bab2202e628824a7b80ac1d1fddefb805849f7089d342690f4654e67829794bd17eea23c64a60b0a511dcc14d23987f577d69d57ce1d900bf SHA512 cf0fe93ad0e6a75a58a855aae87222de923709a775552138ad95754ced9812a62c3a1cdc4d7091e1b727c0425cec40d223a9533ad4a735efed24d5a62db4e8e4
+AUX mp3blaster-3.2.6-drop-register-keyword.patch 17322 BLAKE2B cd4d00de182047d4352f6ade4f611ced8126efd52749780cde30eeac73ebdab7e2ef65ddf5c7c8ec1febe449d9cc1c634ec3373161c891ab4f8c8cb7d11dfcd5 SHA512 642e77e3ab5c2e056d31fcaba441e7613a73fe78e473f9efde80fe632e8e3e19f4f6c2259cc6588423325d5bb1a624c416b724c92a0519918ceee2223639adc3
DIST mp3blaster-3.2.6.tar.gz 354019 BLAKE2B 7fcb9011c436015c2f81a1a28b19896dffdba578969edb8cc29ed20fef7f222be3c23a1409c5c0a4c2ecb5b10432178c5581837938ede23ee76fe3205eecbb51 SHA512 eb977eb46b86449c6d433b1740aa08580e5b8f3d55d82d6f2623cd5fd103d73b7df127fb9ac650a21da61ad4948eb569a812e15d9adc9424d491fa625e198e0d
EBUILD mp3blaster-3.2.6-r1.ebuild 1565 BLAKE2B ca920b6964b34fb1c37fb05ae497cbce9fe437a87a58c0e7f4464682758255528c80d46f9e1e5c957dcb23f7844d5dc1940d9b5201da5c34901973f9136b6a9d SHA512 ac10082ca77cb9f2f281e1bab6699d43354b6298f176ef4563cf45006d81217d450e7fa646742c2b099adfd2785534bf70d892950c00030cd90407457c8bd3b0
+EBUILD mp3blaster-3.2.6-r2.ebuild 1626 BLAKE2B c52e40ce5b8ff911d48b20fb3dbc28123c0b61c8404db52f1584c449c3859828c67d056f496236cfc15370c80264057de13ff26a7d68979c00e0e89201fd99d4 SHA512 c86a19233e959eaa0627af99a65dc4e2d791438556648e371a4a4df8c0e8bbbfb18da78dcac5eb22be3e06c25674fae3097e9e8c6a456ac8993aa492b1070367
MISC metadata.xml 433 BLAKE2B 4f113956ab8327011a21b00b5c05d1d1719ab58e9a39975e01cb4938bf95517614620c483f659e1ff83ed7ebf62d76c661cbff6f0e7a983159b2c91d72cd278b SHA512 a680b2e39fed703c6a78e2e043d57063a20e7beb17061f7220434ae6d04549ae2e4524be7e9056d24b141df45739856b8d74fd5169703b3252117ff7a74a073e
diff --git a/media-sound/mp3blaster/files/mp3blaster-3.2.6-drop-register-keyword.patch b/media-sound/mp3blaster/files/mp3blaster-3.2.6-drop-register-keyword.patch
new file mode 100644
index 000000000000..9ef2dd6e3226
--- /dev/null
+++ b/media-sound/mp3blaster/files/mp3blaster-3.2.6-drop-register-keyword.patch
@@ -0,0 +1,593 @@
+Bug: https://bugs.gentoo.org/897790
+--- a/mpegsound/filter.cc
++++ b/mpegsound/filter.cc
+@@ -25,7 +25,7 @@ void Mpegtoraw::computebuffer(REAL *fraction,REAL buffer[2][CALCBUFFERSIZE])
+
+ // compute new values via a fast cosine transform:
+ {
+- register REAL *x=fraction;
++ REAL *x=fraction;
+
+ p0=x[ 0]+x[31];p1=x[ 1]+x[30];p2=x[ 2]+x[29];p3=x[ 3]+x[28];
+ p4=x[ 4]+x[27];p5=x[ 5]+x[26];p6=x[ 6]+x[25];p7=x[ 7]+x[24];
+@@ -59,7 +59,7 @@ void Mpegtoraw::computebuffer(REAL *fraction,REAL buffer[2][CALCBUFFERSIZE])
+ pc=qc+qd;pd=hcos_4*(qc-qd);pe=qe+qf;pf=hcos_4*(qe-qf);
+
+ {
+- register REAL tmp;
++ REAL tmp;
+
+ tmp=p6+p7;
+ OUT2(36)=-(p5+tmp);
+@@ -84,7 +84,7 @@ void Mpegtoraw::computebuffer(REAL *fraction,REAL buffer[2][CALCBUFFERSIZE])
+ }
+
+ {
+- register REAL *x=fraction;
++ REAL *x=fraction;
+
+ p0=hcos_64[ 0]*(x[ 0]-x[31]);p1=hcos_64[ 1]*(x[ 1]-x[30]);
+ p2=hcos_64[ 2]*(x[ 2]-x[29]);p3=hcos_64[ 3]*(x[ 3]-x[28]);
+@@ -165,8 +165,8 @@ void Mpegtoraw::computebuffer(REAL *fraction,REAL buffer[2][CALCBUFFERSIZE])
+ inline void Mpegtoraw::generatesingle(void)
+ {
+ int i;
+- register REAL r, *vp;
+- register const REAL *dp;
++ REAL r, *vp;
++ const REAL *dp;
+ int raw;
+
+ i=32;
+@@ -251,8 +251,8 @@ inline void Mpegtoraw::generate(void)
+ {
+ int i;
+ REAL r1,r2;
+- register REAL *vp1,*vp2;
+- register const REAL *dp;
++ REAL *vp1,*vp2;
++ const REAL *dp;
+ int raw;
+
+ dp=filter;
+--- a/mpegsound/filter_2.cc
++++ b/mpegsound/filter_2.cc
+@@ -25,7 +25,7 @@ void Mpegtoraw::computebuffer_2(REAL *fraction,REAL buffer[2][CALCBUFFERSIZE])
+
+ // compute new values via a fast cosine transform:
+ /* {
+- register REAL *x=fraction;
++ REAL *x=fraction;
+
+ p0=x[ 0]+x[31];p1=x[ 1]+x[30];p2=x[ 2]+x[29];p3=x[ 3]+x[28];
+ p4=x[ 4]+x[27];p5=x[ 5]+x[26];p6=x[ 6]+x[25];p7=x[ 7]+x[24];
+@@ -41,7 +41,7 @@ void Mpegtoraw::computebuffer_2(REAL *fraction,REAL buffer[2][CALCBUFFERSIZE])
+ qe=hcos_32[6]*(p6-p9);qf=hcos_32[7]*(p7-p8); */
+
+ {
+- register REAL *x=fraction;
++ REAL *x=fraction;
+
+ q0=x[ 0]+x[15];q1=x[ 1]+x[14];q2=x[ 2]+x[13];q3=x[ 3]+x[12];
+ q4=x[ 4]+x[11];q5=x[ 5]+x[10];q6=x[ 6]+x[ 9];q7=x[ 7]+x[ 8];
+@@ -70,7 +70,7 @@ void Mpegtoraw::computebuffer_2(REAL *fraction,REAL buffer[2][CALCBUFFERSIZE])
+ pc=qc+qd;pd=hcos_4*(qc-qd);pe=qe+qf;pf=hcos_4*(qe-qf);
+
+ {
+- register REAL tmp;
++ REAL tmp;
+
+ tmp=p6+p7;
+ OUT2(36)=-(p5+tmp);
+@@ -95,7 +95,7 @@ void Mpegtoraw::computebuffer_2(REAL *fraction,REAL buffer[2][CALCBUFFERSIZE])
+ }
+
+ {
+- register REAL *x=fraction;
++ REAL *x=fraction;
+
+ /* p0=hcos_64[ 0]*(x[ 0]-x[31]);p1=hcos_64[ 1]*(x[ 1]-x[30]);
+ p2=hcos_64[ 2]*(x[ 2]-x[29]);p3=hcos_64[ 3]*(x[ 3]-x[28]);
+@@ -186,8 +186,8 @@ void Mpegtoraw::computebuffer_2(REAL *fraction,REAL buffer[2][CALCBUFFERSIZE])
+ inline void Mpegtoraw::generatesingle_2(void)
+ {
+ int i;
+- register REAL r, *vp;
+- register const REAL *dp;
++ REAL r, *vp;
++ const REAL *dp;
+ int raw;
+
+ i=32/2;
+@@ -273,8 +273,8 @@ inline void Mpegtoraw::generate_2(void)
+ {
+ int i;
+ REAL r1,r2;
+- register REAL *vp1,*vp2;
+- register const REAL *dp;
++ REAL *vp1,*vp2;
++ const REAL *dp;
+ int raw;
+
+ dp=filter;
+--- a/mpegsound/mpeglayer1.cc
++++ b/mpegsound/mpeglayer1.cc
+@@ -45,7 +45,7 @@ void Mpegtoraw::extractlayer1(void)
+ int bitalloc[MAXCHANNEL][MAXSUBBAND],
+ sample[MAXCHANNEL][MAXSUBBAND];
+
+- register int i,j;
++ int i,j;
+ int s=stereobound,l;
+
+
+--- a/mpegsound/mpeglayer2.cc
++++ b/mpegsound/mpeglayer2.cc
+@@ -429,8 +429,8 @@ void Mpegtoraw::extractlayer2(void)
+
+ // Bitalloc
+ {
+- register int i;
+- register const int *t=bitalloclengthtable[tableindex];
++ int i;
++ const int *t=bitalloclengthtable[tableindex];
+
+ for(i=0;i<s;i++,t++)
+ {
+@@ -444,18 +444,18 @@ void Mpegtoraw::extractlayer2(void)
+
+ // Scale selector
+ if(inputstereo)
+- for(register int i=0;i<n;i++)
++ for(int i=0;i<n;i++)
+ {
+ if(bitalloc[LS][i])scaleselector[LS][i]=getbits(2);
+ if(bitalloc[RS][i])scaleselector[RS][i]=getbits(2);
+ }
+ else
+- for(register int i=0;i<n;i++)
++ for(int i=0;i<n;i++)
+ if(bitalloc[LS][i])scaleselector[LS][i]=getbits(2);
+
+ // Scale index
+ {
+- register int i,j;
++ int i,j;
+
+ for(i=0;i<n;i++)
+ {
+@@ -600,7 +600,7 @@ void Mpegtoraw::extractlayer2(void)
+
+ // Read Sample
+ {
+- register int i;
++ int i;
+
+ for(int l=0;l<SCALEBLOCK;l++)
+ {
+@@ -611,7 +611,7 @@ void Mpegtoraw::extractlayer2(void)
+ {
+ if(group[LS][i])
+ {
+- register const REAL *s;
++ const REAL *s;
+ int code=getbits(codelength[LS][i]);
+
+ code+=code<<1;
+@@ -666,7 +666,7 @@ void Mpegtoraw::extractlayer2(void)
+ {
+ if(group[LS][i])
+ {
+- register const REAL *s;
++ const REAL *s;
+ int code=getbits(codelength[LS][i]);
+
+ code+=code<<1;
+@@ -705,7 +705,7 @@ void Mpegtoraw::extractlayer2(void)
+ fraction[LS][2][i]=(fraction[LS][2][i]+d[LS][i])*c[LS][i];
+ }
+
+- register REAL t=scalefactor[LS][l>>2][i];
++ REAL t=scalefactor[LS][l>>2][i];
+ fraction[LS][0][i]*=t;
+ fraction[LS][1][i]*=t;
+ fraction[LS][2][i]*=t;
+@@ -720,7 +720,7 @@ void Mpegtoraw::extractlayer2(void)
+ fraction[RS][2][i]=(fraction[RS][2][i]+d[RS][i])*c[LS][i];
+ }
+
+- register REAL t=scalefactor[RS][l>>2][i];
++ REAL t=scalefactor[RS][l>>2][i];
+ fraction[RS][0][i]*=t;
+ fraction[RS][1][i]*=t;
+ fraction[RS][2][i]*=t;
+@@ -737,7 +737,7 @@ void Mpegtoraw::extractlayer2(void)
+ fraction[LS][2][i]=(fraction[LS][2][i]+d[LS][i])*c[LS][i];
+ }
+
+- register REAL t=scalefactor[LS][l>>2][i];
++ REAL t=scalefactor[LS][l>>2][i];
+ fraction[LS][0][i]*=t;
+ fraction[LS][1][i]*=t;
+ fraction[LS][2][i]*=t;
+--- a/mpegsound/mpeglayer3.cc
++++ b/mpegsound/mpeglayer3.cc
+@@ -29,7 +29,7 @@ inline void Mpegbitwindow::wrap(void)
+
+ if(p>=point)
+ {
+- for(register int i=4;i<point;i++)
++ for(int i=4;i<point;i++)
+ buffer[WINDOWSIZE+i]=buffer[i];
+ }
+ *((int *)(buffer+WINDOWSIZE))=*((int *)buffer);
+@@ -37,15 +37,15 @@ inline void Mpegbitwindow::wrap(void)
+
+ inline int Mpegbitwindow::getbit(void)
+ {
+-// register int r=(buffer[(bitindex>>3)&(WINDOWSIZE-1)]>>(7-(bitindex&7)))&1;
+- register int r=(buffer[bitindex>>3]>>(7-(bitindex&7)))&1;
++// int r=(buffer[(bitindex>>3)&(WINDOWSIZE-1)]>>(7-(bitindex&7)))&1;
++ int r=(buffer[bitindex>>3]>>(7-(bitindex&7)))&1;
+ bitindex++;
+ return r;
+ };
+
+ inline int Mpegbitwindow::getbits9(int bits)
+ {
+- register unsigned short a;
++ unsigned short a;
+ int offset=bitindex>>3;
+
+ a=(((unsigned char)buffer[offset])<<8) | ((unsigned char)buffer[offset+1]);
+@@ -134,7 +134,7 @@ void Mpegtoraw::layer3initialize(void)
+
+ // Calculate win
+ {
+- register int i;
++ int i;
+
+ for(i=0;i<18;i++)
+ win[0][i]=win[1][i]=0.5*sin(PI_72*(double)(2*i+1))/cos(PI_72*(double)(2*i+19));
+@@ -153,11 +153,11 @@ void Mpegtoraw::layer3initialize(void)
+ win[2][i]=0.5*sin(PI_24*(double)(2*i+1))/cos(PI_24*(double)(2*i+7));
+ }
+
+- for(register int i=0;i<9;i++)
++ for(int i=0;i<9;i++)
+ cos_18[i]=cos(PI_18*double(i));
+- for(register int i=0;i<9;i++)
++ for(int i=0;i<9;i++)
+ hsec_36[i]=0.5/cos(PI_36*double(i*2+1));
+- for(register int i=0;i<3;i++)
++ for(int i=0;i<3;i++)
+ hsec_12[i]=0.5/cos(PI_12*double(i*2+1));
+
+ for(int i=0;i<40;i++)
+@@ -365,7 +365,7 @@ void Mpegtoraw::layer3getscalefactors(int ch,int gr)
+ {0, 1, 2, 3, 0, 1, 2, 3, 1, 2, 3, 1, 2, 3, 2, 3}};
+
+ layer3grinfo *gi=&(sideinfo.ch[ch].gr[gr]);
+- register layer3scalefactor *sf=(&scalefactors[ch]);
++ layer3scalefactor *sf=(&scalefactors[ch]);
+ int l0,l1;
+
+ {
+@@ -498,7 +498,7 @@ void Mpegtoraw::layer3getscalefactors_2(int ch)
+
+ int sb[54];
+ layer3grinfo *gi=&(sideinfo.ch[ch].gr[0]);
+- register layer3scalefactor *sf=(&scalefactors[ch]);
++ layer3scalefactor *sf=(&scalefactors[ch]);
+
+ {
+ int blocktypenumber,sc;
+@@ -660,7 +660,7 @@ inline void Mpegtoraw::huffmandecoder_1(const HUFFMANCODETABLE *h,int *x,int *y)
+ level>>=1;
+ if(!(level || ((unsigned)point<ht->treelen)))
+ {
+- register int xx,yy;
++ int xx,yy;
+
+ xx=(h->xlen<<1);// set x and y to a medium value as a simple concealment
+ yy=(h->ylen<<1);
+@@ -689,7 +689,7 @@ inline void Mpegtoraw::huffmandecoder_2(const HUFFMANCODETABLE *h,
+ {
+ if(h->val[point][0]==0)
+ { /*end of tree*/
+- register int t=h->val[point][1];
++ int t=h->val[point][1];
+
+ if(t&8)*v=1-(wgetbit()<<1); else *v=0;
+ if(t&4)*w=1-(wgetbit()<<1); else *w=0;
+@@ -761,7 +761,7 @@ void Mpegtoraw::layer3huffmandecode(int ch,int gr,int out[SBLIMIT][SSLIMIT])
+ for(i=0;i<e;)
+ {
+ const HUFFMANCODETABLE *h;
+- register int end;
++ int end;
+
+ if (i<region1Start)
+ {
+@@ -867,10 +867,10 @@ void Mpegtoraw::layer3dequantizesample(int ch,int gr,
+ {
+ cb_width=(sfBandIndex->s[cb+1]-sfBandIndex->s[cb])>>1;
+
+- for(register int k=0;k<3;k++)
++ for(int k=0;k<3;k++)
+ {
+- register REAL factor;
+- register int count=cb_width;
++ REAL factor;
++ int count=cb_width;
+
+ factor=globalgain*
+ layer3twopow2_1(gi->subblock_gain[k],gi->scalefac_scale,
+@@ -1249,7 +1249,7 @@ inline void Mpegtoraw::layer3fixtostereo(int gr,REAL in[2][SBLIMIT][SSLIMIT])
+ do{
+ if(is_pos[i]==7)
+ {
+- register REAL t=in[LS][0][i];
++ REAL t=in[LS][0][i];
+ in[LS][0][i]=(t+in[RS][0][i])*0.7071068f;
+ in[RS][0][i]=(t-in[RS][0][i])*0.7071068f;
+ }
+@@ -1278,7 +1278,7 @@ inline void Mpegtoraw::layer3fixtostereo(int gr,REAL in[2][SBLIMIT][SSLIMIT])
+ {
+ int i=ARRAYSIZE-1;
+ do{
+- register REAL t=in[LS][0][i];
++ REAL t=in[LS][0][i];
+
+ in[LS][0][i]=(t+in[RS][0][i])*0.7071068f;
+ in[RS][0][i]=(t-in[RS][0][i])*0.7071068f;
+@@ -1400,7 +1400,7 @@ void Mpegtoraw::layer3reorderandantialias(int ch,int gr,
+ REAL in[SBLIMIT][SSLIMIT],
+ REAL out[SBLIMIT][SSLIMIT])
+ {
+- register layer3grinfo *gi=&(sideinfo.ch[ch].gr[gr]);
++ layer3grinfo *gi=&(sideinfo.ch[ch].gr[gr]);
+
+ if(gi->generalflag)
+ {
+@@ -1438,7 +1438,7 @@ static void dct36(REAL *inbuf,REAL *prevblk1,REAL *prevblk2,REAL *wi,REAL *out)
+ MACRO0(v); }
+
+ {
+- register REAL *in = inbuf;
++ REAL *in = inbuf;
+
+ in[17]+=in[16];in[16]+=in[15];in[15]+=in[14];in[14]+=in[13];
+ in[13]+=in[12];in[12]+=in[11];in[11]+=in[10];in[10]+=in[ 9];
+@@ -1450,10 +1450,10 @@ static void dct36(REAL *inbuf,REAL *prevblk1,REAL *prevblk2,REAL *wi,REAL *out)
+ in[ 9]+=in[ 7];in[7] +=in[ 5];in[ 5]+=in[ 3];in[ 3]+=in[ 1];
+
+ {
+- register REAL *c = cos_18;
+- register REAL *out2 = prevblk2;
+- register REAL *out1 = prevblk1;
+- register REAL *ts = out;
++ REAL *c = cos_18;
++ REAL *out2 = prevblk2;
++ REAL *out1 = prevblk1;
++ REAL *ts = out;
+
+ REAL ta33,ta66,tb33,tb66;
+
+@@ -1513,7 +1513,7 @@ static void dct36(REAL *inbuf,REAL *prevblk1,REAL *prevblk2,REAL *wi,REAL *out)
+ }
+
+
+-static void dct12(REAL *in,REAL *prevblk1,REAL *prevblk2,register REAL *wi,register REAL *out)
++static void dct12(REAL *in,REAL *prevblk1,REAL *prevblk2,REAL *wi,REAL *out)
+ {
+ #define DCT12_PART1 \
+ in5=in[5*3]; \
+@@ -1547,7 +1547,7 @@ static void dct12(REAL *in,REAL *prevblk1,REAL *prevblk2,register REAL *wi,regis
+
+ {
+ REAL in0,in1,in2,in3,in4,in5;
+- register REAL *pb1=prevblk1;
++ REAL *pb1=prevblk1;
+ out[SBLIMIT*0]=pb1[0];out[SBLIMIT*1]=pb1[1];out[SBLIMIT*2]=pb1[2];
+ out[SBLIMIT*3]=pb1[3];out[SBLIMIT*4]=pb1[4];out[SBLIMIT*5]=pb1[5];
+
+@@ -1556,7 +1556,7 @@ static void dct12(REAL *in,REAL *prevblk1,REAL *prevblk2,register REAL *wi,regis
+ {
+ REAL tmp0,tmp1=(in0-in4);
+ {
+- register REAL tmp2=(in1-in5)*hsec_12[1];
++ REAL tmp2=(in1-in5)*hsec_12[1];
+ tmp0=tmp1+tmp2;
+ tmp1-=tmp2;
+ }
+@@ -1581,7 +1581,7 @@ static void dct12(REAL *in,REAL *prevblk1,REAL *prevblk2,register REAL *wi,regis
+ in++;
+ {
+ REAL in0,in1,in2,in3,in4,in5;
+- register REAL *pb2 = prevblk2;
++ REAL *pb2 = prevblk2;
+
+ DCT12_PART1;
+
+@@ -1614,7 +1614,7 @@ static void dct12(REAL *in,REAL *prevblk1,REAL *prevblk2,register REAL *wi,regis
+ in++;
+ {
+ REAL in0,in1,in2,in3,in4,in5;
+- register REAL *pb2 = prevblk2;
++ REAL *pb2 = prevblk2;
+ pb2[12]=pb2[13]=pb2[14]=pb2[15]=pb2[16]=pb2[17]=0.0;
+
+ DCT12_PART1;
+@@ -1719,14 +1719,14 @@ void Mpegtoraw::extractlayer3(void)
+
+ if(issync())
+ {
+- for(register int i=layer3slots;i>0;i--) // read main data.
++ for(int i=layer3slots;i>0;i--) // read main data.
+ {
+ bitwindow.putbyte(getbyte());
+ }
+ }
+ else
+ {
+- for(register int i=layer3slots;i>0;i--) // read main data.
++ for(int i=layer3slots;i>0;i--) // read main data.
+ {
+ bitwindow.putbyte(getbits8());
+ }
+@@ -1799,7 +1799,7 @@ void Mpegtoraw::extractlayer3(void)
+ layer3reorderandantialias(RS,gr,b2.lr[RS],b1.hin[RS]);
+ layer3hybrid (RS,gr,b1.hin[RS],b2.hout[RS]);
+
+- register int i=2*SSLIMIT*SBLIMIT-1;
++ int i=2*SSLIMIT*SBLIMIT-1;
+
+ do{
+ NEG(b2.hout[0][0][i ]);NEG(b2.hout[0][0][i- 2]);
+@@ -1814,7 +1814,7 @@ void Mpegtoraw::extractlayer3(void)
+ }
+ else
+ {
+- register int i=SSLIMIT*SBLIMIT-1;
++ int i=SSLIMIT*SBLIMIT-1;
+ do{
+ NEG(b2.hout[0][0][i ]);NEG(b2.hout[0][0][i- 2]);
+ NEG(b2.hout[0][0][i- 4]);NEG(b2.hout[0][0][i- 6]);
+@@ -1844,12 +1844,12 @@ void Mpegtoraw::extractlayer3_2(void)
+
+ if(issync())
+ {
+- for(register int i=layer3slots;i>0;i--) // read main data.
++ for(int i=layer3slots;i>0;i--) // read main data.
+ bitwindow.putbyte(getbyte());
+ }
+ else
+ {
+- for(register int i=layer3slots;i>0;i--) // read main data.
++ for(int i=layer3slots;i>0;i--) // read main data.
+ bitwindow.putbyte(getbits8());
+ }
+ bitwindow.wrap();
+@@ -1912,7 +1912,7 @@ void Mpegtoraw::extractlayer3_2(void)
+ layer3reorderandantialias(RS,0,b2.lr[RS],b1.hin[RS]);
+ layer3hybrid (RS,0,b1.hin[RS],b2.hout[RS]);
+
+- register int i=2*SSLIMIT*SBLIMIT-1;
++ int i=2*SSLIMIT*SBLIMIT-1;
+ do{
+ NEG(b2.hout[0][0][i-16]);NEG(b2.hout[0][0][i-18]);
+ NEG(b2.hout[0][0][i-20]);NEG(b2.hout[0][0][i-22]);
+@@ -1922,7 +1922,7 @@ void Mpegtoraw::extractlayer3_2(void)
+ }
+ else
+ {
+- register int i=SSLIMIT*SBLIMIT-1;
++ int i=SSLIMIT*SBLIMIT-1;
+ do{
+ NEG(b2.hout[0][0][i-16]);NEG(b2.hout[0][0][i-18]);
+ NEG(b2.hout[0][0][i-20]);NEG(b2.hout[0][0][i-22]);
+--- a/mpegsound/mpegsound_locals.h
++++ b/mpegsound/mpegsound_locals.h
+@@ -8,6 +8,8 @@
+ #ifndef _L__SOUND_LOCALS__
+ #define _L__SOUND_LOCALS__
+
++#include "mpegsound.h"
++
+ extern void debug(const char*, ... );
+ // Inline functions
+ inline int Mpegtoraw::getbyte(void)
+@@ -20,7 +22,7 @@ inline int Mpegtoraw::getbyte(void)
+
+ inline int Mpegtoraw::getbits9(int bits)
+ {
+- register unsigned short a;
++ unsigned short a;
+ int offset=bitindex>>3;
+
+ a=(((unsigned char)buffer[offset])<<8) | ((unsigned char)buffer[offset+1]);
+@@ -32,7 +34,7 @@ inline int Mpegtoraw::getbits9(int bits)
+
+ inline int Mpegtoraw::getbits8(void)
+ {
+- register unsigned short a;
++ unsigned short a;
+ int offset=bitindex>>3;
+
+ a=(((unsigned char)buffer[offset])<<8) | ((unsigned char)buffer[offset+1]);
+@@ -44,7 +46,7 @@ inline int Mpegtoraw::getbits8(void)
+
+ inline int Mpegtoraw::getbit(void)
+ {
+- register int r=(buffer[bitindex>>3]>>(7-(bitindex&7)))&1;
++ int r=(buffer[bitindex>>3]>>(7-(bitindex&7)))&1;
+
+ bitindex++;
+ return r;
+--- a/mpegsound/mpegtoraw.cc
++++ b/mpegsound/mpegtoraw.cc
+@@ -779,8 +779,8 @@ inline void parseID3(Soundinputstream *fp,ID3 *data)
+ // Mpeg header class
+ bool Mpegtoraw::initialize(const char *filename)
+ {
+- register int i;
+- register REAL *s1,*s2;
++ int i;
++ REAL *s1,*s2;
+ REAL *s3,*s4;
+ static bool initialized=false;
+
+@@ -1153,7 +1153,7 @@ void Mpegtoraw::clearbuffer(void)
+ //header is not found at the exact location of the filepointer at call time.
+ bool Mpegtoraw::loadheader(bool lookahead)
+ {
+- register int c;
++ int c;
+ bool flag;
+ int bytes_read = 0;
+
+--- a/mpegsound/rawplayer.cc
++++ b/mpegsound/rawplayer.cc
+@@ -326,8 +326,8 @@ int Rawplayer::fix_samplesize(void *buffer, int size)
+
+ if(forcetomono || forceto8)
+ {
+- register unsigned char modify=0;
+- register unsigned char *source,*dest;
++ unsigned char modify=0;
++ unsigned char *source,*dest;
+ int increment=0,c;
+
+ source=dest=(unsigned char *)buffer;
+@@ -381,8 +381,8 @@ bool Rawplayer::putblock(void *buffer,int size)
+
+ if(forcetomono || forceto8)
+ {
+- register unsigned char modify=0;
+- register unsigned char *source,*dest;
++ unsigned char modify=0;
++ unsigned char *source,*dest;
+ int increment=0,c;
+
+ source=dest=(unsigned char *)buffer;
+@@ -408,7 +408,7 @@ bool Rawplayer::putblock(void *buffer,int size)
+ }
+
+ #if defined(AUDIO_NONBLOCKING) || defined(NEWTHREAD)
+- register ssize_t
++ ssize_t
+ wsize,
+ remainsize = modifiedsize;
+ char *wbuf = (char*)buffer;
+--- a/src/splay_common.cc
++++ b/src/splay_common.cc
+@@ -66,7 +66,7 @@ const char *splay_Sounderrors[SOUND_ERROR_UNKNOWN]=
+ static bool argsflag=false;
+ void arglist(int argc,char *argv[],int start)
+ {
+- register int i;
++ int i;
+
+ argsflag=true;
+ for(i=start;(i<argc) && (splay_listsize<MAXLISTSIZE); i++)
diff --git a/media-sound/mp3blaster/mp3blaster-3.2.6-r2.ebuild b/media-sound/mp3blaster/mp3blaster-3.2.6-r2.ebuild
new file mode 100644
index 000000000000..26d46c0cf53f
--- /dev/null
+++ b/media-sound/mp3blaster/mp3blaster-3.2.6-r2.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Text console based program for playing audio files"
+HOMEPAGE="http://www.mp3blaster.org/ http://mp3blaster.sourceforge.net/ https://github.com/stragulus/mp3blaster"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="lirc oss +sdl sid vorbis"
+REQUIRED_USE="|| ( oss sdl )"
+
+RDEPEND="
+ sys-libs/ncurses:=
+ lirc? ( app-misc/lirc )
+ sdl? ( media-libs/libsdl )
+ sid? ( media-libs/libsidplay:1 )
+ vorbis? ( media-libs/libvorbis )"
+DEPEND="
+ ${RDEPEND}
+ oss? ( virtual/os-headers )"
+BDEPEND="x11-misc/imake"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.2.5-fix-c++14.patch
+ "${FILESDIR}"/${PN}-3.2.5-fix-build-system.patch
+ "${FILESDIR}"/${PN}-3.2.6-drop-register-keyword.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+
+ # file collision with media-sound/splay
+ sed -i -e 's:splay.1:splay_mp3blaster.1:' Makefile.in || die
+ mv -vf splay{,_mp3blaster}.1 || die
+}
+
+src_configure() {
+ # libpth and newthreads support are both broken
+ econf \
+ --disable-newthreads \
+ --without-pth \
+ --without-nas \
+ $(use_with lirc) \
+ $(use_with vorbis oggvorbis) \
+ $(use_with sid sidplay) \
+ --without-esd \
+ $(use_with sdl) \
+ $(use_with oss)
+}
+
+src_install() {
+ default
+
+ # relocate everything except commands.txt because it's used by src/main.cc
+ mv -vf "${ED}"/usr/share/{${PN}/{charmap,sample.*},doc/${PF}} || die
+
+ # file collision with media-sound/splay
+ mv -vf "${ED}"/usr/bin/splay{,_mp3blaster} || die
+}