viernes, enero 24, 2014

Descromprimir ficheros sfArk (ficheros SF2 comprimidos - Sound Font) en GNU/Linux (Ubuntu) para su utilización en MuseScore

Gracias al trabajo de Arnout Engelen disponemos de una aplicación que nos permite descomprimir los ficheros sfArk (SF2 comprimidos) que nos podemos bajar por ejemplo de www.soundfonts.gonet.biz para utilizarlas con MuseScore.

Descargamos primero la librería https://github.com/raboof/sfArkLib/archive/master.zip

y la instalamos:

$ make
$ sudo make install
$ sudo ldconfig
 
Luego nos descargamos la aplicación https://github.com/raboof/sfarkxtc/archive/master.zip y la compilamos con:

$ make
 
Para descomprimir un fichero:
 
$ ./sfarkxtc fichero.sfArk fichero.sf2 


Ya sólo tenemos que copiar el fichero sf2 a /usr/share/sounds/sf2 y desde MuseScore Mostrar->Sintetizador cambiar la fuente de sonido a nuestro nueva fuente.


sábado, enero 11, 2014

Actualización del modelo de datos en Djanto mediante South

Comenzamos instalado South:

sudo pip install south


Configurar nuestro proyecto para que soporte south, para ello tendremos que editar el fichero setting.py y añadir en INSTALLED_APPS 'south'. A continuación sincronizaremos por última vez mediante Django el modelo de datos:

python manage.py syncdb


Ya se habrá creado una tabla south_migrationhistory donde se almacenan los diferentes script de actualizaciones del modelo de datos que vayamos realizando. Podemos confirmarlo:

python manage.py dbshell
mysql> connect mi_base_de_datos; 
mysql> show tables;
mysql> exit 
 
 
La primera vez tendremos que crear el primer script de creación de las tablas:


python manage.py schemamigration mi_app --init
python manage.py migrate mi_app 

Si realizamos algún cambio sobre el modelo de datos deberemos de realizar:
python manage.py schemamigration mi_app --auto
python manage.py migrate mi_app 
 
 
En el caso que no exista concordancia con la sucesión de script que south tiene almacenado con respecto a la actualización que necesitamos aplicar para que el modelo de datos esté coherente con la base de datos, tendremos que realizar una migración indicando el último script que no deseamos aplicar (en este ejemplo se salta el primero de creación) y así poder aplicar el resto:

python manage.py migrate mi_app 0001 --fake
python manage.py migrate mi_app