Proměňte klávesnici na zvukovou desku

zpět, když jsem začal hrát s Hammerspoon, procházel jsem celé jeho API, abych zjistil, co s tím mohu dělat. Moje oči padly na kategorii hs.sound a věděl jsem, že v tu chvíli musím postavit rezonanční desku. Jakmile jsem nastavil svůj Hyper-klíč a několik opravdu užitečných vazeb klíčů, šel jsem do práce.

nedlouho poté jsem mohl dokončit slovní hříčku spolupracovníka se zvukem“ BA-DUM-TISS “ stisknutím tlačítka. Nebo ukončit setkání s Warcraft Peon říká „práce Práce“. Mým osobním favoritem byl kus zcela libovolné „výtahové hudby“ a zavedení „jízdy domů na Vánoce“.

nastavení

věřte mi, když říkám, kód není těžká část. Nejtěžší je najít dobré zvukové fragmenty k použití. Pokud hledáte inspiraci, podívejte se na web My Instants. Mají skvělou sbírku malých zvukových úryvků z různých filmů, písní a dokonce i her.

jakmile shromáždíte nějaké zvuky, můžete začít budovat zvukovou desku pomocí Hammerspoon. Chcete-li udržet věci zvládnutelné, mapování mezi klávesami a zvukovými soubory jsou uloženy v tabulce. Tato tabulka je pak čtena funkcí, vázání zvukového souboru na zadaný klíč. Zde je část mého nastavení:

local soundBoard = {
badumtiss = { key = '1', file = 'badumtiss.mp3' },
metalgearsolid = { key = '2', file = 'metalgearsolid.mp3' },
winError = { key = '3', file = 'windows-error.mp3' },
sadtrombone = { key = '4', file = 'sadtrombone.mp3' },
crickets = { key = '5', file = 'crickets.mp3' },
batman = { key = '6', file = 'batman-transition.mp3' },
shocked = { key = '7', file = 'shocked.mp3' },
inception = { key = '8', file = 'inceptionbutton.mp3' },
haGay = { key = '9', file = 'ha-gay.mp3' },
workwork = { key = '0', file = 'wc-work-work.mp3' },
workComplete = { key = '-', file = 'wc-work-complete.mp3' },
ns = { key = '=', file = 'ns-ding-dong.mp3' },
-- ... many more here
}-- Initialise Soundboard!
for n,s in pairs(soundBoard) do
-- Change the path here to where your sound files are stored:
s.sound = hs.sound.getByFile(os.getenv("HOME") .. '/.hammerspoon-assets/soundboard/' .. s.file) -- Bind to Hyper+Cmd+s.key
hyper.bindKeyWithModifiers(s.key, {'cmd'}, function()
s.sound:stop()
s.sound:play()
end)
end

tabulka v mém souboru obsahuje položky pro téměř všechny klíče, ale většina z nich zde byla vynechána, protože myšlenka je v tomto vzorku dostatečně ilustrována. Smyčka pro-loop pod ní (kde je uvedeno -- Initialise Soundboard!) se smyčí nad touto tabulkou a váže zadaný klíč k funkci, která přehrává daný zvuk. Ujistěte se, že jste buď vložili zvuky do zadané cesty (~/.hammerspoon-assets/soundboard/), nebo odpovídajícím způsobem upravte cestu.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.