Codemaniacs

June 06, 2008

Slack

ctypes

El otro día me encontré con un módulo interesante de python que no conocía: ctypes. Sirve para comunicarse con librerías en C: permite cargar librerías dinámicas y llamar a sus funciones, definir tipos equivalentes a los de C para pasarlos de un lado a otro e incluso especificar funciones python como callbacks de C. Vamos, que se pueden crear bindings a librerías externas escribiendo únicamente código python.

Ahi va un ejemplillo tonto usando la libavformat:

#!/usr/bin/python
import sys
from ctypes import *
import ctypes.util

av = CDLL(ctypes.util.find_library("avformat"))
filename = sys.argv[1]
# pFormatCtx deberia ser un puntero a AVFormatContext,
# pero esto es solo un ejemplo simple :)
pFormatCtx = c_void_p() 

av.av_register_all()
av.av_open_input_file(byref(pFormatCtx), filename, None, 0, None)
av.dump_format(pFormatCtx, 0, filename, 0)

Por supuesto para hacer algo más serio habría que declarar en python las estructuras como AVFormatContext que se definen en las cabeceras correspondientes y cosas así, pero entonces el programa de ejemplo sería demasiado engorroso como para leerlo en un blog ;). El ejemplo muestra una salida como esta:

$ ./av.py test.avi
Input #0, avi, from 'test.avi':
  Duration: N/A, bitrate: N/A
  Stream #0.0: Video: mpeg4, 512x420,   inf fps(c)
  Stream #0.1: Audio: vorbis, 22050 Hz, stereo, 24 kb/s

Referencias:

by slack at June 06, 2008 06:40 PM

May 30, 2008

PpluX

May 27, 2008

Kraptor

Solucionar problemas de audio en Hardy Heron

Desde que tengo la última versión de Ubuntu he tenido bastantes problemas con el audio.

Resulta que han optado por utilizar PulseAudio como servidor de audio y esto ha traído algunas consecuencias: si estás viendo algún contenido con flash en el navegador y al mismo tiempo pretendes escuchar una canción en tu reproductor de audio favorito, sólo escuchas uno de los dos… si tienes suerte. Hay veces que no funciona ninguno.

Es importante decir que el problema no es de Ubuntu, sino de tener un sistema que ha pasado ya por dos actualizaciones (desde Feisty Fawn hasta Hardy Heron pasando por Gutsy Gibbon) y el plugin de flash privativo de Adobe, que no ha actualizado la versión 9 a estos cambios (parece que la beta de la versión 10 sí que funciona correctamente, pero no la he probado).

Bien, entremos en materia.

Explicación del problema

Las aplicaciones de audio debería utilizar PulseAudio para reproducir sonido, y este se encargará de mezclarlo. El problema viene en aquellos casos en los que no se ha podido actualizar las aplicaciones o librerías. Para ello lo que se hizo fue un driver para ALSA llamado “pulse” que redirecciona todas las llamadas a PulseAudio para aquellas aplicaciones que aún no lo soportan.

El problema se da cuando hay aplicaciones que usan ALSA de manera especial, como por ejemplo el plugin de flash.

¡A por la solución!

Para solucionar los problemas hay que redirigir toda salida de audio a PulseAudio. Quizá como mi equipo heredó una configuración de GNOME de hace dos versiones de Ubuntu, a mi no me ha actualizado correctamente. De todas formas, aquí va la solución para las aplicaciones de escritorio en general:

  1. Acceder al menú “Sistema” -> “Preferencias” -> “Sonido”
  2. En la pestaña “Dispositivos”, seleccionar “PulseAudio Sound Server” para todos los casos.
  3. En la pestaña “Sonidos” habilitar la opción “Activar mezcla de sonidos por hardware (ESD)”

Con esto nos aseguramos que todas las aplicaciones (excepto flash) sacan el audio a través de PulseAudio.

Para solucionar los problemas con flash tenemos que instalar libflashsupport:

sudo apt-get install libflashsupport

Finalmente hay que salir de la sesión y volver a entrar. Si sigues teniendo problemas, reinicia porque puede que PulseAudio no se haya iniciado correctamente…

… o si no quieres reiniciar, antes de iniciar sesión puedes abrir una consola (Ctrl+Alt+F1) y ejecutar:

sudo /etc/init.d/pulseaudio restart

¡Y ahora a disfrutar!

Una nota final: al instalar libflashsupport se supone que la gente que tiene problemas con flash de otro tipo, como por ejemplo errores en la visualización o problemas con el navegador (dejarlo colgado o que se cierre inesperadamente) los soluciona. Aunque a mí no me pasaba, ¿alguien me lo puede confirmar?

by Kraptor at May 27, 2008 05:27 PM

Mescriva

Patinar no es delito

Me envia mi amigo Koso un texto que creo oportuno compartir con todos vosotros:
LOS PATINADORES, COMO LOS CICLISTAS, UTILIZAN UN MEDIO DE TRANSPORTE LIMPIO, RESPETUOSO CON EL MEDIO AMBIENTE Y QUE NO OCUPA PLAZAS DE GARAJE.

EN VALENCIA SIN EMBARGO, DENTRO DE POCO PASARÁN A SER DELINCUENTES.

Hacer el esfuerzo para leer esto te puede dar una idea, si no la tienes ya, de como desde hace unos años se está transformando poco a poco la ciudad de Valencia en un monstruo de asfalto diseñado y construido por y para los coches y otros vehículos a motor, en contra de otros medios de transporte más ecológicos y más respetuosos con el medio, tanto por lo que respecta a gases, como a ruidos y a la convivencia de los ciudadanos que la habitan.

Es más, seguramente aunque no seas de Valencia, puede que ya estés viviendo una situación similar en tu propia ciudad, o que el precedente que se está sentando aquí se aplique en ella de seguir la cosa así.

Si patinas, o simplemente te gustaría aprender a patinar algún día, esto te interesa como patinador.
Si no patinas ni te interesa para nada patinar, esto te interesa como peatón, quizás también como ciclista, y en cualquier caso, como ciudadano.

Si no quieres leerlo o no tienes tiempo, aquí tienes un pequeño resumen de lo que el ayuntamiento de Valencia pretende para que sepas la razón de este escrito:

El Ayuntamiento de Valencia pretende aprobar la modificación de la Ordenanza de Circulación que prohibirá a patines, patinetes y monopatines que circulen por las aceras y zonas peatonales de la ciudad, las únicas por las que pueden circular en la actualidad (imponiéndoles una sanción de hasta 500 euros por la infracción de esta norma). Para los que no lo sepan, la circulación por el carril bici también les está negada. Cuando la modificación entre en vigor, sólo se les permitirá patinar ‘en las zonas destinadas a tal efecto‘ (Levante).

Aquí algunas de las razones de sentido común por las que dicha ordenanza no resulta razonable. Y aquí puedes consultar una modificación propuesta de la ordenanza y firmar a su favor, para permitir los desplazamientos con patines o la habilitación de zonas y/o vías donde se pueda patinar, que actualmente apenas existen.

LA CALLE ES PARA LA GENTE, NO PARA LOS COCHES.

Más sobre el tema: Asociación de patinadores Valencia Patina

Noticias relacionadas con la ordenanza: Levante, Las Provincias y otra del Levante.

Manifiesto por la modificación de la ordenanza (en Valenciano y Castellano)

Algunas razones más por las que no es de sentido común semejante ordenanza, explicadas con más detalle:

  1. Los patinadores y otros usuarios de vehículos sin motor se encuentran, según el código de circulación, en una especie de vacío legal por el cual se consideran dentro de la categoría de peatones. Por esta razón deben utilizar para sus desplazamientos la acera y circular por ella a paso de peatón y en ningún caso se les permitirá desplazarse por la calzada. Si esta ordenanza se aprueba, los patinadores directamente NO podrán circular por ningún sitio. En otras palabras, esta ordenanza hace de los patines un mero instrumento de recreo, en lugar de potenciar su uso por ser un medio de transporte alternativo, respetuoso con el medio ambiente, que además favorece la práctica del deporte y la actividad física y que en la actualidad es usado por distintos colectivos aún a pesar de las dificultades que se presentan para ello en la ciudad por la falta de acondicionamiento de ésta para el uso de medios de transporte distintos del coche.
  2. En la ciudad de Valencia existen un número muy reducido de zonas habilitadas para el uso exclusivo de patines, que serían incapaces de albergar a la totalidad de personas que practican este DEPORTE, ya dejando de considerarlo como un posible medio de transporte. Por otro lado, estas zonas se componen de dos tipos de instalación:
    • Por una parte están las zonas conocidas como “peceras” entre los patinadores. De éstas hay pocas (existen a lo sumo 4 o 5 en Valencia), y debido a su tamaño (que en el mejor caso tienen las dimensiones de una pista de fútbol sala) no permiten la práctica del patinaje a menos que haya muy pocas personas en ellas (piensa que el moverse de una punta a otra de una pista de ese tamaño, es cuestión de pocos segundos a una velocidad relativamente lenta con patines). Si además se intenta aglutinar a todos los patinadores de Valencia en ellas, el resultado se asemeja más a un intento de batir el récord Guinness que a la práctica de cualquier deporte.
    • Por otra parte, también encontramos en Valencia unas pocas zonas con rampas para realizar algunos tipos de trucos más avanzados, lo que comúnmente se conoce como “skateparks”. En este caso se encuentra el mismo problema que con las peceras : hay poco espacio para albergar a los usuarios. Por otro lado, por utilizarse estas instalaciones para trucos con mayor dificultad y riesgo de lesiones para el patinador, se hace necesario que la instalación reciba un cierto mantenimiento. No hace falta más que darse una vuelta por los pocos skateparks de Valencia para darse cuenta del mal estado en que se encuentran. Por si fuera poco, estas instalaciones dejan de ser utilizables a partir de ciertas horas en que suelen ser lugar de encuentro de gente que no va allí precisamente a patinar y cuya compañía resulta poco recomendable.

Estos dos hechos hacen que la proposición de que los patinadores utilicen para la práctica de esta actividad dichas zonas, resulta poco menos que descabellada en el caso en que no se pretenda como fin último la erradicación del patinaje de la ciudad.

En resumen:

El ayuntamiento pretende que todos los patinadores se apiñen en una zona en la que se estorben unos a otros y no puedan patinar?

Acaso pretende que gente a la que le interesa moverse por Valencia sin contaminar, ni ocupar plazas de garaje, sin producir humos ni ruidos, utilizando un medio de transporte alternativo y saludable, y que pueden utilizar personas de todas las edades, no lo pueda hacer?

Quieren que los patinadores practiquen el patinaje en el pasillo de su casa?
O que para iniciarte en el mundo de los patines tengas que lanzarte por una rampa más alta que tú y no matarte en el intento?
Desde luego alquien que la primera vez que se pone patines o usa un monopatín se lanza por una rampa y no se va al suelo o se mata debe ser un campeón. Aparte de un loco.

Que será lo próximo, ¿prohibir la circulación en bicicleta? Aunque con las bicicletas quizás lo que esperan es que simplemente los ciclistas se vayan matando solos o se acobarden, ya que se ven obligados a circular por la calzada en multitud de ocasiones debido a la falta de carriles destinados a las bicicletas, entre conductores agresivos que no respetan a otros vehículos más pequeños que los que ellos conducen.

¿Se puede saber a dónde quieren llegar? Es muy triste que el ayuntamiento promueva el que la ciudad se convierta cada día más en un lugar menos apto para vivir. Y por si fuera poco, lo hacen de manera que no nos podamos quejar. Si eres ciudadano de Valencia, probablemente ya te hayas encontrado con alguna de las ordenanzas municipales que el ayuntamiento aprueba sin que la gran mayoría de sus ciudadanos tenga conocimiento alguno hasta que son aprobadas, cuando ya no pueden ser recurridas ni modificadas, o de las que los ciudadanos se enteran cuando son multados por incumplirlas o perjudicados por ellas, cuando ni siquiera tenían conocimiento sobre su existencia.

by Miguel at May 27, 2008 02:42 PM