|
||
|
|
|
|||||||
| Tasker Para hablar de todo lo relacionado con la aplicación tasker |
![]() |
|
|
Herramientas |
|
#21
|
||||
|
||||
|
Una sugerencia o posible mejora: En las acciones 10, 11 y 12 puedes poner directamente las mismas condiciones que ahora tienes en las acciones 6, 7 y 8. De este modo podrías suprimir las acciones 6, 7 y 8, y también la variable %canal. - Creo que Willy utiliza solo 15 peldaños de volumen, cuando tú has puesto más (modificando el archivo 'build.prop' ubicado en '/system'). - Que Willy proponía demoras de 500 milisegundos y tú las pones de solo 125 ms (seguramente porque tú tienes más peldaños); eso puede ser determinante para que la tarea de Willy se perciba de forma discontinua (como una proyección de diapositivas) mientras que la tuya se percibe de forma continua (como cine).
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
|
|
|
#22
|
||||
|
||||
|
No sé si me explico... Pues yo no he probado, pero creo que hay dos detalles que pueden tener relación con eso:
- Creo que Willy utiliza solo 15 peldaños de volumen, cuando tú has puesto más (modificando el archivo 'build.prop' ubicado en '/system'). - Que Willy proponía demoras de 500 milisegundos y tú las pones de solo 125 ms (seguramente porque tú tienes más peldaños); eso puede ser determinante para que la tarea de Willy se perciba de forma discontinua (como una proyección de diapositivas) mientras que la tuya se percibe de forma continua (como cine). ![]() - Pues ese era el porque de este hilo, hacerlo lo más suave y progresivo posible. Pero no era por eso lo que expliqué que notaba. Incluso probé a volver a establecer los niveles a 15 y la tarea me hacia lo mismo; era como hubiese lag, y me subia de 2 o 3 o 4 de una vez, en vez de hacerlo de 1 en 1. |
| Gracias de parte de: | ||
|
#23
|
||||
|
||||
|
Uff ... cuantas cosas
¿Qué sentido tienen las A1 y A2 tal y como están? Lo digo porque asignar a una variable su mismo valor no vale de mucho. Supongo que eso lo has dejado para hacer pruebas, pero no lo has explicado. Parece que no te ha gustado el truco de usar una variable para guardar el nombre de otra variable (ya expliqué que lo de poner %%canal con dos % no es un error). De usarlo te podías haber ahorrado unas pocas acciones como te dice Caravantes. Por cierto, me has dejado intrigado con esto ... Es decir, al ser una cifra, una vez entre en el búcle no se confundirá la tarea en caso de que ese valor coincida por accidente con el mismo nivel de sonido de otra variable amiga?... ¿me lo explicas? La tarea que propuse cambia el volumen desde el nivel actual hasta el que pongas, no desde el 1 ... siempre que la escribas como la puse, claro. Sobre lo de los "tirones". Un bucle establecido con ítems del tipo aaa:bbb corre de 1 en 1 desde aaa hasta bbb. Lo puedes verificar insertando un flash de %vol. Si después de tu modificación de "build.prop" has establecido 30 niveles para el canal multimedia deberías poder recorrer esos 30 niveles sin problema. Nada en mi tarea ni en la tuya hace que sea de otra forma. Si te fijas bien verás que ambas tareas hacen exactamente lo mismo. El bucle corre desde el nivel actual hasta el nivel establecido en %par1, nada más. Como dice Caravantes puede que se noten más los saltos en función de la pausa. Con los 800ms iniciales se notaba mucho por eso puse 500ms. Desde luego se notará menos con la pausa de 125ms que finalmente has puesto. Resumiendo... Lo puedes hacer más simple si: -Quitas las acciones A1 a A5. -En A6/A7/A8 pones VOLR/VOLA/VOLM respectivamente (en mayúsculas). -En A9 pones en Ítems: %%canal (con los dos %). -Reduce la pausa tanto como puedas/quieras. ...vamos, lo que puse en el post #12.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) Última edición por WillyWeb Día 11/07/17 a las 11:04:21. Razón: Errores tipográficos |
| Gracias de parte de: | ||
|
#24
|
||||
|
||||
|
Hoy he actualizado los Servicios de Google y haciendo la ronda de comprobación de que todo iba bien también he usado esta tarea para verificar el funcionamiento de Tasker. Me he quedado de piedra al ver que ahora el bucle que sube/baja el volumen repite valores y/o se los salta. No lo hace siempre, pero hace algo parecido a lo que describía SmartPhoneLover
Por pura curiosidad, ¿qué versión de Tasker y de Servicios de Google tienes instalados? En cualquier caso la solución ha sido relativamente sencilla (sólo ha requerido una acción más y un pequeño cambio)... Código:
A1: Establecer variable [ Nombre:%canal A:VOLR Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] Si (if) [ %par2 ~ r ] A2: Establecer variable [ Nombre:%canal A:VOLA Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] Si (if) [ %par2 ~ a ] A3: Establecer variable [ Nombre:%canal A:VOLM Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] Si (if) [ %canal No ajust. | %par2 ~ m ] A4: Establecer variable [ Nombre:%vcanal A:%%canal Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A5: For [ Variable:%vol Ítems:%vcanal:%par1 ] A6: Volumen del timbre [ Nivel:%vol Mostrar:Apagado Sonido:Apagado ] Si (if) [ %canal ~ volr ] A7: Volumen de alarma [ Nivel:%vol Mostrar:Apagado Sonido:Apagado ] Si (if) [ %canal ~ vola ] A8: Volumen multimedia [ Nivel:%vol Mostrar:Apagado Sonido:Apagado ] Si (if) [ %canal ~ volm ] A9: Esperar [ MS:150 Segundos:0 Minutos:0 Horas:0 Días:0 ] A10: End For El volumen cambiará subiendo/bajando poco a poco desde el nivel actual, sea el que sea, hasta el nuevo. La suavidad/velocidad del cambio se puede graduar con la pausa de A9. Para hacer pruebas y ver el efecto del cambio de volumen simplemente tenéis que añadir un par de acciones al principio para establecer los valores de %par1 y %par2, y poner las marcas de "Mostrar" y "Sonido" en las acciones que cambian el volumen (A6/A7/A8).
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
| Los siguientes 2 usuarios han agradecido a WillyWeb su comentario: | ||
|
#25
|
||||
|
||||
![]() Lo que queria decir es que, como la variable '%VOLX' es una variable de sistema y contiene un valor númerico y no una letra del alfabéto o cualquier otro carácter, al crear un condicional sobre esa variable poniendo que coincida su nombre, y no su valor, Tasker leería el valor, no como esta esta variable escrita textualmente. Pero, ¿ahí es donde tu truco entraria en acción no? Lo del '%%'? Sobre lo de los "tirones". Un bucle establecido con ítems del tipo aaa:bbb corre de 1 en 1 desde aaa hasta bbb. Lo puedes verificar insertando un flash de %vol...
...Como dice Caravantes puede que se noten más los saltos en función de la pausa. Con los 800ms iniciales se notaba mucho por eso puse 500ms. Desde luego se notará menos con la pausa de 125ms que finalmente has puesto. ![]() Pero, recien ahora estoy revisando tu último comentario WillyWeb, en que comentas el tema de los servicios de Google, y que podria haber estado pasando algo parecido a lo que comenté. Cuando, lo pruebe comento como fue. - Servicio Google -> 11.3.02 (430-161239932) (11302430) |
| Gracias de parte de: | ||
|
#26
|
||||
|
||||
|
No te lo puedo asegurar porque no estaba pendiente de ese detalle, pero juraría que al escribir y probar la tarea por primera vez tenía los Servicios de Google v11.2.99, te lo digo por si te vale de algo.
Si te fijas al final hemos hecho lo mismo. El bucle, que es el que hace el trabajo, corre desde el valor actual hasta el valor propuesto. La pequeña diferencia es la forma en la que hemos sacado ese valor actual del volumen del canal seleccionado. Mi sistema usa una característica de Tasker muy poco explotada. Intentaré explicar su funcionamiento paso a paso... En las acciones A1/A2/A3 doy valor a la variable %canal con un literal que "casualmente" coincide con parte del nombre de las variables de sistema VOLR/VOLA/VOLM (falta el % delante de cada nombre). En A4 está la miga ... a la variable %vcanal se le asigna como valor %%canal. Tasker siempre "sustituye" (en palabras de Pent) cualquier cosa con la apariencia de una variable por su valor antes de asignársela a algo, así que suponiendo que %canal=VOLM (una cadena e texto literal, no la variable %VOLM) ...
Supongamos ahora que quieres dar valor a la variable %cvol de tu tarea para los siete canales que proponía Caravantes. Con el sistema que has usado necesitarías siete acciones con sus correspondientes condicionales. Con este sistema seguirías necesitando esa única acción. Sobre tu "cacao mental", no pierdas la perspectiva. Esto es un literal (VOLM) y esto es una varaible (%VOLM). Se parecen mucho, pero Tasker no las confunde, tranquilo. El resto de la tarea (el bucle) creo que está suficientemente clara pero si alguien se pierde que lo diga y lo analizamos con calma.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) Última edición por WillyWeb Día 12/07/17 a las 10:40:19. Razón: Aclaraciones adicionales |
| Los siguientes 2 usuarios han agradecido a WillyWeb su comentario: | ||
|
#27
|
||||
|
||||
|
Confirmado WillyWeb, tu tarea ahora funciona a la perfeccion con ese pequeño cambio.
Pues creo que ya queda definitivamente solucionado el hilo. ![]() Otra vez, muchísimas gracias! |
| Los siguientes 2 usuarios han agradecido a SmartPhoneLover su comentario: | ||
|
#28
|
||||
|
||||
|
Sólo una aclaración más para no dejar flecos sueltos.
![]() Al establecer un bucle poniendo variables en el campo Ítems sus valores se "sustituyen" y evalúan en cada iteración del bucle. Este es nuestro bucle...
Suponiendo que %VOLM=3 y %par1=9 el valor de %vol debería ir de 3 a 9 de 1 en 1, pero en el interior del bucle se cambia precisamente el valor de la variable que controla el inicio del bucle, y eso parece afectar al incremento/decremento del punto [3] del proceso. Creo que es la primera vez que veo algo así
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
| Los siguientes 2 usuarios han agradecido a WillyWeb su comentario: | ||
|
#29
|
||||
|
||||
|
Suponiendo que %VOLM=3 y %par1=9 el valor de %vol debería ir de 3 a 9 de 1 en 1, pero en el interior del bucle se cambia precisamente el valor de la variable que controla el inicio del bucle, y eso parece afectar al incremento/decremento del punto [3] del proceso.
Creo que es la primera vez que veo algo así :loco: ![]() La variable del bucle (%vol) se incrementa/disminuye por el número de iteraciones pero no partiendo del valor inicial de %%canal sino de lo que tenga en ese momento. Con los valores del ejemplo: En la primera iteración %vol=3 y %%canal=3 En la segunda iteración %vol=4 (%%canal+1) y %%canal=4 (%vol). En la tercera iteración %vol=%%canal+2 pero %%canal=4 entonces %vol=6. Y así sucesivamente. Yo uso esta funcionalidad hace bastante tiempo pero es para cuando desconozco el nombre de la variable a la que hago referencia. Se pueden hacer varias referencias en una variable, basta poner un % por cada una. %%%probar sería la variable de lo que contenga el contenido de %probar. O dicho de otra forma, la variable de la variable de la variable. |
| Gracias de parte de: | ||
|
#30
|
||||
|
||||
|
¿casualidad? ![]() Algo me falla en el ejemplo de valores que has puesto. El valor de %%canal es el nombre de una variable que a su vez tiene un valor que se cambia indirectamente dentro del bucle. Una veces funciona bien y otras no. No te puedo decir más. En cualquier caso con la última versión de la tarea ya funciona como se espera, así que tema resuelto.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
| Los siguientes 2 usuarios han agradecido a WillyWeb su comentario: | ||
|
#31
|
||||
|
||||
|
No dudo de ti para nada, eres muy consistente con todo, pero yo antes de pensar que una aplicación puede interferir con un código de instrucciones de Tasker, yo pensaría que es un bug de Tasker. Si vuelves a la versión anterior lo compruebas. %%canal=%VOLM=3 Lo que no tiene sentido es que funcione a medias. Pues voy a probar en mi móvil... Tengo la versión 11.0.55 de Servicios de Google, con %VOLM=15 bajar hasta llegar a 1. %vol adquiere estos valores: 15, 14, 12, 9, 5. Lo hice 10 veces y siempre obtuve el mismo resultado, el bucle le resta a %vol el número de iteraciones por la que va sobre el valor de %VOLM. |
| Los siguientes 2 usuarios han agradecido a GraphicAdventure su comentario: | ||
|
#32
|
||||
|
||||
|
Tengo la versión 11.0.55 de Servicios de Google, con %VOLM=15 bajar hasta llegar a 1.
%vol adquiere estos valores: 15, 14, 12, 9, 5. Lo hice 10 veces y siempre obtuve el mismo resultado, el bucle le resta a %vol el número de iteraciones por la que va sobre el valor de %VOLM. ![]() ![]() Viendo la secuencia que te ha salido está claro que %vol toma el valor de %VOLM (la variable con el valor inicial del bucle) menos el número de iteración. Sería cosa de discutir con Pent si ese es el comportamiento que debe tener un bucle (yo creo que no, pero ese es otro tema). Lo de pensar que podría ser cosa de los Servicios de Google es porque ya he visto que afectan a otras cosas; el valor de %TETHER (ya se lo comenté a Pent) y la calidad de la detección de redes WiFi cercanas son dos que me he encontrado, ambas sobre Android 7.x. Mi primera prueba la hice con una versión beta de los Servicios de Google, y cuando saltó la liebre estaba usando otra beta diferente. No me parecía tan descabellado pensar que las variables que reflejan el volumen de los canales de audio se viesen también afectadas, pero afortunadamente no parece el caso. Por cierto, nunca he pensado que pudiera ser otra cosa que eso. Gracias por las pruebas y las conclusiones. Todo análisis detallado siempre es de agradecer.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
| Los siguientes 2 usuarios han agradecido a WillyWeb su comentario: | ||
![]() |
Estás aquí
|
||||||
|
||||||