/jslib

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

jslib

PT | EN | ES

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');

log(key = null, obj, args = null)

log.add(key = null, obj, args = null)

  • v2.20.0

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

Parâmetros:

Nome Tipo Descrição
key String Chave/id de gerenciamento do log
obj Object Qualquer objeto para ser exibido na janela de log
args Array<Object> Parâmetros para formatação de uma mensagem de log

Método sem retorno

Exemplo:

h.log('xyz', 'mensagem de log');

h.log('xyz', 'mensagem de log {} abc {}', ['value 1', 'value 2']);
//output:
//mensagem de log value 1 abc value 2

h.log('mensagem de log {} abc {}', ['value 1', 'value 2']);
//output:
//mensagem de log value 1 abc value 2

log.enable(key)

log.disable(key)

  • v2.20.0

Ativar/desativar a visualização de logs da chave/id passada por parâmetro. Todas as chaves/ids iniciam desativadas por padrão

Parâmetros:

Nome Tipo Descrição
key String Chave/id de gerenciamento do log

Método sem retorno

Exemplo:

h.log.enable('xyz');
h.log.disable('xyz');

log.enableAll()

log.disableAll()

  • v2.20.0

Ativa/desativa a visualização de todos os logs

Método sem retorno

Exemplo:

h.log.enableAll();
h.log.disableAll();

log.isEnabled(key)

log.isDisabled(key)

  • v2.20.0

Verifica se a visualização está ativada/desativada para a respectiva chave/id

Parâmetros:

Nome Tipo Descrição
key String Chave/id de gerenciamento do log

Resposta:

Tipo Descrição
Boolean

Exemplo:

if (h.log.isEnabled('xyz')) {
    //...
}

if (h.log.isDisabled('xyz')) {
    //...
}

log.setShowLogKey(value)

  • v2.20.0

Ativa/desativa a exibição chave/id junto da mensagem na janela de log

Parâmetros:

Nome Tipo Descrição
value Boolean

Método sem retorno

Exemplo:

h.log.setShowLogKey(false);

log.isShowLogKey()

  • v2.20.0

Verifica se a exibição da chave está ativada

Resposta:

Tipo Descrição
Boolean

Exemplo:

if (h.log.isShowLogKey()) {
    //...
}

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

base64DecodeAsString(str, charset = 'utf8')

  • v2.21.0

Decodifica uma string em formato base64

Parâmetros:

Nome Tipo Descrição
str String String em base64
charset String (opcional) Charset para conversão dos bytes decodificados

Resposta:

Tipo Descrição
String String decodificada

hash(hashName, data)

  • v2.21.0

Retorna o hash do parâmetro informado

Parâmetros:

Nome Tipo Descrição
hashName String Pode ser: MD5 SHA-1 SHA-256 SHA-384 SHA-512
data Object Valor que será calculado. Pode ser string ou array de bytes

Resposta:

Tipo Descrição
String hash

Exemplo:

var hash = h.hash('SHA-512', "Exemplo");

hashBytes(hashName, data)

  • v2.21.0

Retorna o hash do parâmetro informado

Parâmetros:

Nome Tipo Descrição
hashName String Pode ser: MD5 SHA-1 SHA-256 SHA-384 SHA-512
data Object Valor que será calculado. Pode ser string ou array de bytes

Resposta:

Tipo Descrição
Array<byte> hash

Exemplo:

var bytes = h.hashBytes('SHA-512', "Exemplo");

checksum(checksumName, data)

  • v2.21.0

Retorna o checksum do parâmetro informado

Parâmetros:

Nome Tipo Descrição
hashName String Pode ser: ADLER-32 CRC32
data Object Valor que será calculado. Pode ser string ou array de bytes

Resposta:

Tipo Descrição
Number checksum

Exemplo:

var crc32 = h.checksum('CRC32', "Exemplo");

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

sha512(value)

  • v2.20.0

Hash SHA-512 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-512

sha512Str(value)

  • v2.20.0

Hash SHA-512

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-512

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, ttl = 0)

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
ttl Number (opcional) Duração em segundos para o acesso à variável expirar v2.21.0+

Método sem retorno

Exemplo:

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

//expires in 1 hour
h.setGlobal('xyz', 'Exemplo', 3600);

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);

setGlobalNext(key, values, ttl = 0)

  • v2.21.0

É o mesmo que setGlobal, porém o parâmetro values é uma lista de itens, e o valor que será salvo em setGlobal é o próximo item da lista (baseado no item atual) ou o primeiro item da lista (se o item atual for null, ou for o último item da lista, ou não existir na lista).

Parâmetros:

Nome Tipo Descrição
key String chave/id do objeto salvo
values Object Objeto, array, map ou lista com os possíveis valores
ttl Number Duração em segundos para o acesso à variável expirar

Método sem retorno

Exemplo:

//h.getGlobal('xyz') == null
h.setGlobalNext('xyz', ['a', 'b', 'c']);
//h.getGlobal('xyz') == 'a'

h.setGlobalNext('xyz', ['a', 'b', 'c']);
//h.getGlobal('xyz') == 'b'

h.setGlobalNext('xyz', ['a', 'b', 'c']);
//h.getGlobal('xyz') == 'c'

h.setGlobalNext('xyz', ['a', 'b', 'c']);
//h.getGlobal('xyz') == 'a'

getGlobalAndSet(key, default = null, newValue)

getGlobalAndSet(key, newValue)

  • v2.21.0

É o mesmo que getGlobal seguido de setGlobal.

Parâmetros:

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

Resposta:

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

Exemplo:

var r = h.getGlobalAndSet('xyz', "Novo valor");

getGlobalAndSetNext(key, values)

  • v2.21.0

É o mesmo que getGlobal seguido de setGlobalNext.

Parâmetros:

Nome Tipo Descrição
key String chave/id do objeto salvo
values Object Objeto, array, map ou lista com os possíveis valores

Resposta:

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

Exemplo:

//h.getGlobal('xyz') == null
var r = h.getGlobalAndSetNext('xyz', ['a', 'b', 'c']);
//r == null
//h.getGlobal('xyz') == 'a'

r = h.getGlobalAndSetNext('xyz', ['a', 'b', 'c']);
//r == 'a'
//h.getGlobal('xyz') == 'b'

setGlobalNextAndGet(key, values)

  • v2.21.0

É o mesmo que setGlobalNext seguido de getGlobal

Parâmetros:

Nome Tipo Descrição
key String chave/id do objeto salvo
values Object Objeto, array, map ou lista com os possíveis valores

Método sem retorno

Exemplo:

//h.getGlobal('xyz') == null
var r = h.setGlobalNextAndGet('xyz', ['a', 'b', 'c']);
//r == 'a'
//h.getGlobal('xyz') == 'a'

r = h.setGlobalNextAndGet('xyz', ['a', 'b', 'c']);
//r == 'b'
//h.getGlobal('xyz') == 'b'

random(min, max, keySafeRepeat = null)

Gera um número aleatório

Parâmetros:

Nome Tipo Descrição
min Number valor mínimo
max Number Valor máximo
keySafeRepeat String (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

random(x, y, z)

  • v2.21.0

Obter um valor aleatório baseado nos valores de entrada

Combinações possíveis: (x = number) Retorna um valor aleatório de 0 a x

(x = number, y = number) Retorna um valor aleatório de x a y

(x = string) Retorna um caractere aleatório da string x

(x = array) Retorna um objeto aleatório do array x

(x = object) Retorna um campo aleatório do objeto x

É possível adicionar um parâmetro adicional do tipo string como argumento nas chamadas acima para ser utilizado como 'keySafeRepeat' (para evitar um valor repetido ser sorteado em sequência) Exemplo: (x = number, y = number, x = string)

Parâmetros:

Nome Tipo Descrição
x Object
y Object (opcional)
z Object (opcional)

Resposta:

Tipo Descrição
Object

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

var r = h.random(10);
h.log('Número aleatório de 0 a 10: ' + r);

var r = h.random("abcd");
h.log('Caractere aleatório da string abcd: ' + r);

var r = h.random([20, 25, 30]);

var r = h.random([20, 25, 30], 'xyz');
var r = h.random([20, 25, 30], 'xyz');
//Não repete o valor sorteado anteriormente

var r = h.random(['z', 123, false]);

startTimer(key = 'default')

Inicia um timer

Parâmetros:

Nome Tipo Descrição
key String (opcional) Chave/id do timer Padrão: 'default'

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 = 'default')

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 (opcional) Chave/id do timer Padrão: 'default'

Resposta:

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

Exemplo:

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

getTimerMillis(key)

  • v2.21.0

Recupera quanto tempo foi decorrido (em milésimos de segundo) 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á 0

Parâmetros:

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

Resposta:

Tipo Descrição
Number Tempo decorrido em milésimos de segundo

getTimerSeconds(key)

  • v2.21.0

Recupera quanto tempo foi decorrido (em segundos) 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á 0

Parâmetros:

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

Resposta:

Tipo Descrição
Number Tempo decorrido em segundos

startCountdown(key = 'default', seconds)

  • v2.20.0

Inicia uma contagem regressiva

Parâmetros:

Nome Tipo Descrição
key String (opcional) Chave/id da contagem regressiva Padrão: 'default'
seconds Number Duração total da contagem regressiva em segundos

Método sem retorno

Exemplo:

h.startCountdown('xyz', 300);
h.sleep(2000); //2 segundos
var r = h.getCountdown('xyz');
h.log('Tempo restante: ' + r); //provavelmente 00:04:58

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

getCountdown(key = 'default')

  • v2.20.0

Recupera quanto tempo resta em uma contagem regressiva de acordo com o valor key.

Parâmetros:

Nome Tipo Descrição
key String (opcional) Chave/id da contagem regressiva Padrão: 'default'

Resposta:

Tipo Descrição
String Tempo restante no formato HH:MM:SS (retorna valores negativos após limite de tempo)

Exemplo:

var r = h.getCountdown('xyz');
h.log('Tempo restante: ' + r);

getCountdownMillis(key)

  • v2.21.0

Recupera quanto tempo resta em uma contagem regressiva de acordo com o valor key.

Parâmetros:

Nome Tipo Descrição
key String Chave/id da contagem regressiva

Resposta:

Tipo Descrição
Number Tempo restante em milissegundos (retorna valores negativos após limite de tempo)

getCountdownSeconds(key)

  • v2.21.0

Recupera quanto tempo resta em uma contagem regressiva de acordo com o valor key.

Parâmetros:

Nome Tipo Descrição
key String Chave/id da contagem regressiva

Resposta:

Tipo Descrição
Number Tempo restante em segundos (retorna valores negativos após limite de tempo)

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, input = null)

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

Parâmetros:

Nome Tipo Descrição
id String id do item
input Object (opcional) Valores que serão definidos para Function Input v2.20.0+

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');
}

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

apiAction(id, input = null)

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

Parâmetros:

Nome Tipo Descrição
id String id do item
input Object (opcional) Valores que serão definidos para Function Input v2.20.0+

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');
}

var r = h.apiAction('abcxyz', {
    id_example_1: 'abc',
    id_example_2: 10
});
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.

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('receiver_id', {
    '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');
}

//-------------------------------------------------

//Parâmetros disponíveis para requisição
var r = h.apiRequest('receiver_id', {
    //parâmetro adicionado ao final da url definida no receptor
    url_suffix: 'test.php?x=1&y=2&z=3', /* opcional */
    
    //cabeçalho da requisição
    headers: { /* opcional */
        Authorization: '1234'
    },
    
    //corpo da requisição (exceto para tipo GET)
    //pode ser byte array para UDP e TCP
    //data: h.createByteBuffer().putString('example').toBytes(),
    data: "example",
    
    //codificação da resposta da requisição, utf-8 por padrão
    //response_data_type: "string;iso-8859-1",
    //response_data_type: "base64",
    response_data_type: "string;utf-8", /* opcional */
    
    //Disponível para: UDP
    wait_for_response: true, /* opcional */
    
    //Disponível para: UDP
    port: 1234, /* opcional */
    
    //timeout ms - default: 5000 - UDP: 2000
    timeout: 5000 /* opcional */
});

getApiRequestLastError()

  • v2.19.0

Retorna o erro da última requisição apiRequest realizada.

Resposta:

Tipo Descrição
String Erro da última requisição ou NULL se não houver erro

apiRequestAsync(id, raw, callback = null)

  • v2.19.0

Executa uma requisição para o receptor associado de forma assíncrona. O resultado pode ser acessado criando uma função anônima como callback.

Parâmetros:

Nome Tipo Descrição
id String id do receptor
raw Object dados da requisição
callback Function (opcional) função anônima utilizada como callback da requisição. function(response, error){}

Método sem retorno

Exemplo:

//funciona como apiRequest, porém de forma assíncrona
//
//aguarda o retorno, pode demorar
//a próxima linha é executada somente quando a requisição for concluída
var r = h.apiRequest('abcxyz', {
    'request-type': 'GetSceneList'
});
//próxima linha

//não aguarda o retorno
//a próxima linha é executada logo em seguida
h.apiRequestAsync('abcxyz', {
    'request-type': 'GetSceneList'
}, function (response, error) {
    //callback da requisição
});
//próxima linha

apiRequestEx(id, raw)

  • v2.21.0

O mesmo que apiRequest(id, raw), porém lança uma exception ao ocorrer um erro, em vez de retornar null

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

setTimeout(function, timeout)

  • v2.19.0

Executa uma função após alguns milissegundos.

Parâmetros:

Nome Tipo Descrição
function Function Função que será executada
timeout Number Tempo em milissegundos para aguardar até a execução

Resposta:

Tipo Descrição
Number Retorna o ID da tarefa. Você pode utilizar o ID para cancelar a execução.

Exemplo:

var id = h.setTimeout(function () {
    //tarefa que será executada em 60 segundos
}, 60000);

clearTimeout(id)

  • v2.19.0

Cancela a execução da função agendada anteriormente.

Parâmetros:

Nome Tipo Descrição
id Function ID retornado do método setTimeout

Método sem retorno

Exemplo:

var id = h.setTimeout(function () {
    //tarefa que será executada em 60 segundos
}, 60000);

//cancela a execução da tarefa
h.clearTimeout(id);

setInterval(function, timeout)

  • v2.19.0

Executa uma função a cada X milissegundos. Utilize clearInterval para parar a execução.

Parâmetros:

Nome Tipo Descrição
function Function Função que será executada
timeout Number Intervalo em milissegundos entre cada execução

Resposta:

Tipo Descrição
Number Retorna o ID da tarefa. Você pode utilizar o ID para parar a execução.

Exemplo:

var id = h.setInterval(function () {
    //tarefa que será executada a cada 15 segundos
}, 15000);

clearInterval(id)

  • v2.19.0

Cancela a execução da função agendada anteriormente.

Parâmetros:

Nome Tipo Descrição
id Function ID retornado do método setInterval

Método sem retorno

Exemplo:

var id = h.setInterval(function () {
    //tarefa que será executada a cada 15 segundos
}, 15000);

//parar a execução
h.clearInterval(id);

getHostname()

  • v2.19.0

Retorna o nome do equipamento.

Resposta:

Tipo Descrição
String Nome do equipamento

getRuntimeEnvironment()

getRE()

  • v2.19.0

Retorna o nome do ambiente de execução definido atualmente nas configurações do programa.

Resposta:

Tipo Descrição
String Nome do ambiente de execução

setRuntimeEnvironment(name)

setRE(name)

  • v2.19.0

Altera o ambiente de execução atual.

Parâmetros:

Nome Tipo Descrição
name String Nome do ambiente de execução

Resposta:

Tipo Descrição
Object Retorna true ou item not found

isRuntimeEnvironment(name)

isRE(name)

  • v2.19.0

Verifica se o ambiente de execução atual é igual ao passado por parâmetro.

Parâmetros:

Nome Tipo Descrição
name String Nome do ambiente de execução

Resposta:

Tipo Descrição
Boolean Retorna true ou false

getVersion()

  • v2.20.0

Retorna a versão atual do programa.

Resposta:

Tipo Descrição
String Versão no formato: X.Y.Z

Exemplo:

if (h.getVersion() == "2.20.0") {
    //...
}

isMinimumVersion(version)

isMinVersion(version)

  • v2.20.0

Verifica se a versão do programa é igual ou superior ao informado por parâmetro.

Parâmetros:

Nome Tipo Descrição
value String Versão no formato: X.Y.Z

Resposta:

Tipo Descrição
Boolean

Exemplo:

if (h.isMinimumVersion('2.20.0')) {
    //A versão atual é igual ou superior a 2.20.0
}

getLanguage()

  • v2.20.0

Retorna o idioma atual definido nas configurações do programa.

Resposta:

Tipo Descrição
String Idioma no formato ISO 639 two-letter

Exemplo:

switch (h.getLanguage()) {
    case 'en':
        //...
        break;
    case 'pt':
        //...
        break;
    case 'es':
        //...
        break;
    default:
        //...
        break;
}

isLanguage(language)

  • v2.20.0

Verifica se o idioma atual definido nas configurações do programa é igual ao valor passado por parâmetro.

Parâmetros:

Nome Tipo Descrição
language String Idioma no formato ISO 639 two-letter

Resposta:

Tipo Descrição
Boolean

Exemplo:

if (h.isLanguage('pt')) {
    //...
}

getUITheme()

  • v2.20.0

Retorna o tema atual da interface do programa.

Resposta:

Tipo Descrição
String Um dos seguintes valores: DEFAULT DARK_SOFT DARK_MEDIUM DARK_STRONG

Exemplo:

if (h.getUITheme() == 'DEFAULT') {
    //...
}

isUITheme(value)

  • v2.20.0

Verifica se o tema atual atual da interface é igual ao valor passado por parâmetro.

Parâmetros:

Nome Tipo Descrição
value String Nome do tema

Resposta:

Tipo Descrição
Boolean

Exemplo:

if (h.isUITheme('DARK_STRONG')) {
    //...
}

format.secondsToHMS(seconds, separator = ':')

secToHMS(seconds, separator)

  • v2.20.0

Formatar uma quantidade de segundos como hora|minuto|segundo.

Parâmetros:

Nome Tipo Descrição
seconds Number Quantidade total de segundos
separator String (opcional) Separador Padrão: ':'

Resposta:

Tipo Descrição
String Valor formatado

Exemplo:

var r = h.format.secondsToHMS(3905);
h.log(r);
//output:
//01:05:05

var r = h.format.secondsToHMS(3905, ',');
h.log(r);
//output:
//01,05,05
//

format.secondsToMS(seconds, separator = ':')

secToMS(seconds, separator)

  • v2.20.0

Formatar uma quantidade de segundos como minuto|segundo.

Parâmetros:

Nome Tipo Descrição
seconds Number Quantidade total de segundos
separator String (opcional) Separador Padrão: ':'

Resposta:

Tipo Descrição
String Valor formatado

Exemplo:

var r = h.format.secondsToMS(305);
h.log(r);
//output:
//05:05

var r = h.format.secondsToMS(305, ',');
h.log(r);
//output:
//05,05

format.minutesToHM(minutes, separator = ':')

  • v2.20.0

Formatar uma quantidade de minutos como hora|minuto.

Parâmetros:

Nome Tipo Descrição
minutes Number Quantidade total de minutos
separator String (opcional) Separador Padrão: ':'

Resposta:

Tipo Descrição
String Valor formatado

Exemplo:

var r = h.format.minutesToHM(90);
h.log(r);
//output:
//01:30

var r = h.format.minutesToHM(90, ',');
h.log(r);
//output:
//01,30

format.f(format, params)

  • v2.21.0

Um alias para o formatador padrão em Java java.util.Formatter Documentação

Parâmetros:

Nome Tipo Descrição
format String
params Array<Object>

Resposta:

Tipo Descrição
String Valor formatado

Exemplo:

var r = h.format.f("Exemplo: %s, %.2f", ['abc', 100.1234]);
//r == Exemplo: abc, 100,12

date.getSecondOfDay()

  • v2.20.0

Retorna a quantidade total de segundos do dia (hour * 3600 + minute * 60 + second)

Resposta:

Tipo Descrição
Number

Exemplo:

var r = h.date.getSecondOfDay();
//00:00:00 = 0
//23:59:59 = 86399

csvToArray(csv)

  • v2.21.0

Converte um CSV (string) em um array bidimensional

Parâmetros:

Nome Tipo Descrição
csv String String no formato CSV

Resposta:

Tipo Descrição
Array<Object>

Exemplo:

var csv = "1,2,3,4\n5,6,7,8\nab,c,d,e\nf,gh,i,j";
var r = h.csvToArray(csv);
//r == [
//  ['1', '2', '3', '4'],
//  ['5', '6', '7', '8'],
//  ['ab', 'c', 'd', 'e'],
//  ['f', 'gh', 'i', 'j']
//]

addTriggerListener(input)

  • v2.21.0

Registrar um gatilho para execução

Parâmetros:

Nome Tipo Descrição
input TriggerItem

Resposta:

Tipo Descrição
String Retorna o ID do item registrado (gerado automaticamente se input.id for null)

Exemplo:

var r = h.addTriggerListener({
    when: 'displaying',
    item: 'any_song',
    action: function (obj) {
        if (obj.title == 'Exemplo') {
            //do action
        }
    }
});

var r = h.addTriggerListener({
    id: 'abc',
    when: 'closing',
    item: 'any_image',
    action: function (obj) {
        if (obj.file_relative_path == 'image.jpg') {
            //do action
            return;
        }
        if (h.isPathEquals(obj.file_relative_path, 'folder/image.jpg')) {
            //do action
            return;
        }
    }
});

h.addTriggerListener({
    id: 'log_bpm_changed',
    when: 'change',
    item: 'bpm',
    action: function (obj) {
        h.log("", "BPM changed, {} to {}", [obj.new_value, obj.old_value]);
    }
});
h.setTimeout(function () {
    h.removeTriggerListener('log_bpm_changed');
}, 60000);

removeTriggerListener(id)

  • v2.21.0

Remover um gatilho registrado

Parâmetros:

Nome Tipo Descrição
id String ID do item

Resposta:

Tipo Descrição
Boolean Retorna true para removido. Retorna false para ID não foi encontrado

Exemplo:

var r = h.removeTriggerListener('xyz');

containsTriggerListener(id)

  • v2.21.0

Verifica se um gatilho com o ID específico já está registrado

Parâmetros:

Nome Tipo Descrição
id String ID do item

Resposta:

Tipo Descrição
Boolean

getTriggerListeners()

  • v2.21.0

Retorna a lista de gatilhos registrados

Resposta:

Tipo Descrição
Array<TriggerItem>

Exemplo:

var items = h.getTriggerListeners();
for (var i = 0; i < items.length; i++) {
    h.log("ID: " + items[i].id);
}

readAudio(file)

readVideo(file)

readImage(file)

readFile(file)

  • v2.21.0

Ler um arquivo da biblioteca do programa (max=16mb)

Parâmetros:

Nome Tipo Descrição
file String Nome do arquivo

Resposta:

Tipo Descrição
Array<byte> Array de bytes do arquivo

Exemplo:

var r = h.readImage('file.jpg');

readAudioAsBase64(file)

readImageAsBase64(file)

readVideoAsBase64(file)

readFileAsBase64(file)

  • v2.21.0

Ler um arquivo da biblioteca do programa (max=16mb)

Parâmetros:

Nome Tipo Descrição
file String Nome do arquivo

Resposta:

Tipo Descrição
String Bytes do arquivo em formato base64

Exemplo:

var r = h.readImageAsBase64('file.jpg');

readFileAsText(file, charset = 'utf8')

  • v2.21.0

Ler um arquivo da biblioteca do programa (max=16mb)

Parâmetros:

Nome Tipo Descrição
file String Nome do arquivo
charset String (opcional) Codificação do arquivo

Resposta:

Tipo Descrição
String Conteúdo do arquivo em formato de texto

Exemplo:

var r = h.readFileAsText('file.txt');

isPathEquals(a, b)

  • v2.21.0

Verifica se os dois caminhos são iguais, ignorando distinção de maiúsculo para Windows e considerando '' e '/' como iguais

Parâmetros:

Nome Tipo Descrição
a String
b String (opcional)

Resposta:

Tipo Descrição
Boolean

Exemplo:

//Windows = true, Unix|OSX = false
h.isPathEquals('file.jpg', 'File.jpg');

//true
h.isPathEquals('image/file.jpg', 'image\file.jpg');

//false
h.isPathEquals('file.jpg', 'file.jpeg');

bytesToString(bytes, charset = 'UTF-8')

  • v2.22.0

Converte um array de bytes em string

Parâmetros:

Nome Tipo Descrição
bytes Array<byte> Array de bytes
charset String (opcional) Codificação utilizada Padrão: UTF-8

Resposta:

Tipo Descrição
String String decodificada. O método gera um exception para charset inválido

stringToBytes(string, charset = 'UTF-8')

  • v2.22.0

Converte uma string em array de bytes

Parâmetros:

Nome Tipo Descrição
string String Texto que será codificado
charset String (opcional) Codificação utilizada Padrão: UTF-8

Resposta:

Tipo Descrição
Array<byte> Array de bytes. O método gera um exception para charset inválido

exportTXT(text, settings = null)

  • v2.22.0

Salvar um conteúdo em um arquivo TXT. Pode gerar Exception.

Parâmetros:

Nome Tipo Descrição
text String Texto que será salvo
settings Object (opcional) Configurações
settings.name String (opcional) Nome do arquivo Padrão: YYYY-MM-DD_HH-MM-SS
settings.charset String (opcional) Codificação do texto Padrão: UTF-8

Método sem retorno

Exemplo:

h.exportTXT("abc", {
    name: "txt filename"
});

exportXLSX(data)

  • v2.22.0

Salvar um conteúdo em uma planilha XLSX. Pode gerar Exception.

Parâmetros:

Nome Tipo Descrição
data.name String (opcional) Nome do arquivo Padrão: YYYY-MM-DD_HH-MM-SS
data.sheets Array<Object> Abas
data.sheets.*.name String Nome da aba
data.sheets.*.header String Cabeçalho
data.sheets.*.cols_name Array<String> Título das colunas
data.sheets.*.grid Array<Array<String>> Abas

Método sem retorno

Exemplo:

h.exportXLSX({
    name: "xlsx filename",
    sheets: [
      {
        name: "Name",
        header: "Example",
        cols_name: ["Col 1", "Col 2", "Col 3", "Col 4"],
        grid: [
          ['a', 'b', 'c', 'd'], //ROW 1
          ['e', 'f', 'g', 'h'], //ROW 2
          ['i', 'j', 'k', 'l'], //ROW 3
          ['m', 'n', 'o', 'p']  //ROW 4
         ]
      }
    ]
});

createByteBuffer()

  • v2.22.0

Cria um objeto para armazenar dados em forma binária.

Resposta:

Tipo Descrição
ByteBuffer

Exemplo:

var buf = h.createByteBuffer();
buf.putByte(48); //1 byte
buf.putInt(123); //4 bytes
buf.putLong(1234); //8 bytes
buf.putFloat(3.0); //4 bytes
buf.putDouble(4.0); //8 bytes
buf.putString("text"); //utf-8 default
buf.putString("text", "ISO-8859-1"); //text, charset

//add byte(48) 128 times
buf.fill(48, 128); //byte, times

var bytes = buf.toBytes();
var hex = buf.toHex();
var base64 = buf.toBase64();
var str1 = buf.toString(); //utf-8 default
var str2 = buf.toString("ISO-8859-1"); //charset

createByteBufferToRead(reader)

  • v2.22.0

Cria um objeto preenchido com bytes para leitura em forma binária.

Parâmetros:

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

Resposta:

Tipo Descrição
ByteBuffer

Exemplo:

var bytes = [
    48,
    0, 0, 0, 123,
    0, 0, 0, 0, 0, 0, 4, -46,
    64, 64, 0, 0, 
    64, 16, 0, 0, 0, 0, 0, 0,
    116, 101, 120, 116,
    116, 101, 120, 116
];
var buf = h.createByteBufferToRead(bytes);

var b = buf.readByte(); //1 byte
var i = buf.readInt(); //4 bytes
var l = buf.readLong(); //8 bytes
var f = buf.readFloat(); //4 bytes
var d = buf.readDouble(); //8 bytes
var s1 = buf.readString(4); //length, utf-8 default
var s2 = buf.readString(4, "ISO-8859-1"); //length, charset
var b2 = buf.readBytes(128); //length

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('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('GetSongs')

  • v2.21.0

Retorna a lista de músicas

Resposta:

Nome Tipo Descrição
data Array<Lyrics>

Exemplo:

var r = h.hly('GetSongs');
for (var i = 0; i < r.data.length; i++) {
    var s = r.data[i];
    h.log("", "ID: {}, Title: {}", [s.id, s.title]);
}

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('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('GetText', input)

  • v2.21.0

Retorna um texto.

Parâmetros:

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

Resposta:

Nome Tipo Descrição
data Text Texto ou NULL se não for encontrado

Exemplo:

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

hly('GetTexts')

  • v2.21.0

Retorna a lista de textos

Resposta:

Nome Tipo Descrição
data Array<Text>

Exemplo:

var r = h.hly('GetTexts');
for (var i = 0; i < r.data.length; i++) {
    var t = r.data[i];
    h.log("", "ID: {}, Title: {}", [t.id, t.title]);
}

hly('SearchText', input)

  • v2.21.0

Realiza uma busca na lista de textos do usuário

Parâmetros:

Nome Tipo Descrição
input String Filtro
input.text String Texto a ser pesquisado

Resposta:

Nome Tipo Descrição
data Array<Lyrics>

Exemplo:

var r = h.hly('SearchText', {
    text: '...'
});
if (r.data.length == 0) {
    h.log("Item não encontrado");
} else {
    h.hly('ShowText', {id: r.data[0].id});
}

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' (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
input.version String (opcional) Nome ou abreviação da tradução utilizada v2.21.0+

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',
    version: 'en_kjv'
});

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

hly('GetAudios', input)

hly('GetVideos', input)

hly('GetImages', input)

hly('GetFiles', input) v2.21.0+

  • v2.19.0

Retorna a lista de arquivos da respectiva aba: áudio, vídeo, imagem, arquivo

Parâmetros:

Nome Tipo Descrição
input.folder String (opcional) Nome da subpasta para listar os arquivos
input.filter String (opcional) Filtrar arquivos pelo nome
input.include_metadata Boolean (opcional) Adicionar metadados na resposta Padrão: false v2.22.0+
input.include_thumbnail Boolean (opcional) Adicionar thumbnail na resposta (80x45) Padrão: false v2.22.0+

Resposta:

Nome Tipo Descrição
data Array<Object>
data.*.name String Nome do item
data.*.isDir Boolean Retorna true se for uma pasta ou false se for arquivo.

Disponível se include_metadata=true
data.*.length Number Tamanho do arquivo (bytes). Disponível se isDir=false v2.22.0+
data.*.modified_time String Data de modificação do arquivo. Data e hora no formato: YYYY-MM-DD HH:MM v2.22.0+
data.*.duration_ms Number Duração do arquivo. Disponível se o arquivo for: audio ou vídeo v2.22.0+
data.*.width Number Largura. Disponível se o arquivo for: imagem ou vídeo v2.22.0+
data.*.height Number Altura. Disponível se o arquivo for: imagem ou vídeo v2.22.0+
data.*.position String Ajuste da imagem. Disponível para imagens. Pode ser: adjust extend fill v2.22.0+
data.*.blur Boolean Aplicar efeito blur v2.22.0+
data.*.transparent Boolean Exibir imagens com transparência v2.22.0+

Disponível se include_thumbnail=true
data.*.thumbnail String Imagem no formato base64 v2.22.0+

Exemplo:

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

var r = h.hly('GetVideos', {folder: 'abc'});

var r = h.hly('GetImages', {filter: 'text'});

var r = h.hly('GetFiles', {
    folder: 'name 1/name 2',
    filter: 'text'
});

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
input.settings PlayMediaSettings (opcional) Configurações para execução da mídia v2.21.0+

Método sem retorno

Exemplo:

h.hly('PlayAudio', {file: 'arquivo.mp3'});
h.hly('PlayAudio', {file: 'pasta'});
h.hly('PlayAudio', {
    file: 'pasta/arquivo.mp3',
    settings: {
        stop_time: "2:10",
        repeat: true
    }
});

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

h.playAudio('arquivo.mp3', {
    volume: 90,
    start_time: '30'
});

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
input.settings PlayMediaSettings (opcional) Configurações para execução da mídia v2.21.0+

Método sem retorno

Exemplo:

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

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

h.playVideo('arquivo.mp4', {
    volume: 0,
    repeat: true
});

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('ExecuteFile', input)

  • v2.21.0

Executa um arquivo. Disponível apenas para extensões seguras, como áudio, vídeo, imagem, documentos, etc.

Parâmetros:

Nome Tipo Descrição
input.file String Nome do arquivo

Método sem retorno

Exemplo:

h.hly('ExecuteFile', {
    file: 'file.txt'
});

//Chamada alternativa
h.executeFile("file.txt");

hly('AudioExists', input)

hly('VideoExists', input)

hly('ImageExists', input)

hly('FileExists', input)

  • v2.21.0

Verifica se existe o arquivo com o nome informado

Parâmetros:

Nome Tipo Descrição
input.file String Nome do arquivo

Resposta:

Nome Tipo Descrição
data Boolean

Exemplo:

var r = h.hly('AudioExists', {file: 'audio.mp3'});
if (r.data) {
    //exists
}
h.hly('VideoExists', {file: 'video.mp4'});
h.hly('ImageExists', {file: 'image.jpg'});
h.hly('FileExists', {file: 'file.txt'});

//Chamada alternativa
if (h.audioExists("audio.mp3")) {
    //exists
}
h.videoExists("video.mp4");
h.imageExists("image.jpg");
h.fileExists("file.txt");

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('GetCustomMessages')

  • v2.19.0

Lista das mensagens personalizadas

Resposta:

Nome Tipo Descrição
data Array<CustomMessage>

Exemplo:

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

hly('ShowCustomMessage', input)

  • v2.19.0

Exibir uma mensagem personalizada. Obs.: Uma mensagem personalizada não é exibida diretamente na tela. é criada uma notificação no canto da tela para o operador aceitar e exibir.

Parâmetros:

Nome Tipo Descrição
input.name String Nome da mensagem personalizada
input.position_? Object (opcional) Variável adicionada na posição especificada conforme valor retornado em variables.*.position da classe CustomMessage.
input.params Object (opcional) Método alternativo. Mapa chave/valor onde a chave é o nome do campo variables.*.name da classe CustomMessage. Se necessário adicionar o mesmo parâmetro, adicione *_n no final do nome, começando em 2
Exemplo: input.params.name, input.params.name_2, input.params.name_3 v2.21.0+
input.note String Informação extra exibida na janela popup para o operador

Método sem retorno

Exemplo:

h.hly('ShowCustomMessage', {
    name: 'name',
    position_15: 'Value 1',
    position_28: 'Value 2',
    note: 'Com urgência'
});

h.hly('ShowCustomMessage', {
    name: 'name',
    params: {
        abc: 'Value 1',
        xyz: 'Value 2',
        aaa: 'Value 3',
        abc_2: 'Value 4'
    },
    note: 'Com urgência'
});

hly('ShowQuickPresentation', input)

Apresentação rápida de um texto

Parâmetros:

Nome Tipo Descrição
input.text String Texto que será exibido. Styled Text a partir da v2.19.0
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.theme.edit Theme (opcional) Configurações para modificar o Tema selecionado para exibição v2.21.0+
input.custom_theme Theme (opcional) Tema personalizado utilizado para exibir o texto v2.21.0+
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",
        edit: {
            font: {
                italic: true
            }
        }
    },
    automatic: {
        seconds: 5,
        repeat: true
    }
});

h.hly('ShowQuickPresentation', {
    text: "Texto que será exibido",
    custom_theme: {
        font: {
            name: "Arial",
            bold: true,
            size: 10,
            color: "FFFFFF"
        },
        background: {
            type: "color",
            id: "000000"
        }
    }
});

hly('ShowCountdown', input)

  • v2.20.0

Exibir uma contagem regressiva na tela público

Parâmetros:

Nome Tipo Descrição
input.time String HH:MM ou MM:SS
input.exact_time Boolean (opcional) Se true, time deve ser HH:MM (hora e minuto exato). Se false, time deve ser MM:SS (quantidade de minutos e segundos) Padrão: false
input.text_before String (opcional) Texto exibido na parte superior da contagem regressiva
input.text_after String (opcional) Texto exibido na parte inferior da contagem regressiva
input.zero_fill Boolean (opcional) Preencher o campo 'minuto' com zero à esquerda Padrão: false
input.countdown_relative_size Number (opcional) Tamanho relativo da contagem regressiva Padrão: 250
input.theme String (opcional) ID do Tema v2.21.0+
input.countdown_style FontSettings (opcional) Fonte personalizada para a contagem regressiva v2.21.0+
input.custom_theme Theme (opcional) Tema personalizado v2.21.0+

Método sem retorno

Exemplo:

h.hly('ShowCountdown', {
    time: '05:00', //5 minutes
    zero_fill: true
});

h.hly('ShowCountdown', {
    time: '19:00', //19:00
    exact_time: true,
    text_after: 'Example',
    countdown_style: {
        italic: true
    }
});

hly('ShowQuiz', input)

  • v2.20.0

Iniciar uma apresentação no formato múltipla escolha

Parâmetros:

Nome Tipo Descrição
input.questions Array<QuizQuestion> Questões para exibir
input.settings QuizSettings Configurações

Método sem retorno

Exemplo:

h.hly('ShowQuiz', {
    questions: [
        {
            title: 'Example 1',
            alternatives: [
                'Example 1a',
                'Example 2a',
                'Example 3a',
                'Example 4a'
            ],
            correct_alternative_number: 2
        }, {
            title: 'Example 2',
            alternatives: [
                'Example 1b',
                'Example 2b',
                'Example 3b',
                'Example 4b'
            ],
            correct_alternative_number: 2
        }
    ],
    settings: {
        display_alternatives_one_by_one: false,
        alternative_char_type: 'number'
    }
});

hly('QuizAction', input)

  • v2.20.0

Executar uma ação em uma apresentação de múltipla escolha

Parâmetros:

Nome Tipo Descrição
input.action String (opcional) Um dos seguintes valores: previous_slide next_slide previous_question next_question show_result close
input.hide_alternative Number (opcional) Ocultar uma alternativa. Começa em 1
input.select_alternative Number (opcional) Selecionar uma alternativa. Começa em 1
input.countdown Number (opcional) Iniciar uma contagem regressiva. [1-120]

Método sem retorno

Exemplo:

h.hly('QuizAction', {
    action: 'next_slide'
});

h.hly('QuizAction', {
    hide_alternative: 3
});

h.hly('QuizAction', {
    select_alternative: 1
});

hly('GetAutomaticPresentations')

hly('GetAPs', input)

  • v2.21.0

Retorna a lista de apresentações automáticas

Resposta:

Nome Tipo Descrição
data Array<Object>
data.*.name String Nome do arquivo. Exemplo: arquivo.ap

Exemplo:

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

hly('PlayAutomaticPresentation', input)

hly('PlayAP', input)

  • v2.19.0

Executa um item apresentação automática

Parâmetros:

Nome Tipo Descrição
input.file String Nome do arquivo. Exemplo: arquivo.ap
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.theme.edit Theme (opcional) Configurações para modificar o Tema selecionado para exibição v2.21.0+
input.custom_theme Theme (opcional) Tema personalizado utilizado para exibir a apresentação automática v2.21.0+

Método sem retorno

Exemplo:

h.hly('PlayAutomaticPresentation', {file: 'arquivo.ap'});

h.hly('PlayAP', {file: 'arquivo.ap'});

h.hly('PlayAP', {
    file: 'arquivo.ap',
    theme: {
        name: "Tema 3"
    }
});

//Chamadas alternativas
h.playAutomaticPresentation('arquivo.ap');
h.playAP('arquivo.ap');

hly('GetAutomaticPresentationPlayerInfo')

hly('GetAPPlayerInfo')

  • v2.20.0

Retorna as informações da apresentação automática em exibição

Resposta:

Nome Tipo Descrição
data.name String Nome do item
data.playing Boolean Verifica se o player está em execução
data.time_ms Number Tempo atual da mídia em milissegundos
data.volume Number Volume atual do player. Mínimo=0, Máximo=100
data.mute Boolean Verifica se a opção mudo está ativada
data.duration_ms Number Tempo total em milissegundos v2.21.0+

Exemplo:

var r = h.hly('GetAutomaticPresentationPlayerInfo');
if (r.data.name == 'abc') {
    //...
}

hly('AutomaticPresentationPlayerAction', input)

hly('APPlayerAction', input)

  • v2.20.0

Executa ações no player

Parâmetros:

Nome Tipo Descrição
input.action String (opcional) Nome da ação que será executada no player. play, pause, stop
input.volume Number (opcional) Altera o volume do player. Mínimo=0, Máximo=100
input.mute Boolean (opcional) Altera a opção mudo
input.time_ms Boolean (opcional) Alterar o tempo atual da mídia em milissegundos

Método sem retorno

Exemplo:

h.hly('AutomaticPresentationPlayerAction', {
    action: 'play',
    volume: 80
});

hly('GetMediaPlayerInfo')

Retorna as informações do player

Resposta:

Nome Tipo Descrição
data.name String Nome da mídia atual no player
data.path String Caminho completo da mídia no player
data.playing Boolean Verifica se o player está em execução
data.duration_ms Number Tempo total em milissegundos
data.time_ms Number Tempo atual da mídia em milissegundos
data.time_elapsed String Tempo decorrido no formato HH:MM:SS
data.time_remaining String Tempo restante no formato HH:MM:SS
data.volume Number Volume atual do player. Mínimo=0, Máximo=100
data.mute Boolean Verifica se a opção mudo está ativada
data.repeat Boolean Verifica se a opção repetir está ativada
data.execute_single Boolean Verifica se o player está definido para executar somente o item atual da lista
data.shuffle Boolean Verifica se a opção aleatório está ativada
data.fullscreen Boolean Verifica se a opção tela cheia está ativada

Exemplo:

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

hly('MediaPlayerAction', input)

  • v2.19.0

Executa ações no player

Parâmetros:

Nome Tipo Descrição
input.action String (opcional) Nome da ação que será executada no player. play, pause, stop, next, previous
input.volume Number (opcional) Altera o volume do player. Mínimo=0, Máximo=100
input.mute Boolean (opcional) Altera a opção mudo
input.repeat Boolean (opcional) Altera a opção repetir
input.shuffle Boolean (opcional) Altera a opção aleatório
input.execute_single Boolean (opcional) Altera a configuração do player para executar somente o item atual da lista
input.fullscreen Boolean (opcional) Altera a opção tela cheia do player
input.time_ms Boolean (opcional) Alterar o tempo atual da mídia em milissegundos v2.20.0+

Método sem retorno

Exemplo:

h.hly('MediaPlayerAction', {
    mute: false,
    repeat: true,
    volume: 80,
    action: 'play'
});

//alterar volume
h.hly('MediaPlayerAction', {volume: 80});

//deixar no mudo
h.hly('MediaPlayerAction', {mute: true});

//parar execução atual
h.hly('MediaPlayerAction', {action: 'stop'});

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('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 Array<Number> (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('SetLyricsPlaylistItem', input)

hly('SetSongPlaylistItem', input)

  • v2.22.0

Alterar um item da lista de reprodução de letra de música

Parâmetros:

Nome Tipo Descrição
input.index Number Índice do item na lista
input.song_id String Novo item

Método sem retorno

Exemplo:

h.hly('SetLyricsPlaylistItem', {
    index: 2,
    song_id: '123'
});

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('SetMediaPlaylistItem', input)

  • v2.22.0

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

Parâmetros:

Nome Tipo Descrição
input.index Number Índice do item na lista
input.item AddItem Novo item

Método sem retorno

Exemplo:

h.hly('SetMediaPlaylistItem', {
    index: 2,
    item: {
        type: 'song',
        id: '123'
    }
});

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('GetNextSongPlaylist')

  • v2.22.0

Retorna a próxima música da lista de reprodução. Pode ser null

Resposta:

Nome Tipo Descrição
data Lyrics

Exemplo:

var r = h.hly('GetNextSongPlaylist');

hly('GetNextMediaPlaylist')

  • v2.22.0

Retorna o próximo item executável da lista de reprodução de mídia. Pode ser null

Resposta:

Nome Tipo Descrição
data Item

Exemplo:

var r = h.hly('GetNextMediaPlaylist');

hly('ShowNextSongPlaylist')

  • v2.22.0

Executa a próxima música da lista de reprodução

Método sem retorno

Exemplo:

h.hly('ShowNextSongPlaylist');

hly('ShowNextMediaPlaylist')

  • v2.22.0

Executa o próximo item da lista de reprodução de mídia

Método sem retorno

Exemplo:

h.hly('ShowNextMediaPlaylist');

hly('GetPreviousSongPlaylist')

  • v2.22.0

Retorna a música anterior da lista de reprodução. Pode ser null

Resposta:

Nome Tipo Descrição
data Lyrics

Exemplo:

var r = h.hly('GetPreviousSongPlaylist');

hly('GetPreviousMediaPlaylist')

  • v2.22.0

Retorna o item anterior executável da lista de reprodução de mídia. Pode ser null

Resposta:

Nome Tipo Descrição
data Item

Exemplo:

var r = h.hly('GetPreviousMediaPlaylist');

hly('ShowPreviousSongPlaylist')

  • v2.22.0

Executa a música anterior da lista de reprodução

Método sem retorno

Exemplo:

h.hly('ShowPreviousSongPlaylist');

hly('ShowPreviousMediaPlaylist')

  • v2.22.0

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

Método sem retorno

Exemplo:

h.hly('ShowPreviousMediaPlaylist');

hly('AddToPlaylist', input)

  • v2.20.0

Adicionar itens à lista de reprodução de mídias

Parâmetros:

Nome Tipo Descrição
input.items Array<AddItem> Lista com os itens que serão adicionados
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.ignore_duplicates Boolean (opcional) Não duplicar itens ao adicionar novos itens, ou seja, não adiciona um item se ele já estiver na lista. Padrão: false

Método sem retorno

Exemplo:

var r = h.hly('AddToPlaylist', {
    items: [
        {
            type: 'song',
            id: 123456
        }, {
            type: 'song',
            id: 12345678
        }
    ],
    index: 3,
    ignore_duplicates: true
});

if (r.status != 'ok') {
    h.log(r.error);
}

var items = [
    {
        type: 'title',
        name: 'Título',
        background_color: "000080"
    }, {
        type: 'song',
        id: 12345678
    }, {
        type: 'verse',
        id: '19023001'
    }, {
        type: 'verse',
        ids: ['19023001', '43003016']
    }, {
        type: 'verse',
        references: 'Sl 23.1 Rm 12:2'
    }, {
        type: 'text',
        id: 'abcxyz'
    }, {
        type: 'audio',
        name: 'example.mp3'
    }, {
        type: 'video',
        name: 'example.mp4'
    }, {
        type: 'image',
        name: 'example.jpg'
    }, {
        type: 'automatic_presentation',
        name: 'example.ap'
    }, {
        type: 'title',
        name: 'Título 2'
    }, {
        type: 'announcement',
        id: 12345678
    }, {
        type: 'announcement',
        ids: [123, 456]
    }, {
        type: 'announcement',
        name: 'example'
    }, {
        type: 'announcement',
        names: ['example 2', 'example 3']
    }, {
        type: 'announcement',
        id: 'all',
        automatic: {
            seconds: 8,
            repeat: false
        }
    }, {
        type: 'title',
        name: 'Título 3'
    }, {
        type: 'countdown',
        time: '03:15'
    }, {
        type: 'countdown_cp',
        minutes: 15,
        stop_at_zero: true
    }, {
        type: 'cp_text',
        text: 'example'
    }, {
        type: 'script',
        id: 'abcxyz'
    }, {
        type: 'api',
        id: 'abcxyz'
    }
];

var r = h.hly('AddToPlaylist', {
    items: items
});
if (r.status != 'ok') {
    h.log(r.error);
}

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 Array<Number> (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('SetPlaylistItemDuration', input)

  • v2.21.0

Alterar duração de um item da lista de reprodução de mídia.

Parâmetros:

Nome Tipo Descrição
input.id String (opcional) ID do item
input.index Number (opcional) Posição do item na lista (inicia em zero).
input.duration Number (opcional) Duração do item (em segundos)

Método sem retorno

Exemplo:

h.hly('SetPlaylistItemDuration', {
    id: 'abc',
    duration: 300
});

hly('GetSlideDescriptions')

  • v2.21.0

Lista das descrições do slide disponíveis

Resposta:

Nome Tipo Descrição
data Array<SlideDescription>

Exemplo:

var r = h.hly('GetSlideDescriptions');
for (var i = 0; i < r.data.length; i++) {
    var s = r.data[i];
    h.log("", "Name: {}, Tag: {}", [s.name, s.tag]);
}

hly('GetFavorites')

Itens da barra de favoritos

Resposta:

Nome Tipo Descrição
data Array<FavoriteItem>

Exemplo:

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

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('GetApis')

  • v2.21.0

Retorna a lista de APIs

Resposta:

Nome Tipo Descrição
data Array<Object>
data.*.id String ID do item
data.*.name String Nome do item

Exemplo:

var r = h.hly('GetApis');
for (var i = 0; i < r.data.length; i++) {
    var o = r.data[i];
    h.log("", "ID: {}, Name: {}", [o.id, o.name]);
}

hly('GetScripts')

  • v2.21.0

Retorna a lista de scripts

Resposta:

Nome Tipo Descrição
data Array<Object>
data.*.id String ID do item
data.*.name String Nome do item

Exemplo:

var r = h.hly('GetScripts');
for (var i = 0; i < r.data.length; i++) {
    var o = r.data[i];
    h.log("", "ID: {}, Name: {}", [o.id, o.name]);
}

hly('ApiAction', input)

  • v2.19.0

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

Parâmetros:

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

Método sem retorno

Exemplo:

var r = h.hly('ApiAction', {id: 'abcxyz'});

if (r.status == 'ok') {
    h.log('Ação executada');
} else {
    h.log('Erro: ' + r.error);
}

hly('ScriptAction', input)

  • v2.19.0

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

Parâmetros:

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

Método sem retorno

Exemplo:

var r = h.hly('ScriptAction', {id: 'abcxyz'});

if (r.status == 'ok') {
    h.log('Ação executada');
} else {
    h.log('Erro: ' + r.error);
}

hly('ApiRequest', input)

  • v2.19.0

Executa uma requisição para o receptor associado e retorna a resposta do receptor.

Parâmetros:

Nome Tipo Descrição
input.id String id do receptor
input.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.hly('ApiRequest', {
    id: 'abcxyz',
    raw: {
        'request-type': 'GetSourceActive',
        'sourceName': 'exemplo'
    }
});
if (r.status == 'ok') {
    h.log('Resposta da requisição: ' + r.data);
    var obj = JSON.parse(r.data);
    if (obj.sourceActive) {
        h.log('A fonte exemplo está ativa');
    } else {
        h.log('A fonte exemplo não está ativa');
    }
} else {
    h.log('Erro: ' + r.error);
}

hly('GetCurrentPresentation', input)

  • v2.19.0

Item sendo apresentado no momento ou null se não tiver apresentação sendo exibida

Parâmetros:

Nome Tipo Descrição
input.include_slides Boolean (opcional) Retornar a lista de slides da apresentação atual. Indisponível para apresentação de versículos. Padrão: false v2.21.0+
input.include_slide_comment Boolean (opcional) Incluir comentários (se houver) no texto dos slides. Disponível se include_slides=true. Padrão: false v2.21.0+
input.include_slide_preview Boolean (opcional) Incluir imagem preview do slide. Disponível se include_slides=true. Padrão: false v2.21.0+
input.lide_preview_size String (opcional) Tamanho do preview no formato WxH (ex. 320x180). (max 640x360)
Disponível se include_slide_preview=true Padrão: false v2.21.0+

Resposta:

Nome Tipo Descrição
data.id String ID do item
data.type String Tipo do item. Pode ser: song verse text audio image announcement automatic_presentation quick_presentation
data.name String Nome do item
data.slide_number Number Começa em 1 v2.20.0+
data.total_slides Number Total de slides v2.20.0+
data.slide_type String Um dos seguintes valores: default wallpaper blank black final_slide v2.20.0+
data.slides Array<PresentationSlideInfo> Lista com os slides da apresentação atual. Disponível se include_slides=true v2.21.0+

Exemplo:

var r = h.hly('GetCurrentPresentation');
if (r.data == null) {
    //não há apresentação em exibição no momento
}

switch (r.data.type) {
    case 'song':
        //uma música sendo apresentada
        break;
    case 'verse':
        //um versículo sendo apresentado
        break;
}

hly('CloseCurrentPresentation')

Encerra a apresentação atual

Método sem retorno

Exemplo:

h.hly('CloseCurrentPresentation');

hly('GetF8')

hly('GetF9')

hly('GetF10')

  • v2.19.0

Retorna o estado atual da respectiva opção F8 (papel de parede), F9 (tela vazia) ou F10 (tela preta)

Resposta:

Tipo Descrição
Boolean true ou false

Exemplo:

var r = h.hly('GetF8');
h.log('F8: ' + r.data);

var r = h.hly('GetF9');
h.log('F9: ' + r.data);

var r = h.hly('GetF10');
h.log('F10: ' + r.data);

hly('SetF8', input)

hly('SetF9', input)

hly('SetF10', input)

  • v2.19.0

Altera o estado atual da respectiva opção F8 (papel de parede), F9 (tela vazia) ou F10 (tela preta)

Parâmetros:

Nome Tipo Descrição
input.enable Boolean true ou false

Método sem retorno

Exemplo:

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

h.hly('SetF9', {enable: false});

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

hly('ToggleF8')

hly('ToggleF9')

hly('ToggleF10')

  • v2.19.0

Troca o estado atual da respectiva opção F8 (papel de parede), F9 (tela vazia) ou F10 (tela preta)

Método sem retorno

Exemplo:

h.hly('ToggleF8');

h.hly('ToggleF9');

h.hly('ToggleF10');

hly('ActionNext')

  • v2.19.0

Executa um comando de avançar na apresentação atual

Método sem retorno


hly('ActionPrevious')

  • v2.19.0

Executa um comando de voltar na apresentação atual

Método sem retorno


hly('ActionGoToIndex', input)

  • v2.19.0

Altera o slide em exibição a partir do índice do slide

Parâmetros:

Nome Tipo Descrição
input.index Number Índice do slide na apresentação (começa em zero)

Método sem retorno

Exemplo:

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

hly('ActionGoToSlideDescription', input)

  • v2.19.0

Altera o slide em exibição a partir do nome da descrição do slide

Parâmetros:

Nome Tipo Descrição
input.name String Nome da descrição do slide

Método sem retorno

Exemplo:

h.hly('ActionGoToSlideDescription', {name: 'Verse 1'});

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('GetCurrentTheme')

  • v2.22.0

Retorna o tema da apresentação em exibição.

Resposta:

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

Exemplo:

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

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('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
input.edit Theme (opcional) Configurações para modificar o Tema selecionado para exibição v2.21.0+
input.custom_theme Theme (opcional) Tema personalizado v2.21.0+

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
});

//um vídeo que esteja definido com a tag 'água' OU com a tag 'azul'
//o tema selecionado será modificado para a fonte 'Arial' em itálico
h.hly('SetCurrentBackground', {
    type: 'theme',
    tag: 'água',
    edit: {
      font: {
        name: 'Arial',
        italic: true
      }
    }
});

//alterar para um tema personalizado
h.hly('SetCurrentBackground', {
    custom_theme: {
        font: {
            name: "Arial",
            bold: true,
            size: 10,
            color: "FFFFFF"
        },
        background: {
            type: "color",
            id: "000000"
        },
        settings: {
          uppercase: true
        }
    }
});

hly('GetThumbnail', input)

  • v2.21.0

Retorna a imagem miniatura de um item no programa

Parâmetros:

Nome Tipo Descrição
input.id String (opcional) ID do item
input.ids Array<String> (opcional) ID dos itens
input.type String Tipo do item. Pode ser: video image announcement theme background api script

Resposta:

Nome Tipo Descrição
data Array<Object>
data.*.type String Tipo do item
data.*.id String ID do item
data.*.image String Imagem no formato base64

Exemplo:

var r = h.hly('GetThumbnail', {
    id: 'image.jpg',
    type: 'image'
});
h.log("Image base64: " + r.data[0].image);

var r = h.hly('GetThumbnail', {
    ids: ['123', '456'],
    type: 'theme'
});
for (var i = 0; i < r.data.length; i++) {
    var t = r.data[i];
    h.log("", "Theme ID: {}\nImage base64: {}\n", [t.id, t.image]);
}

hly('GetColorMap', input)

  • v2.20.0

Retorna as informações de cor predominante de um respectivo tipo de item
O array retornado contém 8 índices, e cada índice corresponde ao trecho conforme imagem de exemplo a seguir.

Color Map Example

Parâmetros:

Nome Tipo Descrição
input.type String Um dos seguintes valores:
background - um item de tema ou plano de fundo
presentation - apresentação atual em exibição
image - uma imagem da aba 'imagens'
video - um vídeo da aba 'vídeos'
printscreen - um printscreen atual de uma tela do sistema
input.source Object (opcional) O item de acordo com o tipo informado:
background - ID do tema ou plano de fundo
presentation - não é necessário informar um valor, a apresentação da tela público será retornada
image - o nome do arquivo da aba 'imagens'
video - o nome do arquivo da aba 'vídeos'
printscreen opcional - o nome da tela (public, screen_2, screen_3, ...); o padrão é public

Resposta:

Nome Tipo Descrição
data Array<Object>
data.*.hex String Cor no formato hexadecimal
data.*.red Number Vermelho 0-255
data.*.green Number Verde 0-255
data.*.blue Number Azul 0-255

Exemplo:

var r = h.hly('GetColorMap', {
    type: 'background',
    source: 12345678
});

if (r.data[0].red >= 200) {
    //red >= 200
}

var r = h.hly('GetColorMap', {
    type: 'presentation'
});

var r = h.hly('GetColorMap', {
    type: 'image',
    source: 'example.png'
});

var r = h.hly('GetColorMap', {
    type: 'video',
    source: 'dir/video.mp4'
});

var r = h.hly('GetColorMap', {
    type: 'printscreen'
});

var r = h.hly('GetColorMap', {
    type: 'printscreen',
    source: 'screen_2'
});

//Chamadas alternativas
var arr = h.getColorMap('presentation');
var arr = h.getColorMap('video', 'filename.mp4');

hly('GetAlert')

  • v2.20.0

Retorna as configurações da mensagem de alerta

Resposta:

Nome Tipo Descrição
data.text String Texto atual do alerta
data.show Boolean Se a exibição do alerta está ativada

Exemplo:

var r = h.hly('GetAlert');
h.log(r.text);

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('GetCurrentSchedule')

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

Resposta:

Nome Tipo Descrição
data Array<Schedule>

Exemplo:

var r = h.hly('GetCurrentSchedule');
var s = r.data[0];
h.log(s.datetime);
h.log(s.name);
h.log(s.lyrics_playlist);
h.log(s.media_playlist);

hly('GetSchedules', input)

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('GetSavedPlaylists')

  • v2.19.0

Retorna as listas de reprodução salvas

Resposta:

Nome Tipo Descrição
data Array<Object>
data.*.id String ID do item
data.*.name String Nome do item
data.*.items Array<Item> Itens salvos na lista

Exemplo:

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

hly('LoadSavedPlaylist', input)

  • v2.19.0

Preenche a lista de mídias da lista de reprodução selecionada atualmente no programa com a lista informada

Parâmetros:

Nome Tipo Descrição
input.name String Nome da lista de reprodução salva

Método sem retorno

Exemplo:

var r = h.hly('LoadSavedPlaylist', {name: 'name'});

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('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('GetTeams')

  • v2.22.0

Lista de times

Resposta:

Nome Tipo Descrição
data Array<Team>

Exemplo:

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

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('GetServices')

  • v2.22.0

Lista de cultos

Resposta:

Nome Tipo Descrição
data Array<Service>

Exemplo:

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

hly('GetEvents', input)

  • v2.22.0

Lista de eventos

Parâmetros:

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

Resposta:

Nome Tipo Descrição
data Array<Event>

Exemplo:

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

hly('GetAnnouncement', input)

  • v2.22.0

Anúncio

Parâmetros:

Nome Tipo Descrição
input.id String (opcional) ID do anúncio
input.name String (opcional) Nome do anúncio

Resposta:

Nome Tipo Descrição
data Announcement

Exemplo:

var r = h.hly('GetAnnouncement', {
    id: '123'
});
h.log(r.data.name);

hly('GetAnnouncements')

  • v2.22.0

Lista de anúncios

Resposta:

Nome Tipo Descrição
data Array<Announcement>

Exemplo:

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

hly('GetCommunicationPanelInfo')

hly('GetCPInfo')

hly('GetCPSettings')

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)
data.stopwatch_show Boolean Se um cronômetro está em exibição v2.20.0+
data.stopwatch_time Number O tempo atual do cronômetro em exibição (em segundos) v2.20.0+
data.theme Number ID do tema v2.20.0+
data.countdown_font_relative_size Number Tamanho relativo da contagem regressiva v2.20.0+
data.countdown_font_color String Cor da fonte da contagem regressiva v2.20.0+
data.stopwatch_font_color String Cor da fonte do cronômetro v2.20.0+
data.time_font_color String Cor da fonte da hora v2.20.0+
data.display_clock_as_background Boolean Exibir relógio como plano de fundo v2.20.0+
data.display_clock_on_alert Boolean Exibir relógio no alerta v2.20.0+
data.countdown_display_location String Local de exibição da contagem regressiva ou cronômetro. FULLSCREEN FULLSCREEN_OR_ALERT ALERT v2.20.0+
data.display_clock_with_countdown_fullscreen Boolean Exibir relógio junto da contagem regressiva ou cronômetro quando exibido em tela cheia v2.20.0+
data.display_vlc_player_remaining_time Boolean Exibir tempo restante da mídia em execução no VLC Player v2.20.0+

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('SetCommunicationPanelSettings', input)

hly('SetCPSettings')

  • v2.20.0

Alterar configuração atual do painel de comunicação

Parâmetros:

Nome Tipo Descrição
input.text String (opcional) Texto atual
input.show Boolean (opcional) Exibir o texto atual
input.display_ahead Boolean (opcional) Opção 'exibir à frente de tudo'
input.theme Object (opcional) ID ou nome do tema padrão
input.theme.id String (opcional)
input.theme.name String (opcional)
input.custom_theme Theme (opcional) Tema personalizado v2.21.0+
input.alert_text String (opcional) Texto atual do alerta
input.alert_show Boolean (opcional) Ativar a exibição do alerta
input.countdown_font_relative_size Number (opcional) Tamanho relativo da contagem regressiva
input.countdown_font_color String (opcional) Cor da fonte da contagem regressiva
input.stopwatch_font_color String (opcional) Cor da fonte do cronômetro
input.time_font_color String (opcional) Cor da fonte da hora
input.display_clock_as_background Boolean (opcional) Exibir relógio como plano de fundo
input.display_clock_on_alert Boolean (opcional) Exibir relógio no alerta
input.countdown_display_location String (opcional) Local de exibição da contagem regressiva ou cronômetro. FULLSCREEN FULLSCREEN_OR_ALERT ALERT
input.display_clock_with_countdown_fullscreen Boolean (opcional) Exibir relógio junto da contagem regressiva ou cronômetro quando exibido em tela cheia
input.display_vlc_player_remaining_time Boolean (opcional) Exibir tempo restante da mídia em execução no VLC Player

Método sem retorno

Exemplo:

var r = h.hly('SetCommunicationPanelSettings', {
    display_clock_as_background: false,
    display_clock_on_alert: true
});

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('StartTimerCommunicationPanel')

hly('StartTimerCP', input)

  • v2.20.0

Inicia um cronômetro no painel de comunicação

Método sem retorno

Exemplo:

h.hly('StartTimerCommunicationPanel');
h.hly('StartTimerCP');

hly('StopTimerCommunicationPanel')

hly('StopTimerCP')

  • v2.20.0

Encerra o cronômetro atual do painel de comunicação

Método sem retorno

Exemplo:

h.hly('StopTimerCommunicationPanel');
h.hly('StopTimerCP');

hly('SetTextCommunicationPanel', input)

hly('SetTextCP', input)

Alterar o texto do painel de comunicação

Parâmetros:

Nome Tipo Descrição
input.text String (opcional) Alterar o texto do painel de comunicação. Styled Text a partir da v2.19.0
input.show Boolean (opcional) Exibir/ocultar o texto
input.display_ahead Boolean (opcional) Alterar a opção 'exibir à frente de tudo'
input.theme Object (opcional) ID ou nome do Tema utilizado para exibir o texto v2.21.0+
input.custom_theme Theme (opcional) Tema personalizado para exibir o texto v2.21.0+

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('CommunicationPanelCallAttention')

hly('CPCallAttention')

  • v2.20.0

Executa a opção 'chamar atenção' disponível no painel de comunicação

Método sem retorno

Exemplo:

h.hly('CommunicationPanelCallAttention');

hly('GetWallpaperSettings')

  • v2.19.0

Configurações do papel de parede

Resposta:

Nome Tipo Descrição
data.image_base64 String Imagem do papel de parede em base 64
data.enabled Boolean Exibir papel de parede
data.fill_color String Cor em hexadecimal definida na opção preencher.
data.extend Boolean deprecated Substituído por adjust_type
Estender papel de parede
data.adjust_type String Ajuste da imagem: Pode ser: ADJUST EXTEND FILL ADJUST_BLUR v2.22.0+
data.show_clock Boolean Exibir relógio

Exemplo:

var r = h.hly('GetWallpaperSettings');
h.log('Wallpaper enabled: ' + r.data.enabled);

hly('SetWallpaperSettings', input)

  • v2.19.0

Alterar as configurações do papel de parede

Parâmetros:

Nome Tipo Descrição
input.file String (opcional) Local do arquivo na aba Imagens
input.enabled Boolean (opcional) Exibir papel de parede
input.fill_color String (opcional) Cor em hexadecimal definida na opção preencher. NULL para desativar
input.extend Boolean (opcional) deprecated Substituído por adjust_type
Estender papel de parede
data.adjust_type String Ajuste da imagem: Pode ser: ADJUST EXTEND FILL ADJUST_BLUR v2.22.0+
input.show_clock Boolean (opcional) Exibir relógio

Resposta:

Tipo Descrição
Object Retorna true ou uma lista com os erros ocorridos

Exemplo:

var r = h.hly('SetWallpaperSettings', {
    file: 'image.jpg',
    enabled: true,
    fill_color: '000000'
});

hly('GetDisplaySettings')

  • v2.19.0

Lista das configurações de exibição de cada tela

Resposta:

Nome Tipo Descrição
data Array<DisplaySettings>

Exemplo:

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

hly('SetDisplaySettings', input)

  • v2.19.0

Alterar as configurações de exibição de uma tela

Parâmetros:

Nome Tipo Descrição
input DisplaySettings Novas configurações. As configurações são individualmente opcionais. Preencha apenas os campos que deseja alterar.

Resposta:

Tipo Descrição
Object Retorna true ou uma lista com os erros ocorridos

Exemplo:

var r = h.hly('SetDisplaySettings', {
    id: 'public',
    margin: {
        top: 10, right: 5, bottom: 10, left: 5
    }
});

hly('GetTransitionEffectSettings')

  • v2.21.0

Lista da configuração dos efeitos de transição

Resposta:

Nome Tipo Descrição
music TransitionEffectSettings
bible TransitionEffectSettings
image TransitionEffectSettings
announcement TransitionEffectSettings

Exemplo:

var r = h.hly('GetTransitionEffectSettings');
var s = r.data.music;
h.log(s.enabled);
h.log(s.type);
h.log(s.duration);

hly('SetTransitionEffectSettings', input)

  • v2.21.0

Alterar as configurações de um efeito de transição

Parâmetros:

Nome Tipo Descrição
input.id Object ID do item
input.settings TransitionEffectSettings Novas configurações. As configurações são individualmente opcionais. Preencha apenas os campos que deseja alterar.

Resposta:

Tipo Descrição
Object Retorna true ou uma lista com os erros ocorridos

Exemplo:

var r = h.hly('SetTransitionEffectSettings', {
    id: 'music',
    settings: {
        enabled: true,
        type: 'fade',
        duration: 700
    }
});
var r = h.hly('SetTransitionEffectSettings', {
    id: 'image',
    settings: {
        enabled: true,
        type: 'zoom',
        duration: 1000,
        zoom_type: 'random',
        directions: {
             top_left: false,    top_center: false,    top_right: false,
          middle_left: false, middle_center: true,  middle_right: false,
          bottom_left: false, bottom_center: false, bottom_right: false
      }
    }
});
var r = h.hly('SetTransitionEffectSettings', {
    id: 'announcement',
    settings: {
        enabled: true,
        type: 'random',
        duration: 1000,
        random_enabled_types: {
                 fade: false,
                slide: true,
            accordion: false,
          linear_fade: false,
                 zoom: true,
              curtain: true
        }
    }
});

hly('GetBibleVersions')

  • v2.21.0

Retorna a lista de versões disponíveis da Bíblia, e também dos atalhos associados

Resposta:

Nome Tipo Descrição
data Object
data.*.key String Abreviação da versão ou o nome do atalho, se começar com '#shortcut '
data.*.title String Nome da versão
data.*.version String (opcional) Abreviação da versão. Disponível se o item for um atalho, ou seja se 'key' começar com '#shortcut '

Exemplo:

var r = h.hly('GetBibleVersions');
for (var i = 0; i < r.data.length; i++) {
    var o = r.data[i];
    var shortcut = o.key.startsWith("#shortcut ");
    var version = shortcut ? o.version : o.key;
    var title = shortcut ? o.key.substring(10) : o.title;
    h.log("", "Version: {}, Title: {}", [version, title]);
}

hly('GetBibleSettings')

  • v2.21.0

Configurações do módulo Bíblia

Resposta:

Nome Tipo Descrição
data BibleSettings

Exemplo:

var r = h.hly('GetBibleSettings');
h.log("Default version: " + r.data.tab_version_1);

hly('SetBibleSettings', input)

  • v2.21.0

Alterar as configurações do módulo Bíblia

Parâmetros:

Nome Tipo Descrição
input BibleSettings Novas configurações. As configurações são individualmente opcionais. Preencha apenas os campos que deseja alterar.

Resposta:

Tipo Descrição
Object Retorna true ou uma lista com os erros ocorridos

Exemplo:

var r = h.hly('SetBibleSettings', {
    tab_version_1: 'pt_acf',
    show_x_verses: 1,
    theme: {
        'public': '123'
    }
});

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', input)

Altera o valor BPM atual do programa

Parâmetros:

Nome Tipo Descrição
input.bpm Number Valor BPM

Método sem retorno

Exemplo:

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

hly('GetHue')

  • v2.19.0

Retorna o valor matiz atual definido no programa

Resposta:

Tipo Descrição
Number Valor matiz atual. Mínimo=0, Máximo=360. Retorna null se desativado.

Exemplo:

var r = h.hly('GetHue');
h.log('HUE: ' + r.data);

hly('SetHue', input)

  • v2.19.0

Altera o valor matiz atual do programa

Parâmetros:

Nome Tipo Descrição
input.hue Number Valor matiz. Mínimo=0, Máximo=360 ou null para desativar.

Método sem retorno

Exemplo:

h.hly('SetHue', {hue: 250});

h.hly('SetHue', {hue: null});

hly('GetRuntimeEnvironment')

hly('GetRE')

  • v2.19.0

Retorna o nome do ambiente de execução definido atualmente nas configurações do programa.

Resposta:

Tipo Descrição
String Nome do ambiente de execução

Exemplo:

var r = h.hly('GetRuntimeEnvironment');
h.log('current runtime environment: ' + r.data);

hly('SetRuntimeEnvironment', input)

hly('SetRE', input)

  • v2.19.0

Altera o ambiente de execução atual.

Parâmetros:

Nome Tipo Descrição
input.name String Nome do ambiente de execução

Método sem retorno

Exemplo:

h.hly('SetRuntimeEnvironment', {name: 'abc'});

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});

hly('GetSyncStatus')

  • v2.19.0

Retorna o estado atual da sincronização online via Google Drive™

Resposta:

Nome Tipo Descrição
data.enabled Boolean Se a sincronização está ativada
data.started Boolean Se a sincronização foi iniciada (internet disponível, por exemplo)
data.progress Number Progresso da sincronização de 0 a 100

hly('GetInterfaceInput', input)

  • v2.21.0

Retorna o valor de um campo da interface do programa

Parâmetros:

Nome Tipo Descrição
input.id String ID do item. Pode ser:
main_lyrics_tab_search
main_text_tab_search
main_audio_tab_search
main_video_tab_search
main_image_tab_search
main_file_tab_search
main_automatic_presentation_tab_search
main_selected_theme

Resposta:

Tipo Descrição
String Conteúdo do item

Exemplo:

var r = h.hly('GetInterfaceInput', {
    id: 'main_lyrics_tab_search'
});

hly('SetInterfaceInput', input)

  • v2.21.0

Altera o valor de um campo da interface do programa

Parâmetros:

Nome Tipo Descrição
input.id String ID do item
input.value String Novo valor
input.focus Boolean (opcional) Fazer o componente receber o foco do sistema

Método sem retorno

Exemplo:

h.hly('SetInterfaceInput', {
    id: 'main_audio_tab_search',
    value: '...',
    focus: true
});

h.hly('SetInterfaceInput', {
    id: 'main_selected_theme',
    value: '123' //Theme ID
});

hly('OpenDrawLots', input)

  • v2.21.0

Abre a janela de sorteio a partir de uma lista de itens

Parâmetros:

Nome Tipo Descrição
input.items Array<String> Lista com os itens para serem sorteados

Método sem retorno

Exemplo:

h.hly('OpenDrawLots', {
    items: ['exemplo 1', 'exemplo 2', 'exemplo 3']
});

hly('GetMediaDuration', input)

  • v2.21.0

Retorna a duração da mídia

Parâmetros:

Nome Tipo Descrição
input.type String Tipo do item. Pode ser: video, audio, automatic_presentation
input.name String Nome do item

Resposta:

Nome Tipo Descrição
data.type String
data.name String
data.duration Number Duração em segundos
data.duration_ms Number Duração em milissegundos

Exemplo:

var r = h.hly('GetMediaDuration', {
    type: 'audio',
    name: 'file.mp3'
});
h.log("Duration: " + r.data.duration + "s");

hly('GetVersion')

  • v2.22.0

Retorna informações da versão do programa em execução

Resposta:

Nome Tipo Descrição
data.version String Versão do programa
data.platform String Sistema operacional. Pode ser: win uni osx
data.platformDescription String Nome detalhado do sistema operacional

Exemplo:

var r = h.hly('GetVersion');
h.log(r.data.version);
h.log(r.data.plaftorm);
h.log(r.data.plaftormDescription);

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

setCurrentTime(time)

  • v2.20.0

Alterar o tempo atual da mídia em milissegundos

Parâmetros:

Nome Tipo Descrição
time Number Alterar o tempo atual da mídia em milissegundos

Método sem retorno


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á string
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', name: 'Senha'}];
var r = h.input(param);
h.log("Senha informada: " + r);

var param = [
    {
        key: 'info',
        type: 'string',
        name: 'Informação'
    }, {
        key: 'type',
        type: 'string',
        name: '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',
        name: 'Mensagem'
    }, {
        key: 'seconds',
        type: 'number',
        name: '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 String (opcional) Nome que será exibido representando o item
items.*.selected Boolean (opcional) Para definir o item selecionado por padrão. v2.19.0+
notification Boolean (opcional) Exibe uma notificação em vez de abrir a janela diretamente

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',
        selected: true //selecionado por padrão
    }, {
        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);
}

multipleItemChooser(title, items, notification = false)

  • v2.19.0

Abre uma janela para selecionar múltiplos itens 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 String (opcional) Nome que será exibido representando o item
items.*.selected Boolean (opcional) Para definir se o item será selecionado por padrão.
notification Boolean (opcional) Exibe uma notificação em vez de abrir a janela diretamente

Resposta:

Tipo Descrição
Object Retorna os itens selecionados pelo usuário (pode ser NULL)

Exemplo:

var r = h.multipleItemChooser("Selecione os itens", ["abc", "xyz", "123"]);
h.log("Itens selecionados: " + r);

var r = h.multipleItemChooser("Selecione os números", [1, 2, 3, 4, 5]);
h.log("Números selecionados: " + r);

var items = [
    {
        id: 1,
        type: 'test1',
        label: 'ABC',
        selected: true //selecionado por padrão
    }, {
        id: 2,
        type: 'test2',
        label: 'XYZ'
    }, {
        id: 3,
        type: 'test3',
        label: '123',
        selected: true //selecionado por padrão
    }
];
var r = h.multipleItemChooser("Selecione os itens", items, true); //notificação
if (r == null) {
    h.log("Cancelado");
} else {
    h.log("Itens selecionados");
    for (var i = 0; i < r.length; i++) {
        h.log("ID: " + r[i].id);
        h.log("Tipo: " + r[i].type);
        h.log("Nome: " + r[i].label);
    }
}

confirm(msg, title = 'Confirm', notification = false)

  • v2.19.0

Abre uma janela de confirmação, exibindo os botões OK e Cancelar

Parâmetros:

Nome Tipo Descrição
msg String Mensagem que será exibida
title String Título da janela
notification Boolean (opcional) Exibe uma notificação em vez de abrir a janela diretamente

Resposta:

Tipo Descrição
Boolean Retorna true ou false

Exemplo:

if (h.confirm("Realizar tarefa agora?", "title")) {
    //ok
} else {
    //cancel
}

yesNo(msg, title = 'Confirm', notification = false)

  • v2.19.0

Abre uma janela de confirmação, exibindo os botões Sim e Não

Parâmetros:

Nome Tipo Descrição
msg String Mensagem que será exibida
title String Título da janela
notification Boolean (opcional) Exibe uma notificação em vez de abrir a janela diretamente

Resposta:

Tipo Descrição
Boolean Retorna true ou false

Exemplo:

if (h.yesNo("Realizar tarefa agora?", "title")) {
    //yes
} else {
    //no
}

notification(msg, duration = 0)

notificationError(msg, duration = 0)

notificationWarning(msg, duration = 0)

  • v2.19.0

Exibe uma notificação no canto da tela

Parâmetros:

Nome Tipo Descrição
msg String Mensagem que será exibida
duration Number (opcional) Tempo para a notificação ser ocultada automaticamente. Se o valor for menor ou igual a zero a notificação não será ocultada automaticamente.

Método sem retorno

Exemplo:

h.notification("Tarefa realizada");

lyricsChooser()

songChooser()

  • v2.19.0

Abre uma janela para selecionar uma música

Resposta:

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

Exemplo:

var r = h.lyricsChooser();
if (r == null) {
    h.log("Cancelado");
} else {
    h.log("Item selecionado: " + r.title);
}

textChooser()

  • v2.22.0

Abre uma janela para selecionar um item Texto

Resposta:

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

Exemplo:

var r = h.textChooser();
if (r == null) {
    h.log("Cancelado");
} else {
    h.log("Item selecionado: " + r.title);
}

themeChooser()

  • v2.19.0

Abre uma janela para selecionar um tema

Resposta:

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

Exemplo:

var r = h.themeChooser();
if (r == null) {
    h.log("Cancelado");
} else {
    h.log("Item selecionado: " + r.name);
}

imageChooser()

  • v2.19.0

Abre uma janela para selecionar uma imagem

Resposta:

Nome Tipo Descrição
Object Retorna o item selecionado pelo usuário (pode ser NULL)
*.id String ID do item
*.name String Nome do item
*.isDir Boolean Retorna true se for uma pasta ou false se for arquivo.

Exemplo:

var r = h.imageChooser();
if (r == null) {
    h.log("Cancelado");
} else {
    h.log("Item selecionado: " + r.name);
}

audioChooser()

  • v2.19.0

Abre uma janela para selecionar um áudio

Resposta:

Nome Tipo Descrição
Object Retorna o item selecionado pelo usuário (pode ser NULL)
*.id String ID do item
*.name String Nome do item
*.isDir Boolean Retorna true se for uma pasta ou false se for arquivo.

Exemplo:

var r = h.audioChooser();
if (r == null) {
    h.log("Cancelado");
} else {
    h.log("Item selecionado: " + r.name);
}

videoChooser()

  • v2.19.0

Abre uma janela para selecionar um vídeo

Resposta:

Nome Tipo Descrição
Object Retorna o item selecionado pelo usuário (pode ser NULL)
*.id String ID do item
*.name String Nome do item
*.isDir Boolean Retorna true se for uma pasta ou false se for arquivo.

Exemplo:

var r = h.videoChooser();
if (r == null) {
    h.log("Cancelado");
} else {
    h.log("Item selecionado: " + r.name);
}

backgroundChooser()

  • v2.19.0

Abre uma janela para selecionar um plano de fundo

Resposta:

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

Exemplo:

var r = h.backgroundChooser();
if (r == null) {
    h.log("Cancelado");
} else {
    h.log("Item selecionado: " + r.name);
}

openWindow(name)

  • v2.22.0

Abre uma janela do programa

Parâmetros:

Nome Tipo Descrição
name String Nome da janela. Pode ser: main bible communication_panel chat

Método sem retorno

Exemplo:

h.openWindow('main');

h.openWindow('bible');

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
copyright String Copyright da música
slides Array<Object> v2.21.0+
slides.*.text String Texto do slide v2.21.0+
slides.*.slide_description Number Descrição do slide v2.21.1+
slides.*.background_id Number ID do tema ou plano de fundo salvo para o slide v2.21.0+
order String Ordem dos slides (índice a partir do 1), separado por vírgula v2.21.0+
key String Tom da música.
Pode ser: C C# Db D D# Eb E F F# Gb G G# Ab A A# Bb B Cm C#m Dbm Dm D#m Ebm Em Fm F#m Gbm Gm G#m Abm Am A#m Bbm Bm
bpm Number BPM da música
time_sig String Tempo da música.
Pode ser: 2/2 2/4 3/4 4/4 5/4 6/4 3/8 6/8 7/8 9/8 12/8
groups Array<Group> Grupos onde a música está adicionada
linked_audio_file String Caminho do arquivo de áudio linkado com a música v2.22.0+
linked_backing_track_file String Caminho do arquivo de áudio (playback) linkado com a música v2.22.0+
streaming Object URI ou ID dos streamings v2.22.0+
streaming.audio Object Áudio v2.22.0+
streaming.audio.spotify String v2.22.0+
streaming.audio.youtube String v2.22.0+
streaming.audio.deezer String v2.22.0+
streaming.backing_track Object Playback v2.22.0+
streaming.backing_track.spotify String v2.22.0+
streaming.backing_track.youtube String v2.22.0+
streaming.backing_track.deezer String v2.22.0+
midi Midi Atalho MIDI do item
extras Object Mapa de objetos extras (adicionados pelo usuário) v2.21.0+
archived Boolean Se a música está arquivada
Ver exemplo
{
  "id": "0",
  "title": "",
  "artist": "",
  "author": "",
  "note": "",
  "copyright": "",
  "slides": [
    {
      "text": "Slide 1 line 1\nSlide 1 line 2",
      "slide_description": "Verse 1",
      "background_id": null
    },
    {
      "text": "Slide 2 line 1\nSlide 2 line 2",
      "slide_description": "Chorus",
      "background_id": null
    },
    {
      "text": "Slide 3 line 1\nSlide 3 line 2",
      "slide_description": "Verse 3",
      "background_id": null
    }
  ],
  "order": "1,2,3,2,2",
  "key": "",
  "bpm": 0.0,
  "time_sig": "",
  "groups": [],
  "linked_audio_file": "",
  "linked_backing_track_file": "",
  "streaming": {
    "audio": {
      "spotify": "",
      "youtube": "",
      "deezer": ""
    },
    "backing_track": {
      "spotify": "",
      "youtube": "",
      "deezer": ""
    }
  },
  "extras": {
    "extra": ""
  },
  "archived": false
}

Text

Nome Tipo Descrição
id String ID do texto
title String Título do texto
folder String Caminho da pasta de localização
theme String ID do tema salvo para o texto
slides Array<Object>
slides.*.text String Texto do slide
slides.*.background_id Number ID do tema ou plano de fundo salvo para o slide
Ver exemplo
{
  "id": "",
  "title": "",
  "folder": "",
  "theme": null,
  "slides": [
    {
      "text": "Slide 1 line 1\nSlide 1 line 2",
      "background_id": null
    },
    {
      "text": "Slide 2 line 1\nSlide 2 line 2",
      "background_id": null
    },
    {
      "text": "Slide 3 line 1\nSlide 3 line 2",
      "background_id": null
    }
  ]
}

Theme

Nome Tipo Descrição
copy_from_id String (opcional) ID de um Tema existente para utilizar como cópia inicial ao criar um novo item
id String ID do item
name String Nome do item

background

Plano de fundo
background.type String Tipo do plano de fundo. Pode ser: color my_video my_image video image pattern transparent image_file video_file
background.id String

Tipo

Valor

color

Cor no formato hexadecimal

my_video

ID do item

my_image

ID do item

video

ID do item

image

ID do item

pattern

ID do item

transparent

"transparent"

image_file

Nome do arquivo na biblioteca

video_file

Nome do arquivo na biblioteca
background.adjust_type String fill extend adjust side_by_side center
Disponível para: type=my_image, type=image
background.opacity Number Opacidade. 0 ~ 100
background.velocity Number Disponível para: type=my_video, type=video
0.25 ~ 4.0
base_color String Cor no formato hexadecimal. Cor base do plano de fundo ao diminuir a opacidade.

font

Fonte
font.name String Nome da fonte
font.bold Boolean Negrito
font.italic Boolean Itálico
font.size Number Tamanho 0.0 ~ 0.4
Valor em porcentagem, baseado na altura do slide.
font.color String Cor no formato hexadecimal
font.line_spacing Number Espaçamento entre linhas. -0.5 ~ 1.0
Valor em porcentagem baseado na altura da linha.
font.char_spacing Number Espaçamento entre caracteres. -40 ~ 120

align

Alinhamento
align.horizontal String left center right justify
align.vertical String top middle bottom
align.margin.top Number 0 ~ 90
align.margin.right Number 0 ~ 90
align.margin.bottom Number 0 ~ 90
align.margin.left Number 0 ~ 90

effect

Efeitos da fonte
effect.outline_color String Cor no formato hexadecimal
effect.outline_weight Number 0.0 ~ 100.0
effect.brightness_color String Cor no formato hexadecimal
effect.brightness_weight Number 0.0 ~ 100.0
effect.shadow_color String Cor no formato hexadecimal
effect.shadow_x_weight Number -100.0 ~ 100.0
effect.shadow_y_weight Number -100.0 ~ 100.0
effect.blur Boolean Aplicar efeito 'blur' no brilho e sombra

shape_fill

Cor de fundo
shape_fill.type String box line line_fill theme_margin
shape_fill.enabled Boolean
shape_fill.color String Cor no formato hexadecimal (RGBA)
shape_fill.margin.top Number 0 ~ 100
shape_fill.margin.right Number 0 ~ 100
shape_fill.margin.bottom Number 0 ~ 100
shape_fill.margin.left Number 0 ~ 100
shape_fill.corner Number 0 ~ 100

shape_outline

Contorno
shape_outline.type String box line line_fill theme_margin
shape_outline.enabled Boolean
shape_outline.color String Cor no formato hexadecimal (RGBA)
shape_outline.outline_thickness Number 0 ~ 25
shape_outline.margin.top Number 0 ~ 100
shape_outline.margin.right Number 0 ~ 100
shape_outline.margin.bottom Number 0 ~ 100
shape_outline.margin.left Number 0 ~ 100
shape_outline.corner Number 0 ~ 100

comment

Comentário
comment.font_name String Nome da fonte
comment.bold Boolean Negrito
comment.italic Boolean Itálico
comment.relative_size Number tamanho relativo da fonte. 40 ~ 100
comment.color String Cor no formato hexadecimal

settings

Configurações
settings.uppercase Boolean Exibir o texto em maiúsculo
settings.line_break String Aplicar quebra de linha. system true false
Padrão: system
Ver exemplo
{
  "id": "123",
  "name": "",
  "background": {
    "type": "color", "id": "212121", "opacity": 100
  },
  "base_color": "FFFFFF",
  "font": {
    "name": "CMG Sans", "bold": true,
    "italic": false,
    "size": 10.0,
    "color": "F5F5F5", "line_spacing": 0.3,
    "char_spacing": 0
  },
  "align": {
    "horizontal": "center", "vertical": "middle", "margin": {
      "top": 3.0,
      "right": 3.0,
      "bottom": 3.0,
      "left": 3.0
    }
  },
  "effect": {
    "outline_color": "404040", "outline_weight": 0.0,
    "brightness_color": "C0C0C0", "brightness_weight": 0.0,
    "shadow_color": "404040", "shadow_x_weight": 0.0,
    "shadow_y_weight": 0.0,
    "blur": true
  },
  "shape_fill": {
    "type": "box", "enabled": false,
    "color": "000000", "margin": {
      "top": 5.0,
      "right": 30.0,
      "bottom": 10.0,
      "left": 30.0
    },
    "corner": 0
  },
  "shape_outline": {
    "type": "box", "enabled": false,
    "color": "000000", "outline_thickness": 10,
    "margin": {
      "top": 5.0,
      "right": 30.0,
      "bottom": 10.0,
      "left": 30.0
    },
    "corner": 0
  },
  "comment": {
    "font_name": "Arial", "bold": false,
    "italic": true,
    "relative_size": 100,
    "color": "A0A0A0"
  },
  "settings": {
    "uppercase": false,
    "line_break": "system"
  }
}

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
Ver exemplo
{
  "id": "10",
  "type": "video",
  "name": "Hexagons",
  "tags": [],
  "bpm": 0.0
}

Slide Description

Nome Tipo Descrição
name String Nome do item
tag String Nome curto do item
aliases Array<String> Lista com os nomes alternativos
font_color String Cor da fonte no formato hexadecimal
bg_color String Cor de fundo no formato hexadecimal
background Number ID do plano de fundo personalizado
midi Midi (opcional) Atalho MIDI do item
Ver exemplo
{
  "name": "Chorus",
  "tag": "C",
  "aliases": [],
  "font_color": "FFFFFF",
  "bg_color": "000080",
  "background": null,
  "midi": null
}

Item

Nome Tipo Descrição
id String ID do item
type String Tipo do item. Pode ser: title song verse text audio video image file announcement automatic_presentation countdown countdown_cp cp_text plain_text uri global_action api script
name String Nome do item

Group

Nome Tipo Descrição
name String Nome do item
songs Array<Number> Lista dos IDs das músicas

Announcement

Nome Tipo Descrição
id String ID do item
name String Nome do item
text String Texto do anúncio
archived Boolean Se o item está arquivado

Midi

Nome Tipo Descrição
code Number Código midi
velocity Number Velocidade/intensidade midi
Ver exemplo
{
  "code": 80,
  "velocity": 20
}

Favorite Item

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

Service

Nome Tipo Descrição
name String Nome do item
week String Semana. Pode ser: all first second third fourth last
day String Dia da semana. Pode ser: sun mon tue wed thu fri sat
hour Number Hora [0-23]
minute Number Minuto [0-59]
type String Tipo do item. Pode ser: service event
hide_week Array<String> Lista com as semanas ocultadas. Disponível se week=all

Event

Nome Tipo Descrição
name String Nome do evento
datetime String Data e hora no formato: YYYY-MM-DD HH:MM
wallpaper String Caminho relativo do arquivo utilizado como papel de parede do evento

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 de integrantes
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
notes String Anotações v2.21.0+
Ver exemplo
{
  "type": "temporary",
  "name": "",
  "datetime": "2024-01-16 20:00",
  "lyrics_playlist": [
    {
      "id": 1,
      "title": "Title 1",
      "artist": "",
      "author": "",
      "...": ".."
    },
    {
      "id": 2,
      "title": "Title 2",
      "artist": "",
      "author": "",
      "...": ".."
    },
    {
      "id": 3,
      "title": "Title 3",
      "artist": "",
      "author": "",
      "...": ".."
    }
  ],
  "media_playlist": [
    {
      "id": "a",
      "type": "video",
      "name": "file.mp4"
    },
    {
      "id": "b",
      "type": "audio",
      "name": "file.mp3"
    },
    {
      "id": "c",
      "type": "image",
      "name": "file.jpg"
    }
  ],
  "responsible": null,
  "members": [],
  "roles": [],
  "notes": ""
}

Team

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

Member

Nome Tipo Descrição
id String ID do item
name String Nome do item
skills String Habilidades
roles Array<Role> Funções

Role

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

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)

Presentation Slide Info

Nome Tipo Descrição
number Number Número do slide (começa em 1)
text String Texto do slide
theme_id String ID do tema do slide
slide_description String (opcional) Nome da descrição do slide. Disponível se for uma apresentação de música.
preview String (opcional) Imagem no formato base64

Input Param

Utiliza a mesma estrutura/sintaxe da funcionalidade FunctionInput documentação

Trigger Item

Nome Tipo Descrição
id String (opcional) ID do item
when String displaying closing change
item String Tipo do item. Pode ser:
when=displaying: any_song any_text any_verse any_announcement any_audio any_video any_image any_automatic_presentation any_song_slide any_text_slide any_ppt_slide any_theme any_background any_title_subitem any_webcam any_countdown any_automatic_presentation_slide f8 f9 f10

when=closing: any_song any_text any_verse any_announcement any_audio any_video any_image any_automatic_presentation any_webcam f8 f9 f10

when=change: countdown_seconds_public countdown_seconds_communication_panel timer_seconds_communication_panel wallpaper wallpaper_service stage playlist bpm hue
action Function Ação que será executada
Ver exemplo
{
  "id": "",
  "when": "displaying",
  "item": "any_song",
  "action": function(obj) { /* TODO */ }
}

Play Media Settings

Configurações para execução da mídia

Nome Tipo Descrição
volume Number Altera o volume do player
repeat Boolean Altera a opção repetir
shuffle Boolean Altera a opção aleatório
start_time String Tempo inicial para execução no formato SS, MM:SS ou HH:MM:SS
stop_time String Tempo final para execução no formato SS, MM:SS ou HH:MM:SS
Ver exemplo
{
  "volume": "80",
  "repeat": true,
  "shuffle": false,
  "start_time": "00:30",
  "stop_time": "02:00"
}

Display Settings

Configurações de exibição

Nome Tipo Descrição
id String ID do item. public screen_2 screen_3 screen_? stream_image stream_html_1 stream_html_2 stream_html_3
name String Nome do item
stage_view StageView Configurações da visão do palco. (Indisponível para tela público)
slide_info SlideAdditionalInfo Informações adicionais do slide
slide_translation String Nome da tradução
bible_version_tab Number Número da aba (1, 2 ou 3) da tradução da Bíblia exibida na tela, conforme traduções carregadas na janela da Bíblia
margin Object Margens definidas na opção Editar posição da tela. margin.top, margin.right, margin.bottom, margin.left
area Rectangle Área da tela com as margens aplicadas (se disponível)
total_area Rectangle Área total da tela no sistema
hide Boolean Ocultar a tela
show_items Object Define os tipos de apresentação que serão exibidos (disponível apenas para telas de transmissão - imagem e html)
show_items.lyrics Boolean Letra de música
show_items.text Boolean Texto
show_items.verse Boolean Versículo
show_items.image Boolean Imagem
show_items.alert Boolean Alerta
show_items.announcement Boolean Anúncio
media_player.show Boolean Exibir VLC Player v2.20.0+
media_player.margin Rectangle Margem para exibição dos vídeos pelo VLC Player v2.20.0+
Ver exemplo
{
  "id": "public",
  "name": "Público",
  "slide_info": {
    "info_1": {
      "show_page_count": false,
      "show_slide_description": false,
      "horizontal_align": "right",
      "vertical_align": "bottom"
    },
    "info_2": {
      "show": false,
      "layout_row_1": "<title>< (%author_or_artist%)>",
      "horizontal_align": "right",
      "vertical_align": "bottom"
    },
    "font": {
      "name": null,
      "bold": null,
      "italic": null,
      "color": null
    },
    "height": 7,
    "paint_theme_effect": true
  },
  "slide_translation": null,
  "margin": {
    "top": 0.0,
    "right": 0.0,
    "bottom": 0.0,
    "left": 0.0
  },
  "area": {
    "x": 0,
    "y": 0,
    "width": 0,
    "height": 0
  },
  "total_area": {
    "x": 0,
    "y": 0,
    "width": 0,
    "height": 0
  },
  "hide": false,
  "media_player": {
    "margin": {
      "top": 0.0,
      "right": 0.0,
      "bottom": 0.0,
      "left": 0.0
    },
    "area": {
      "x": 0,
      "y": 0,
      "width": 0,
      "height": 0
    }
  }
}

Transition Effect Settings

Nome Tipo Descrição
type String Tipo de efeito. Pode ser: random fade slide accordion linear_fade zoom curtain
enabled Boolean Se está ativado ou desativado
duration Number Duração total da transição (em milissegundos) 200 ~ 2400
only_area_within_margin Number Realiza o efeito de transição apenas dentro da margem definida no Tema. (Disponível somente para transição de texto)

type=fade
merge Object Valores aceitos: true, false
division_point Object Valores aceitos: min: 10, max: 100
increase_duration_blank_slides Object Valores aceitos: true, false

type=slide
direction Object Valores aceitos: random, left, up
slide_move_type Object Valores aceitos: random, move_new, move_old, move_both

type=accordion
direction Object Valores aceitos: random, horizontal, vertical

type=linear_fade
direction Object Valores aceitos: random, horizontal, vertical, up, down, left, right
distance Object Valores aceitos: min: 5, max: 90
fade Object Valores aceitos: min: 2, max: 90

type=zoom
zoom_type Object Valores aceitos: random, increase, decrease
directions Object Valores aceitos: {
  top_left: boolean,
  top_center: boolean,
  top_right: boolean,
  middle_left: boolean,
  middle_center: boolean,
  middle_right: boolean,
  bottom_left: boolean,
  bottom_center: boolean,
  bottom_right: boolean
}

type=curtain
direction Object Valores aceitos: random, horizontal, vertical
direction_lines Object Valores aceitos: random, down_right, up_left, alternate
slide_move_type Object Valores aceitos: random, new, old, both

type=random
random_enabled_types Object Valores aceitos: {
  fade: boolean,
  slide: boolean,
  accordion: boolean,
  linear_fade: boolean,
  zoom: boolean,
  curtain: boolean
}
Ver exemplo
{
  "enabled": true,
  "type": "fade",
  "duration": 500,
  "only_area_within_margin": false,
  "merge": false,
  "division_point": 30,
  "increase_duration_blank_slides": false
}

Bible Settings

Nome Tipo Descrição
tab_version_1 String Versão da Bíblia definida na primeira aba
tab_version_2 String Versão da Bíblia definida na segunda aba
tab_version_3 String Versão da Bíblia definida na terceira aba
show_x_verses Number Quantidade de versículos exibidos na projeção
uppercase Boolean Exibir o texto do versículo em maiúsculo
show_only_reference Boolean Exibir somente a referência do versículo
show_two_versions Boolean deprecated Substituído por: show_second_version show_third_version
Exibir duas versões.
show_second_version Boolean Exibir segunda versão v2.22.0+
show_third_version Boolean Exibir terceira versão v2.22.0+
book_panel_type String Tipo de visualização dos livros da Bíblia grid list
book_panel_order String Tipo de ordenação dos livros da Bíblia
book_panel_order_available_items Array<String>
multiple_verses_separator_type String Tipo de separação na exibição de múltiplos versículos. Pode ser: no_line_break, single_line_break, double_line_break
multiple_versions_separator_type String Tipo de separação na exibição de múltiplas versões. Pode ser: no_line_break, single_line_break, double_line_break v2.22.0+
versification Boolean Aplicar mapeamento de versículos
theme Object ID do Tema de exibição para as diferentes telas do sistema
theme.public String
theme.screen_n String n >= 2
Ver exemplo
{
  "tab_version_1": "pt_???",
  "tab_version_2": "es_???",
  "tab_version_3": "en_???",
  "show_x_verses": 1,
  "uppercase": false,
  "show_only_reference": false,
  "show_two_versions": false,
  "show_second_version": false,
  "show_third_version": false,
  "book_panel_type": "grid",
  "book_panel_order": "automatic",
  "book_panel_order_available_items": [
    "automatic", "standard", "ru", "tyv"
  ],
  "multiple_verses_separator_type": "double_line_break",
  "multiple_versions_separator_type": "double_line_break",
  "versification": true,
  "theme": {
    "public": 123,
    "screen_n": null
  }
}

Font Settings

Nome Tipo Descrição
font_name String (opcional) Nome da fonte Padrão: null
bold Boolean (opcional) Negrito Padrão: null
italic Boolean (opcional) Itálico Padrão: null
color String (opcional) Cor em hexadecimal Padrão: null

Stage View

Nome Tipo Descrição
enabled Boolean Visão do palco ativada
preview_mode String Modo de visualização das letras. Opções disponíveis:
CURRENT_SLIDE
FIRST_LINE_OF_THE_NEXT_SLIDE_WITH_SEPARATOR
FIRST_LINE_OF_THE_NEXT_SLIDE_WITHOUT_SEPARATOR
NEXT_SLIDE
CURRENT_AND_NEXT_SLIDE
ALL_SLIDES
uppercase Boolean Exibir em maiúsculo
remove_line_break Boolean Remover quebra de linha
show_comment Boolean Exibir comentários
show_advanced_editor Boolean Exibir edições avançadas
show_communication_panel Boolean Exibir conteúdo do painel de comunicação
show_next_image Boolean Exibir imagem seguinte v2.21.0+
custom_theme Number ID do tema personalizado utilizado nas apresentações
apply_custom_theme_to_bible Boolean Utilizar o tema personalizado nos versículos
apply_custom_theme_to_text Boolean Utilizar o tema personalizado nos textos
apply_custom_theme_to_quick_presentation Boolean Utilizar o tema personalizado na opção Apresentação Rápida v2.21.0+
Ver exemplo
{
  "enabled": false,
  "preview_mode": "FIRST_LINE_OF_THE_NEXT_SLIDE_WITH_SEPARATOR",
  "uppercase": false,
  "remove_line_break": false,
  "show_comment": true,
  "show_advanced_editor": false,
  "show_communication_panel": true,
  "show_next_image": false,
  "custom_theme": null,
  "apply_custom_theme_to_bible": true,
  "apply_custom_theme_to_text": true,
  "apply_custom_theme_to_quick_presentation": false
}

Slide Additional Info

Nome Tipo Descrição
info_1 Object
info_1.show_page_count Boolean Exibir contador de slides
info_1.show_slide_description Boolean Exibir descrição do slide (coro, por exemplo)
info_1.horizontal_align String Alinhamento horizontal da informação no slide. left, center, right
info_1.vertical_align String Alinhamento vertical da informação no slide. top, bottom
info_2 Object
info_2.show Boolean
info_2.layout_row_1 String Layout da informação da primeira linha Slide Additional Info Layout
info_2.layout_row_2 String (opcional) Layout da informação da segunda linha Slide Additional Info Layout
info_2.horizontal_align String Alinhamento horizontal da informação no slide. left, center, right
info_2.vertical_align String Alinhamento vertical da informação no slide. top, bottom
font Object
font.name String Nome da fonte. Se for null, utiliza a fonte padrão do tema.
font.bold Boolean Negrito. Se for null, utiliza a configuração padrão do tema
font.italic Boolean Itálido. Se for null, utiliza a configuração padrão do tema
font.color String Cor da fonte em hexadecimal. Se for null, utiliza a cor da fonte padrão do tema
height Number Altura em porcentagem em relação à altura do slide 4 ~ 15
paint_theme_effect String Renderizar o texto com os efeitos contorno, brilho e sombra do tema, se disponível
Ver exemplo
{
  "info_1": {
    "show_page_count": false,
    "show_slide_description": false,
    "horizontal_align": "right", "vertical_align": "bottom"
  },
  "info_2": {
    "show": false,
    "layout_row_1": "<title>< (%author_or_artist%)>", "horizontal_align": "right", "vertical_align": "bottom"
  },
  "font": {
    "name": null,
    "bold": null,
    "italic": null,
    "color": null
  },
  "height": 7,
  "paint_theme_effect": true
}

Rectangle

Nome Tipo Descrição
x Number
y Number
width Number
height Number

Custom Message

Nome Tipo Descrição
id String ID do item
name String Nome do item
message_model String Mensagem sem preenchimento
message_example String Mensagem de exemplo com o nome dos parâmetros preenchidos
variables Array<CustomMessageParam> Parâmetros da mensagem
Ver exemplo
{
  "id": "123",
  "name": "Chamar pessoa",
  "message_model": "   , favor comparecer  .",
  "message_example": "função nome, favor comparecer local.",
  "variables": [
    {
      "position": 0,
      "name": "função",
      "only_number": false,
      "uppercase": false,
      "suggestions": [
        "Diácono",
        "Presbítero",
        "Pastor",
        "Professor",
        "Ministro"
      ]
    },
    {
      "position": 2,
      "name": "nome",
      "only_number": false,
      "uppercase": false,
      "suggestions": []
    },
    {
      "position": 22,
      "name": "local",
      "only_number": false,
      "uppercase": false,
      "suggestions": [
        "ao estacionamento",
        "ao hall de entrada",
        "à mesa de som",
        "ao berçário"
      ]
    }
  ]
}

Custom Message Param

Nome Tipo Descrição
position Number Posição do parâmetro na mensagem (em número de caracteres)
name String Nome do item
only_number Boolean Parâmetro aceita somente números
uppercase Boolean Parâmetro exibido sempre em maiúsculo
suggestions Array<String> (opcional) Lista com valores padrões para o parâmetro
Ver exemplo
{
  "position": 0,
  "name": "",
  "only_number": false,
  "uppercase": false,
  "suggestions": []
}

Quiz Question

Nome Tipo Descrição
title String Pergunta
alternatives Array<String> Alternativas
correct_alternative_number Number (opcional) Número da alternativa correta. Começa em 1 Padrão: 1
source String (opcional) Fonte da resposta
Ver exemplo
{
  "title": "...",
  "alternatives": [
    "Item 1", "Item 2", "Item 3"
  ],
  "correct_alternative_number": 2,
  "source": ""
}

Quiz Settings

Nome Tipo Descrição
correct_answer_color_font String (opcional) Cor da fonte para a resposta correta
correct_answer_color_background String (opcional) Cor de fundo para a resposta correta
incorrect_answer_color_font String (opcional) Cor da fonte para a resposta incorreta
incorrect_answer_color_background String (opcional) Cor de fundo para a resposta incorreta
question_and_alternatives_different_slides Boolean (opcional) Exibir a pergunta e as alternativas em slides separados Padrão: false
display_alternatives_one_by_one Boolean (opcional) Exibir as alternativas uma a uma Padrão: true
alternative_char_type String (opcional) Tipo de caractere para listar as alternativas number (1, 2, 3...) alpha (A, B, C...) Padrão: 'alpha'
alternative_separator_char String (opcional) Caractere separador. Valores permitidos: . ) - : Padrão: '.'
Ver exemplo
{
  "correct_answer_color_font": "00796B",
  "correct_answer_color_background": "CCFFCC",
  "incorrect_answer_color_font": "721C24",
  "incorrect_answer_color_background": "F7D7DB",
  "question_and_alternatives_different_slides": false,
  "display_alternatives_one_by_one": true,
  "alternative_separator_char": ".",
  "alternative_char_type": "alpha"
}

AddItem

Nome Tipo Descrição
type String Tipo do item. Pode ser: title song verse text audio video image file announcement automatic_presentation countdown countdown_cp cp_text plain_text uri global_action api script

AddItemTitle

Nome Tipo Descrição
type String title
name String Nome do item
background_color String (opcional) Cor de fundo em hexadecimal, exemplo: 000080
collapsed Boolean (opcional) Padrão: false
Ver exemplo
{
  "type": "title",
  "name": "Exemplo",
  "background_color": "0000FF",
  "collapsed": false
}

AddItemSong

Nome Tipo Descrição
type String song
id String ID do item
Ver exemplo
{
  "type": "song",
  "id": "123"
}

AddItemVerse

id, ids ou references

Nome Tipo Descrição
type String verse
id String (opcional) Para exibir um versículo. ID do item no formato LLCCCVVV.
Exemplo: '19023001' (livro 19, capítulo 023, versículo 001)
ids Array<String> (opcional) Para exibir uma lista de versículos. Lista com o ID de cada versículo.
Exemplo: ['19023001', '43003016', '45012002']
references String (opcional) Referências. Exemplo: João 3:16 ou Rm 12:2 ou Gn 1:1-3 Sl 23.1
version String (opcional) Nome ou abreviação da tradução utilizada v2.21.0+
Ver exemplo
{
  "type": "verse",
  "references": "Ps 23.1-6 Rm 12.2",
  "version": "en_kjv"
}

AddItemText

Nome Tipo Descrição
type String text
id String ID do item
Ver exemplo
{
  "type": "text",
  "id": "xyz"
}

AddItemAudio

Nome Tipo Descrição
type String audio
name String Nome do arquivo
settings PlayMediaSettings (opcional) Configurações para execução da mídia v2.21.0+
Ver exemplo
{
  "id": "",
  "type": "audio",
  "name": "file.mp3",
  "isDir": false
}

AddItemVideo

Nome Tipo Descrição
type String video
name String Nome do arquivo
settings PlayMediaSettings (opcional) Configurações para execução da mídia v2.21.0+
Ver exemplo
{
  "id": "",
  "type": "video",
  "name": "file.mp4",
  "isDir": false
}

AddItemImage

Nome Tipo Descrição
type String image
name String Nome do arquivo
Ver exemplo
{
  "type": "image",
  "name": "file.ext"
}

AddItemAutomaticPresentation

Nome Tipo Descrição
type String automatic_presentation
name String Nome do arquivo
Ver exemplo
{
  "type": "automatic_presentation",
  "name": "filename.ap"
}

AddItemAnnouncement

id, ids, name ou names

Nome Tipo Descrição
type String announcement
id String (opcional) ID do anúncio. Pode ser all para exibir todos
ids Array<String> (opcional) Lista com o ID de cada anúncio
name String (opcional) Nome do anúncio
names Array<String> (opcional) Lista com o nome de cada anúncio
automatic Automatic (opcional) Se informado, a apresentação dos itens será automática
Ver exemplo
{
  "type": "announcement",
  "names": [
    "Anúncio 1", "Anúncio 2", "Anúncio 3"
  ],
  "automatic": {
    "seconds": 10,
    "repeat": true
  }
}

AddItemCountdown

Nome Tipo Descrição
type String countdown
time String HH:MM ou MM:SS
exact_time Boolean (opcional) Se true, time deve ser HH:MM (hora e minuto exato). Se false, time deve ser MM:SS (quantidade de minutos e segundos) Padrão: false
text_before String (opcional) Texto exibido na parte superior da contagem regressiva
text_after String (opcional) Texto exibido na parte inferior da contagem regressiva
zero_fill Boolean (opcional) Preencher o campo 'minuto' com zero à esquerda Padrão: false
countdown_relative_size Number (opcional) Tamanho relativo da contagem regressiva Padrão: 250
theme String (opcional) ID do Tema v2.21.0+
countdown_style FontSettings (opcional) Fonte personalizada para a contagem regressiva v2.21.0+
Ver exemplo
{
  "type": "countdown",
  "time": "05:00",
  "exact_time": false,
  "text_before": "",
  "text_after": "",
  "zero_fill": false,
  "countdown_relative_size": 250,
  "theme": null,
  "countdown_style": {
    "font_name": null,
    "bold": null,
    "italic": true,
    "color": null
  }
}

AddItemCountdownCommunicationPanel

Nome Tipo Descrição
type String countdown_cp
minutes Number Quantidade de minutos
seconds Number Quantidade de segundos
stop_at_zero Boolean (opcional) Parar a contagem regressiva ao chegar em zero Padrão: false
description String Descrição do item
Ver exemplo
{
  "type": "countdown_cp",
  "minutes": 5,
  "seconds": 0,
  "stop_at_zero": false,
  "description": ""
}

AddItemTextCommunicationPanel

Nome Tipo Descrição
type String cp_text
name String Nome do item
text String Texto
display_ahead Boolean (opcional) Alterar a opção 'exibir à frente de tudo'
Ver exemplo
{
  "type": "cp_text",
  "name": "",
  "text": "Exemplo",
  "display_ahead": false
}

AddItemScript

Nome Tipo Descrição
type String script
id String ID do item
description String Descrição do item
inputs Object (opcional) Valor padrão para Function Input
Ver exemplo
{
  "type": "script",
  "id": "xyz",
  "description": "",
  "inputs": {
    "message": "Exemplo", "duration": 30
  }
}

AddItemAPI

Nome Tipo Descrição
type String api
id String ID do item
description String Descrição do item
inputs Object (opcional) Valor padrão para Function Input
Ver exemplo
{
  "type": "api",
  "id": "xyz",
  "description": "",
  "inputs": {
    "message": "Exemplo", "duration": 30
  }
}

AddItemURI

Nome Tipo Descrição
type String uri
title String Título do item
uri_type String Pode ser: spotify youtube deezer
value String URI
Ver exemplo
{
  "type": "uri",
  "title": "Holyrics",
  "uri_type": "youtube",
  "value": "https://youtube.com/watch?v=umYQpAxL4dI"
}

AddItemGlobalAction

Nome Tipo Descrição
type String global_action
action String Pode ser: slide_exit vlc_stop vlc_stop_fade_out

Slide Additional Info Layout

Coloque entre os caracteres < > os textos que deseja exibir
E coloque dentro de % % o nome do campo que deseja utilizar
Exemplo:

<%title%>< (%author%)>
Se transforma em: Título (Autor)
Mas se o campo autor não estiver disponível, será exibido apenas Título, e não Título ()

<%title%>< - %author%>
Se transforma em: Título - Autor
Mas se o campo autor não estiver disponível, será exibido apenas Título, e não Título -

Também é possível utilizar os campos extras criados pelo próprio usuário para as músicas, por exemplo:
Caso exista um campo extra chamado Ano, pode ser utilizado dessa forma:
<title>< - %author%><, %Ano%>
Se transforma em: Título - Autor, 2023

Styled Text

Para exibir um texto com formatação avançada, inicie o texto com <styled>

Tags HTML disponíveis

<styled>
<b>negrito</b>
<i>itálico</i>
<u>sublinhado</u>
<color:0000FF>cor da fonte</color>
<font:Times New Roman>nome da fonte</font>
<size:70>tamanho relativo da fonte 70%</size>