Skip to content
/ jslib Public
forked from holyrics/jslib

Métodos da classe JSLib disponível para uso nos scripts do programa Holyrics

Notifications You must be signed in to change notification settings

cjb-tech/jslib

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

jslib

PT | EN

Métodos da classe JSLib disponível para uso nos scripts do programa Holyrics.

É possível utilizar a variável jslib ou a variável h para acessar os métodos disponíveis.

Por exemplo:

jslib.log('exemplo');
h.log('exemplo');

Métodos

log(obj)

Exibe a informação passada como parâmetro numa janela de log (canto inferior direito da tela, geralmente)

Parâmetros:

Nome Tipo Descrição
obj Object Qualquer objeto para ser exibido na janela de log

Método sem retorno

Exemplo:

h.log('mensagem de log');

sleep(time)

Pausa a execução em X milissegundos, conforme o valor especificado

Parâmetros:

Nome Tipo Descrição
time Number Valor em milissegundos. Mínimo=0, Máximo=60000

Método sem retorno

Exemplo:

h.sleep(200); //200ms

base64Encode(bytes)

Codifica um array de bytes em string base64

Parâmetros:

Nome Tipo Descrição
bytes Array<byte> array de bytes

Resposta:

Tipo Descrição
String String em formato base64

base64Decode(str)

Decodifica uma string em formato base64

Parâmetros:

Nome Tipo Descrição
str String String em base64

Resposta:

Tipo Descrição
Array<byte> Array de bytes decodificado

md5(value)

Hash MD5 em array de bytes

Parâmetros:

Nome Tipo Descrição
value Object Valor que será calculado. Pode ser string ou array de bytes

Resposta:

Tipo Descrição
Array<byte> hash MD5

md5Str(value)

Hash MD5

Parâmetros:

Nome Tipo Descrição
value Object Valor que será calculado. Pode ser string ou array de bytes

Resposta:

Tipo Descrição
String hash MD5

sha256(value)

Hash SHA-256 em array de bytes

Parâmetros:

Nome Tipo Descrição
value Object Valor que será calculado. Pode ser string ou array de bytes

Resposta:

Tipo Descrição
Array<byte> hash SHA-256

sha256Str(value)

Hash SHA-256

Parâmetros:

Nome Tipo Descrição
value Object Valor que será calculado. Pode ser string ou array de bytes

Resposta:

Tipo Descrição
String hash SHA-256

getClipboard()

Obtém o texto da área de transferência do sistema operacional

Resposta:

Tipo Descrição
String Texto da área de transferência

Exemplo:

var val = h.getClipboard();
h.log('Texto da área de transferência: ' + val);

normalize(str)

Remove a acentuação da string

Resposta:

Tipo Descrição
String String sem acentuação

Exemplo:

var r = h.normalize("ÁÉÍÓÚÇáéíóúç");
h.log('Texto com acentuação removida: ' + r); //AEIOUCaeiouc

store(key, value)

Salva uma string em disco que pode ser recuperada mesmo após reiniciar o programa. O método é compartilhado com todos os scripts do programa.

Parâmetros:

Nome Tipo Descrição
key String chave/id para salvar a string
value String String que será salva

Método sem retorno

Exemplo:

h.store('abc', 'Exemplo');

restore(key)

Recupera uma string salva em disco. O método é compartilhado com todos os scripts do programa.

Parâmetros:

Nome Tipo Descrição
key String chave/id da string salva anteriormente

Resposta:

Tipo Descrição
String Retorna a string salva ou NULL se não for encontrado

Exemplo:

var r = h.restore('abc');
if (r == null) {
    h.log('Item abc não encontrado');
} else {
    h.log('Item abc: ' + r);
}

setGlobal(key, value)

Salva um objeto na memória que pode ser recuperado, mas é válido somente enquanto o programa estiver aberto. O método é compartilhado com todos os scripts do programa.

Parâmetros:

Nome Tipo Descrição
key String chave/id do objeto salvo
value Object Objeto que será salvo na memória

Método sem retorno

Exemplo:

h.setGlobal('xyz', 'Exemplo');

getGlobal(key, default = null)

Recupera um objeto salvo na memória. O método é compartilhado com todos os scripts do programa.

Parâmetros:

Nome Tipo Descrição
key String chave/id do objeto salvo na memória
default Object (opcional) Valor padrão se não for encontrado valor salvo anteriormente

Resposta:

Tipo Descrição
Object Retorna o objeto salvo ou default se não for encontrado

Exemplo:

var r = h.getGlobal('xyz');
if (r == null) {
    h.log('Item xyz não encontrado');
} else {
    h.log('Item xyz: ' + r);
}

var r2 = h.getGlobal('xyz', 'valor padrão');
h.log('Item xyz: ' + r2);

setCache(key, value)

Salva um objeto na memória que pode ser recuperado, mas é válido somente enquanto o programa estiver aberto. O método é válido somente para o script atual.

Parâmetros:

Nome Tipo Descrição
key String chave/id do objeto salvo
value Object Objeto que será salvo na memória

Método sem retorno

Exemplo:

h.setCache('123', 'Exemplo');

getCache(key, default = null)

Recupera um objeto salvo na memória. O método é válido somente para o script atual.

Parâmetros:

Nome Tipo Descrição
key String chave/id do objeto salvo na memória
default Object (opcional) Valor padrão se não for encontrado valor salvo anteriormente

Resposta:

Tipo Descrição
Object Retorna o objeto salvo ou default se não for encontrado

Exemplo:

var r = h.getCache('123');
if (r == null) {
    h.log('Item 123 não encontrado');
} else {
    h.log('Item 123: ' + r);
}

var r2 = h.getCache('123', 'valor padrão');
h.log('Item 123: ' + r2);

random(min, max, keySafeRepeat = null)

Gera um número aleatório

Parâmetros:

Nome Tipo Descrição
min String valor mínimo
max Object Valor máximo
keySafeRepeat Object (opcional) Pode ser utilizado para evitar número repetido sorteado em sequência

Resposta:

Tipo Descrição
Number Retorna um número aleatório de min a max

Exemplo:

var r = h.random(0, 10);
h.log('Número aleatório de 0 a 10: ' + r);
//O número sorteado pode ser repetido
r = h.random(0, 10);
h.log('Número aleatório de 0 a 10: ' + r);

//Para evitar repetição:
var r = h.random(0, 10, 'xyz');
h.log('Número aleatório de 0 a 10: ' + r);
//O número sorteado não será repetido
r = h.random(0, 10, 'xyz');
h.log('Número aleatório de 0 a 10: ' + r);

//A mecânica de não repetir também funciona quando o script for executado novamente
//e não apenas em execuções em sequência como no exemplo acima

startTimer(key)

Inicia um timer

Parâmetros:

Nome Tipo Descrição
key String Chave/id do timer

Método sem retorno

Exemplo:

h.startTimer('xyz');
h.sleep(2000); //2 segundos
var r = h.getTimer('xyz');
h.log('Tempo decorrido: ' + r); //provavelmente 00:00:02

//é um método global, o valor pode ser utilizado em qualquer outro script utilizando a mesma chave

getTimer(key)

Recupera quanto tempo foi decorrido em um timer de acordo com o valor key. Se o timer não tiver sido iniciado, o método iniciará o timer e retornará 00:00:00

Parâmetros:

Nome Tipo Descrição
key String Chave/id do timer

Resposta:

Tipo Descrição
String Tempo decorrido no formato HH:MM:SS

Exemplo:

var r = h.getTimer('xyz');
h.log('Tempo decorrido: ' + r);

getPlaylistInfo()

Obtém a lista de reprodução atualmente selecionada no programa

Resposta:

Nome Tipo Descrição
type String Tipo do evento da lista de reprodução. Pode ser: temporary, service, event
name String Nome do evento
datetime String Data e hora do item no formato: YYYY-MM-DD HH:MM

Exemplo:

var r = h.getPlaylistInfo();
h.log(r.name + ' - ' + r.datetime);
switch (r.type) {
    case 'temporary':
        h.log('A lista de reprodução é temporária');
        break;
    case 'service':
        h.log('A lista de reprodução é de um culto');
        break;
    case 'event':
        h.log('A lista de reprodução é de um evento');
        break;
}

getPlayer()

Classe player para obter informações e executar ações no player do programa

Resposta:

Tipo Descrição
Player Objeto da classe Player

Exemplo:

var r = h.getPlayer();
if (r.isPlaying()) {
    h.log('O player está em execução');
} else {
    h.log('O player não está em execução');
}

//alterar volume
r.setVolume(80);

//deixar no mudo
r.setMute(true);

//parar execução atual
r.stop();

scriptAction(id)

Executa a ação de um item Script existente no programa

Parâmetros:

Nome Tipo Descrição
id String id do item

Resposta:

Tipo Descrição
Boolean Retorna false se o item não for encontrado

Exemplo:

var r = h.scriptAction('abcxyz');
if (r) {
    h.log('Ação executada');
} else {
    h.log('Item abcxyz não econtrado');
}

apiAction(id)

Executa a ação de um item API existente no programa

Parâmetros:

Nome Tipo Descrição
id String id do item

Resposta:

Tipo Descrição
Boolean Retorna false se o item não for encontrado

Exemplo:

var r = h.apiAction('abcxyz');
if (r) {
    h.log('Ação executada');
} else {
    h.log('Item abcxyz não econtrado');
}

apiRequest(id, raw)

Executa uma requisição para o receptor associado e retorna a resposta do receptor. Válido somente para receptores URL

Parâmetros:

Nome Tipo Descrição
id String id do receptor
raw Object dados da requisição

Resposta:

Tipo Descrição
Object Retorno da requisição ou NULL para erro/timeout

Exemplo:

//É possível realizar requisição diretamente para um receptor criado
//Por exemplo:
//Considerando que você tenha um receptor criado para comunicação com OBS Studio via websocket e o ID do receptor seja 'abcyxz'
//você pode fazer uma requisição como no exemplo abaixo
var r = h.apiRequest('abcxyz', {
    'request-type': 'GetSourceActive',
    'sourceName': 'exemplo'
});
h.log('Resposta da requisição: ' + r);
var obj = JSON.parse(r);
if (obj.sourceActive) {
    h.log('A fonte exemplo está ativa');
} else {
    h.log('A fonte exemplo não está ativa');
}

Métodos HLY

Todas as requisições dos métodos hly(...) retornam um objeto padrão:

Nome Tipo Descrição
status String Pode ser 'ok' ou 'error'
error String (opcional) Mensagem de erro se status for igual a error
data Object (opcional) Conteúdo da resposta se status for igual a ok

hly('GetCurrentBackground')

Retorna o plano de fundo da apresentação em exibição.

Resposta:

Nome Tipo Descrição
data Background Plano de fundo atual ou NULL se não houver apresentação em exibição

Exemplo:

var r = h.hly('GetCurrentBackground');
if (r.data != null) {
    h.log('ID do plano de fundo atual: ' + r.data.id);
} else {
    h.log('Não há apresentação em exibição');
}

hly('GetLyrics', input)

hly('GetSong', input)

Retorna uma música.

Parâmetros:

Nome Tipo Descrição
input.id String ID da música

Resposta:

Nome Tipo Descrição
data Lyrics Música ou NULL se não for encontrado

Exemplo:

var r = h.hly('GetLyrics', {id: '123'});
if (r.data == null) {
    h.log('Item 123 não encontrado');
} else {
    h.log('Item 123:');
    h.log(r.data);
}

hly('GetLyricsPlaylist')

hly('GetSongPlaylist')

Lista de reprodução de letras

Resposta:

Nome Tipo Descrição
data Array<Lyrics>

Exemplo:

var r = h.hly('GetLyricsPlaylist');
for (var i = 0; i < r.data.length; i++) {
    h.log(r.data[i].title);
}

hly('GetMediaPlaylist')

Lista de reprodução de mídia

Resposta:

Nome Tipo Descrição
data Array<Item>

Exemplo:

var r = h.hly('GetMediaPlaylist');
for (var i = 0; i < r.data.length; i++) {
    var item = r.data[i];
    h.log(item.type + ": " + item.name);
}

hly('GetBackgrounds', input)

Lista dos temas e planos de fundo

Parâmetros:

Nome Tipo Descrição
input Object (opcional) Filtro
input.type String (opcional) Pode ser: theme, my_video, my_image, video, image
input.tag String (opcional)
input.tags Array<String> (opcional)
input.intersection Boolean (opcional) Se o campo input.tags estiver preenchido com múltiplos itens, a opção input.intersection define o tipo de junção. Se true, o filtro retornará apenas itens que contém todas as tags informadas, se false, o filtro retornará os itens que têm pelo menos uma tag das tags informadas (Padrão=false)

Resposta:

Nome Tipo Descrição
data Array<Background>

Exemplo:

//todos
var r = h.hly('GetBackgrounds', {});
for (var i = 0; i < r.data.length; i++) {
    var bg = r.data[i];
    h.log(bg.type + ": " + bg.name);
}

//somente "Meus Vídeos" e com as tags 'água' E 'azul'
r = h.hly('GetBackgrounds', {
    type: 'my_video',
    tags: ['água', 'azul'],
    intersection: true
});
for (var i = 0; i < r.data.length; i++) {
    var bg = r.data[i];
    h.log(bg.name);
}

hly('GetFavorites')

Itens da barra de favoritos

Resposta:

Nome Tipo Descrição
data Array<Favorite Item>

Exemplo:

var r = h.hly('GetFavorites');
for (var i = 0; i < r.data.length; i++) {
    h.log(r.data[i].name);
}

hly('GetHistories')

Histórico de todas as marcações de "Música tocada"

Resposta:

Nome Tipo Descrição
data Array<Object>
data.*.music_id String ID da música
data.*.history Array<String> Data e hora no formato YYYY-MM-DD HH:MM

Exemplo:

var r = h.hly('GetHistories');
for (var i = 0; i < r.data.length; i++) {
    h.log(r.data[i].music_id);
    h.log(r.data[i].history);
}

hly('GetHistory', input)

Histórico de "Música tocada"

Parâmetros:

Nome Tipo Descrição
input.id String ID da letra da música

Resposta:

Nome Tipo Descrição
data Array<String> Data e hora no formato YYYY-MM-DD HH:MM

Exemplo:

var r = h.hly('GetHistory', {id: '123'});
for (var i = 0; i < r.data.length; i++) {
    h.log(r.data[i]);
}

hly('GetMembers')

Lista de integrantes

Resposta:

Nome Tipo Descrição
data Array<Member>

Exemplo:

var r = h.hly('GetMembers');
for (var i = 0; i < r.data.length; i++) {
    h.log(r.data[i].name);
}

hly('GetRoles')

Lista de funções

Resposta:

Nome Tipo Descrição
data Array<Role>

Exemplo:

var r = h.hly('GetRoles');
for (var i = 0; i < r.data.length; i++) {
    h.log(r.data[i].name);
}

hly('GetCurrentSchedule')

Programação atual (selecionada na janela principal do programa)

Resposta:

Nome Tipo Descrição
data Schedule

Exemplo:

var r = h.hly('GetCurrentSchedule');
for (var i = 0; i < r.data.length; i++) {
    var s = r.data[i];
    h.log(s.datetime);
    h.log(s.name);
    h.log(s.lyrics_playlist);
    h.log(s.media_playlist);
}

hly('GetSchedules')

Retorna a lista de programação de um mês específico

Parâmetros:

Nome Tipo Descrição
input.month Number Mês (1-12)
input.year Number Ano

Resposta:

Nome Tipo Descrição
data Array<Schedule>

Exemplo:

var r = h.hly('GetSchedules', {
    month: 8,
    year: 2022
});
for (var i = 0; i < r.data.length; i++) {
    var s = r.data[i];
    h.log(s.datetime);
    h.log(s.name);
    h.log(s.lyrics_playlist);
    h.log(s.media_playlist);
}

hly('MediaPlaylistAction', input)

Executa um item da lista de reprodução de mídia

Parâmetros:

Nome Tipo Descrição
input.id String ID do item

Método sem retorno

Exemplo:

h.hly('MediaPlaylistAction', {id: 'abc'});

//Chamadas alternativas
h.mediaPlaylistAction('abc');
h.mplAction('abc');

hly('FavoriteAction', input)

Executa um item da barra de favoritos

Parâmetros:

Nome Tipo Descrição
input.id String ID do item

Método sem retorno

Exemplo:

h.hly('FavoriteAction', {id: 'abc'});

//Chamadas alternativas
h.favoriteAction('abc');
h.favAction('abc');

hly('ShowLyrics', input)

hly('ShowSong', input)

Inicia uma apresentação de letra de música.

Parâmetros:

Nome Tipo Descrição
input.id String ID do item

Método sem retorno

Exemplo:

h.hly('ShowLyrics', {id: '123'});

//procura uma música e executa o primeiro resultado encontrado
var r = h.hly('SearchLyrics', {
    text: 'título da música'
});
if (r.data.length == 0) {
    h.log("Música não encontrada");
} else {
    h.hly('ShowLyrics', {id: r.data[0].id});
}

//Chamadas alternativas
h.showLyrics('123');
h.showSong('123');

hly('ShowText', input)

Inicia uma apresentação de um item da aba texto.

Parâmetros:

Nome Tipo Descrição
input.id String ID do item

Método sem retorno

Exemplo:

h.hly('ShowText', {id: 'abc'});

//Chamada alternativa
h.showText('abc');

hly('ShowVerse', input)

Inicia uma apresentação de versículo da Bíblia.

Parâmetros:

Nome Tipo Descrição
input Object id, ids ou references
input.id String (opcional) Para exibir um versículo. ID do item no formato LLCCCVVV. Exemplo: '19023001' (ou seja, livro 19, capítulo 023, versículo 001)
input.ids Array<String> (opcional) Para exibir uma lista de versículos. Lista com o ID de cada versículo. Exemplo: ['19023001', '43003016', '45012002']
input.references String (opcional) Referências. Exemplo: João 3:16 ou Rm 12:2 ou Gn 1:1-3 Sl 23.1

Método sem retorno

Exemplo:

h.hly('ShowVerse', {id: '19023001'});

h.hly('ShowVerse', {ids: ['19023001', '43003016', '45012002']});

h.hly('ShowVerse', {references: 'João 3:16'});

h.hly('ShowVerse', {references: 'Rm 12:2  Gn 1:1-3  Sl 23'});

//Chamada alternativa
h.showVerse('Rm 12:2  Gn 1:1-3  Sl 23');

hly('PlayAudio', input)

Executa um áudio ou uma lista de áudios (pasta)

Parâmetros:

Nome Tipo Descrição
input.file String Nome do arquivo ou da pasta. Exemplo: arquivo.mp3 ou pasta ou pasta/arquivo.mp3

Método sem retorno

Exemplo:

h.hly('PlayAudio', {file: 'arquivo.mp3'});
h.hly('PlayAudio', {file: 'pasta'});
h.hly('PlayAudio', {file: 'pasta/arquivo.mp3'});

//Chamada alternativa
h.playAudio('arquivo.mp3');

hly('PlayVideo', input)

Executa um vídeo ou uma lista de vídeos (pasta)

Parâmetros:

Nome Tipo Descrição
input.file String Nome do arquivo ou da pasta. Exemplo: arquivo.mp4 ou pasta ou pasta/arquivo.mp4

Método sem retorno

Exemplo:

h.hly('PlayVideo', {file: 'arquivo.mp4'});
h.hly('PlayVideo', {file: 'pasta'});
h.hly('PlayVideo', {file: 'pasta/arquivo.mp4'});

//Chamada alternativa
h.playVideo('arquivo.mp4');

hly('ShowImage', input)

Apresenta uma imagem ou uma lista de imagens (pasta)

Parâmetros:

Nome Tipo Descrição
input.file String Nome do arquivo ou da pasta. Exemplo: arquivo.jpg ou pasta ou pasta/arquivo.jpg
input.automatic Automatic (opcional) Se informado, a apresentação dos itens será automática

Método sem retorno

Exemplo:

h.hly('ShowImage', {file: 'arquivo.jpg'});
h.hly('ShowImage', {file: 'pasta'});
h.hly('ShowImage', {file: 'pasta/arquivo.jpg'});

h.hly('ShowImage', {
    file: 'pasta',
    automatic: {
        seconds: 5,
        repeat: true
    }
});

//Chamada alternativa
h.showImage('arquivo.jpg');

hly('ShowQuickPresentation', input)

Apresenta rápida de um texto

Parâmetros:

Nome Tipo Descrição
input.text String Texto que será exibido
input.theme Object (opcional) Filtrar tema selecionado para exibição
input.theme.id String (opcional) ID do tema
input.theme.name String (opcional) Nome do tema
input.automatic Automatic (opcional) Se informado, a apresentação dos itens será automática

Método sem retorno

Exemplo:

h.hly('ShowQuickPresentation', {
    text: "Texto que será exibido"
});

h.hly('ShowQuickPresentation', {
    text: "Slide 1\n\nSlide 2\n\nSlide 3",
    theme: {
        name: "Tema 3"
    },
    automatic: {
        seconds: 5,
        repeat: true
    }
});

hly('ShowAnnouncement', input)

Apresenta um anúncio ou uma lista de anúncios

Parâmetros:

Nome Tipo Descrição
input.id String (opcional) ID do anúncio. Pode ser all para exibir todos
input.ids Array<String> (opcional) Lista com o ID de cada anúncio
input.name String (opcional) Nome do anúncio
input.names Array<String> (opcional) Lista com o nome de cada anúncio
input.automatic Automatic (opcional) Se informado, a apresentação dos itens será automática

Método sem retorno

Exemplo:

h.hly('ShowAnnouncement', {id: '123'});

h.hly('ShowAnnouncement', {
    names: ['Anúncio 1', 'Anúncio 2', 'Anúncio 3'],
    automatic: {
        seconds: 10,
        repeat: true
    }
});

hly('CloseCurrentPresentation')

Encerra a apresentação atual

Método sem retorno

Exemplo:

h.hly('CloseCurrentPresentation');

hly('SetCurrentBackground', input)

Altera o plano de fundo (ou tema) da apresentação atual. Se mais de um item for encontrado de acordo com os filtros, será escolhido um item da lista de forma aleatória

Parâmetros:

Nome Tipo Descrição
input Object (opcional) Filtro
input.id String (opcional) ID do tema ou plano de fundo
input.name String (opcional) Nome do tema ou plano de fundo
input.type String (opcional) Pode ser: theme, my_video, my_image, video, image
input.tag String (opcional)
input.tags Array<String> (opcional)
input.intersection Boolean (opcional) Se o campo input.tags estiver preenchido com múltiplos itens, a opção input.intersection define o tipo de junção. Se true, o filtro retornará apenas itens que contém todas as tags informadas, se false, o filtro retornará os itens que têm pelo menos uma tag das tags informadas (Padrão=false)

Método sem retorno

Exemplo:

h.hly('SetCurrentBackground', {id: 'abc'});

h.hly('SetCurrentBackground', {name: 'xyz'});

//um vídeo que esteja definido com a tag 'água'
h.hly('SetCurrentBackground', {
    type: 'my_video',
    tag: 'água'
});

//um vídeo que esteja definido com a tag 'água' OU com a tag 'azul'
h.hly('SetCurrentBackground', {
    type: 'my_video',
    tags: ['água', 'azul']
});

//um vídeo que esteja definido com a tag 'água' E com a tag 'azul'
h.hly('SetCurrentBackground', {
    type: 'my_video',
    tags: ['água', 'azul'],
    intersection: true
});

hly('GetBpm')

Retorna o valor BPM atual definido no programa

Resposta:

Tipo Descrição
Number Valor BPM atual

Exemplo:

var r = h.hly('GetBpm');
h.log('BPM: ' + r.data);

hly('SetBpm')

Altera o valor BPM atual do programa

Parâmetros:

Nome Tipo Descrição
bpm Number Valor BPM

Método sem retorno

Exemplo:

h.hly('SetBpm', {bpm: 80});

hly('SearchLyrics', input)

hly('SearchSong', input)

Realiza uma busca na lista de letras do usuário

Parâmetros:

Nome Tipo Descrição
input String Filtro
input.text String Texto a ser pesquisado
input.title Boolean (opcional) (Padrão=true)
input.artist Boolean (opcional) (Padrão=true)
input.note Boolean (opcional) (Padrão=true)
input.lyrics Boolean (opcional) (Padrão=false)
input.group String (opcional)

Resposta:

Nome Tipo Descrição
data Array<Lyrics>

Exemplo:

var r = h.hly('SearchLyrics', {
    text: 'exemplo',
    lyrics: true
});
if (r.data.length == 0) {
    h.log("Nenhum resultado encontrado");
} else {
    for (var i = 0; i < r.data.length; i++) {
        var m = r.data[i];
        h.log(m.title);
    }
}

hly('AddLyricsToPlaylist', input)

hly('AddSongsToPlaylist', input)

Adicionar letra de música na lista de reprodução

Parâmetros:

Nome Tipo Descrição
input.id String (opcional) ID da letra
input.ids Array<String> (opcional) Lista com id de cada letra
input.index Number (opcional) Posição na lista onde o item será adicionado (inicia em zero). Os itens são adicionados no final da lista por padrão. (Padrão=-1)
input.media_playlist Boolean (opcional) Adicionar as letras na lista de reprodução de mídia (Padrão=false)

Método sem retorno

Exemplo:

h.hly('AddLyricsToPlaylist', {id: '123'});

h.hly('AddLyricsToPlaylist', {ids: ['123', '456']});

h.hly('AddLyricsToPlaylist', {
    ids: ['123', '456'],
    index: 3
});

h.hly('AddLyricsToPlaylist', {
    ids: ['123', '456'],
    index: 3,
    media_playlist: true
});

hly('RemoveFromLyricsPlaylist', input)

hly('RemoveFromSongPlaylist', input)

Remover letra de música na lista de reprodução

Parâmetros:

Nome Tipo Descrição
input.id String (opcional) ID da letra
input.ids Array<String> (opcional) Lista com id de cada letra
input.index Number (opcional) Posição do item na lista que será removido (inicia em zero).
input.indexes Boolean (opcional) Lista com a posição de cada item na lista que será removido. (Inicia em zero)

Método sem retorno

Exemplo:

h.hly('RemoveFromLyricsPlaylist', {id: '123'});

h.hly('RemoveFromLyricsPlaylist', {ids: ['123', '456']});

h.hly('RemoveFromLyricsPlaylist', {index: 3});

h.hly('RemoveFromLyricsPlaylist', {indexes: [3, 4, 5]});

hly('RemoveFromMediaPlaylist', input)

Remover itens da lista de reprodução de mídia

Parâmetros:

Nome Tipo Descrição
input.id String (opcional) ID do item
input.ids Array<String> (opcional) Lista com id de cada item
input.index Number (opcional) Posição do item na lista que será removido (inicia em zero).
input.indexes Boolean (opcional) Lista com a posição de cada item na lista que será removido. (Inicia em zero)

Método sem retorno

Exemplo:

h.hly('RemoveFromMediaPlaylist', {id: 'abc'});

h.hly('RemoveFromMediaPlaylist', {ids: ['abc', 'xyz']});

h.hly('RemoveFromMediaPlaylist', {index: 3});

h.hly('RemoveFromMediaPlaylist', {indexes: [3, 4, 5]});

hly('GetCommunicationPanelInfo')

hly('GetCPInfo')

Configuração atual do painel de comunicação

Resposta:

Nome Tipo Descrição
data.text String Texto atual
data.show Boolean Se o texto atual está em exibição
data.display_ahead Boolean Se a opção 'exibir à frente de tudo' está ativada
data.alert_text String Texto atual do alerta
data.alert_show Boolean Se a exibição do alerta está ativada
data.countdown_show Boolean Se uma contagem regressiva está em exibição
data.countdown_time Number O tempo atual da contagem regressiva em exibição (em segundos)

Exemplo:

var r = h.hly('GetCommunicationPanelInfo');
if (r.data.countdown_show) {
    h.log("A contagem regressiva do painel de comunicação está ativa");
    h.log(r.data.countdown_time + " segundos");
} else {
    h.log("A contagem regressiva do painel de comunicação não está ativa");
}

hly('SetAlert', input)

Altera as configurações da mensagem de alerta

Parâmetros:

Nome Tipo Descrição
input.text String (opcional) Alterar o texto de alerta
input.show Boolean (opcional) Exibir/ocultar o alerta

Método sem retorno

Exemplo:

h.hly('SetAlert', {
    text: "texto de alerta",
    show: true
});

//remover
h.hly('SetAlert', {show: false});

hly('StartCountdownCommunicationPanel', input)

hly('StartCountdownCP', input)

Inicia uma contagem regressiva no painel de comunicação

Parâmetros:

Nome Tipo Descrição
input.minutes Number Quantidade de minutos
input.seconds Number Quantidade de segundos
input.yellow_starts_at Number (opcional) Valor em segundos para definir a partir de quanto tempo a contagem regressiva ficará amarela
input.stop_at_zero Boolean (opcional) Parar a contagem regressiva ao chegar em zero (Padrão=false)

Método sem retorno

Exemplo:

h.hly('StartCountdownCommunicationPanel', {minutes: 3});

h.hly('StartCountdownCommunicationPanel', {
    minutes: 1,
    seconds: 30,
    yellow_starts_at: 30,
    stop_at_zero: true
});

hly('StopCountdownCommunicationPanel')

hly('StopCountdownCP')

Encerra a contagem regressiva atual do painel de comunicação

Método sem retorno

Exemplo:

h.hly('StopCountdownCommunicationPanel');

hly('SetTextCommunicationPanel', input)

hly('SetTextCP', input)

Alterar o texto do painel de comunicação

Parâmetros:

Nome Tipo Descrição
input.text Number (opcional) Alterar o texto do painel de comunicação
input.show Boolean (opcional) Exibir/ocultar o texto
input.display_ahead Boolean (opcional) Alterar a opção 'exibir à frente de tudo'

Método sem retorno

Exemplo:

h.hly('SetTextCommunicationPanel', {
    text: "texto painel de comunicação",
    show: true,
    display_ahead: true
});

//remover
h.hly('SetTextCommunicationPanel', {show: false});

hly('SetAlertCommunicationPanel', input)

hly('SetAlertCP', input)

Alterar as configurações de alerta do painel de comunicação

Parâmetros:

Nome Tipo Descrição
input.text String (opcional) Alterar o texto de alerta
input.show Boolean (opcional) Exibir/ocultar o alerta

Método sem retorno

Exemplo:

h.hly('SetAlertCommunicationPanel', {
    text: "texto de alerta painel de comunicação",
    show: true
});

//remover
h.hly('SetAlertCommunicationPanel', {show: false});

hly('SetLogo', input)

Alterar as configurações da funcionalidade Logo do programa (menu ferramentas)

Parâmetros:

Nome Tipo Descrição
input.enable Boolean (opcional) Ativar/desativar a funcionalidade
input.hide Boolean (opcional) Exibir/ocultar a funcionalidade

Método sem retorno

Exemplo:

h.hly('SetLogo', {enable: true});

h.hly('SetLogo', {hide: true});

Métodos Player

getMediaName()

Nome da mídia atual no player

Resposta:

Tipo Descrição
String Nome da mídia

getMedia()

Caminho completo da mídia no player

Resposta:

Tipo Descrição
String Caminho completo da mídia

isPlaying()

Verifica se o player está em execução

Resposta:

Tipo Descrição
Boolean

getDuration()

Tempo total da mídia atual no player

Resposta:

Tipo Descrição
Number Tempo total em milissegundos

getCurrentTime()

Tempo atual da mídia no player

Resposta:

Tipo Descrição
Number Tempo atual da mídia em milissegundos

getTimeElapsed()

Tempo decorrido da mídia no player

Resposta:

Tipo Descrição
String Tempo decorrido no formato HH:MM:SS

getTimeRemaining()

Tempo restante da mídia no player

Resposta:

Tipo Descrição
String Tempo restante no formato HH:MM:SS

play()

Executar a ação play do player

Método sem retorno


pause()

Executar a ação pause do player

Método sem retorno


stop()

Executar a ação stop do player

Método sem retorno


next()

Passa para o próximo item da lista no player

Método sem retorno


previous()

Passa para o item anterior da lista no player

Método sem retorno


isRepeat()

Verifica se a opção repetir está ativada

Resposta:

Tipo Descrição
Boolean

setRepeat(repeat)

Altera a opção repetir

Parâmetros:

Nome Tipo Descrição
repeat Boolean

Método sem retorno


isExecuteAll()

Verifica se o player está definido para executar itens em sequência

Resposta:

Tipo Descrição
Boolean

setExecuteAll(executeAll)

Altera a configuração do player para executar itens em sequência

Parâmetros:

Nome Tipo Descrição
executeAll Boolean

Método sem retorno


isExecuteSingle()

Verifica se o player está definido para executar somente o item atual da lista

Resposta:

Tipo Descrição
Boolean

setExecuteSingle(executeSingle)

Altera a configuração do player para executar somente o item atual da lista

Parâmetros:

Nome Tipo Descrição
executeSingle Boolean

Método sem retorno


isShuffle()

Verifica se a opção aleatório está ativada

Resposta:

Tipo Descrição
Boolean

setShuffle(shuffle)

Altera a opção aleatório

Parâmetros:

Nome Tipo Descrição
shuffle Boolean

Método sem retorno


isFullscreen()

Verifica se a opção tela cheia está ativada

Resposta:

Tipo Descrição
Boolean

setFullscreen(fullscreen)

Altera a opção tela cheia do player

Parâmetros:

Nome Tipo Descrição
fullscreen Boolean

Método sem retorno


getVolume()

Volume atual do player

Resposta:

Tipo Descrição
Number Volume. Mínimo=0, Máximo=100

setVolume(volume)

Altera o volume do player

Parâmetros:

Nome Tipo Descrição
volume Number Mínimo=0, Máximo=100

Método sem retorno


isMute()

Verifica se a opção mudo está ativada

Resposta:

Tipo Descrição
Boolean

setMute(mute)

Altera a opção mudo

Parâmetros:

Nome Tipo Descrição
mute Boolean

Método sem retorno


Métodos User Input

input(param, notification = false)

Exibir uma janela com campos de entrada para receber informações de forma interativa

Parâmetros:

Nome Tipo Descrição
param Object Entradas que serão solicitadas na interface. Pode ser string ou Array<InputParam>. Se for passada uma string, ela será o nome do item e o tipo do item será text
notification Boolean (opcional) Exibe uma notificação em vez de abrir a janela diretamente

Resposta:

Tipo Descrição
Object Se for passado apenas um item como entrada, será retornado o valor informado pelo usuário (pode ser NULL). Se múltiplas entradas forem solicitadas, será retornado um objeto (pode ser NULL) onde cada valor será informado na variável do seu respectivo ID.

Exemplo:

var r = h.input("Nome do Item");
h.log("Valor informado: " + r);

var param = [{type: 'password', label: 'Senha'}];
var r = h.input(param);
h.log("Senha informada: " + r);

var param = [
    {
        key: 'info',
        type: 'text',
        label: 'Informação'
    },{
        key: 'type',
        type: 'text',
        label: 'Tipo',
        allowed_values: ['Tipo 1', 'Tipo 2', 'Tipo 3']
    }
];
var r = h.input(param);
if (r == null) {
    h.log("Cancelado");
} else {
    h.log("Informação: " + r.info);
    h.log("Tipo: " + r.type);
}

var param = [
    {
        key: 'message',
        type: 'textarea',
        label: 'Mensagem'
    },{
        key: 'seconds',
        type: 'number',
        label: 'Segundos',
        min: 30,
        max: 300,
        default_value: 60
    }
];
var r = h.input(param);
if (r == null) {
    h.log("Cancelado");
} else {
    h.log("Mensagem: " + r.message);
    h.log("Segundos: " + r.seconds);
}

inputTextArea(title, notification = false)

Solicita uma entrada em formato textarea possibilitando texto com múltiplas linhas

Parâmetros:

Nome Tipo Descrição
title String Nome do componente
notification Boolean (opcional) Exibe uma notificação em vez de abrir a janela diretamente

Resposta:

Tipo Descrição
String Retorna o texto informado pelo usuário (pode ser NULL)

Exemplo:

var r = h.inputTextArea("Nome do Item");
h.log("Valor informado: " + r);

var r = h.inputTextArea("Nome do Item", true); //notificação
h.log("Valor informado: " + r);

itemChooser(title, items, notification = false)

Abre uma janela para selecionar um item em uma lista de valores

Parâmetros:

Nome Tipo Descrição
title String Título na janela
items Object Lista de itens que serão exibidos na lista
items.*.label Boolean (opcional) Nome que será exibido representando o item

Resposta:

Tipo Descrição
Object Retorna o item selecionado pelo usuário (pode ser NULL)

Exemplo:

var r = h.itemChooser("Selecione um item", ["abc", "xyz", "123"]);
h.log("Item selecionado: " + r);

var r = h.itemChooser("Selecione um número", [1, 2, 3, 4, 5]);
h.log("Número selecionado: " + r);

var items = [
    {
        id: 1,
        type: 'test1',
        label: 'ABC'
    },{
        id: 2,
        type: 'test2',
        label: 'XYZ'
    },{
        id: 3,
        type: 'test3',
        label: '123'
    }
];
var r = h.itemChooser("Selecione um item", items, true); //notificação
if (r == null) {
    h.log("Cancelado");
} else {
    h.log("Item selecionado");
    h.log("ID: " + r.id);
    h.log("Tipo: " + r.type);
    h.log("Nome: " + r.label);
}

var arr1 = ['a', 'b', 'c'];
var arr2 = ['x', 'y', 'z'];
var arr3 = [1, 2, 3];
var items = [
    {source: arr1, label: 'Lista 1 (a, b, c)'},
    {source: arr2, label: 'Lista 2 (x, y, z)'},
    {source: arr3, label: 'Lista 3 (1, 2, 3)'}
];
var r = h.itemChooser("Selecione um item", items);
if (r == null) {
    h.log("Cancelado");
} else {
    h.log("Item selecionado: " + r.source);
}

Classes

Classes complexas utilizadas como retorno em alguns métodos

Lyrics

Nome Tipo Descrição
id String ID da música
title String Título da música
artist String Artista da música
author String Autor da música
note String Anotação da música
key String Tom da música
time_sig String Tempo da música
groups Array<Group> Grupos onde a música está adicionada
midi Midi Atalho MIDI do item
archived Boolean Se a música está arquivada

Background

Nome Tipo Descrição
id String ID do item
type String Tipo do item. Pode ser: theme, my_video, my_image, video, image
name String Nome do item
tags Array<String> Lista de tags do item
bpm Number Valor BPM do item
midi Midi (opcional) Atalho MIDI do item

Item

Nome Tipo Descrição
id String ID do item
type String Tipo do item. Pode ser: song, verse, text, audio, video, image, file, custom-text, announcement, countdown, countdown-cp, automatic_presentation, api, script
name String Nome do item

Group

Nome Tipo Descrição
name String Nome do item

Midi

Nome Tipo Descrição
code Number Código midi
velocity Number Velocidade/intensidade midi

Favorite Item

Nome Tipo Descrição
id String ID do item
name String Nome do item

Schedule

Nome Tipo Descrição
type String Tipo da lista de reprodução. Pode ser: temporary, service, event
name String
datetime String Data e hora no formato: YYYY-MM-DD HH:MM
lyrics_playlist Array<Lyrics> Lista de letras
media_playlist Array<Item> Lista de mídias
responsible Member Integrante definido como responsável pelo evento
members Array<Object> Lista dos integrantes escalados
members.*.id String ID do integrante
members.*.name String Nome do integrante escalado
members.*.scheduled Boolean Se o integrande está escalado ou definido para uma função
roles Array<Object> Lista das funções na escala
roles.*.id String ID da função
roles.*.name String Nome da função
roles.*.member Member Integrante escalado para a função

Member

Nome Tipo Descrição
id String ID do item
name String Nome do item

Role

Nome Tipo Descrição
id String ID do item
name String Nome do item

Automatic Presentation

Nome Tipo Descrição
seconds Number Tempo que cada item ficará sendo apresentado
repeat Boolean true para ficar repetindo a apresentação (voltar para o primeiro item após o último)

Input Param

Nome Tipo Descrição
key String Chave/ID do item
type String Tipo de entrada. Pode ser: text, textarea, number, password, title, separator
label String Nome do item
default_value Object (opcional) Valor padrão do item
allowed_values Array<String> (opcional) Disponível se o tipo for text. Define uma lista de valores permitidos, para serem selecionados como um combobox
suggested_values Array<String> (opcional) Disponível se o tipo for text. Define uma lista de valores sugeridos, porém o usuário pode inserir qualquer valor no campo de texto
min Number (opcional) Disponível se o tipo for number. Define o valor mínimo permitido (Padrão=0)
max Number (opcional) Disponível se o tipo for number. Define o valor máximo permitido (Padrão=100)
show_as_combobox Boolean (opcional) Disponível se o tipo for number. Exibe a lista de valores como combobox e não como spinner (Padrão=false)

About

Métodos da classe JSLib disponível para uso nos scripts do programa Holyrics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published