Creando el deb de dmidiplayer 1.7.0 y sus dependencias con ninja (32 o 64 bits) en MX Linux 21 (y otros Linux basados en Debian 11 Bullseye)

dmidiplayer (Drumstick MIDI File Player) es un reproductor de archivos de formato .MID (Standard MIDI Files), .KAR (Karaoke), .RMI (RIFF MIDI), y .WRK (Cakewalk), y envía eventos MIDI a puertos MIDI de hardware y también a sintetizadores de software creado por Pedro López-Cabanillas

Como ya  he creado el deb de dmidiplayer y sus dependencias se los comparto aquí:

DESCARGAR DMIDIPLAYER

He subido los debs que he empaquetado a mi cuenta de github, los pueden descargar de:

https://github.com/wachin/dmidiplayer/releases/tag/v1.7.0




INSTALAR DEPENDENCIAS

Antes de instalar los deb primero instale las siguientes dependencias

sudo apt install libc6 libgcc-s1 libqt5core5a \
libqt5gui5 libqt5printsupport5 libqt5widgets5 \
libstdc++6 libuchardet0 libqt5network5 \
libasound2 libpulse0


Nota: Al hacer esto nos evitamos después el tener que intentar corregir las dependencias rotas con: sudo apt-get install -f así, nos evitamos el tener que hacerlo. (Si usted es curioso y le gustaría saber cómo obtuve la lista de esas dependencias, pues lo que hice fue descomprimir cada uno de los deb generamos y buscar en DEBIAN/control y reunir todas las dependencias y hacerlas una lista sacando las repetidas)

después si descomprima el archivo tar.gz y extraiga su contenido con clic derecho Extraer aquí y entrando en esa carpeta abra una terminal allí y ponga:

sudo dpkg -i *.deb


Nota: Si sólo desean compilar dmidiplayer 1.7.0 y sus dependencias desde código fuente y que funcione hice un tutorial aparte que usa cmake aquí.


Añadir el nombre del Mantenedor (o Responsable) a su Sistema para que se compile con ese nombre

Para hacer esto ponga en una terminal lo siguiente (teniendo instalado Gedit):

gedit ~/.bashrc 

allí debe llegar hasta abajo y con enter hacerse un espacio::


y allí debe de poner lo siguiente:

DEBEMAIL="your.email.address@example.org"
DEBFULLNAME="Firstname Lastname"
export DEBEMAIL DEBFULLNAME

y cambiar con sus datos, a mi me queda así:

 

ahora cierro Gedit y reinicio el ordenador. Con esto una vez que usted haya creado el deb al revisarlo en Synaptic se verá allí su nombre y su correo en la descripción (Pestaña: Comunes / Responsable o Mantenedor).Además servirá al momento de crear el archivo changelog.

Creando el deb de dmidiplayer 1.7.0 y sus dependencias con ninja (32 o 64 bits) en MX Linux 21 vídeo



Preparacion de dependencias de desarrollo

El siguiente tutorial está hecho en MX Linux 21 de 32 bits (también sirve para 64 bits y generar sus respentivos deb) y está hecho para usar ninja en vez de cmake puesto que Christian Marillat de deb-multimedia usa ninja (esta es la mejor forma que he encontrado de instalar la versión 1.7.0 y la única de crear los deb)

Primero actualizar los repositorios y actualizar los paquetes:

sudo apt update && sudo apt upgrade

Instalar las dependencias

sudo apt install libasound2-dev doxygen libpulse-dev git \
libfluidsynth-dev qttools5-dev cmake qttools5-dev pandoc \
libxorg-gtest-dev libgmock-dev xsltproc graphviz \
libuchardet-dev dh-make ninja-build libqt5svg5-dev


les aconsejo hacer lo siguiente, crear de una carpeta principal, ejemplo yo usaré una llamada:

🗀 dmidiplayer-1.7-ninja

y dentro crear subcarpetas

Compilando sonivox 3.6.11 con ninja

alli dentro de la carpeta principal creo una subcarpeta con el nombre:

🗀 sonivox-ninja

entonces me queda así:

🗀 dmidiplayer-1.7-ninja/sonivox-ninja

en un administrador de archivos entro en esa carpeta y dentro abro una terminal allí y pongo los comandos:

wget -c https://github.com/pedrolcl/sonivox/archive/refs/tags/v3.6.11.tar.gz
tar -xvzf v3.6.11.tar.gz
tar -czvf sonivox-3.6.11.tar.gz sonivox-3.6.11
tar -xvzf sonivox-3.6.11.tar.gz
cd sonivox-3.6.11
mkdir -p build
cd build
cmake -G Ninja ../../sonivox-3.6.11 -DCMAKE_INSTALL_PREFIX:PATH=/usr
ninja
sudo ninja install
cd ..


Descargando carpeta debian de Christian Marillat

Debemos descargar la carpeta debian que hizo Christian Marillat de deb-multimedia.org entrando en la siguiente dirección:

https://www.deb-multimedia.org/pool/main/s/sonivox-dmo/

allí buscar el archivo:

sonivox-dmo_3.6.11-dmo1.debian.tar.xz

el enlace directo es:

https://www.deb-multimedia.org/pool/main/s/sonivox-dmo/sonivox-dmo_3.6.11-dmo1.debian.tar.xz

descargue ese archivo estando en la carpeta principal:

🗀 dmidiplayer-1.7-ninja

creando una subcarpeta llamada:

🗀 deb-multimedia.org

y allí otra llamada:

🗀 sonivox-dmo

por todo le quedará así:

🗀 dmidiplayer-1.7-ninja/deb-multimedia.org/sonivox-dmo

Nota 1: Si desean también pueden descargar el archivo allí con wget abriendo una terminal allí:

wget https://www.deb-multimedia.org/pool/main/s/sonivox-dmo/sonivox-dmo_3.6.11-dmo1.debian.tar.xz

Nota 2: Como puede que en el futuro ya no esté ese archivo he sacado un respaldo (contiene los tres codigos fuentes necesarios):

https://github.com/wachin/dmidiplayer-272-ninja-christian-marillat

pueden clonar ese repositorio en la carpeta principal y usar mi respaldo si en algún momento lo necesitan.

Después de descargado el archivo usted debe descomprimirlo con clic derecho y Extraer aquí:

y copiar la carpeta:

🗀 debian

y la pegarla dentro de la carpeta:

🗀 dmidiplayer-1.7-ninja/sonivox-ninja/sonivox-3.6.11/

le debe quedar así:

🗀 dmidiplayer-1.7-ninja/sonivox-ninja/sonivox-3.6.11/debian/

y en la terminal estando ubicados en:

🗀 dmidiplayer-1.7-ninja/sonivox-ninja/sonivox-3.6.11/

abrimos una terminal allí (o si ya estaba abierta allí) y ponemos el comando:

dpkg-buildpackage -uc -b


y esperamos un rato, y luego en carpeta anterior, o sea en:

🗀 /dmidiplayer-1.7-ninja/sonivox-ninja/

se crearán los deb:

/dmidiplayer-1.7-ninja/sonivox-ninja/libsonivox-dev_3.6.11-dmo1_i386.deb
/dmidiplayer-1.7-ninja/sonivox-ninja/libsonivox3_3.6.11-dmo1_i386.deb
/dmidiplayer-1.7-ninja/sonivox-ninja/libsonivox3-dbgsym_3.6.11-dmo1_i386.deb

Nota: El archivo dbgsym no lo necesitamos, lo podemos borrar.

Ahora debemos desinstalar el sonivox compilado desde codigo fuente, en su administrador de archivos estando ubicados en:

🗀 /dmidiplayer-1.7-ninja/sonivox-ninja/sonivox-3.6.11/build/

abrimos una terminal allí y ponemos:

sudo xargs rm < install_manifest.txt


ahora si debemos instalar los deb
:

/dmidiplayer-1.7-ninja/sonivox-ninja/libsonivox-dev_3.6.11-dmo1_i386.deb
/dmidiplayer-1.7-ninja/sonivox-ninja/libsonivox3_3.6.11-dmo1_i386.deb

en la carpeta donde están:

🗀 /dmidiplayer-1.7-ninja/sonivox-ninja/

abrimos una terminal allí y ponermos:

sudo dpkg -i *.deb


debemos instalarlos si o si, pues de lo contrario no habrá información de la dependecia de estos archivos para los siguientes deb que vamos a crear

Compilando drumstick 2.7.2 con ninja

Bien, en la carpeta principal:

🗀 /dmidiplayer-1.7-ninja/

creamos una subcarpeta llamada:

🗀 drumstick-ninja

abrimos una terminal allí dentro y ponemos:

wget -c https://sourceforge.net/projects/drumstick/files/2.7.2/drumstick-2.7.2.tar.gz
tar -xvzf drumstick-2.7.2.tar.gz
cd drumstick-2.7.2
mkdir -p build
cd build
cmake -G Ninja ../../drumstick-2.7.2 -DCMAKE_INSTALL_PREFIX:PATH=/usr
ninja
sudo ninja install
cd ..


y ahora en la carpeta:

🗀 /deb-multimedia.org/

creamos la carpeta:

🗀 drumstick-dmo

y descargamos allí el archivo:

https://www.deb-multimedia.org/pool/main/d/drumstick-dmo/
https://www.deb-multimedia.org/pool/main/d/drumstick-dmo/drumstick-dmo_2.7.2-dmo1.debian.tar.xz

y descompirmimos el archivo con clic derecho Extraer aquí y obtenemos la carpeta:

🗀 /debian/

esta carpeta la copiamos y la pegamos en:

🗀 /dmidiplayer-1.7-ninja/drumstick-ninja/drumstick-2.7.2/

debe quedar así:

🗀 /dmidiplayer-1.7-ninja/drumstick-ninja/drumstick-2.7.2/debian

y abrimos una terminal en (si ya estaba una terminal abierta alí usela):

🗀 /dmidiplayer-1.7-ninja/drumstick-ninja/drumstick-2.7.2/

y ponemos:

dpkg-buildpackage -uc -b
se crearán los deb:

/dmidiplayer-1.7-ninja/drumstick-ninja/drumstick-tools_2.7.2-dmo1_i386.deb
/dmidiplayer-1.7-ninja/drumstick-ninja/drumstick-tools-dbgsym_2.7.2-dmo1_i386.deb
/dmidiplayer-1.7-ninja/drumstick-ninja/libdrumstick-alsa2_2.7.2-dmo1_i386.deb
/dmidiplayer-1.7-ninja/drumstick-ninja/libdrumstick-alsa2-dbgsym_2.7.2-dmo1_i386.deb
/dmidiplayer-1.7-ninja/drumstick-ninja/libdrumstick-dev_2.7.2-dmo1_i386.deb
/dmidiplayer-1.7-ninja/drumstick-ninja/libdrumstick-file2_2.7.2-dmo1_i386.deb
/dmidiplayer-1.7-ninja/drumstick-ninja/libdrumstick-file2-dbgsym_2.7.2-dmo1_i386.deb
/dmidiplayer-1.7-ninja/drumstick-ninja/libdrumstick-rt-backends_2.7.2-dmo1_i386.deb
/dmidiplayer-1.7-ninja/drumstick-ninja/libdrumstick-rt-backends-dbgsym_2.7.2-dmo1_i386.deb
/dmidiplayer-1.7-ninja/drumstick-ninja/libdrumstick-rt2_2.7.2-dmo1_i386.deb
/dmidiplayer-1.7-ninja/drumstick-ninja/libdrumstick-rt2-dbgsym_2.7.2-dmo1_i386.deb
/dmidiplayer-1.7-ninja/drumstick-ninja/libdrumstick-widgets2_2.7.2-dmo1_i386.deb
/dmidiplayer-1.7-ninja/drumstick-ninja/libdrumstick-widgets2-dbgsym_2.7.2-dmo1_i386.deb

de estos los dbg cortelos y pongalos en una carpeta aparte, no los borre pues se podria equivocar -es que son muchos- y perder alguno de los deb, es mejor que los corte y los ponga a parte y luego puede revisar si cometió algún error

Ahora debemos desinstalar el drumstick compilado desde codigo fuente. En su administrador de archivos estando ubicados en:

🗀 /dmidiplayer-1.7-ninja/drumstick-ninja/drumstick-2.7.2/build/

abrimos una terminal allí y ponemos:

sudo ninja uninstall
ahora si debemos instalar los deb:

/dmidiplayer-1.7-ninja/drumstick-ninja/drumstick-tools_2.7.2-dmo1_i386.deb
/dmidiplayer-1.7-ninja/drumstick-ninja/libdrumstick-alsa2_2.7.2-dmo1_i386.deb
/dmidiplayer-1.7-ninja/drumstick-ninja/libdrumstick-dev_2.7.2-dmo1_i386.deb
/dmidiplayer-1.7-ninja/drumstick-ninja/libdrumstick-file2_2.7.2-dmo1_i386.deb
/dmidiplayer-1.7-ninja/drumstick-ninja/libdrumstick-rt-backends_2.7.2-dmo1_i386.deb
/dmidiplayer-1.7-ninja/drumstick-ninja/libdrumstick-rt2_2.7.2-dmo1_i386.deb
/dmidiplayer-1.7-ninja/drumstick-ninja/libdrumstick-widgets2_2.7.2-dmo1_i386.deb

en la carpeta donde están:

🗀 /dmidiplayer-1.7-ninja/drumstick-ninja/

abrimos una terminal allí y ponermos:

sudo dpkg -i *.deb


debemos instalarlos si o si, pues de lo contrario no habrá información de la dependecia de estos archivos para los siguientes deb que vamos a crear

Compilando dmidiplayer 1.7.0 con ninja

En su administrador de archivos en la carpeta principal cree una subcarpeta:

🗀 dmidiplayer-ninja

y abra una terminal allí y ponga:

wget -c https://github.com/pedrolcl/dmidiplayer/archive/refs/tags/v1.7.0.tar.gz
tar -xvzf v1.7.0.tar.gz
cd dmidiplayer-1.7.0 
mkdir build
cd build    
cmake -G Ninja ../../dmidiplayer-1.7.0 -DCMAKE_INSTALL_PREFIX:PATH=/usr
ninja
sudo ninja install
cd ..


y ahora en la carpeta:

🗀 /deb-multimedia.org/

creamos la carpeta:

🗀 dmidiplayer-dmo

y descargamos allí el archivo:

https://www.deb-multimedia.org/pool/main/d/dmidiplayer-dmo/dmidiplayer-dmo
https://www.deb-multimedia.org/pool/main/d/dmidiplayer-dmo/dmidiplayer-dmo_1.7.0-dmo1.debian.tar.xz

y descompirmimos el archivo con clic derecho Extraer aquí y obtenemos la carpeta:

🗀 /debian/

esta carpeta la copiamos y la pegamos en:

🗀 /dmidiplayer-1.7-ninja/dmidiplayer-ninja/dmidiplayer-1.7.0/

nos debe quedar así:

🗀 /dmidiplayer-1.7-ninja/dmidiplayer-ninja/dmidiplayer-1.7.0/debian

y en su administrador de archivos estando ubicados en:

🗀 /dmidiplayer-1.7-ninja/dmidiplayer-ninja/dmidiplayer-1.7.0/

abra una terminal allí y ponga:

dpkg-buildpackage -uc -b
se crearán los deb pero todavía no los instale

Nota: El archivo dbgsym lo puede borrar.

Ahora debemos desinstalar el dmidiplayer compilado desde codigo fuente. En su administrador de archivos estando ubicados en:

🗀 /dmidiplayer-1.7-ninja/dmidiplayer-ninja/dmidiplayer-1.7.0/build

abra allí una terminal y ponga el comando para desinstalar:

sudo ninja uninstall
ahora si instale el deb de dmidiplayer que se creó en:

/dmidiplayer-1.7-ninja/dmidiplayer-ninja/dmidiplayer_1.7.0-dmo1_i386.deb

abriendo una terminal en:

🗀 /dmidiplayer-1.7-ninja/dmidiplayer-ninja/

con:

sudo dpkg -i *.deb
y quedará instalado entre sus aplicaciones y abralo y funciona

debs de dmidiplayer en github

He copiado todos los deb generados de sonivox, drumstick, dmidiplayer en una sóla carpeta llamada:

🗀 dmidiplayer-1.7.0-debs-32-bits

y la he comprimido a tar.gz

y he subido el archivo a mi cuenta de github:


DESCARGAR DMIDIPLAYER Y DEPENDENCIAS

Como he subido los debs a mi cuenta de github si alguien los desea usar los puede descargar de allí:

https://github.com/wachin/dmidiplayer/releases/tag/v1.7.0

Antes de instalar los deb primero instale las siguientes dependencias

sudo apt install libc6 libgcc-s1 libqt5core5a \
libqt5gui5 libqt5printsupport5 libqt5widgets5 \
libstdc++6 libuchardet0 libqt5network5 \
libasound2 libpulse0


Nota: Al hacer esto nos evitamos después el tener que intentar corregir las dependencias rotas con: sudo apt-get install -f así, nos evitamos el tener que hacerlo. (Si usted es curioso y le gustaría saber cómo obtuve la lista de esas dependencias, pues lo que hice fue descomprimir cada uno de los deb generamos y buscar en DEBIAN/control y reunir todas las dependencias y hacerlas una lista sacando las repetidas)

después si descomprima el archivo tar.gz y extraiga su contenido con clic derecho Extraer aquí y entrando en esa carpeta abra una terminal allí y ponga:

sudo dpkg -i *.deb
y aquí una imagen representativa:





Usando dmidiplayer

Abra el programa y de clic en:

Archivo → Abrir

busque un archivo de alguna secuencia, pueden ser:

.kar
.mid
.midi
.rmi
.wrk

Nota: La extensión del archivo debe estar en minúscula para que el programa la reconozca, es decir ejemplo: 

Phill Wickham - Gracia Sublime (MIDI Lucas Ctp).mid

no debe estar así:

Phill Wickham - Gracia Sublime (MIDI Lucas Ctp).MID


si fuera así renombre el archivo.


En la siguiente imagen estoy escuchando un MIDI:



Por defecto el programa está configurado para reproducir los archivos de secuencias usando SonivoxEAS, esto lo puede constalar en:

Preferencias → Ajustes MIDI



Usando dmidiplayer con JACK

Si usted desea usar este programa en UbuntuStudio o AV Linux debe usar ALSA

Antes de todo instale una fuente de sonido, ejemplo la siguiente que para mi tiene buen sonido:

sudo apt-get install musescore-general-soundfont-lossless

También puede instalar otras, aquí le dejo un tutorial:

Fuentes de sonido (SoundFonts) gratis desde paquetes de Ubuntu, Debian, Deepin Linux y TuxGuitar

Ahora, debe usted seguir estos pasos:

  1. Abrir QjackCtl y darle Play
  2. Abrir Qsynth y cargar una fuente de sonidos:
    Configuración → SoundFonts → Abrir
  3. Abrir dmidiplayer y en Ajustes MIDI seleccionar ALSA y debajo aparecerá FLUID Synth

En la siguiente imagen estoy escuchando un MIDI con muy buen sonido:

esta versión 1.7 trae algo muy especial, control de volumen para cada canal de instrumentos, esto está en:


Ver - Canales


y clic en:


Dios les bendiga

CONSULTAS

Intento de crear el paquete deb del reproductor dmidiplayer 1.7.0 en MX Linux 21 al estilo Alien (PERO NO SE PUDO)
https://facilitarelsoftwarelibre.blogspot.com/2022/11/creando-paquete-deb-del-reproductor-midi-dmidiplayer-1.7-en-mx-linux-21.html

How to Use Ninja
https://gist.github.com/jrhemstad/811d1e41af9685670241fa472170ef32
Configure CMake to create Ninja build files
mkdir build && cd build
PARALLEL_LEVEL=N cmake -GNinja ..

How to Build ClickHouse on Linux
https://clickhouse.com/docs/en/development/build/
sudo apt update
sudo apt install git cmake ninja-build clang++ python
git clone --recursive https://github.com/ClickHouse/ClickHouse.git
mkdir build && cd build
cmake ../ClickHouse
ninja

Build your C projects faster using ninja
https://ilyas-hamadouche.medium.com/build-your-c-projects-faster-using-ninja-3d7af9b418fc
Install
You can install Ninja using package managers, Linux Debian/Ubuntu:
sudo apt-get install ninja-build
To generate Ninja build files, we need to run CMake with the flag -G Ninja. Run the following command in the terminal:
cmake -G Ninja
CMake will generate its own cache/settings files, build.ninja and rules.ninja. This image shows the output files

dmidiplayer deb-multimedia.org | debian development folder
deb-multimedia dmidiplayer dmo 1.7.0 debian
https://www.deb-multimedia.org/pool/main/d/dmidiplayer-dmo/dmidiplayer-dmo_1.7.0-dmo1.debian.tar.xz
/debian/rules
#!/usr/bin/make -f

%:
dh $@ -Scmake+ninja

override_dh_clean:
find docs -name index.html -delete

dh_clean

override_dh_auto_test:

No hay comentarios.:

Publicar un comentario

Sobre mi


 Hola, soy Washington Indacochea Delgado (Wachín), la siguiente es la historia de cómo empecé a usar Ubuntu. Todo empezó hace muchos años atrás en el año 2007 cuando estaba haciendo un deber y eran como las once de la noche y estaba en la computadora en Windows XP que se había puesto muy lento, demasiado, y había estado lidiando tratando de hacer el deber desde las ocho de la noche y el deber era para el siguiente día y yo ya quería dormir, y seguí tratando de usar la computadora para terminar el deber pero no pude, y ya era pasado de las doce casi la una (luego supe que tenía un virus) y tuve que irme a dormir y yo quedé muy frustrado por lo sucedido, ¡tanto tiempo allí con esa maquina lentísima y sin poder avanzar en la tarea! ¡fue algo horrible! todo funcionaba en camara lenta, era desesperante y sin poder hacer nada y con el apuro de terminar un deber importante para la mañana siguiente (no lo pude entregar).
  Al siguiente día en la noche en la iglesia había el culto de oración, yo fui y allí le pedí a Dios que me ayudará para nunca más volver a pasar por algo así por los virus. Luego pasó medía semana y mi hermano (estudiante de informática, muy inteligente) me dió un CD con el Sistema Operativo Ubuntu 7.10 (Gutsy Gibbon liberado en Octubre del 2007), y el me dijo que a éste no le afectaban los virus, y el me enseñó a instalarlo y me explicó como usarlo. Y desde allí empecé a practicar en este sistema operativo Ubuntu y poco a poco avanzando y leyendo en los foros en español y en inglés (allí hay más información). Pero usaba en ese tiempo más Windows que Ubuntu y ya para el año 2012 cuando hice mi tesis de Ingeniería en Alimentos usaba más Ubuntu (estaba probando los sabores https://kubuntu.org, https://ubuntustudio.org, y me había quedo usando Ubuntu Studio), sin embargo en ese año para hacer mi tesis utilicé Windows porque decía entre mi: "No sea que luego no me acepten mi tesis presentándola en formato odt del LibreOffice o algo me reclamen, o tenga luego yo que pasar de odt a doc, habiendo mucha posibilidad que se mueva algo del formato y tenga que corregirlo lo cual sería horas y horas", pero desde que terminé mi tesis estaba usando casi en su totalidad Ubuntu Studio (soy una persona musical y este UbuntuStudio es también para eso, usa un Kernel de baja latencia). Bien, a la fecha puedo decir que estoy libre de los virus, pero eso si frecuentemente actualizo el Sistema Operativo pues como ya sabrán los que usan Linux esa es la manera de protegerse de posibles ataques. Y también añado que desde el año 2020 estoy usando MX Linux porque Ubuntu dejó de dar soporte a 32 bits y con ello también UbuntuStudio. A continuación les dejo con varios vídeos sobre el tema de porqué Linux es más seguro:


[Aalto Talk with Linus Torvalds (Subtitulado)] min 31:52 sobre el Kernel.

Nota: Estas ultimas dos de Red Hat las puede ver con subtítulos en español si les da clic en la Tuerca y allí lo selecciona entre los varios idiomas que tiene.
Si usted quiere saber las vulnerabilidades que van encontrando en Ubuntu puede revisar esta página:

Ubuntu security notices (usn)

está sobre entendido que una vez que las encuentren las arreglarán y el parche se lo enviarán en las actualizaciones.
Puede leer también:

SecurityTeam - Ubuntu Wiki


 A mediados del 2018 estoy usando Xubuntu 18.04 de 32 bits por la razón de que Ubuntu Studio ha dejado de dar soporte a 32 bits, no obstante para hacer música estoy usando Jack Audio Connection Kit pues he aprendido a configurarlo.

También lea sobre la Historia de esta página

Proyecto Facilitar el Software Libre en el Ecuador: Historia
https://facilitarelsoftwarelibre.blogspot.com/2019/08/historia-de-esta-pagina.html

Que Dios les bendiga