From 435f1da1de18bafe57e43e47fd8a6fc69fd8bab7 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 16 Jan 2010 15:33:17 +0000 Subject: updated audio engine git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@1503 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Output/alsa/outputalsa.cpp | 36 +++++++++++----------- src/plugins/Output/alsa/outputalsa.h | 5 ++- src/plugins/Output/alsa/settingsdialog.ui | 9 ++++++ .../Output/alsa/translations/alsa_plugin_cs.ts | 22 ++++++------- .../Output/alsa/translations/alsa_plugin_de.ts | 22 ++++++------- .../Output/alsa/translations/alsa_plugin_it.ts | 22 ++++++------- .../Output/alsa/translations/alsa_plugin_lt.ts | 22 ++++++------- .../Output/alsa/translations/alsa_plugin_pl.ts | 22 ++++++------- .../Output/alsa/translations/alsa_plugin_ru.ts | 22 ++++++------- .../Output/alsa/translations/alsa_plugin_tr.ts | 22 ++++++------- .../Output/alsa/translations/alsa_plugin_uk_UA.ts | 22 ++++++------- .../Output/alsa/translations/alsa_plugin_zh_CN.ts | 22 ++++++------- .../Output/alsa/translations/alsa_plugin_zh_TW.ts | 22 ++++++------- 13 files changed, 139 insertions(+), 131 deletions(-) (limited to 'src/plugins/Output/alsa') diff --git a/src/plugins/Output/alsa/outputalsa.cpp b/src/plugins/Output/alsa/outputalsa.cpp index 829641638..16cc7d0a8 100644 --- a/src/plugins/Output/alsa/outputalsa.cpp +++ b/src/plugins/Output/alsa/outputalsa.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2008 by Ilya Kotov * + * Copyright (C) 2006-2010 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -57,7 +57,7 @@ OutputALSA::~OutputALSA() free (pcm_name); } -void OutputALSA::configure(quint32 freq, int chan, int prec) +void OutputALSA::configure(quint32 freq, int chan, Qmmp::AudioFormat format) { // we need to configure @@ -99,32 +99,32 @@ void OutputALSA::configure(quint32 freq, int chan, int prec) return; } } - snd_pcm_format_t format = SND_PCM_FORMAT_UNKNOWN; - switch (prec) + snd_pcm_format_t alsa_format = SND_PCM_FORMAT_UNKNOWN; + switch (format) { - case 8: - format = SND_PCM_FORMAT_S8; + case Qmmp::PCM_S8: + alsa_format = SND_PCM_FORMAT_S8; break; - case 16: - format = SND_PCM_FORMAT_S16_LE; + case Qmmp::PCM_S16LE: + alsa_format = SND_PCM_FORMAT_S16_LE; break; - case 24: - format = SND_PCM_FORMAT_S24_LE; + case Qmmp::PCM_S24LE: + alsa_format = SND_PCM_FORMAT_S24_LE; break; - case 32: - format = SND_PCM_FORMAT_S32_LE; + case Qmmp::PCM_S32LE: + alsa_format = SND_PCM_FORMAT_S32_LE; break; default: qWarning("OutputALSA: unsupported format detected"); return; } - if ((err = snd_pcm_hw_params_set_format(pcm_handle, hwparams, format)) < 0) + if ((err = snd_pcm_hw_params_set_format(pcm_handle, hwparams, alsa_format)) < 0) { qDebug("OutputALSA: Error setting format: %s", snd_strerror(err)); return; } exact_rate = rate;// = 11000; - qDebug("OutputALSA: frequency=%d, channels=%d, bits=%d", rate, chan,prec); + //qDebug("OutputALSA: frequency=%d, channels=%d, bits=%d", rate, chan,prec); if ((err = snd_pcm_hw_params_set_rate_near(pcm_handle, hwparams, &exact_rate, 0)) < 0) { @@ -181,13 +181,13 @@ void OutputALSA::configure(quint32 freq, int chan, int prec) return; } //setup needed values - m_bits_per_frame = snd_pcm_format_physical_width(format) * chan; + m_bits_per_frame = snd_pcm_format_physical_width(alsa_format) * chan; m_chunk_size = period_size; m_can_pause = snd_pcm_hw_params_can_pause(hwparams) && use_pause; qDebug("OutputALSA: can pause: %d", m_can_pause); - Output::configure(freq, chan, prec); //apply configuration + Output::configure(freq, chan, format); //apply configuration //create alsa prebuffer; - m_prebuf_size = Buffer::size() + m_bits_per_frame * m_chunk_size / 8; + m_prebuf_size = QMMP_BLOCK_SIZE + m_bits_per_frame * m_chunk_size / 8; m_prebuf = (uchar *)malloc(m_prebuf_size); } @@ -225,7 +225,7 @@ bool OutputALSA::initialize() qint64 OutputALSA::latency() { - return m_prebuf_fill * 8000 / sampleRate() / numChannels() / sampleSize(); + return m_prebuf_fill * 1000 / sampleRate() / numChannels() / sampleSize(); } void OutputALSA::pause() diff --git a/src/plugins/Output/alsa/outputalsa.h b/src/plugins/Output/alsa/outputalsa.h index b3dc92a68..b0afcebce 100644 --- a/src/plugins/Output/alsa/outputalsa.h +++ b/src/plugins/Output/alsa/outputalsa.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006-2008 by Ilya Kotov * + * Copyright (C) 2006-2010 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -42,7 +42,7 @@ public: ~OutputALSA(); bool initialize(); - void configure(quint32, int, int); + void configure(quint32, int, Qmmp::AudioFormat format); qint64 latency(); void pause(); @@ -94,5 +94,4 @@ private: bool m_use_mmap; }; - #endif // OUTPUTALSA_H diff --git a/src/plugins/Output/alsa/settingsdialog.ui b/src/plugins/Output/alsa/settingsdialog.ui index c39d3937d..b578a1d52 100644 --- a/src/plugins/Output/alsa/settingsdialog.ui +++ b/src/plugins/Output/alsa/settingsdialog.ui @@ -14,6 +14,15 @@ ALSA Plugin Settings + + 6 + + + 6 + + + 6 + diff --git a/src/plugins/Output/alsa/translations/alsa_plugin_cs.ts b/src/plugins/Output/alsa/translations/alsa_plugin_cs.ts index a00c1a805..5b9f18c0a 100644 --- a/src/plugins/Output/alsa/translations/alsa_plugin_cs.ts +++ b/src/plugins/Output/alsa/translations/alsa_plugin_cs.ts @@ -32,57 +32,57 @@ Nastavení pluginu ALSA - + Device Settings Nastavení zařízení - + Audio device Zvukové zařízení - + Mixer Mixér - + Mixer card: Zvuková karta: - + Mixer device: Ovládání hlasitosti: - + Advanced Settings Pokročilá nastavení - + Soundcard Zvuková karta - + Buffer time (ms): Velikost bufferu (ms): - + Period time (ms): Délka periody (ms): - + Use mmap access Použít mmap - + Use snd_pcm_pause function diff --git a/src/plugins/Output/alsa/translations/alsa_plugin_de.ts b/src/plugins/Output/alsa/translations/alsa_plugin_de.ts index 7890c64ca..5e1cbee8c 100644 --- a/src/plugins/Output/alsa/translations/alsa_plugin_de.ts +++ b/src/plugins/Output/alsa/translations/alsa_plugin_de.ts @@ -32,57 +32,57 @@ Einstellungen ALSA-Modul - + Device Settings Geräte-Einstellungen - + Audio device Audiogerät - + Mixer Mixer - + Mixer card: Mixerkarte: - + Mixer device: Mixergerät: - + Advanced Settings Erweiterte Einstellungen - + Soundcard Soundkarte - + Buffer time (ms): Pufferzeit (ms): - + Period time (ms): Zeitraster (ms): - + Use mmap access Mmap-Unterstützung aktivieren - + Use snd_pcm_pause function „snd_pcm_pause“-Funktion verwenden diff --git a/src/plugins/Output/alsa/translations/alsa_plugin_it.ts b/src/plugins/Output/alsa/translations/alsa_plugin_it.ts index af23e7a7c..80c581637 100644 --- a/src/plugins/Output/alsa/translations/alsa_plugin_it.ts +++ b/src/plugins/Output/alsa/translations/alsa_plugin_it.ts @@ -32,57 +32,57 @@ Impostazioni modulo ALSA - + Device Settings Impostazione del device - + Audio device Dispositivo audio - + Mixer Mixer - + Mixer card: Scheda Mixer: - + Mixer device: Dispositivo Mixer: - + Advanced Settings Impostazoni avanzate - + Soundcard Scheda audio - + Buffer time (ms): Tempo di buffering (ms): - + Period time (ms): Periodo (ms): - + Use mmap access Usa accesso Mmap - + Use snd_pcm_pause function Usa la funzione snd_pcm_pause diff --git a/src/plugins/Output/alsa/translations/alsa_plugin_lt.ts b/src/plugins/Output/alsa/translations/alsa_plugin_lt.ts index 7c97d1c14..7bc83016a 100644 --- a/src/plugins/Output/alsa/translations/alsa_plugin_lt.ts +++ b/src/plugins/Output/alsa/translations/alsa_plugin_lt.ts @@ -27,52 +27,52 @@ SettingsDialog - + Device Settings Įrangos nustatymai - + Audio device Garso įranga - + Mixer Glotintuvas - + Mixer card: Glotintuvo plokštė : - + Mixer device: Glotintuvo įranga: - + Advanced Settings Papildomi nustatymai - + Soundcard Garso plokštė - + Buffer time (ms): Buferio laikas (ms): - + Period time (ms): Periodo laikas (ms): - + Use snd_pcm_pause function Naudoti snd_pcm_pause funciją @@ -82,7 +82,7 @@ ALSA įskiepio nustatymai - + Use mmap access Naudoti mmap prieigą diff --git a/src/plugins/Output/alsa/translations/alsa_plugin_pl.ts b/src/plugins/Output/alsa/translations/alsa_plugin_pl.ts index 1b9abdb69..cbf5e07b5 100644 --- a/src/plugins/Output/alsa/translations/alsa_plugin_pl.ts +++ b/src/plugins/Output/alsa/translations/alsa_plugin_pl.ts @@ -32,57 +32,57 @@ Ustawienia wtyczki ALSA - + Device Settings Ustawienia urządzenia - + Audio device Urządzenie dźwiękowe - + Mixer Mikser - + Mixer card: Karta miksująca: - + Mixer device: Urządzenie miksujące: - + Advanced Settings Zaawansowane ustawienia - + Soundcard Karta dźwiękowa - + Buffer time (ms): Wielkość buforu (ms): - + Period time (ms): Czas cyklu (ms): - + Use mmap access Użyj dostępu mmap - + Use snd_pcm_pause function Użyj funkcji snd_pcm_pause diff --git a/src/plugins/Output/alsa/translations/alsa_plugin_ru.ts b/src/plugins/Output/alsa/translations/alsa_plugin_ru.ts index 244715907..7b4557086 100644 --- a/src/plugins/Output/alsa/translations/alsa_plugin_ru.ts +++ b/src/plugins/Output/alsa/translations/alsa_plugin_ru.ts @@ -27,52 +27,52 @@ SettingsDialog - + Device Settings Параметры устройства - + Audio device Аудио устройство - + Mixer Микшер - + Mixer card: Карта микшера: - + Mixer device: Устройство микшера: - + Advanced Settings Дополнительные настройки - + Soundcard Звуковая карта - + Buffer time (ms): Время буферизации (мс): - + Period time (ms): Время периода (мс): - + Use snd_pcm_pause function Использовать функцию snd_pcm_pause @@ -82,7 +82,7 @@ Настройки модуля ALSA - + Use mmap access Использовать доступ mmap diff --git a/src/plugins/Output/alsa/translations/alsa_plugin_tr.ts b/src/plugins/Output/alsa/translations/alsa_plugin_tr.ts index 898446c40..7ee692993 100644 --- a/src/plugins/Output/alsa/translations/alsa_plugin_tr.ts +++ b/src/plugins/Output/alsa/translations/alsa_plugin_tr.ts @@ -32,57 +32,57 @@ ALSA Eklentisi Ayarları - + Device Settings Aygıt Ayarları - + Audio device Ses aygıtı - + Mixer Karıştırıcı - + Mixer card: Karıştırıcı kartı: - + Mixer device: Karıştırıcı aygıtı: - + Advanced Settings Gelişmiş Ayarlar - + Soundcard Ses kartı - + Buffer time (ms): Arabellek süresi (ms): - + Period time (ms): Periyot süresi (ms): - + Use mmap access mmap erişimi kullan - + Use snd_pcm_pause function diff --git a/src/plugins/Output/alsa/translations/alsa_plugin_uk_UA.ts b/src/plugins/Output/alsa/translations/alsa_plugin_uk_UA.ts index 9b415534e..716f7fa4d 100644 --- a/src/plugins/Output/alsa/translations/alsa_plugin_uk_UA.ts +++ b/src/plugins/Output/alsa/translations/alsa_plugin_uk_UA.ts @@ -27,52 +27,52 @@ SettingsDialog - + Device Settings Параметри пристроїв - + Audio device Аудіо пристрій - + Mixer Мікшер - + Mixer card: Карта мікшера: - + Mixer device: Пристрій мікшера: - + Advanced Settings Додаткові налаштування - + Soundcard Звукова карта - + Buffer time (ms): Час буферизації (мс): - + Period time (ms): Час періоду (мс): - + Use snd_pcm_pause function Використовувати функцію snd_pcm_pause @@ -82,7 +82,7 @@ Налаштування модуля ALSA - + Use mmap access Використовувати доступ mmap diff --git a/src/plugins/Output/alsa/translations/alsa_plugin_zh_CN.ts b/src/plugins/Output/alsa/translations/alsa_plugin_zh_CN.ts index 196cb3e87..c5368dbfa 100644 --- a/src/plugins/Output/alsa/translations/alsa_plugin_zh_CN.ts +++ b/src/plugins/Output/alsa/translations/alsa_plugin_zh_CN.ts @@ -27,52 +27,52 @@ SettingsDialog - + Device Settings 设备设置 - + Audio device 音频设备 - + Mixer 混频 - + Mixer card: 混频卡: - + Mixer device: 混频设备: - + Advanced Settings 高级设置 - + Soundcard 声卡 - + Buffer time (ms): 缓冲时间(ms): - + Period time (ms): 周期时间(ms): - + Use snd_pcm_pause function @@ -82,7 +82,7 @@ ALSA 插件设置 - + Use mmap access 使用内存映射 diff --git a/src/plugins/Output/alsa/translations/alsa_plugin_zh_TW.ts b/src/plugins/Output/alsa/translations/alsa_plugin_zh_TW.ts index 409330b4a..b509bcc07 100644 --- a/src/plugins/Output/alsa/translations/alsa_plugin_zh_TW.ts +++ b/src/plugins/Output/alsa/translations/alsa_plugin_zh_TW.ts @@ -27,52 +27,52 @@ SettingsDialog - + Device Settings 裝置設定 - + Audio device 聲訊裝置 - + Mixer 混頻 - + Mixer card: 混頻卡: - + Mixer device: 混頻裝置: - + Advanced Settings 進階設定 - + Soundcard 音效卡 - + Buffer time (ms): 緩衝時間(ms): - + Period time (ms): 周期時間(ms): - + Use snd_pcm_pause function @@ -82,7 +82,7 @@ ALSA 插件設定 - + Use mmap access 使用內存對映 -- cgit v1.2.3-13-gbd6f