summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
authorSuren A. Chilingaryan <csa@suren.me>2021-03-27 03:05:19 +0100
committerSuren A. Chilingaryan <csa@suren.me>2021-03-27 03:05:19 +0100
commit448f6f91c7bd14d9e4ad26ac4793a9d59845c0cd (patch)
tree825f7f2839435991f7148f1cebdb29813b9d34e2 /source
parent86973510c4730cc7d25fcf7442ebb49ddefcaec0 (diff)
downloadrusxmms2-448f6f91c7bd14d9e4ad26ac4793a9d59845c0cd.tar.gz
rusxmms2-448f6f91c7bd14d9e4ad26ac4793a9d59845c0cd.tar.bz2
rusxmms2-448f6f91c7bd14d9e4ad26ac4793a9d59845c0cd.tar.xz
rusxmms2-448f6f91c7bd14d9e4ad26ac4793a9d59845c0cd.zip
Restructure to make XMMS just one of the patches
Diffstat (limited to 'source')
-rw-r--r--source/rcc.c185
-rw-r--r--source/rcc.h32
-rw-r--r--source/rcc_langs.h120
3 files changed, 0 insertions, 337 deletions
diff --git a/source/rcc.c b/source/rcc.c
deleted file mode 100644
index c02f050..0000000
--- a/source/rcc.c
+++ /dev/null
@@ -1,185 +0,0 @@
-#include <stdio.h>
-#include <string.h>
-
-#include <gtk/gtklabel.h>
-#include <gtk/gtknotebook.h>
-
-#include "config.h"
-#ifdef HAVE_LIBRCC_H
-# ifdef HAVE_LIBRCCUI_H
-# define HAVE_LIBRCC
-# include <librcc.h>
-# include <librccui.h>
-# endif /* HAVE_LIBRCCUI_H */
-#endif /* HAVE_LIBRCC_H */
-
-#include "rcc.h"
-#include "rcc_langs.h"
-
-#ifdef HAVE_LIBRCC
-static rcc_context ctx = NULL;
-static rcc_ui_context uictx = NULL;
-
-static rcc_class_default_charset default_id3[] = {
- { "ru", "CP1251" },
- { NULL, NULL }
-};
-
-static rcc_class classes[] = {
- { "id3", RCC_CLASS_STANDARD, NULL, default_id3, "ID3 Encoding", 0 },
- { "id3v2", RCC_CLASS_STANDARD, "id3", default_id3, "ID3 v.2 Encoding", 0 },
- { "pl", RCC_CLASS_STANDARD, "id3", default_id3, "PlayList Title Encoding", 0 },
- { "plfs", RCC_CLASS_STANDARD, "pl", NULL, "PlayList File Encoding", 0 },
- { "fs", RCC_CLASS_FS, "LC_CTYPE", NULL, "FileSystem Encoding", 0 },
- { "out", RCC_CLASS_TRANSLATE_LOCALE, "LC_CTYPE", NULL, NULL, 0 },
- { "ctype", RCC_CLASS_STANDARD, "LC_CTYPE", NULL, NULL, RCC_CLASS_FLAG_CONST|RCC_CLASS_FLAG_SKIP_SAVELOAD },
- { "utf8", RCC_CLASS_STANDARD, "UTF-8", NULL, NULL, RCC_CLASS_FLAG_CONST|RCC_CLASS_FLAG_SKIP_SAVELOAD },
- { NULL }
-};
-#endif /* HAVE_LIBRCC */
-
-
-
-void xmms_rcc_init() {
-#ifdef HAVE_LIBRCC
- rccInit();
- rccUiInit();
- ctx = rccCreateContext(NULL, 0, 0, classes, 0);
- rccInitDb4(ctx, NULL, 0);
- rccLoad(ctx, "xmms");
- uictx = rccUiCreateContext(ctx);
-#endif /* HAVE_LIBRCC */
-}
-
-void xmms_rcc_free() {
-#ifdef HAVE_LIBRCC
- rccUiFreeContext(uictx);
- rccSave(ctx, "xmms");
- rccFreeContext(ctx);
- rccUiFree();
- rccFree();
-#endif /* HAVE_LIBRCC */
-}
-
-void xmms_rcc_prefswin_create(void *prefswin_notebook) {
-#ifdef HAVE_LIBRCC
- GtkWidget *vbox;
- vbox = (GtkWidget*)rccUiGetPage(uictx, NULL);
- gtk_notebook_append_page(GTK_NOTEBOOK(prefswin_notebook), vbox, gtk_label_new(rccUiGetDefaultPageName()->title));
-#endif /* HAVE_LIBRCC */
-}
-
-void xmms_rcc_prefswin_apply() {
-#ifdef HAVE_LIBRCC
- rccUiUpdate(uictx);
- rccSave(ctx, "xmms");
-#endif /* HAVE_LIBRCC */
-}
-
-char *xmms_rcc_fs2pl(const char *fnstring, const char *filename) {
-#ifdef HAVE_LIBRCC
- rcc_language_config config;
-
- if (!rccStringCheck(fnstring)) return NULL;
-
- config = rccGetConfig(ctx, rccStringGetLanguage(fnstring));
- if (!config) return NULL;
-
- if (rccConfigGetCurrentCharset(config, (rcc_class_id)XMMS_RCC_FS) == rccConfigGetCurrentCharset(config, (rcc_class_id)XMMS_RCC_PLFS))
- return NULL;
-#endif /* HAVE_LIBRCC */
-
- return xmms_rcc_get(XMMS_RCC_PLFS, fnstring);
-}
-
-
-/* rcc_string to out */
-char *xmms_rcc_get(xmms_rcc_class charset, const char *buf) {
-#ifdef HAVE_LIBRCC
- return (char*)rccTo(ctx, (rcc_class_id)charset, (const rcc_string)buf);
-#else /* HAVE_LIBRCC */
- return NULL;
-#endif /* HAVE_LIBRCC */
-}
-
-char *xmms_rcc_put(xmms_rcc_class charset, const char *buf) {
-#ifdef HAVE_LIBRCC
- return (char*)rccFrom(ctx, (rcc_class_id)charset, buf);
-#else /* HAVE_LIBRCC */
- return NULL;
-#endif /* HAVE_LIBRCC */
-}
-
-char *xmms_rcc_sized_put(xmms_rcc_class charset, const char *buf, int size) {
-#ifdef HAVE_LIBRCC
- return (char*)rccSizedFrom(ctx, (rcc_class_id)charset, buf, size);
-#else /* HAVE_LIBRCC */
- return NULL;
-#endif /* HAVE_LIBRCC */
-}
-
-char *xmms_rcc_recode(xmms_rcc_class from, xmms_rcc_class to, const char *buf) {
-#ifdef HAVE_LIBRCC
- if (((from==XMMS_RCC_CTYPE)&&(to==XMMS_RCC_OUT))||((from==XMMS_RCC_OUT)&&(to==XMMS_RCC_CTYPE))) {
- if (!rccGetSelectedCharset(ctx, XMMS_RCC_OUT)) return NULL;
- }
-
- return (char*)rccRecode(ctx, (rcc_class_id)from, (rcc_class_id)to, buf);
-#else /* HAVE_LIBRCC */
- return NULL;
-#endif /* HAVE_LIBRCC */
-}
-
-char *xmms_rcc_sized_recode(xmms_rcc_class from, xmms_rcc_class to, const char *buf, int size) {
-#ifdef HAVE_LIBRCC
- return (char*)rccSizedRecode(ctx, (rcc_class_id)from, (rcc_class_id)to, buf, size, NULL);
-#else /* HAVE_LIBRCC */
- return NULL;
-#endif /* HAVE_LIBRCC */
-}
-
-char *xmms_rcc_fs(xmms_rcc_class from, xmms_rcc_class to, const char *fspath, const char *path, const char *filename) {
-#ifdef HAVE_LIBRCC
- return (char*)rccFS(ctx, (rcc_class_id)from, (rcc_class_id)to, fspath, path, filename);
-#else /* HAVE_LIBRCC */
- return NULL;
-#endif /* HAVE_LIBRCC */
-}
-
-const char *xmms_rcc_string(const char *buf) {
-#ifdef HAVE_LIBRCC
- return rccGetString((const rcc_string)buf);
-#else /* HAVE_LIBRCC */
- return buf;
-#endif /* HAVE_LIBRCC */
-}
-
-const char *xmms_rcc_get_language() {
- const char *lang;
-#ifdef HAVE_LIBRCC
- lang = rccGetCurrentLanguageName(ctx);
-#else /* HAVE_LIBRCC */
- lang = NULL;
-#endif /* HAVE_LIBRCC */
- return xmms_rcc_get_639_2_name(lang);
-}
-
-#define ID3_ENCODING_ISO_8859_1 0x00
-#define ID3_ENCODING_UTF16 0x01
-#define ID3_ENCODING_UTF16BE 0x02
-#define ID3_ENCODING_UTF8 0x03
-
-int xmms_rcc_get_id3v2_encoding() {
-#ifdef HAVE_LIBRCC
- const char *name;
-
- name = rccGetCurrentCharsetName(ctx, (rcc_class_id)XMMS_RCC_ID3V2);
- if (!name) return ID3_ENCODING_ISO_8859_1;
-
- if ((!strcasecmp(name,"UTF-8"))||(!strcasecmp(name,"UTF8"))) return ID3_ENCODING_UTF8;
- if ((!strcasecmp(name,"UTF-16"))||(!strcasecmp(name,"UTF16"))||(!strcasecmp(name,"UTF16LE"))||(!strcasecmp(name,"UTF-16LE"))) return ID3_ENCODING_UTF16;
- if ((!strcasecmp(name,"UTF-16BE"))||(!strcasecmp(name,"UTF16BE"))) return ID3_ENCODING_UTF16BE;
-#endif /* HAVE_LIBRCC */
-
- return ID3_ENCODING_ISO_8859_1;
-}
diff --git a/source/rcc.h b/source/rcc.h
deleted file mode 100644
index d5bc9b2..0000000
--- a/source/rcc.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _XMMS_CHARSET_H
-#define _XMMS_CHARSET_H
-
-typedef enum xmms_rcc_class_t {
- XMMS_RCC_ID3 = 0,
- XMMS_RCC_ID3V2,
- XMMS_RCC_PL,
- XMMS_RCC_PLFS,
- XMMS_RCC_FS,
- XMMS_RCC_OUT,
- XMMS_RCC_CTYPE,
- XMMS_RCC_UTF8
-} xmms_rcc_class;
-
-void xmms_rcc_init();
-void xmms_rcc_free();
-void xmms_rcc_prefswin_create(void *prefswin_notebook);
-void xmms_rcc_prefswin_apply();
-
-char *xmms_rcc_fs2pl(const char *fnstring, const char *filename);
-char *xmms_rcc_get(xmms_rcc_class charset, const char *buf);
-char *xmms_rcc_put(xmms_rcc_class charset, const char *buf);
-char *xmms_rcc_sized_put(xmms_rcc_class charset, const char *buf, int size);
-char *xmms_rcc_recode(xmms_rcc_class from, xmms_rcc_class to, const char *buf);
-char *xmms_rcc_sized_recode(xmms_rcc_class from, xmms_rcc_class to, const char *buf, int size);
-char *xmms_rcc_fs(xmms_rcc_class from, xmms_rcc_class to, const char *fspath, const char *path, const char *filename);
-
-const char *xmms_rcc_string(const char *buf);
-const char *xmms_rcc_get_language();
-int xmms_rcc_get_id3v2_encoding();
-
-#endif /* _XMMS_CHARSET_H */
diff --git a/source/rcc_langs.h b/source/rcc_langs.h
deleted file mode 100644
index 70abebf..0000000
--- a/source/rcc_langs.h
+++ /dev/null
@@ -1,120 +0,0 @@
-typedef struct xmms_rcc_langs_t {
- const char *sn;
- const char *name;
-} xmms_rcc_langs;
-
-static const char *default_lang = "XXX";
-static xmms_rcc_langs langs[] = {
- { "aa", "aar" },
- { "ab", "abk" },
- { "af", "afr" },
- { "ak", "aka" },
- { "am", "amh" },
- { "ar", "ara" },
- { "an", "arg" },
- { "as", "asm" },
- { "av", "ava" },
- { "ae", "ave" },
- { "ay", "aym" },
- { "ba", "bak" },
- { "bm", "bam" },
- { "bn", "ben" },
- { "bh", "bih" },
- { "bi", "bis" },
- { "bs", "bos" },
- { "br", "bre" },
- { "bg", "bul" },
- { "ch", "cha" },
- { "cv", "chv" },
- { "kw", "cor" },
- { "co", "cos" },
- { "cr", "cre" },
- { "dv", "div" },
- { "dz", "dzo" },
- { "en", "eng" },
- { "et", "est" },
- { "fj", "fij" },
- { "fi", "fin" },
- { "fy", "fry" },
- { "ff", "ful" },
- { "ig", "ibo" },
- { "io", "ido" },
- { "iu", "iku" },
- { "ie", "ile" },
- { "ik", "ipk" },
- { "it", "ita" },
- { "jv", "jav" },
- { "ja", "jpn" },
- { "kn", "kan" },
- { "ks", "kas" },
- { "kr", "kau" },
- { "kk", "kaz" },
- { "km", "khm" },
- { "rw", "kin" },
- { "ky", "kir" },
- { "kv", "kom" },
- { "kg", "kon" },
- { "ku", "kur" },
- { "lo", "lao" },
- { "la", "lat" },
- { "lv", "lav" },
- { "ln", "lin" },
- { "lt", "lit" },
- { "lg", "lug" },
- { "mh", "mah" },
- { "ml", "mal" },
- { "mr", "mar" },
- { "mg", "mlg" },
- { "mt", "mlt" },
- { "mo", "mol" },
- { "mn", "mon" },
- { "na", "nau" },
- { "ng", "ndo" },
- { "oj", "oji" },
- { "or", "ori" },
- { "om", "orm" },
- { "pi", "pli" },
- { "ps", "pus" },
- { "qu", "que" },
- { "rn", "run" },
- { "ru", "rus" },
- { "sg", "sag" },
- { "sa", "san" },
- { "sn", "sna" },
- { "sd", "snd" },
- { "so", "som" },
- { "sc", "srd" },
- { "ss", "ssw" },
- { "sw", "swa" },
- { "ty", "tah" },
- { "ta", "tam" },
- { "tg", "tgk" },
- { "tl", "tgl" },
- { "ti", "tir" },
- { "tn", "tsn" },
- { "ts", "tso" },
- { "tr", "tur" },
- { "tw", "twi" },
- { "uk", "ukr" },
- { "ur", "urd" },
- { "uz", "uzb" },
- { "vi", "vie" },
- { "wa", "wln" },
- { "wo", "wol" },
- { "xh", "xho" },
- { "yi", "yid" },
- { "yo", "yor" },
- { "zu", "zul" },
- { NULL, NULL }
-};
-
-const char *xmms_rcc_get_639_2_name(const char *sn) {
- unsigned int i;
-
- if ((!sn)||(!strcasecmp(sn, "off"))) return default_lang;
-
- for (i=0; langs[i].sn; i++)
- if (!strcasecmp(sn, langs[i].sn)) return langs[i].name;
-
- return default_lang;
-}