Como hacer un programa sencillo para puppy linux
- walter leonardo
- Posts: 234
- Joined: Thu 10 Dec 2009, 22:10
hola
hola de nuevo .
Encontré una de las soluciones que quería y fue de pura casualidad jeje estaba probando y se me ocurrió poner este símbolo & y con esto al apretar el botón varias veces el sonido se reproduce varias veces rápidamente sin esperar a que termine de sonar para sonar de vuelta.
Ahora me falta descubrir como tocar un botón con el teclado y la tecla que yo quiera .
Descarguenlo y pruebenlo que quedo espectacular .
Encontré una de las soluciones que quería y fue de pura casualidad jeje estaba probando y se me ocurrió poner este símbolo & y con esto al apretar el botón varias veces el sonido se reproduce varias veces rápidamente sin esperar a que termine de sonar para sonar de vuelta.
Ahora me falta descubrir como tocar un botón con el teclado y la tecla que yo quiera .
Descarguenlo y pruebenlo que quedo espectacular .
- Attachments
-
- sonidos.tar.gz
- Es una prueba.
- (46.09 KiB) Downloaded 670 times
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Que bueno walter....
Muy bueno walter, estupenda solucion......
La verdad es que tenia que haber una solucion ya que hay programas que lo hacen, al abrir por ejemplo Aqualung, se reproducen tantos archivos sonoros como abras al mismo tiempo...
Que bueno, y ademas es que no esta documentado en la ayuda de aplay --help.
Muy muy pero que muy bueno...
Con respecto al post anterior que pusiste comentarte que en principio no se puede ejecutar por que comandos como gotoxy, cprint, texcolor etc... pertenecen a la biblioteca conio.h
Esta biblioteca conio.h no pertenece al estandar Ansi de C, pertenece a la biblioteca de Borland para Dos.
La solucion es libconio.h que en el codigo que tu pones aparece un lib.h, pero que debe ser libconio.h
Luego falta otra biblioteca que debe ser string.h por que si no te reconoce comandos como strcpy().
Pero no es el unico fallo que tiene, por ejemplo la funcion cuadro() que ha no aparece
aparece definida en ningun sitio ni tampoco declarada.
Ademas de otros errores de sintaxis...
Te tienes que hacer con la libreria libconio.h para poder compilar este tipo de programas:
http://sourceforge.net/projects/libconi ... z/download
para compilarla mediante
./configure
make
make install
Aparte de declarar dentro del programa como siempre con #include <libconio.h>
La forma de compilar el programa es enlazandolo tambien de la siguiente forma:
gcc archivo.c -llibconio - archivo
Para ejecutarlo
./archivo
Bueno te sigo comentando en otro post.
La verdad es que tenia que haber una solucion ya que hay programas que lo hacen, al abrir por ejemplo Aqualung, se reproducen tantos archivos sonoros como abras al mismo tiempo...
Que bueno, y ademas es que no esta documentado en la ayuda de aplay --help.
Muy muy pero que muy bueno...
Con respecto al post anterior que pusiste comentarte que en principio no se puede ejecutar por que comandos como gotoxy, cprint, texcolor etc... pertenecen a la biblioteca conio.h
Esta biblioteca conio.h no pertenece al estandar Ansi de C, pertenece a la biblioteca de Borland para Dos.
La solucion es libconio.h que en el codigo que tu pones aparece un lib.h, pero que debe ser libconio.h
Luego falta otra biblioteca que debe ser string.h por que si no te reconoce comandos como strcpy().
Pero no es el unico fallo que tiene, por ejemplo la funcion cuadro() que ha no aparece
aparece definida en ningun sitio ni tampoco declarada.
Ademas de otros errores de sintaxis...
Te tienes que hacer con la libreria libconio.h para poder compilar este tipo de programas:
http://sourceforge.net/projects/libconi ... z/download
para compilarla mediante
./configure
make
make install
Aparte de declarar dentro del programa como siempre con #include <libconio.h>
La forma de compilar el programa es enlazandolo tambien de la siguiente forma:
gcc archivo.c -llibconio - archivo
Para ejecutarlo
./archivo
Bueno te sigo comentando en otro post.
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Otro modo de hacerlo...
Una alternativa a la libreria conio de Borland, es la libreria curses que se utiliza en Linux....
Ejemplo:
#include<stdio.h>
#include<curses.h>
int cuadro (int a,int b,int c,int d)
{
int x;
for (x = a; x != c; x++){
move (b,x);
addch('-');
}
for (x = b; x != d; x++){
move (x,c);
addch('|');
}
for (x = c; x != a; x--){
move (d,x);
addch('-');
}
for (x = d; x != b; x--){
move (x,a);
addch('|');
}
move (b,a); addch('+');
move (b,c); addch('+');
move (d,c); addch('+');
move (d,a); addch('+');
}
int main ()
{
initscr();
savetty();
erase ();
cuadro (5,5,70,20);
cuadro (6,7,69,19);
start_color ();
init_pair
(1,COLOR_CYAN,COLOR_BLACK);
attron (COLOR_PAIR (1) |
A_UNDERLINE);
move (6,15);
addstr("Hola esto es una prueba");
refresh ();
getch ();
echo ();
resetty();
endwin();
return 0;
}
Si lo guardas como ejercicio.c lo compiladras de la siguiente forma:
gcc ejercicio.c -lcurses -o ejercicio
Y para ejecutarlo
./ejercicio
Asi como veras la alternativa a gotoxy de conio es move y asi todo lo demas...
Veras un documentacion muy completacon gran cantidad ejemplos de la bibilioteca ncurses.h o curses que es la misma ya que esta en lazada, en la direccion:
http://tldp.org/HOWTO/NCURSES-Programmi ... world.htmll
Creo que si le echais un vistazo lo encontrareis interesante. La biblitoteca ncurses o curses es mucho mas completa que la de la de conio y merece la pena en pararse en ella...
Bueno un saludo nos vemos.
Ejemplo:
#include<stdio.h>
#include<curses.h>
int cuadro (int a,int b,int c,int d)
{
int x;
for (x = a; x != c; x++){
move (b,x);
addch('-');
}
for (x = b; x != d; x++){
move (x,c);
addch('|');
}
for (x = c; x != a; x--){
move (d,x);
addch('-');
}
for (x = d; x != b; x--){
move (x,a);
addch('|');
}
move (b,a); addch('+');
move (b,c); addch('+');
move (d,c); addch('+');
move (d,a); addch('+');
}
int main ()
{
initscr();
savetty();
erase ();
cuadro (5,5,70,20);
cuadro (6,7,69,19);
start_color ();
init_pair
(1,COLOR_CYAN,COLOR_BLACK);
attron (COLOR_PAIR (1) |
A_UNDERLINE);
move (6,15);
addstr("Hola esto es una prueba");
refresh ();
getch ();
echo ();
resetty();
endwin();
return 0;
}
Si lo guardas como ejercicio.c lo compiladras de la siguiente forma:
gcc ejercicio.c -lcurses -o ejercicio
Y para ejecutarlo
./ejercicio
Asi como veras la alternativa a gotoxy de conio es move y asi todo lo demas...
Veras un documentacion muy completacon gran cantidad ejemplos de la bibilioteca ncurses.h o curses que es la misma ya que esta en lazada, en la direccion:
http://tldp.org/HOWTO/NCURSES-Programmi ... world.htmll
Creo que si le echais un vistazo lo encontrareis interesante. La biblitoteca ncurses o curses es mucho mas completa que la de la de conio y merece la pena en pararse en ella...
Bueno un saludo nos vemos.
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Apliquemos lo que ya sabemos....
Apliquemos lo que ya sabemos, vemos programas en C, scripts, en Gtkdialog, etc... pues por que no aplicarlo a cosas usuales que hacemos...
La siguiente aplicacion de GTKdialog es una tonteria mas teniendo en cuenta el bookmarks de mozila y otros buscadores webs, pero bueno siempre puede ser bueno tener una pantallita con nuestras webs que visitamos constantemente y con un simple click meternos en ellas.
Un icono en el escritorio que enlace con este simple programa al directorio que queramos nos abre el programa en gtkdialog......
La estructura es tan simple como el mecanismo de un chupete, asi que podreis modificar muy facilmente las direcciones y los nombres de las webs asi como añadir mas...
Un saludo..
La siguiente aplicacion de GTKdialog es una tonteria mas teniendo en cuenta el bookmarks de mozila y otros buscadores webs, pero bueno siempre puede ser bueno tener una pantallita con nuestras webs que visitamos constantemente y con un simple click meternos en ellas.
Un icono en el escritorio que enlace con este simple programa al directorio que queramos nos abre el programa en gtkdialog......
La estructura es tan simple como el mecanismo de un chupete, asi que podreis modificar muy facilmente las direcciones y los nombres de las webs asi como añadir mas...
Un saludo..
- Attachments
-
- aaa.tar
- (10 KiB) Downloaded 667 times
xrec para grabar videos con ffmpeg.
lo subí a mi bazaar
la idea es ponerle un icono al panel, para que haga rec y luego pause/stop
quien se prende? escucho ideas.
bazaar esta en mi repo, via ppm instalan la deps.
edito:
avance con glade algo va quedando. solo falta que ejecute el code
lo subí a mi bazaar
Code: Select all
#bzr branch http://mamalibre.2.je/bzr/xrec
quien se prende? escucho ideas.
bazaar esta en mi repo, via ppm instalan la deps.
edito:
avance con glade algo va quedando. solo falta que ejecute el code
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Una consulta haber si alguien me la puede aclarar..
Echo de menos esta seccion en Puppy, esperemos que nos motivemos con ella de nuevo.... haber si consiguo provocar a walter y que se anima para hacer algo de nuevo....jejeje.
Bueno yo no tengo mucho tiempo pero ahora ando intentando hacer un terminal, algo parecido como el Hyperterminal de windows pero para puppy.
Ya se , ya se que hay varios en linux pero bueno quiero hacerme uno personalizado sobre todo por que mas adelante quiero utilizarlo para el tema mio de microcontroladores, y para comunicaciones gsm.... etc...
Gtkdialog desde que se pusieron estos post ha avanzado bastante y la verdad es que merece la pena ponerse al dia...
Y mi pregunta es la siguiente quiero asignar un fichero a una variable cuando lo hago atraves del menubar, pero no lo consigo...
Bueno cuando desde la barra de menu al ir al menu File y abrir un archivo se abre la ventana para elegir el archivo pero cuando lo selecciono, este no encuentro la forma de asignarlo a la variable.
<menubar>
<menu>
<menuitem icon="gtk-file">
<label>Archivo</label>
<input file stock="gtk-open"></input>
<variable>FILE</variable>
<action type="fileselect">FILE</action>
</menuitem>
Yo se que esto da error pero no se como hacerlo.... en otros programas de puppy lo veo asignado por un botton que llama a Rox pero yo no quiero que sea asi..
Bueno nos vemos saludos...
Bueno yo no tengo mucho tiempo pero ahora ando intentando hacer un terminal, algo parecido como el Hyperterminal de windows pero para puppy.
Ya se , ya se que hay varios en linux pero bueno quiero hacerme uno personalizado sobre todo por que mas adelante quiero utilizarlo para el tema mio de microcontroladores, y para comunicaciones gsm.... etc...
Gtkdialog desde que se pusieron estos post ha avanzado bastante y la verdad es que merece la pena ponerse al dia...
Y mi pregunta es la siguiente quiero asignar un fichero a una variable cuando lo hago atraves del menubar, pero no lo consigo...
Bueno cuando desde la barra de menu al ir al menu File y abrir un archivo se abre la ventana para elegir el archivo pero cuando lo selecciono, este no encuentro la forma de asignarlo a la variable.
<menubar>
<menu>
<menuitem icon="gtk-file">
<label>Archivo</label>
<input file stock="gtk-open"></input>
<variable>FILE</variable>
<action type="fileselect">FILE</action>
</menuitem>
Yo se que esto da error pero no se como hacerlo.... en otros programas de puppy lo veo asignado por un botton que llama a Rox pero yo no quiero que sea asi..
Bueno nos vemos saludos...
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Si esta web esta muy bien...
Si esta web esta muy bien y estas de murga:
http://www.murga-linux.com/puppy/viewtopic.php?t=69188
http://murga-linux.com/puppy/viewtopic.php?t=38608
Pero en todas ellas no encontre solucion al problema anterior....
En fin habra que seguir buscando...
Un saludo nos vemos
http://www.murga-linux.com/puppy/viewtopic.php?t=69188
http://murga-linux.com/puppy/viewtopic.php?t=38608
Pero en todas ellas no encontre solucion al problema anterior....
En fin habra que seguir buscando...
Un saludo nos vemos
A ver si es lo que querias.
Code: Select all
#! /bin/bash
FILE="/usr/share/doc/gtkdialog/copyright"
export SCRIPT='
<vbox>
<menubar>
<menu>
<menuitem>
<label>Ver Archivo</label>
<input file stock="gtk-open"></input>
<action>geany '"$FILE"'</action>
</menuitem>
<label>Label</label>
</menu>
</menubar>
<hbox>
<button cancel></button>
<button ok></button>
</hbox>
</vbox>
'
gtkdialog --program=SCRIPT
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
No es al reves..
No es al reves en el codigo tuyo tu defines la variable FILE desde un principio asignandole un archivo y luego abriendola con geany.
No lo que yo quiero es asignarle a la variable FILE el archivo que yo pique con el raton en la ventana que se me abra del browse-file.
No he encontrado ningun codigo que ho haga hasta el momento.
Para que te hagas una idea ejecuta este script y veras como no puede hacerlo el codigo que te envio, que es un intento que yo hago pero que por supuesto no funciona.
No lo que yo quiero es asignarle a la variable FILE el archivo que yo pique con el raton en la ventana que se me abra del browse-file.
No he encontrado ningun codigo que ho haga hasta el momento.
Para que te hagas una idea ejecuta este script y veras como no puede hacerlo el codigo que te envio, que es un intento que yo hago pero que por supuesto no funciona.
Code: Select all
#!/bin/bash
export MAIN_DIALOG='
<window title="pTerminal" default_height="500" default_width="600" icon-name="gtk-no">
<vbox>
<menubar>
<menu>
<menuitem icon="gtk-file">
<label>Abrir</label>
<input file stock="gtk-open"></input>
<variable>FILE</variable>
<action type="fileselect">FILE</action>
</menuitem>
</menu>
</menubar>
</vbox>
<action signal="hide">exit:Exit</action>
</window>'
gtkdialog3 --program=MAIN_DIALOG
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
continuando
Si el script anterior lo ejecutas desde el terminal veras que cuando seleccionas un archivo cualquiera en el la ventana buscador de archivos y lo picas y lo selecconas.
Te aparece el siguiente mensaje:
"Warning: Set value no implemented for this widgets"
Y en ningun caso ves que se le asigne a la variable FILE el archivo que has seleccionado.
En fin es obvio por que me lo he inventado... pero como te dije no encuentro en ningun sitio como hacerlo.......
Lo he encontrado muy habitualmente abrir rox y seccionenar con un button, pero hasta ahora con menubar no.
Te aparece el siguiente mensaje:
"Warning: Set value no implemented for this widgets"
Y en ningun caso ves que se le asigne a la variable FILE el archivo que has seleccionado.
En fin es obvio por que me lo he inventado... pero como te dije no encuentro en ningun sitio como hacerlo.......
Lo he encontrado muy habitualmente abrir rox y seccionenar con un button, pero hasta ahora con menubar no.
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Estoy estudiiando Pburn
pburn es de los pocos programas que veo que lo hace, seleccionar una archivo mediante menubar.
En concreto dentro del directrorio /usr/local/pburn
esta el archivo funcion " func_gui "
Que trae el menubar del programa.
Esta el codigo:
que hace la funcion de abrir un iso o seleccionar un archivo iso y que creo que seria la respuesta a mi pregunta, pero todavia no entiendo lo de
-impor_iso ni como lo hace.
Por otro lado al principio del archivo esta la funcion.
Que creo que tiene que ver con ello pero todavia no lo entiedo tampoco.
Bueno tendre que seguir indagando..
Gracias nos vemos.
En concreto dentro del directrorio /usr/local/pburn
esta el archivo funcion " func_gui "
Que trae el menubar del programa.
Esta el codigo:
Code: Select all
<menuitem stock=\"gtk-open\" label=\"$LOC107...\">
<action>. $APPDIR/func -import_iso</action>
<action>refresh:BURNLIST</action>
</menuitem>
-impor_iso ni como lo hace.
Por otro lado al principio del archivo esta la funcion.
Code: Select all
OPEN_FILE=("$(<"$WORKDIR/open_file")")
#what's visible
if [ "$BURN_DATA" = "true" ]; then
echo data > $WORKDIR/BURNLIST_MODE #normal startup. Others are handled in -open
VISIBLE_MOVE_UPDOWN=disabled
VISIBLE_NEWDIR=enabled
else
VISIBLE_MOVE_UPDOWN=enabled
VISIBLE_NEWDIR=disabled
fi
Bueno tendre que seguir indagando..
Gracias nos vemos.
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
Pues lo siguiente..
Bueno en realidad lo que quiero es que el nombre del archivo se asigne a esa variable, para que luego se pueda dar usos de cualquier tipo.
En el caso del programa que me traigo entre manos ahora que es el terminal, es simplemente para poder leerlo como archivo de configuracion,
donde se encontraran los datos del puerto, velocidad, paridad, numero de bitas etc... un programa se encargara de leer todos esos datos y de configurar el terminal para que actue de esa determinada forma.
Pero el problema esta en como al seleccionar con un click del raton el archivo, el nombre de este quede asignado a la variable FILE.
Bueno nos vemos.
En el caso del programa que me traigo entre manos ahora que es el terminal, es simplemente para poder leerlo como archivo de configuracion,
donde se encontraran los datos del puerto, velocidad, paridad, numero de bitas etc... un programa se encargara de leer todos esos datos y de configurar el terminal para que actue de esa determinada forma.
Pero el problema esta en como al seleccionar con un click del raton el archivo, el nombre de este quede asignado a la variable FILE.
Bueno nos vemos.
- mister_electronico
- Posts: 969
- Joined: Sun 20 Jan 2008, 20:20
- Location: Asturias_ España
- Contact:
De todas formas
De todas formas si alguien sabe como por ejemplo se abriria ese archivo nada mas hacer ese click de raton, de por ejemplo un archivo de texto a geany , pues el ejemplo tambien me valdria.
Saludos.
Saludos.