* remove iconvert.cpp not used anymore
* change copyrigh header from GPL to LGPL. Those 2 files are only basic .h. 1 licence by plugin is enough ;)


git-svn-id: http://pcsx2.googlecode.com/svn/trunk@5691 96395faa-99c1-11dd-bbfe-3dabce05a288
This commit is contained in:
gregory.hainaut 2013-07-01 16:43:35 +00:00
parent 91d39de645
commit a4475a4595
4 changed files with 23 additions and 295 deletions

View File

@ -43,7 +43,6 @@ set(spu2xSources
Debug.cpp Debug.cpp
DplIIdecoder.cpp DplIIdecoder.cpp
Dma.cpp Dma.cpp
iconvert.cpp
Lowpass.cpp Lowpass.cpp
Mixer.cpp Mixer.cpp
PrecompiledHeader.cpp PrecompiledHeader.cpp

View File

@ -1,21 +1,18 @@
/* SPU2-X /* SPU2-X, A plugin for Emulating the Sound Processing Unit of the Playstation 2
* A plugin for Emulating the Sound Processing Unit of the Playstation 2 * Developed and maintained by the Pcsx2 Development Team.
* *
* Original portions from SPU2ghz are (c) 2008 by David Quintana [gigaherz] * Original portions from SPU2ghz are (c) 2008 by David Quintana [gigaherz]
* *
* This program is free software; you can redistribute it and/or modify * SPU2-X is free software: you can redistribute it and/or modify it under the terms
* it under the terms of the GNU General Public License as published by * of the GNU Lesser General Public License as published by the Free Software Found-
* the Free Software Foundation; either version 2 of the License, or * ation, either version 3 of the License, or (at your option) any later version.
* (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * SPU2-X is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* but WITHOUT ANY WARRANTY; without even the implied warranty of * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * PURPOSE. See the GNU Lesser General Public License for more details.
* GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software * along with SPU2-X. If not, see <http://www.gnu.org/licenses/>.
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/ */
#ifndef _DPLII_H_ #ifndef _DPLII_H_

View File

@ -1,23 +1,20 @@
/* ZeroSPU2 /* SPU2-X, A plugin for Emulating the Sound Processing Unit of the Playstation 2
* Copyright (C) 2006-2007 zerofrog * Developed and maintained by the Pcsx2 Development Team.
* *
* This program is free software; you can redistribute it and/or modify * Original portions from SPU2ghz are (c) 2008 by David Quintana [gigaherz]
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* *
* This program is distributed in the hope that it will be useful, * SPU2-X is free software: you can redistribute it and/or modify it under the terms
* but WITHOUT ANY WARRANTY; without even the implied warranty of * of the GNU Lesser General Public License as published by the Free Software Found-
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * ation, either version 3 of the License, or (at your option) any later version.
* GNU General Public License for more details.
* *
* You should have received a copy of the GNU General Public License * SPU2-X is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* along with this program; if not, write to the Free Software * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA * PURPOSE. See the GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with SPU2-X. If not, see <http://www.gnu.org/licenses/>.
*/ */
// Modified by arcum42@gmail.com
#ifndef __LINUX_H__ #ifndef __LINUX_H__
#define __LINUX_H__ #define __LINUX_H__
@ -29,10 +26,6 @@
#include <sys/soundcard.h> #include <sys/soundcard.h>
#include <unistd.h> #include <unistd.h>
#define ALSA_PCM_NEW_HW_PARAMS_API
#define ALSA_PCM_NEW_SW_PARAMS_API
#define SOUNDSIZE 500000
#define SAMPLE_RATE 48000L #define SAMPLE_RATE 48000L
// Pull in from Alsa.cpp // Pull in from Alsa.cpp

View File

@ -1,261 +0,0 @@
/*
* Copyright (C) 2001 Edmund Grimley Evans <edmundo@rano.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
//#ifdef HAVE_ICONV
#include <assert.h>
#include <errno.h>
#include <iconv.h>
#include <stdlib.h>
#include <string.h>
/*
* Convert data from one encoding to another. Return:
*
* -2 : memory allocation failed
* -1 : unknown encoding
* 0 : data was converted exactly
* 1 : data was converted inexactly
* 2 : data was invalid (but still converted)
*
* We convert in two steps, via UTF-8, as this is the only
* reliable way of distinguishing between invalid input
* and valid input which iconv refuses to transliterate.
* We convert from UTF-8 twice, because we have no way of
* knowing whether the conversion was exact if iconv returns
* E2BIG (due to a bug in the specification of iconv).
* An alternative approach is to assume that the output of
* iconv is never more than 4 times as long as the input,
* but I prefer to avoid that assumption if possible.
*/
int iconvert(const char *fromcode, const char *tocode,
const char *from, size_t fromlen,
char **to, size_t *tolen)
{
int ret = 0;
iconv_t cd1, cd2;
char *ib;
char *ob;
char *utfbuf = 0, *outbuf, *newbuf;
size_t utflen, outlen, ibl, obl, k;
char tbuf[2048];
cd1 = iconv_open("UTF-8", fromcode);
if (cd1 == (iconv_t)(-1))
return -1;
cd2 = (iconv_t)(-1);
/* Don't use strcasecmp() as it's locale-dependent. */
if (!strchr("Uu", tocode[0]) ||
!strchr("Tt", tocode[1]) ||
!strchr("Ff", tocode[2]) ||
tocode[3] != '-' ||
tocode[4] != '8' ||
tocode[5] != '\0')
{
char *tocode1;
/*
* Try using this non-standard feature of glibc and libiconv.
* This is deliberately not a config option as people often
* change their iconv library without rebuilding applications.
*/
tocode1 = (char *)malloc(strlen(tocode) + 11);
if (!tocode1)
goto fail;
strcpy(tocode1, tocode);
strcat(tocode1, "//TRANSLIT");
cd2 = iconv_open(tocode1, "UTF-8");
free(tocode1);
if (cd2 == (iconv_t)(-1))
cd2 = iconv_open(tocode, fromcode);
if (cd2 == (iconv_t)(-1))
{
iconv_close(cd1);
return -1;
}
}
utflen = 1; /*fromlen * 2 + 1; XXX */
utfbuf = (char *)malloc(utflen);
if (!utfbuf)
goto fail;
/* Convert to UTF-8 */
ib = (char *)from;
ibl = fromlen;
ob = utfbuf;
obl = utflen;
for (;;)
{
k = iconv(cd1, &ib, &ibl, &ob, &obl);
assert((!k && !ibl) ||
(k == (size_t)(-1) && errno == E2BIG && ibl && obl < 6) ||
(k == (size_t)(-1) &&
(errno == EILSEQ || errno == EINVAL) && ibl));
if (!ibl)
break;
if (obl < 6)
{
/* Enlarge the buffer */
utflen *= 2;
newbuf = (char *)realloc(utfbuf, utflen);
if (!newbuf)
goto fail;
ob = (ob - utfbuf) + newbuf;
obl = utflen - (ob - newbuf);
utfbuf = newbuf;
}
else
{
/* Invalid input */
ib++, ibl--;
*ob++ = '#', obl--;
ret = 2;
iconv(cd1, 0, 0, 0, 0);
}
}
if (cd2 == (iconv_t)(-1))
{
/* The target encoding was UTF-8 */
if (tolen)
*tolen = ob - utfbuf;
if (!to)
{
free(utfbuf);
iconv_close(cd1);
return ret;
}
newbuf = (char *)realloc(utfbuf, (ob - utfbuf) + 1);
if (!newbuf)
goto fail;
ob = (ob - utfbuf) + newbuf;
*ob = '\0';
*to = newbuf;
iconv_close(cd1);
return ret;
}
/* Truncate the buffer to be tidy */
utflen = ob - utfbuf;
newbuf = (char *)realloc(utfbuf, utflen);
if (!newbuf)
goto fail;
utfbuf = newbuf;
/* Convert from UTF-8 to discover how long the output is */
outlen = 0;
ib = utfbuf;
ibl = utflen;
while (ibl)
{
ob = tbuf;
obl = sizeof(tbuf);
k = iconv(cd2, &ib, &ibl, &ob, &obl);
assert((k != (size_t)(-1) && !ibl) ||
(k == (size_t)(-1) && errno == E2BIG && ibl) ||
(k == (size_t)(-1) && errno == EILSEQ && ibl));
if (ibl && !(k == (size_t)(-1) && errno == E2BIG))
{
/* Replace one character */
char *tb = "?";
size_t tbl = 1;
outlen += ob - tbuf;
ob = tbuf;
obl = sizeof(tbuf);
k = iconv(cd2, &tb, &tbl, &ob, &obl);
assert((!k && !tbl) ||
(k == (size_t)(-1) && errno == EILSEQ && tbl));
for (++ib, --ibl; ibl && (*ib & 0x80); ib++, ibl--)
;
}
outlen += ob - tbuf;
}
ob = tbuf;
obl = sizeof(tbuf);
k = iconv(cd2, 0, 0, &ob, &obl);
assert(!k);
outlen += ob - tbuf;
/* Convert from UTF-8 for real */
outbuf = (char *)malloc(outlen + 1);
if (!outbuf)
goto fail;
ib = utfbuf;
ibl = utflen;
ob = outbuf;
obl = outlen;
while (ibl)
{
k = iconv(cd2, &ib, &ibl, &ob, &obl);
assert((k != (size_t)(-1) && !ibl) ||
(k == (size_t)(-1) && errno == EILSEQ && ibl));
if (k && !ret)
ret = 1;
if (ibl && !(k == (size_t)(-1) && errno == E2BIG))
{
/* Replace one character */
char *tb = "?";
size_t tbl = 1;
k = iconv(cd2, &tb, &tbl, &ob, &obl);
assert((!k && !tbl) ||
(k == (size_t)(-1) && errno == EILSEQ && tbl));
for (++ib, --ibl; ibl && (*ib & 0x80); ib++, ibl--)
;
}
}
k = iconv(cd2, 0, 0, &ob, &obl);
assert(!k);
assert(!obl);
*ob = '\0';
free(utfbuf);
iconv_close(cd1);
iconv_close(cd2);
if (tolen)
*tolen = outlen;
if (!to)
{
free(outbuf);
return ret;
}
*to = outbuf;
return ret;
fail:
free(utfbuf);
iconv_close(cd1);
if (cd2 != (iconv_t)(-1))
iconv_close(cd2);
return -2;
}
//#endif /* HAVE_ICONV */
/* arch-tag: e0ffb4f6-e337-4d5f-af90-d49e2b14041e
(do not change this comment) */