Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 14 additions & 9 deletions libvisual-plugins/plugins/input/alsa/input_alsa.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

#include <config.h>

#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
Expand Down Expand Up @@ -51,8 +52,9 @@ static int inp_alsa_cleanup (VisPluginData *plugin);
static int inp_alsa_upload (VisPluginData *plugin, VisAudio *audio);

static const int inp_alsa_var_btmul = sizeof (short);
static const char *inp_alsa_var_cdevice = "hw:0,0";
static const char *inp_alsa_var_cdevice = "default";
static const int inp_alsa_var_samplerate = 44100;
static const int inp_alsa_var_frames_target = 256;
static const int inp_alsa_var_channels = 2;

VISUAL_PLUGIN_API_VERSION_VALIDATOR
Expand Down Expand Up @@ -106,7 +108,7 @@ int inp_alsa_init (VisPluginData *plugin)

visual_object_set_private (VISUAL_OBJECT (plugin), priv);

if ((err = snd_pcm_open(&priv->chandle, strdup(inp_alsa_var_cdevice),
if ((err = snd_pcm_open(&priv->chandle, inp_alsa_var_cdevice,
SND_PCM_STREAM_CAPTURE, SND_PCM_NONBLOCK)) < 0) {
visual_log(VISUAL_LOG_CRITICAL,
_("Record open error: %s"), snd_strerror(err));
Expand Down Expand Up @@ -165,16 +167,14 @@ int inp_alsa_init (VisPluginData *plugin)
return(-1);
}

/* Setup a large buffer */

tmp = 1000000;
tmp = (int)ceil((1000.0 * 1000.0 * inp_alsa_var_frames_target) / inp_alsa_var_samplerate); // in micro seconds
if (snd_pcm_hw_params_set_period_time_near(priv->chandle, hwparams, &tmp, &dir) < 0){
visual_log(VISUAL_LOG_CRITICAL, _("Error setting period time"));
snd_pcm_hw_params_free(hwparams);
return(-1);
}

tmp = 1000000*4;
tmp = (int)ceil((1000.0 * 1000.0 * inp_alsa_var_frames_target) / inp_alsa_var_samplerate); // in micro seconds
if (snd_pcm_hw_params_set_buffer_time_near(priv->chandle, hwparams, &tmp, &dir) < 0){
visual_log(VISUAL_LOG_CRITICAL, _("Error setting buffer time"));
snd_pcm_hw_params_free(hwparams);
Expand Down Expand Up @@ -221,14 +221,19 @@ int inp_alsa_upload (VisPluginData *plugin, VisAudio *audio)
{
int16_t data[PCM_BUF_SIZE];
alsaPrivate *priv = NULL;
int rcnt;
const snd_pcm_uframes_t frames_wanted = sizeof(data) / sizeof(data[0]) / inp_alsa_var_channels;
Comment thread
hartwork marked this conversation as resolved.
Resolved
snd_pcm_sframes_t rcnt;
int i;

visual_log_return_val_if_fail(audio != NULL, -1);
visual_log_return_val_if_fail(plugin != NULL, -1);
priv = visual_object_get_private (VISUAL_OBJECT (plugin));
visual_log_return_val_if_fail(priv != NULL, -1);

if (priv->chandle == NULL) {
return -1;
}

#if 0
{ /* DEBUG STUFF, REMOVE IN RELEASE FIXME FIXME XXX TODO WHATEVER */
VisBuffer buffer;
Expand All @@ -243,12 +248,12 @@ int inp_alsa_upload (VisPluginData *plugin, VisAudio *audio)
}
#endif
do {
rcnt = snd_pcm_readi(priv->chandle, data, PCM_BUF_SIZE / 2);
rcnt = snd_pcm_readi(priv->chandle, data, frames_wanted);

if (rcnt > 0) {
VisBuffer buffer;

visual_buffer_init (&buffer, data, rcnt, NULL);
visual_buffer_init (&buffer, data, rcnt * sizeof(data[0]) * inp_alsa_var_channels, NULL);

visual_audio_samplepool_input (audio->samplepool, &buffer, VISUAL_AUDIO_SAMPLE_RATE_44100,
VISUAL_AUDIO_SAMPLE_FORMAT_S16, VISUAL_AUDIO_SAMPLE_CHANNEL_STEREO);
Expand Down
24 changes: 12 additions & 12 deletions libvisual-plugins/po/de.po
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvisual-plugins 0.4.0\n"
"Report-Msgid-Bugs-To: https://github.com/Libvisual/libvisual/issues/\n"
"POT-Creation-Date: 2023-01-13 23:31+0100\n"
"POT-Creation-Date: 2023-01-14 20:48+0100\n"
"PO-Revision-Date: 2017-11-23 18:08:07+0200\n"
"Last-Translator: Chris Leick <c.leick@vollbio.de>\n"
"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
Expand Down Expand Up @@ -364,38 +364,38 @@ msgstr "gelbe Rose von Texas-Portierung von Libvisual"
msgid "This renders an awesome responsive flower"
msgstr "Dies berechnet eine tolle ansprechende Blume"

#: plugins/input/alsa/input_alsa.c:73
#: plugins/input/alsa/input_alsa.c:75
msgid "ALSA capture plugin"
msgstr "ALSA-Erfassungserweiterung"

#: plugins/input/alsa/input_alsa.c:74
#: plugins/input/alsa/input_alsa.c:76
msgid "Use this plugin to capture PCM data from the ALSA record device"
msgstr ""
"Benutzen Sie diese Erweiterung, um PCM-Daten vom ALSA-Aufzeichungsgerät zu "
"erfassen."

#: plugins/input/alsa/input_alsa.c:112
#: plugins/input/alsa/input_alsa.c:114
#, c-format
msgid "Record open error: %s"
msgstr "Fehler beim Öffnen des Datensatzes: %s"

#: plugins/input/alsa/input_alsa.c:121
#: plugins/input/alsa/input_alsa.c:123
msgid "Cannot configure this PCM device"
msgstr "Dieses PCM-Gerät kann nicht konfiguriert werden."

#: plugins/input/alsa/input_alsa.c:128
#: plugins/input/alsa/input_alsa.c:130
msgid "Error setting access"
msgstr "Fehler beim Setzen des Zugriffs"

#: plugins/input/alsa/input_alsa.c:140
#: plugins/input/alsa/input_alsa.c:142
msgid "Error setting format"
msgstr "Fehler beim Setzen des Formats"

#: plugins/input/alsa/input_alsa.c:149
#: plugins/input/alsa/input_alsa.c:151
msgid "Error setting rate"
msgstr "Fehler beim Setzen der Frequenz"

#: plugins/input/alsa/input_alsa.c:155
#: plugins/input/alsa/input_alsa.c:157
#, c-format
msgid ""
"The rate %d Hz is not supported by your hardware.\n"
Expand All @@ -404,7 +404,7 @@ msgstr ""
"Die Frequenz %d Hz wird nicht von Ihrer Hardware unterstützt.\n"
"==> Stattdessen wird %d Hz benutzt"

#: plugins/input/alsa/input_alsa.c:163
#: plugins/input/alsa/input_alsa.c:165
msgid "Error setting channels"
msgstr "Fehler beim Setzen des Kanals"

Expand All @@ -420,11 +420,11 @@ msgstr "Fehler beim Setzen der Pufferzeit"
msgid "Error setting HW params"
msgstr "Fehler beim Setzen der Hardwareparameter"

#: plugins/input/alsa/input_alsa.c:192 plugins/input/alsa/input_alsa.c:263
#: plugins/input/alsa/input_alsa.c:192 plugins/input/alsa/input_alsa.c:268
msgid "Failed to prepare interface"
msgstr "Vorbereiten der Schnittstelle fehlgeschlagen"

#: plugins/input/alsa/input_alsa.c:259
#: plugins/input/alsa/input_alsa.c:264
msgid "ALSA: Buffer Overrun"
msgstr "ALSA: Pufferüberlauf"

Expand Down
24 changes: 12 additions & 12 deletions libvisual-plugins/po/es_AR.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Libvisual plugins 0.3.0\n"
"Report-Msgid-Bugs-To: https://github.com/Libvisual/libvisual/issues/\n"
"POT-Creation-Date: 2023-01-13 23:31+0100\n"
"POT-Creation-Date: 2023-01-14 20:48+0100\n"
"PO-Revision-Date: 2005-03-16 00:11-0300\n"
"Last-Translator: Duilio Javier Protti <dprotti@users.sourceforge.net>\n"
"Language-Team: Spanish <es@li.org>\n"
Expand Down Expand Up @@ -351,38 +351,38 @@ msgstr ""
msgid "This renders an awesome responsive flower"
msgstr ""

#: plugins/input/alsa/input_alsa.c:73
#: plugins/input/alsa/input_alsa.c:75
msgid "ALSA capture plugin"
msgstr "Plugin de captura de audio ALSA"

#: plugins/input/alsa/input_alsa.c:74
#: plugins/input/alsa/input_alsa.c:76
msgid "Use this plugin to capture PCM data from the ALSA record device"
msgstr ""
"Use este plugin para capturar datos PCM del dispositivo de grabación ALSA"

#: plugins/input/alsa/input_alsa.c:112
#: plugins/input/alsa/input_alsa.c:114
#, c-format
msgid "Record open error: %s"
msgstr "Error al iniciar grabación: %s"

#: plugins/input/alsa/input_alsa.c:121
#: plugins/input/alsa/input_alsa.c:123
#, fuzzy
msgid "Cannot configure this PCM device"
msgstr "No se puede configurar este dispositivo PCM"

#: plugins/input/alsa/input_alsa.c:128
#: plugins/input/alsa/input_alsa.c:130
msgid "Error setting access"
msgstr "Error al configurar el acceso"

#: plugins/input/alsa/input_alsa.c:140
#: plugins/input/alsa/input_alsa.c:142
msgid "Error setting format"
msgstr "Error al configurar el formato"

#: plugins/input/alsa/input_alsa.c:149
#: plugins/input/alsa/input_alsa.c:151
msgid "Error setting rate"
msgstr "Error al configurar la tasa"

#: plugins/input/alsa/input_alsa.c:155
#: plugins/input/alsa/input_alsa.c:157
#, c-format
msgid ""
"The rate %d Hz is not supported by your hardware.\n"
Expand All @@ -391,7 +391,7 @@ msgstr ""
"Una tasa de %d Hz no es soportada por su hardware.\n"
"==> Se usarán %d Hz"

#: plugins/input/alsa/input_alsa.c:163
#: plugins/input/alsa/input_alsa.c:165
msgid "Error setting channels"
msgstr "Error al configurar los canales"

Expand All @@ -407,11 +407,11 @@ msgstr "Error al configurar el tiempo de buffer"
msgid "Error setting HW params"
msgstr "Error al configurar parámetros de hardware"

#: plugins/input/alsa/input_alsa.c:192 plugins/input/alsa/input_alsa.c:263
#: plugins/input/alsa/input_alsa.c:192 plugins/input/alsa/input_alsa.c:268
msgid "Failed to prepare interface"
msgstr "Fallo al preparar la interfaz"

#: plugins/input/alsa/input_alsa.c:259
#: plugins/input/alsa/input_alsa.c:264
#, fuzzy
msgid "ALSA: Buffer Overrun"
msgstr "Buffer Overrun"
Expand Down
24 changes: 12 additions & 12 deletions libvisual-plugins/po/es_ES.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: Libvisual plugins 0.3.0\n"
"Report-Msgid-Bugs-To: https://github.com/Libvisual/libvisual/issues/\n"
"POT-Creation-Date: 2023-01-13 23:31+0100\n"
"POT-Creation-Date: 2023-01-14 20:48+0100\n"
"PO-Revision-Date: 2005-03-16 00:11-0300\n"
"Last-Translator: Duilio Javier Protti <dprotti@users.sourceforge.net>\n"
"Language-Team: Spanish <es@li.org>\n"
Expand Down Expand Up @@ -351,38 +351,38 @@ msgstr ""
msgid "This renders an awesome responsive flower"
msgstr ""

#: plugins/input/alsa/input_alsa.c:73
#: plugins/input/alsa/input_alsa.c:75
msgid "ALSA capture plugin"
msgstr "Plugin de captura de audio ALSA"

#: plugins/input/alsa/input_alsa.c:74
#: plugins/input/alsa/input_alsa.c:76
msgid "Use this plugin to capture PCM data from the ALSA record device"
msgstr ""
"Use este plugin para capturar datos PCM del dispositivo de grabación ALSA"

#: plugins/input/alsa/input_alsa.c:112
#: plugins/input/alsa/input_alsa.c:114
#, c-format
msgid "Record open error: %s"
msgstr "Error al iniciar grabación: %s"

#: plugins/input/alsa/input_alsa.c:121
#: plugins/input/alsa/input_alsa.c:123
#, fuzzy
msgid "Cannot configure this PCM device"
msgstr "No se puede configurar este dispositivo PCM"

#: plugins/input/alsa/input_alsa.c:128
#: plugins/input/alsa/input_alsa.c:130
msgid "Error setting access"
msgstr "Error al configurar el acceso"

#: plugins/input/alsa/input_alsa.c:140
#: plugins/input/alsa/input_alsa.c:142
msgid "Error setting format"
msgstr "Error al configurar el formato"

#: plugins/input/alsa/input_alsa.c:149
#: plugins/input/alsa/input_alsa.c:151
msgid "Error setting rate"
msgstr "Error al configurar la tasa"

#: plugins/input/alsa/input_alsa.c:155
#: plugins/input/alsa/input_alsa.c:157
#, c-format
msgid ""
"The rate %d Hz is not supported by your hardware.\n"
Expand All @@ -391,7 +391,7 @@ msgstr ""
"Una tasa de %d Hz no es soportada por su hardware.\n"
"==> Se usarán %d Hz"

#: plugins/input/alsa/input_alsa.c:163
#: plugins/input/alsa/input_alsa.c:165
msgid "Error setting channels"
msgstr "Error al configurar los canales"

Expand All @@ -407,11 +407,11 @@ msgstr "Error al configurar el tiempo de buffer"
msgid "Error setting HW params"
msgstr "Error al configurar parámetros de hardware"

#: plugins/input/alsa/input_alsa.c:192 plugins/input/alsa/input_alsa.c:263
#: plugins/input/alsa/input_alsa.c:192 plugins/input/alsa/input_alsa.c:268
msgid "Failed to prepare interface"
msgstr "Fallo al preparar la interfaz"

#: plugins/input/alsa/input_alsa.c:259
#: plugins/input/alsa/input_alsa.c:264
#, fuzzy
msgid "ALSA: Buffer Overrun"
msgstr "Buffer Overrun"
Expand Down
24 changes: 12 additions & 12 deletions libvisual-plugins/po/libvisual-plugins-0.4.pot
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libvisual-plugins 0.4.1\n"
"Report-Msgid-Bugs-To: https://github.com/Libvisual/libvisual/issues/\n"
"POT-Creation-Date: 2023-01-13 23:31+0100\n"
"POT-Creation-Date: 2023-01-14 20:48+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
Expand Down Expand Up @@ -334,43 +334,43 @@ msgstr ""
msgid "This renders an awesome responsive flower"
msgstr ""

#: plugins/input/alsa/input_alsa.c:73
#: plugins/input/alsa/input_alsa.c:75
msgid "ALSA capture plugin"
msgstr ""

#: plugins/input/alsa/input_alsa.c:74
#: plugins/input/alsa/input_alsa.c:76
msgid "Use this plugin to capture PCM data from the ALSA record device"
msgstr ""

#: plugins/input/alsa/input_alsa.c:112
#: plugins/input/alsa/input_alsa.c:114
#, c-format
msgid "Record open error: %s"
msgstr ""

#: plugins/input/alsa/input_alsa.c:121
#: plugins/input/alsa/input_alsa.c:123
msgid "Cannot configure this PCM device"
msgstr ""

#: plugins/input/alsa/input_alsa.c:128
#: plugins/input/alsa/input_alsa.c:130
msgid "Error setting access"
msgstr ""

#: plugins/input/alsa/input_alsa.c:140
#: plugins/input/alsa/input_alsa.c:142
msgid "Error setting format"
msgstr ""

#: plugins/input/alsa/input_alsa.c:149
#: plugins/input/alsa/input_alsa.c:151
msgid "Error setting rate"
msgstr ""

#: plugins/input/alsa/input_alsa.c:155
#: plugins/input/alsa/input_alsa.c:157
#, c-format
msgid ""
"The rate %d Hz is not supported by your hardware.\n"
"==> Using %d Hz instead"
msgstr ""

#: plugins/input/alsa/input_alsa.c:163
#: plugins/input/alsa/input_alsa.c:165
msgid "Error setting channels"
msgstr ""

Expand All @@ -386,11 +386,11 @@ msgstr ""
msgid "Error setting HW params"
msgstr ""

#: plugins/input/alsa/input_alsa.c:192 plugins/input/alsa/input_alsa.c:263
#: plugins/input/alsa/input_alsa.c:192 plugins/input/alsa/input_alsa.c:268
msgid "Failed to prepare interface"
msgstr ""

#: plugins/input/alsa/input_alsa.c:259
#: plugins/input/alsa/input_alsa.c:264
msgid "ALSA: Buffer Overrun"
msgstr ""

Expand Down