Archive for the ‘Uncategorized’ Category

h1

Convertir ASF a OGG y truncar audio

15/08/2012

Si se desea convertir y truncar audios como los grabados por streaming en radios online, se puede seguir esta sencilla solución en GNU/Linux.

1º) Instalar los siguientes paquetes:
carlos$ sudo apt-get install libmp3splt-ogg libmp3splt0 mp3splt

2º) Crear un script con este contenido:

#!/bin/sh
echo "Minutos a los que truncar: " $1
for i in *.asf; do
mplayer -vo null -vc dummy -af resample=44100 -ao pcm:waveheader:file="${i%.asf}.wav" "$i"
oggenc "${i%.asf}.wav"
oggsplt "${i%.asf}.ogg" 00.00.00 $1.00.00 -o "${i%.asf}_.ogg"
done

3º) Invocarlo:

carlos$ ./convierte-y-trunca.sh 17

Esto convertirá los archivos .asf del directorio actual a wav, y de este formato a ogg. Posteriormente los truncará hasta el minuto 17 en este caso.

h1

Descargar un canal completo de Youtube en Linux

05/08/2012

Si se desea bajar en GNU/Linux un canal completo de un usuario de Youtube, se puede probar con la siguiente solución:

1º) Instalar los siguientes paquetes (en Debian/Ubuntu)
carlos@pc7:~$ sudo apt-get install youtube-dl curl

2º) Salvar el siguiente contenido en un script youtube-dl-all.sh :
#/bin/bash

yt-chanrip() { for count in `seq 0 50 $(curl -s http://www.youtube.com/user/$1 | grep -E "id=\"playnav-playlist-uploads-count\" value=\"[[:digit:]]+" | grep -Eo "[[:digit:]]+")`; do for i in $(curl -s http://gdata.youtube.com/feeds/api/users/"$1"/uploads\?start-index="$count"\&max-results=50 | grep -Eo "watch\?v=[^[:space:]\"\'\\]{11}" | uniq); do youtube-dl -cit http://youtube.com/"$i"; done; done }

yt-chanrip $1

3º) Ejecutarlo:
carlos@pc7:~/temp$ ./youtube-dl-all.sh Silenzioradio2
Setting language
M-JrjxIdISk: Downloading video webpage
M-JrjxIdISk: Downloading video info webpage
M-JrjxIdISk: Extracting video information
[download] Destination: Total_Drama_World_Tour_Gypsy_Rap_in_8_Versions-M-JrjxIdISk.webm
[download] 100.0% of 28.78M at 1.03M/s ETA 00:00
(...)

Fuente: https://gist.github.com/1341326

h1

Error Visual Studio Spawning ‘mt.exe’ importando proyectos C++

03/08/2012

Si en Visual Studio 2008 ocurre el siguiente error:

Error PRJ0003: Spawning 'mt.exe' (Visual Studio 2008)

Se debe a que no encuentra ese aplicación para generar el manifest incluido en el binario objetivo. Para evitar este error hay varias opciones:

  1. Generar el binario:

    1.1) Incluir el binario en el path que utiliza Visual Studio para buscar sus aplicaciones:
    [[http://peramides.wordpress.com/2010/06/25/error-spawning-mt-exe/]]

    1.2) Si no está, instalarlo:
    [[http://connect.microsoft.com/VisualStudio/feedback/details/451889/error-prj0003-spawning-mt-exe]]

  2. Prescindir del manifest:

Seleccionar el proyecto (no la solución) > Project > Properties > Configuration properties > Linker > Manifest File > Generate Manfiest = NO

h1

Precisión en C++

24/07/2012

Si se desarrollan aplicaciones en C++ que deben imprimir por consola valores «double» con alta precisión, como ocurre frecuentemente en banca, es necesario utilizar el siguiente método:

int main () {
double f = 3.14159;
cout.precision(5); //cantidad de decimales
cout << f << endl;
return 0;
}

Fuente: http://www.cplusplus.com/reference/iostream/ios_base/precision/

h1

Jomres error exchangerates_GBP.class.php

12/05/2012

Si configurando el software de reservas Jomres se produce el siguiente error:

Fatal error: require_once(): Failed opening required '/var/www/booking_desarrollo2/jomres/temp/exchangerates_GBP.class.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/booking_desarrollo2/jomres/libraries/jomres/classes/jomres_currency_exchange_rates.class.php on line 67

se soluciona entrando en
Panel de Control > Configuración de la página

cambiando el valor:
"Use conversion funcionality" de SiNo

 

h1

Como arreglar arranque de Grub al instalarlo sobre Windows 7 64 bits.

15/04/2012

Al instalar Linux en un equipo con Windows 7 64 bits es habitual que el propio Grub no reconozca la partición de Windows, no incluyéndola por tanto en el arranque. Para solucionarlo es necesario realizar los siguientes pasos:

1.- Obtener el ID de la partición con Windows:
# sudo grub-probe --target=fs_uuid /boot/efi/efi/Microsoft/Boot/bootmgfw.efi
cafe-ed94

2.- Crear un script de opción de Grub con esa partición y su correspondiente ID. Para ello editar el de muestra, añadir las nuevas líneas y personalizar el ID con el obtenido en el paso anterior:
root@whenIgrewup:~# sudo nano /etc/grub.d/40_custom
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.

menuentry "Windows x86_64 UEFI-GPT" {
search --fs-uuid --no-floppy --set=root cafe-ed94
chainloader (${root})/efi/Microsoft/Boot/bootmgfw.efi
}

3.- Actualizar Grub:
#sudo update-grub

Además, para aumentar el timeout y que se muestre durante más tiempo el menú de Grub, es necesario editar el fichero resultante
# sudo nano /boot/grub/grub.cfg

cambiando todas las ocurrencias de «timeout» de -1 a «5» por ejemplo.

Fuentes: http://superuser.com/questions/404263/grub2-fails-to-chainload-windows-7-with-error-invalid-signature
https://help.ubuntu.com/community/UEFIBooting#Chainloading_Windows_x86_64_UEFI-GPT

h1

Cómo escuchar la radio con retraso en Internet

31/03/2012

Si se desea escuchar la radio con cierto retraso o delay, de cara a poder escucharla sincronizada con los partidos que se emiten en Internet por ejemplo, se puede probar con la siguiente solución.

Consiste en ejecutar un script que se conecta a la emisora de radio en GNU/Linux, guarda el programa con Mplayer en tiempo real en un fichero y lo reproduce a su vez con un VLC, por lo que es necesario tener instalados ambos. Sincronizarlo con la emisión del partido, como las de Roja Directa, es tan sencillo como escuchar el programa y en un fuera de banda que comenten pausarla; cuando en la imagen se vea ese fuera de banda, se debe reanudar la emisión.

Para ejecutar desde el escritorio el script, sin necesidad de ejecutarlo desde consola, es necesario configurar la extensión «.sh» para ser abierta por «/bin/sh». El script es el siguiente:

#!/bin/bash

# Script para escuchar el futbol sincronizado en los partidos de Internet
# Ejecutarlo y cuando se meta un gol por ejemplo, pausar el VLC hasta que se vea por la pantalla,
# y reanudarlo, a partir de ese momento estar'án sincronizados

rm Futbol.Ondacero_*

emisora=mms://ondacerolivewm.fplive.net/ondacerowmlive-live/oc_madrid
programa=Futbol.Ondacero
nombre=Futbol.Ondacero
dir=./

nombre="$programa"_20`date +%y_%m_%d`.asf

#mplayer's "endpos" options is not working in this version for streams, so applying workaround
echo "iniciando mplayer, se empezará a escuchar la emisora dentro de 30 segundos, aguarde por favor"
mplayer -really-quiet -nolirc -noframedrop -dumpfile $nombre -dumpstream $emisora &
PID="$!"
sleep 30
vlc $nombre
sleep 3600

kill "${PID}"

sync
rm Futbol.Ondacero_*

echo Fin.

Es necesario copiarlo en un fichero y darle permisos de ejecución:
$ sudo chmod 755 escuchar.futbol.ondacero.sh

Se puede adaptar el script para escuchar otras emisoras (Cope, Cadena Ser, Punto Radio, etc…) cambiando la URI de la «emisora».

h1

Error PlayOnLinux «symbol _ZTV14wxGraphicsPath, version WXU_2.8 not defined in file libwx_gtk2u_core-2.8.so.0 with link time reference»

17/03/2012

Si al ejecutar PlayOnLinux se produce el siguiente error:

carlos@whenigrewup:~$ playonlinux
Traceback (most recent call last):
File "mainwindow.py", line 30, in
import wx
File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/__init__.py", line 45, in
from wx._core import *
File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14793, in
from _gdi import *
File "/usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/_gdi.py", line 4, in
import _gdi_
ImportError: /usr/lib/python2.7/dist-packages/wx-2.8-gtk2-unicode/wx/_gdi_.so: symbol _ZTV14wxGraphicsPath, version WXU_2.8 not defined in file libwx_gtk2u_core-2.8.so.0 with link time reference
Traceback (most recent call last):
File "mainwindow.py", line 30, in
import wx
File "/usr/lib/python2.6/dist-packages/wx-2.8-gtk2-unicode/wx/__init__.py", line 45, in
from wx._core import *
File "/usr/lib/python2.6/dist-packages/wx-2.8-gtk2-unicode/wx/_core.py", line 14793, in
from _gdi import *
File "/usr/lib/python2.6/dist-packages/wx-2.8-gtk2-unicode/wx/_gdi.py", line 4, in
import _gdi_
ImportError: /usr/lib/python2.6/dist-packages/wx-2.8-gtk2-unicode/wx/_gdi_.so: symbol _ZTV14wxGraphicsPath, version WXU_2.8 not defined in file libwx_gtk2u_core-2.8.so.0 with link time reference

Se soluciona reinstalando los paquetes python-wxgtk2.6, python-wxgtk2.6-dbg, python-wxgtk2.8 y python-wxgtk2.8-dbg siguiendo los repositorios oficiales de WxPython:
http://wiki.wxpython.org/InstallingOnUbuntuOrDebian

h1

Error Call to undefined function curl_init()

21/02/2012

Si se produce el siguiente error en PHP:

Notice: Use of undefined constant add_css - assumed 'add_css' in /var/www/joomlatest/plugins/content/sexybookmarks.php on line 49 Fatal error: Call to undefined function curl_init() in /var/www/joomlatest/plugins/content/sexybookmarks.php on line 400

Es necesario instalar el soporte de «curl» en PHP:
$ sudo apt-get install php5-curl

h1

Desactivar «búferes de salida» en PHP para Joomla

19/02/2012

Para desactivar «búferes de salida» («output buffers) en PHP para Joomla es necesario

1º) Crear o editar el fichero «.htaccess» en la raíz de Joomla.

2º) Añadir la siguiente línea:
php_value output_buffering "0"