Y sigo con esto de aprender en profundidad esto de jack dbus.
Si bien mis logros en la materia son más bien escasos y no son comparables con los grandes maestros de la programación de este foro y otros dedicados al tema. Creo que es bueno hacer público este proceso para aquellos que se inicien en programación y necesiten un ejemplo sencillo
Para ejecutar este script se necesitan los siguientes paquetes (en Archlinux, no he probado otras distribuciones):
- python-gobject (en ubuntu creo que es python3-gi
- python-dbus (en ubuntu creo que es dbus-python)
- python-dbus-common
- jack2 o jack2-dbus
jack debe estar funcionando (con dbus habilitado) para que el script funcione.
ojo para verlo con indentación lo dejo en pastebin:
http://pastebin.com/KH4pcrSA
En caso contrario solo se producirá un error.
El resultado será una lista de los puertos en jack hecha con GTK+3.
Sé que es poco lo que hace este script, pero para mí ha sido un aprendizaje bien grande lograr esto. Si he seguido tutoriales de python 2, wxwidget, y algo de GTK+2, incluso había hecho pequeños scripts útiles para mí, pero con la aparición de Python3 y GTK+3 ha habido un cambio muy profundo para mí que me ha significado un re-aprendizaje de este tema, no soy muy hábil para esto de la programación y tampoco es mi área, pero espero sacarle provecho a este aprendizaje y a la vez que otras personas se les facilite el proceso.
Ahora me enfocaré en desarrollar alguna aplicación un tanto más útil.
Si bien mis logros en la materia son más bien escasos y no son comparables con los grandes maestros de la programación de este foro y otros dedicados al tema. Creo que es bueno hacer público este proceso para aquellos que se inicien en programación y necesiten un ejemplo sencillo
Para ejecutar este script se necesitan los siguientes paquetes (en Archlinux, no he probado otras distribuciones):
- python-gobject (en ubuntu creo que es python3-gi
- python-dbus (en ubuntu creo que es dbus-python)
- python-dbus-common
- jack2 o jack2-dbus
jack debe estar funcionando (con dbus habilitado) para que el script funcione.
Alguien escribió:#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Listado de puertos de jack en GTK+ 3
"""
###########################################
### Primero conectamos a Dbus ###
###########################################
import dbus
bus = dbus.SessionBus()
jack_control = bus.get_object("org.jackaudio.service", "/org/jackaudio/Controller")
port_list = jack_control.GetAllPorts()
############################################
### Ahora la Gui ###
############################################
from gi.repository import Gtk
class MainWindow(Gtk.Window):
def __init__(self):
Gtk.Window.__init__(self, title="Listado de Puertos Jack")
self.set_default_size(200, 200)
model = self.__create_model(port_list)
sw = Gtk.ScrolledWindow()
treeView = Gtk.TreeView(model)
cellRenderer = Gtk.CellRendererText()
column = Gtk.TreeViewColumn("Puertos", cellRenderer, text=0)
treeView.append_column(column)
sw.add(treeView)
self.add(sw)
def __create_model(self, item_list):
model = Gtk.ListStore(str)
for item in item_list:
model.append([item])
return model
win = MainWindow()
win.connect("delete-event", Gtk.main_quit)
win.show_all()
Gtk.main()
ojo para verlo con indentación lo dejo en pastebin:
http://pastebin.com/KH4pcrSA
En caso contrario solo se producirá un error.
El resultado será una lista de los puertos en jack hecha con GTK+3.
Sé que es poco lo que hace este script, pero para mí ha sido un aprendizaje bien grande lograr esto. Si he seguido tutoriales de python 2, wxwidget, y algo de GTK+2, incluso había hecho pequeños scripts útiles para mí, pero con la aparición de Python3 y GTK+3 ha habido un cambio muy profundo para mí que me ha significado un re-aprendizaje de este tema, no soy muy hábil para esto de la programación y tampoco es mi área, pero espero sacarle provecho a este aprendizaje y a la vez que otras personas se les facilite el proceso.
Ahora me enfocaré en desarrollar alguna aplicación un tanto más útil.

