EN | PT
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');
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');
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
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 |
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 |
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 |
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 |
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 |
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 |
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);
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
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');
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);
}
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');
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);
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');
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);
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
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
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);
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;
}
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();
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');
}
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');
}
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');
}
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 |
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');
}
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);
}
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);
}
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);
}
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);
}
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);
}
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);
}
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]);
}
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);
}
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);
}
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);
}
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);
}
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');
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');
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');
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');
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');
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');
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');
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');
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
}
});
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
}
});
Encerra a apresentação atual
Método sem retorno
Exemplo:
h.hly('CloseCurrentPresentation');
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
});
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);
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});
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);
}
}
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
});
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]});
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]});
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");
}
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});
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
});
Encerra a contagem regressiva atual do painel de comunicação
Método sem retorno
Exemplo:
h.hly('StopCountdownCommunicationPanel');
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});
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});
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});
Nome da mídia atual no player
Resposta:
Tipo | Descrição |
---|---|
String | Nome da mídia |
Caminho completo da mídia no player
Resposta:
Tipo | Descrição |
---|---|
String | Caminho completo da mídia |
Verifica se o player está em execução
Resposta:
Tipo | Descrição |
---|---|
Boolean |
Tempo total da mídia atual no player
Resposta:
Tipo | Descrição |
---|---|
Number | Tempo total em milissegundos |
Tempo atual da mídia no player
Resposta:
Tipo | Descrição |
---|---|
Number | Tempo atual da mídia em milissegundos |
Tempo decorrido da mídia no player
Resposta:
Tipo | Descrição |
---|---|
String | Tempo decorrido no formato HH:MM:SS |
Tempo restante da mídia no player
Resposta:
Tipo | Descrição |
---|---|
String | Tempo restante no formato HH:MM:SS |
Executar a ação play do player
Método sem retorno
Executar a ação pause do player
Método sem retorno
Executar a ação stop do player
Método sem retorno
Passa para o próximo item da lista no player
Método sem retorno
Passa para o item anterior da lista no player
Método sem retorno
Verifica se a opção repetir está ativada
Resposta:
Tipo | Descrição |
---|---|
Boolean |
Altera a opção repetir
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
repeat |
Boolean |
Método sem retorno
Verifica se o player está definido para executar itens em sequência
Resposta:
Tipo | Descrição |
---|---|
Boolean |
Altera a configuração do player para executar itens em sequência
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
executeAll |
Boolean |
Método sem retorno
Verifica se o player está definido para executar somente o item atual da lista
Resposta:
Tipo | Descrição |
---|---|
Boolean |
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
Verifica se a opção aleatório está ativada
Resposta:
Tipo | Descrição |
---|---|
Boolean |
Altera a opção aleatório
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
shuffle |
Boolean |
Método sem retorno
Verifica se a opção tela cheia está ativada
Resposta:
Tipo | Descrição |
---|---|
Boolean |
Altera a opção tela cheia do player
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
fullscreen |
Boolean |
Método sem retorno
Volume atual do player
Resposta:
Tipo | Descrição |
---|---|
Number | Volume. Mínimo=0, Máximo=100 |
Altera o volume do player
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
volume |
Number | Mínimo=0, Máximo=100 |
Método sem retorno
Verifica se a opção mudo está ativada
Resposta:
Tipo | Descrição |
---|---|
Boolean |
Altera a opção mudo
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
mute |
Boolean |
Método sem retorno
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);
}
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);
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 complexas utilizadas como retorno em alguns métodos
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 |
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 |
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 |
Nome | Tipo | Descrição |
---|---|---|
name |
String | Nome do item |
Nome | Tipo | Descrição |
---|---|---|
code |
Number | Código midi |
velocity |
Number | Velocidade/intensidade midi |
Nome | Tipo | Descrição |
---|---|---|
id |
String | ID do item |
name |
String | Nome do item |
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 |
Nome | Tipo | Descrição |
---|---|---|
id |
String | ID do item |
name |
String | Nome do item |
Nome | Tipo | Descrição |
---|---|---|
id |
String | ID do item |
name |
String | Nome do item |
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) |
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) |