Benedini sound module
2 participants
Page 1 sur 1
Benedini sound module
Salut,
sur un module son Benedini, il existe plusieurs possibilités, dont une consiste à remplacer une des voies par un potentiometre rotatif à 12 positions et un bouton. L'idée, c'est de remplacer ce bouton hardware par un script lua de mixage, et un widget lua pour afficher le son à jouer. Perso, j'utilise S1 pour choisir le son, et SH pour le jouer, mais c'est paramétrable.
On enregistre le script benedini.lua, situé dans SCRIPTS/MIXES/ , dans les custom scripts:
On peut alors l'utiliser dans les mixages:
Et enfin, main.lua, situé dans WIDGETS/Benedini/ peut être affiché dans la bare des widget du haut. On doit cependant choisir aussi à cet endroit le trigger et la source, car le widget et le mixage sont en fait indépendants.
main.lua:
benedini.lua:
J'espère que cela pourrait vous être utile,
Nicolas.
sur un module son Benedini, il existe plusieurs possibilités, dont une consiste à remplacer une des voies par un potentiometre rotatif à 12 positions et un bouton. L'idée, c'est de remplacer ce bouton hardware par un script lua de mixage, et un widget lua pour afficher le son à jouer. Perso, j'utilise S1 pour choisir le son, et SH pour le jouer, mais c'est paramétrable.
On enregistre le script benedini.lua, situé dans SCRIPTS/MIXES/ , dans les custom scripts:
On peut alors l'utiliser dans les mixages:
Et enfin, main.lua, situé dans WIDGETS/Benedini/ peut être affiché dans la bare des widget du haut. On doit cependant choisir aussi à cet endroit le trigger et la source, car le widget et le mixage sont en fait indépendants.
main.lua:
- Code:
---- #########################################################################
---- # #
---- # Copyright (C) Nicolas Seinlet #
---- # #
---- # License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html #
---- # #
---- # This program is free software; you can redistribute it and/or modify #
---- # it under the terms of the GNU General Public License version 2 as #
---- # published by the Free Software Foundation. #
---- # #
---- # This program is distributed in the hope that it will be useful #
---- # but WITHOUT ANY WARRANTY; without even the implied warranty of #
---- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
---- # GNU General Public License for more details. #
---- # #
---- #########################################################################
local options = {
{ "soundsource", SOURCE, 1 },
{ "soundtrigger", SOURCE, 1 },
}
local function create(zone, options)
local wgt = { zone=zone, options=options}
return wgt
end
local function update(wgt, options)
wgt.options = options
end
local function background(wgt)
return
end
function refresh(wgt)
local val = getValue(wgt.options.soundsource);
-- #100/88/76/64/52/40/28/16/0
if getValue(wgt.options.soundtrigger) > 0 then
lcd.setColor(TEXT_COLOR, RED)
else
lcd.setColor(TEXT_COLOR, BLACK)
end
if val < -900 then
lcd.drawText(wgt.zone.x+5, wgt.zone.y+5, "Start", TEXT_COLOR+BOLD)
elseif val < -820 then
lcd.drawText(wgt.zone.x+5, wgt.zone.y+5, "Horn", TEXT_COLOR+BOLD)
elseif val < -700 then
lcd.drawText(wgt.zone.x+5, wgt.zone.y+1, "Open", TEXT_COLOR+BOLD)
lcd.drawText(wgt.zone.x+5, wgt.zone.y+15, "door", TEXT_COLOR+BOLD)
elseif val < -580 then
lcd.drawText(wgt.zone.x+5, wgt.zone.y+1, "Close", TEXT_COLOR+BOLD)
lcd.drawText(wgt.zone.x+5, wgt.zone.y+15, "door", TEXT_COLOR+BOLD)
elseif val < -460 then
lcd.drawText(wgt.zone.x+5, wgt.zone.y+5, "Roof", TEXT_COLOR+BOLD)
elseif val < -340 then
lcd.drawText(wgt.zone.x+5, wgt.zone.y+1, "Start", TEXT_COLOR+BOLD)
lcd.drawText(wgt.zone.x+5, wgt.zone.y+15, "GPS", TEXT_COLOR+BOLD)
elseif val < -220 then
lcd.drawText(wgt.zone.x+5, wgt.zone.y+1, "Align", TEXT_COLOR+BOLD)
lcd.drawText(wgt.zone.x+5, wgt.zone.y+15, "GPS", TEXT_COLOR+BOLD)
elseif val < -100 then
lcd.drawText(wgt.zone.x+5, wgt.zone.y+1, "Stop", TEXT_COLOR+BOLD)
lcd.drawText(wgt.zone.x+5, wgt.zone.y+15, "GPS", TEXT_COLOR+BOLD)
elseif val > 900 then
lcd.drawText(wgt.zone.x+5, wgt.zone.y+5, "V +", TEXT_COLOR+BOLD)
elseif val > 820 then
lcd.drawText(wgt.zone.x+5, wgt.zone.y+5, "V -", TEXT_COLOR+BOLD)
elseif val > 700 then
lcd.drawText(wgt.zone.x+5, wgt.zone.y+5, "Inter", TEXT_COLOR+BOLD)
elseif val > 580 then
lcd.drawText(wgt.zone.x+5, wgt.zone.y+5, "S12", TEXT_COLOR+BOLD)
elseif val > 460 then
lcd.drawText(wgt.zone.x+5, wgt.zone.y+5, "S11", TEXT_COLOR+BOLD)
elseif val > 340 then
lcd.drawText(wgt.zone.x+5, wgt.zone.y+5, "S10", TEXT_COLOR+BOLD)
elseif val > 220 then
lcd.drawText(wgt.zone.x+5, wgt.zone.y+5, "S09", TEXT_COLOR+BOLD)
elseif val > 100 then
lcd.drawText(wgt.zone.x+5, wgt.zone.y+5, "S08", TEXT_COLOR+BOLD)
else
lcd.drawText(wgt.zone.x+5, wgt.zone.y+5, "", BLACK+BOLD)
end
lcd.setColor(TEXT_COLOR, BLACK)
end
return { name="Benedini", options=options, create=create, update=update, refresh=refresh, background=background }
benedini.lua:
- Code:
---- #########################################################################
---- # #
---- # Copyright (C) Nicolas Seinlet #
---- # #
---- # License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html #
---- # #
---- # This program is free software; you can redistribute it and/or modify #
---- # it under the terms of the GNU General Public License version 2 as #
---- # published by the Free Software Foundation. #
---- # #
---- # This program is distributed in the hope that it will be useful #
---- # but WITHOUT ANY WARRANTY; without even the implied warranty of #
---- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
---- # GNU General Public License for more details. #
---- # #
---- #########################################################################
local P={}
P.input =
{
{ "sound-in", SOURCE,},
}
P.output =
{"to-play",
}
-- periodically called function
P.run=function(sound)
if sound < -900 then
return -1024
elseif sound < -820 then
return -901
elseif sound < -700 then
return -778
elseif sound < -580 then
return -655
elseif sound < -460 then
return -532
elseif sound < -340 then
return -410
elseif sound < -220 then
return -287
elseif sound < -100 then
return -164
elseif sound > 900 then
return 1024
elseif sound > 820 then
return 901
elseif sound > 700 then
return 778
elseif sound > 580 then
return 655
elseif sound > 460 then
return 532
elseif sound > 340 then
return 410
elseif sound > 220 then
return 287
elseif sound > 100 then
return 164
else
return 0
end
end
return P
J'espère que cela pourrait vous être utile,
Nicolas.
Re: Benedini sound module
Merci pour cette chouette contribution !
Coyotte
Coyotte
_________________
... the alien anthropologists admitted they were still perplexed.
But on eliminating every other reason for our sad demise, they logged the only explanation left :
This species has amused itself to death...
(R. Waters)
Pas de support par MP ! Nous sommes sur un forum pour échanger publiquement.
CoyotteDundee- Administrateur
- Messages : 5886
Date d'inscription : 03/03/2014
Age : 60
Localisation : Montegnée (Liège)
Sujets similaires
» Sound ou mettre un fichier
» Remplacer le module ELRS installé sous EdgeTx par le module Multi 4in1
» Utilisation en même temps module interne et un module externe pour 2 recepteurs différents
» Module assan X8J 2.4 gz
» x9e et module djt
» Remplacer le module ELRS installé sous EdgeTx par le module Multi 4in1
» Utilisation en même temps module interne et un module externe pour 2 recepteurs différents
» Module assan X8J 2.4 gz
» x9e et module djt
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum