chama @autoinstala
dir troca $dirscript
chama @autonotas
*----------------------------*
*Cinevox - programa de acesso ao portal Cine Brasil para usuários de Dosvox (www.cinebrasil.net.br);
*Autor da versão 2.0 em Scriptvox: Fabiano Ferreira - em Janeiro de 2025;
*Autor da versão 1.0 em Python: Carlos Christian - em Janeiro de 2025;
*----------------------------*

*--*Definição de constantes
seja $versao "3.0"
seja $pagina 1

*Chama as rotinas
chama @inicia
chama @menuescolheconteudo
*----------------------------*
*--*Inicia o programa
@inicia
seja $titjan "Cinevox - início"
titulo $titjan

tela limpa
fundo 0
cor 15

tela @1,5
chama @conectaaocinebrasil
mensagem "som\cvabre"
Escreve mudo "CineVox  versão "$versao
escreve ""
mensagem "som\cvintro"
fala $versao
chama @dizquantosonline
retorna

*--*Menu para escolher que conteúdo deseja assistir
@menuescolheconteudo
tela limpa
Escreve mudo "CINEVOX"
Escreve mudo ""
seja $titjan "Cinevox - Menu de conteúdos"
titulo $titjan
Escreve mudo  "Escolha o que você quer assistir."
Escreve mudo "Use setas para selecionar."
Escreve mudo  " Enter confirma, Esc sai do programa."
mensagem "som\cvesccon"

menu cria 1 1 20 4

menu adiciona "Filmes"
menu adiciona "Séries"
menu adiciona "Novelas"
menu adiciona "Últimos assistidos"
menu adiciona "Ler notificações do Cine Brasil"
existeprog "cinevox_mon.exe" x
se x = 0 menu adiciona "Ligar notificação automática"
se x = 1 menu adiciona "Desligar notificação automática"

@fixomenuescolheconteudo
menu executa $numconteudo $letconteudo $texconteudo
se $letconteudo = "#13"
menu termina
mensagem "som\ef01"
se $numconteudo = 1 chama @menuescgenfilme
se $numconteudo = 2 chama @menuescgenserie
se $numconteudo = 3 chama @menuescnovela
se $numconteudo = 4 chama @ultimosassistidos
se $numconteudo = 5 chama @lenotas
se $numconteudo = 6 chama @autonotas
senão
se $letconteudo = "#27"
chama @finaliza
desvia @fixomenuescolheconteudo
fim se
desvia @menuescolheconteudo

*--*Manda sinal de conectado ao servidor do cine brasil;
@conectaaocinebrasil
tela limpa
Escreve mudo "Conectando ao Cine Brasil"
seja $recurso "/conectar "
seja $baseurl "162.220.14.188"
seja $porta 6000
seja $metodo "POST "
seja $useragent "Cinevox"
seja $versao_http "HTTP/1.1"
internet inicia
conecta #0 $baseurl $porta

escreve #0 $metodo $recurso $versao_http
escreve #0 "Host: "$baseurl
escreve #0 "User-Agent: "$useragent
escreve #0 "Accept: */*"
escreve #0 "Connection: Close"
escreve #0 ""
le #0 r
copia r r 10 12
se r = 200
Escreve mudo "Conectado
senão
Escreve mudo "Conexão não pôde ser registrada."
Escreve mudo "Erro: "r
fim se
fecha #0
internet termina
executa "cinevox_con.exe"
retorna
*--*Mostra quantos usuários estão ativos
@dizquantosonline
seja $obtemquantosonline 1
seja $recurso "/contador.json "
seja $metodo "GET "
seja $porta 443

chama @enviapedido
seja r trim r
seja t tamanho r
copia r r 24 t

Escreve "No momento, há "r" usuários conectados ao Cine Brasil."
seja $obtemquantosonline 0
retorna
*--*Menu para escolher o gênero da série
@menuescgenserie
seja $pagina 1
Escreve mudo "Aguarde"
seja $recurso "/api/v1/listargeneroserie"
seja $metodo "GET "
chama @enviapedido
se $status_http <> 200 desvia @erro_http
utf8paraansi r

seja $listadegeneros ""

seja p pos "id_genero" r
enquanto p > 0
soma p 11
seja t tamanho r
copia r r p t
seja p pos "," r
subtrai p 1
copia i r 1 p
seja p pos "nome_genero" r
soma p 14
seja t tamanho r
copia r r p t
seja p pos """" r
subtrai p 1
copia n r 1 p

concatena $listadegeneros n
concatena $listadegeneros "="
concatena $listadegeneros i
concatena $listadegeneros ";"

soma p 2
seja t tamanho r
copia r r p t
seja p pos "id_genero" r
fim enquanto

seja $titjan "Cinevox - Escolha o gênero da série"
titulo $titjan
tela limpa
Escreve mudo "CINEVOX"
escreve mudo ""
Escreve mudo "Escolha o gênero da série."
Escreve mudo ""
Escreve mudo "Use setas para selecionar."
Escreve mudo " Enter confirma, Esc volta ao menu anterior."
mensagem "som\cvescgenser"
Escreve ""
menu cria 1 1 30 60
seja l $listadegeneros
seja p pos "=" l
enquanto p > 0
subtrai p 1
copia $umgenero l 1 p
menu adiciona $umgenero
seja p pos ";" l
soma p 1
seja t tamanho l
copia l l p t
seja p pos "=" l
fim enquanto

@fixomenuescgenserie
menu executa $numgenero $letgenero $textgenero
se $letgenero = "#0#61"
seja $buscando 1
seja $buscanaoencontrada 0
tela limpa
escreve "Digite o termo a pesquisar"
le $abuscar
se $abuscar = "" desvia @fixomenuescgenserie
menu termina
chama @menuescserie
seja $buscando 0
desvia @menuescgenserie
senão
se $letgenero = "#13"
seja $buscando 0
mensagem "som\ef01"
menu termina
chama @menuescserie
desvia @menuescgenserie
senão
se $letgenero = "#27"
mensagem "som\ef02"
menu termina
retorna
fim se
desvia @fixomenuescgenserie

*--*Menu para escolher a série que deseja assistir
@menuescserie
tela limpa
se $pagina = 0
seja $pagina 1
seja $buscanaoencontrada 0
desvia @fixomenuescserie
fim se
Escreve mudo "Aguarde"
seja l $listadegeneros
seja $recurso "/api/v1/listarserie"
seja $metodo "GET "
se $buscando = 1seja $tipochamada 7
se $buscando = 0seja $tipochamada 4
chama @enviapedido
se $status_http <> 200
bipa
se $pagina > 1 subtrai $pagina 1
se $buscando = 1 escreve "Sua busca não retornou resultado"
se $buscando = 1 seja $buscanaoencontrada 1
se $buscando = 1 seja $abuscar ""
se $buscando = 1retorna
se $buscando = 0 desvia @menuescserie
fim se
utf8paraansi r
seja $tipochamada 0
seja $listadeseries ""

seja p pos "id_serie" r
enquanto p > 0
soma p 10
seja t tamanho r
copia r r p t
seja p pos "," r
subtrai p 1
copia i r 1 p
seja p pos "nome_serie" r
soma p 13
seja t tamanho r
copia r r p t
seja p pos """" r
subtrai p 1
copia n r 1 p

concatena $listadeseries n
concatena $listadeseries "="
concatena $listadeseries i
concatena $listadeseries ";"

soma p 2
seja t tamanho r
copia r r p t
seja p pos "id_serie" r
fim enquanto

seja $titjan "Cinevox - Escolha a série"
titulo $titjan

Escreve mudo "Página "$pagina"."
mensagem "som\cvpag"
fala $pagina
Escreve ""
Escreve mudo "Escolha a série."
Escreve mudo ""
Escreve mudo "Use setas para selecionar."

Escreve mudo "Teclas p e a avança e recua página, respectivamente."
Escreve mudo  "Enter escolhe a série, esc volta ao menu anterior."
mensagem "som\cvescser"
Escreve ""
menu cria 1 1 30 10
seja $qtdseries 0
seja l $listadeseries
seja p pos "=" l
enquanto p > 0
subtrai p 1
copia $umaserie l 1 p
menu adiciona $umaserie
soma $qtdseries 1
seja p pos ";" l
soma p 1
seja t tamanho l
copia l l p t
seja p pos "=" l
fim enquanto
@fixomenuescserie
menu executa $numserie $letserie $texserie
se $letserie = "#13"
mensagem "som\ef01"
menu termina
chama @selecserie
desvia @menuescserie
senão
se $letserie = "p"
se $qtdseries < 10 desvia @fixomenuescserie
soma $pagina 1
desvia  @menuescserie
senão
se $letserie = "a"
subtrai $pagina 1
desvia @menuescserie
senão

se $letserie = "#27"
mensagem "som\ef02"
menu termina
retorna
fim se
desvia @fixomenuescserie

*--*Mostra detalhes e permite reproduzir o filme escolhido
@selecserie
tela limpa
Escreve ""
Escreve mudo "Aguarde"
seja $tipochamada 5
seja l $listadeseries
seja $recurso "/api/v1/listarserie"
seja $metodo "GET "
chama @enviapedido
se $status_http <> 200 desvia @erro_http
utf8paraansi r
seja $tipochamada 0
chama @obtemdetalhesserie

Escreve mudo "Detalhes da série."
Escreve mudo "Use setas para ler."
Escreve mudo "Enter lista os episódios de uma temporada, esc volta ao menu anterior"
Escreve ""
mensagem "som\cvdetser"
menu cria 1 1 80 6
menu adiciona $nomedaserie
menu adiciona $generodaserie
menu adiciona $anolancaserie
menu adiciona $sensuraserie
menu adiciona $quemquandoposserie
menu adiciona $linguaserie
menu adiciona $qtemps
menu adiciona $sinopseserie

@fixomenudetalhesserie
seja $titjan "Cinevox - detalhes de "
concatena $titjan $texserie
titulo $titjan

menu executa $numdetserie $letdetserie $texdetserie
se $letdetserie = "#13"
mensagem "som\ef01"
menu termina
chama @qualtempserie
desvia @selecserie
senão
se $letdetserie = "#27"
mensagem "som\ef02"
menu termina
retorna
fim se
desvia @fixomenudetalhesserie

*--*Escolhe uma temporada da série selecionada para mostrar os episódios
*Se for apenas uma temporada, já mostra direto os episódios
@qualtempserie
tela limpa
se $maxtemp > 1
Escreve ""
Escreve mudo "Que temporada deseja assistir?"
Escreve mudo "Digite um valor entre 1 e "$maxtemp
mensagem "som\cvqtemp"
fala "1"
mensagem "som\cve"
fala $maxtemp
le $otemp
se $otemp = "" retorna
se $otemp > $maxtemp escreve mudo "Valor inválido."
se $otemp > $maxtemp  mensagem "som\cvvalinv"
se $otemp > $maxtemp desvia @qualtempserie
se $otemp < 1 escreve "Valor inválido.""
se $otemp < 1 desvia @qualtempserie
senão
seja $otemp 1
fim se
chama @mostraepstempserie
retorna

*--*Mostra a lista de episódios de uma série e permite reproduzir um episódio escolhido
@mostraepstempserie
tela limpa
Escreve ""
Escreve mudo "Aguarde"
seja l $listadeseries

seja $recurso "/api/v1/listartemporada"
seja $metodo "GET "
seja $tipochamada 6
chama @enviapedido
se $status_http <> 200 desvia @erro_http
utf8paraansi r
seja $tipochamada 0
seja $listadeepisodios ""

menu cria 1 1 30 50

seja p pos "titulo"":" r
enquanto p > 0
soma p 9
seja t tamanho r
copia r r p t
seja p pos """" r
subtrai p 1
copia $titepisodio r 1 p
concatena $listadeepisodios $titepisodio
menu adiciona $titepisodio
concatena $listadeepisodios "="
soma p 2
seja t tamanho r
copia r r p t
seja p pos "link_episodio" r
soma p 16
seja t tamanho r
copia r r p t
seja p pos """" r
subtrai p 1
copia $linkepisodio r 1 p
concatena $listadeepisodios $linkepisodio
concatena $listadeepisodios ";"
seja p pos "titulo"":" r
fim enquanto

seja $titjan "Cinevox - escolha o episódio"
titulo $titjan
Escreve mudo "Escolha o episódio que deseja assistir."
Escreve mudo ""
Escreve mudo "Use setas para selecionar."
Escreve mudo "Enter reproduz o episódio selecionado, esc volta ao menu anterior."
mensagem "som\cvescepi"
@fixomenumostraepstempserie
menu executa $numepisodio $letepisodio $texepisodio
se $letepisodio = "#13"
mensagem "som\ef03"
seja l $listadeepisodios
seja p pos $texepisodio l
seja t tamanho l
copia l l p t
seja p pos "=" l
soma p 1
seja t tamanho l
copia l l p t
seja p pos ";" l
subtrai p 1
copia l l 1 p
seja $linkconteudo l
*chama @guardaassistido
Escreve mudo "Iniciando reprodução do episódio."
Escreve mudo "Para ajuda, pressione f1."
mensagem "som\cvinicrepepi"
chama @reproduzconteudo
senão
se $letepisodio = "#27"
mensagem "som\ef02"
menu termina
retorna
fim se
desvia @fixomenumostraepstempserie

*--*Obtem os detalhes da serie selecionada
@obtemdetalhesserie
seja l r
*Pega o nome da serie
seja $nomedaserie "Nome da série: "
seja p pos "nome_serie" l
soma p 13
seja t tamanho l
copia l l p t
seja p pos """" l
subtrai p 1
copia l l 1 p
concatena $nomedaserie l

*Pega o ano de lançamento da serie
seja $anolancaserie "Ano de lançamento: "
seja l r
seja p pos "ano_lancamento" l
soma p 16
seja t tamanho l
copia l l p t
seja p pos "," l
subtrai p 1
copia l l 1 p
concatena $anolancaserie l

*Pega a data de postagem da série
seja $datapostaserie ""
seja l r
seja p pos "data_postagem" l
soma p 16
seja t tamanho l
copia l l p t
seja p pos """" l
subtrai p 1
copia l l 1 p
concatena $datapostaserie l

*Pega a sinopse da série
seja $sinopseserie "Sinopse: "
seja l r
seja p pos "sinopse" l
soma p 10
seja t tamanho l
copia l l p t
seja p pos """,""" l
subtrai p 1
copia l l 1 p
substitui l "\""" """"
substitui l "\n" " "
concatena $sinopseserie l

*Pega a classificação de sensura da série
seja $sensuraserie "Sensura: "
seja l r
seja p pos "classificacao_indicativa" l
soma p 27
seja t tamanho l
copia l l p t
seja p pos """" l
subtrai p 1
copia l l 1 p
concatena $sensuraserie l

*pega o número de temporadas da série
seja $qtemps "Número de temporadas: "
seja l r
seja p pos "quantidade_temporada" l
soma p 22
seja t tamanho l
copia l l p t
seja p pos "," l
subtrai p 1
copia l l 1 p
concatena $qtemps l
seja $maxtemp l

*Pega o idioma da série
seja $linguaserie "Idioma original: "
seja l r
seja p pos "idioma_original" l
soma p 18
seja t tamanho l
copia l l p t
seja p pos """" l
subtrai p 1
copia l l 1 p
concatena $linguaserie l

*Pega o gênero da série
seja $generodaserie "Gênero: "
seja l r
seja p pos """genero"":{" l
soma p 25
seja t tamanho l
copia l l p t
seja p pos """" l
subtrai p 1
copia l l 1 p
concatena $generodaserie l

*pega o nome de quem postou a série
seja $quemposserie ""
seja l r
seja p pos "usuarios" l
soma p 27
seja t tamanho l
copia l l p t
seja p pos """" l
subtrai p 1
copia l l 1 p
concatena $quemposserie l

*Monta a informação de postagem, incluindo quem postou, a data e a hora
seja $quemquandoposserie "Postado por: "
concatena $quemquandoposserie $quemposserie
concatena $quemquandoposserie " em "
concatena $quemquandoposserie $datapostaserie
retorna

*--*Menu para escolher o gênero do filme
@menuescgenfilme
tela limpa
seja $buscando 0
seja $pagina 1
Escreve mudo "Aguarde"
seja $recurso "/api/v1/listargenerofilme"
seja $metodo "GET "
chama @enviapedido
se $status_http <> 200 desvia @erro_http
utf8paraansi r

seja $listadegeneros ""
seja p pos "id_genero" r
enquanto p > 0
soma p 11
seja t tamanho r
copia r r p t
seja p pos "," r
subtrai p 1
copia i r 1 p
seja p pos "nome_genero" r
soma p 14
seja t tamanho r
copia r r p t
seja p pos """" r
subtrai p 1
copia n r 1 p

concatena $listadegeneros n
concatena $listadegeneros "="
concatena $listadegeneros i
concatena $listadegeneros ";"

soma p 2
seja t tamanho r
copia r r p t
seja p pos "id_genero" r
fim enquanto

seja $titjan "Cinevox - Escolha o gênero do filme"
titulo $titjan

Escreve mudo "Escolha o gênero do filme."
Escreve mudo ""
Escreve mudo "Use setas para selecionar."
Escreve mudo " Enter confirma, Esc volta ao menu anterior."
mensagem "som\cvescgenfil"
Escreve ""
menu cria 1 1 30 60
seja l $listadegeneros
seja p pos "=" l
enquanto p > 0
subtrai p 1
copia $umgenero l 1 p
menu adiciona $umgenero
seja p pos ";" l
soma p 1
seja t tamanho l
copia l l p t
seja p pos "=" l
fim enquanto

@fixomenuescgenfilme
menu executa $numgenero $letgenero $textgenero
se $letgenero = "#0#61"
seja $buscando 1
seja $buscanaoencontrada 0
escreve "Digite o termo a pesquisar"
le $abuscar
se $abuscar = "" desvia @menuescgenfilme
menu termina
chama @menuescfilme
seja $buscando 0
desvia @menuescgenfilme
senão
se $letgenero = "#13"
seja $buscando 0
mensagem "som\ef01"
menu termina
chama @menuescfilme
desvia @menuescgenfilme
senão
se $letgenero = "#27"
mensagem "som\ef02"
menu termina
retorna
fim se
desvia @fixomenuescgenfilme

*--*Menu para escolher o filme que deseja assistir
@menuescfilme
tela limpa
se $pagina = 0
seja $pagina 1
desvia @fixomenuescfilme
fim se
Escreve mudo "Aguarde"
seja l $listadegeneros
seja $recurso "/api/v1/listarfilme"
seja $metodo "GET "
se $buscando = 1seja $tipochamada 3
se $buscando = 0seja $tipochamada 1
chama @enviapedido
se $status_http <> 200
se $buscando = 1 escreve "Sua busca não retornou resultado"
bipa
se $pagina > 1 subtrai $pagina 1
se $buscando = 1 seja $buscanaoencontrada 1
se $buscando = 1 retorna
se $buscando = 0 desvia @menuescfilme
fim se

utf8paraansi r
seja $tipochamada 0
seja $listadefilmes ""
seja p pos "id_filme" r
enquanto p > 0
soma p 10
seja t tamanho r
copia r r p t
seja p pos "," r
subtrai p 1
copia i r 1 p
seja p pos "nome_filme" r
soma p 13
seja t tamanho r
copia r r p t
seja p pos """" r
subtrai p 1
copia n r 1 p

concatena $listadefilmes n
concatena $listadefilmes "="
concatena $listadefilmes i
concatena $listadefilmes ";"

soma p 2
seja t tamanho r
copia r r p t
seja p pos "id_filme" r
fim enquanto

seja $titjan "Cinevox - Escolha o filme"
titulo $titjan

Escreve mudo "Página "$pagina"."
mensagem "som\cvpag"
fala $pagina
Escreve ""
Escreve mudo "Escolha o filme."
Escreve mudo ""
Escreve mudo "Use setas para selecionar."
Escreve mudo "Teclas p e a avança e recua página, respectivamente."
Escreve mudo "Enter escolhe o filme, esc volta ao menu anterior."
mensagem "som\cvescfil"
Escreve ""
menu cria 1 1 30 10
seja $qtdfilmes 0
seja l $listadefilmes
seja p pos "=" l
enquanto p > 0
soma $qtdfilmes 1
subtrai p 1
copia $umfilme l 1 p
menu adiciona $umfilme
seja p pos ";" l
soma p 1
seja t tamanho l
copia l l p t
seja p pos "=" l
fim enquanto

@fixomenuescfilme
menu executa $numfilme $letfilme $texfilme
se $letfilme = "#13"
mensagem "som\ef01"
menu termina
chama @selecfilme
desvia @menuescfilme
senão
se $letfilme = "p"
se $qtdfilmes = 1 desvia @fixomenuescfilme
soma $pagina 1
desvia @menuescfilme
senão
se $letfilme = "a"
subtrai $pagina 1
desvia @menuescfilme
senão

se $letfilme = "#27"
mensagem "som\ef02"
menu termina
retorna
fim se
desvia @fixomenuescfilme

*--*Mostra detalhes e permite reproduzir o filme escolhido
@selecfilme
Escreve ""
Escreve mudo "Aguarde"
seja $tipochamada 2
seja l $listadefilmes
seja $recurso "/api/v1/listarfilme"
seja $metodo "GET "
chama @enviapedido
se $status_http <> 200 desvia @erro_http
utf8paraansi r
seja $tipochamada 0
chama @obtemdetalhesfilme

Escreve mudo "Detalhes do filme."
Escreve mudo "Use setas para ler."
Escreve mudo "Enter reproduz o filme, esc volta ao menu anterior."
Escreve ""
mensagem "som\cvdetfil"
tela limpa
menu cria 1 1 80 6
menu adiciona $nomedofilme
menu adiciona $generodofilme
menu adiciona $anolancafilme
menu adiciona $sensurafilme
menu adiciona $quemquandoposfilme
menu adiciona $linguafilme
menu adiciona $sinopsefilme

@fixomenudetalhesfilme
seja $titjan "Cinevox - detalhes de "
concatena $titjan $texfilme
titulo $titjan

menu executa $numdetfilme $letdetfilme $texdetfilme
se $letdetfilme = "#13"
mensagem "som\ef03"
seja $linkconteudo $linkfilme
*chama @guardaassistido
Escreve ""
Escreve mudo "Iniciando reprodução do filme."
Escreve mudo "Para ajuda, pressione f1."
mensagem "som\cvinicrepfil"
 chama @reproduzconteudo
senão
se $letdetfilme = "s"
 chama @salvafilme
senão
se $letdetfilme = "#3"
chama @copiadetfilmeclipboard
senão
se $letdetfilme = "a"
chama @gravadetalhesfilmenoarquivo
senão
se $letdetfilme = "#27"
mensagem "som\ef02"
menu termina
retorna
fim se
desvia @fixomenudetalhesfilme

*--*Obtem os detalhes do filme selecionado
@obtemdetalhesfilme
seja l r

*Pega o nome do Filme
seja $nomedofilme "Nome do filme: "
seja p pos "nome_filme" l
soma p 13
seja t tamanho l
copia l l p t
seja p pos """" l
subtrai p 1
copia l l 1 p
concatena $nomedofilme l

*Pega o ano de lançamento do filme
seja $anolancafilme "Ano de lançamento: "
seja l r
seja p pos "ano_lancamento" l
soma p 16
seja t tamanho l
copia l l p t
seja p pos "," l
subtrai p 1
copia l l 1 p
concatena $anolancafilme l

*Pega a data de postagem do filme
seja $datapostafilme ""
seja l r
seja p pos "data_postagem" l
soma p 16
seja t tamanho l
copia l l p t
seja p pos """" l
subtrai p 1
copia l l 1 p
concatena $datapostafilme l

*Pega a sinopse do filme
seja $sinopsefilme "Sinopse: "
seja l r
seja p pos "sinopse" l
soma p 10
seja t tamanho l
copia l l p t
seja p pos """,""" l
subtrai p 1
copia l l 1 p
substitui l "\""" """"
substitui l "\n" " "
concatena $sinopsefilme l

*Pega a classificação de sensura do filme
seja $sensurafilme "Sensura: "
seja l r
seja p pos "classificacao_indicativa" l
soma p 27
seja t tamanho l
copia l l p t
seja p pos """" l
subtrai p 1
copia l l 1 p
concatena $sensurafilme l

*pega a URL do filme
seja $linkfilme ""
seja l r
seja p pos "link_filme" l
soma p 13
seja t tamanho l
copia l l p t
seja p pos """" l
subtrai p 1
copia l l 1 p
concatena $linkfilme l

*Pega o idioma do filme
seja $linguafilme "Idioma original: "
seja l r
seja p pos "idioma_original" l
soma p 18
seja t tamanho l
copia l l p t
seja p pos """" l
subtrai p 1
copia l l 1 p
concatena $linguafilme l

*Pega o gênero do filme
seja $generodofilme "Gênero: "
seja l r
seja p pos "genero" l
soma p 24
seja t tamanho l
copia l l p t
seja p pos """" l
subtrai p 1
copia l l 1 p
concatena $generodofilme l

*pega o nome de quem postou o filme
seja $quemposfilme ""
seja l r
seja p pos "usuario" l
soma p 26
seja t tamanho l
copia l l p t
seja p pos """" l
subtrai p 1
copia l l 1 p
concatena $quemposfilme l

*Monta a informação de postagem, incluindo quem postou, a data e a hora
seja $quemquandoposfilme "Postado por: "
concatena $quemquandoposfilme $quemposfilme
concatena $quemquandoposfilme " em "
concatena $quemquandoposfilme $datapostafilme
retorna

*--*Lista as novelas disponiveis
@menuescnovela
tela limpa
se $pagina = 0
seja $pagina 1
desvia @fixomenuescnovela
fim se

Escreve mudo "Aguarde"

seja $recurso "/api/v1/listarnovela"
seja $metodo "GET "
chama @enviapedido
se $status_http <> 200 desvia @erro_http
utf8paraansi r

seja $listadenovelas ""
seja p pos "id_novela" r
enquanto p > 0
soma p 11
seja t tamanho r
copia r r p t
seja p pos "," r
subtrai p 1
copia i r 1 p
seja p pos "nome_novela" r
soma p 14
seja t tamanho r
copia r r p t
seja p pos """" r
subtrai p 1
copia n r 1 p

concatena $listadenovelas n
concatena $listadenovelas "="
concatena $listadenovelas i
concatena $listadenovelas ";"

soma p 2
seja t tamanho r
copia r r p t
seja p pos "id_novela" r
fim enquanto

seja $titjan "Cinevox - Escolha a novela"
titulo $titjan

Escreve mudo "Página "$pagina"."
mensagem "som\cvpag"
fala $pagina
Escreve mudo""
Escreve mudo "Escolha a novela."
Escreve mudomudo ""
Escreve mudo  "Use setas para selecionar."
Escreve mudo  "As teclas p e a, avança e recua página, respectivamente."
Escreve mudo  "Enter escolhe a novela, esc volta ao menu anterior."
mensagem "som\cvescnov"
Escreve ""
menu cria 1 1 30 10
seja $qtdnovelas 0
seja l $listadenovelas
seja p pos "=" l
enquanto p > 0
soma $qtdnovelas 1
subtrai p 1
copia $umanovela l 1 p
menu adiciona $umanovela
seja p pos ";" l
soma p 1
seja t tamanho l
copia l l p t
seja p pos "=" l
fim enquanto

@fixomenuescnovela
menu executa $numnovela $letnovela $texnovela
se $letnovela = "#13"
mensagem "som\ef01"
menu termina
chama @selecnovela
desvia @menuescnovela
senão
se $letnovela = "p"
se $qtdnovelas = 1 desvia @fixomenuescnovela
soma $pagina 1
desvia @menuescnovela
senão
se $letnovela = "a"
subtrai $pagina 1
desvia @menuescnovela
senão

se $letnovela = "#27"
mensagem "som\ef02"
menu termina
retorna
fim se
desvia @fixomenuescnovela

*--*Trabalha com a novela selecionada
@selecnovela
seja l $listadenovelas
seja $tipochamada 8
seja $recurso "/api/v1/listarnovela"

seja $metodo "GET "
chama @enviapedido
se $status_http <> 200 desvia @erro_http
utf8paraansi r
seja $tipochamada 0
chama @obtemdetalhesnovela

Escreve mudo"Detalhes da novela."
Escreve mudo "Use setas para ler."
Escreve mudo "Enter permite escolher um capítulo para assistir, esc volta ao menu anterior."
Escreve mudo ""
mensagem "som\cvdetnov"
tela limpa
menu cria 1 1 80 6
menu adiciona $nomedanovela
menu adiciona $anolancanovela
menu adiciona $qtscapsnovela
menu adiciona $fontenovela
menu adiciona $sinopsenovela

@fixomenudetalhesnovela
seja $titjan "Cinevox - detalhes de "
concatena $titjan $texnovela
titulo $titjan

menu executa $numdetnovela $letdetnovela $texdetnovela
se $letdetnovela = "#13"
chama @obtemlinkcapitulonovela
se $qcapassistir = "" retorna
mensagem "som\ef03"
*chama @guardaassistido
Escreve ""
Escreve  "Iniciando reprodução da novela."
mensagem "som\cvinicrepnov"
 chama @reproduzconteudo
senão
se $letdetnovela = "#27"
mensagem "som\ef02"
menu termina
retorna
fim se
desvia @fixomenudetalhesnovela
retorna

*--*Obtem o link de um determinado capítulo da novela
@obtemlinkcapitulonovela

Escreve mudo "Que capítulo deseja assistir?"
Escreve mudo "Digite um valor entre 1 e "$maxcapsnovela
mensagem "som\cvqcapnov"
fala "1"
mensagem "som\cve"
fala $maxcapsnovela
le $qcapassistir

se $qcapassistir = "" retorna
se $qcapassistir > $maxcapsnovela
Escreve mudo "Valor inválido"
mensagem "som\cvvalinv"
desvia @obtemlinkcapitulonovela
senão
se $qcapassistir < 1
 escreve mudo "Valor inválido."
mensagem "som\cvvalinv"
desvia @obtemlinkcapitulonovela
fim se
seja z $qcapassistir
seja k $pagina

se $qcapassistir > 50
seja $pagina 0
enquanto $qcapassistir > 0
subtrai $qcapassistir 50
soma $pagina 1
fim enquanto
soma $qcapassistir 50
fim se

seja l $listadenovelas
seja $tipochamada 9
seja $recurso "/api/v1/listarcapitulonovela"
seja $metodo "GET "
chama @enviapedido
se $status_http <> 200 desvia @erro_http
utf8paraansi r
seja $tipochamada 0
seja $pagina k

*Procura  o capítulo desejado
repete w $qcapassistir
seja p pos "id_capitulo" r
soma p 1
seja t tamanho r
copia r r p t
fim repete

seja p pos "link_capitulo" r
soma p 16
seja t tamanho r
copia r r p t

seja p pos """" r
subtrai p 1
copia r r 1 p
seja $linkconteudo r
seja $qcapassistir z
retorna

*--*Obtem detalhes da novela selecionada
@obtemdetalhesnovela
*Pega o nome da novela
seja l r
seja $nomedanovela "Novela: "
seja p pos "nome_novela" l
soma p 14
seja t tamanho l
copia l l p t
seja p pos """" l
subtrai p 1
copia l l 1 p
concatena $nomedanovela l

*Pega a quantidade de capítulos disponíveis
seja l r
seja $qtscapsnovela "Quantidade de capítulos disponíveis: "
seja p pos "quantidade_capitulo" l
soma p 21
seja t tamanho l
copia l l p t
seja p pos "," l
subtrai p 1
copia l l 1 p
concatena $qtscapsnovela l
seja $maxcapsnovela l

*Pega o ano de lançamento da novela
seja l r
seja $anolancanovela "Ano de lançamento: "
seja p pos "ano_lancamento" l
soma p 16
seja t tamanho l
copia l l p t
seja p pos "," l
subtrai p 1
copia l l 1 p
concatena $anolancanovela l

*Pega a sinopse da novela
seja l r
seja $sinopsenovela "Sinopse: "
seja p pos "sinopse_novela" l
soma p 17
seja t tamanho l
copia l l p t
seja p pos """,""" l
subtrai p 1
copia l l 1 p
substitui l "\""" """"
substitui l "\n" " "
concatena $sinopsenovela l

*Pega a fonte da novela
seja l r
Seja $fontenovela "Fonte: "
seja p pos "fonte_novela" l
soma p 15
seja t tamanho l
copia l l p t

seja p pos """" l
subtrai p 1
copia l l 1 p
concatena $fontenovela l
retorna

*--*Executa quando http retorna diferente de 200
@erro_http
Escreve "Erro: "$status_http
seja $mensagem_de_erro r
le #1 r
checa $nadaparaler
enquanto $nadaparaler = 0
concatena $mensagem_de_erro r
le #1 r
checa $nadaparaler
fim enquanto
utf8paraansi $mensagem_de_erro
escreve $mensagem_de_erro
transfere de $mensagem_de_erro
Escreve ""
retorna
*termina mudo

*--*Envia pedido ao servidor
@enviapedido
se $host = "" seja $host "www.cinebrasil.net.br"

seja $versao_http " HTTP/1.1"

internet inicia
se $porta = "" seja $porta 443
se $porta <> 443
conecta #1 $host $porta
senão
conecta ssl #1 $host $porta
fim se

escreve #1 $metodo $recurso $versao_http
escreve #1 "User-Agent: Cinevox"
escreve #1 "Host: "$host
escreve #1 "Accept: */*"
escreve #1 "Connection: Close"
Se $tipochamada = 1
seja $dadospost "{""id_genero"":"
seja $procgenero $textgenero
concatena $procgenero "="
seja p pos $procgenero l
seja t tamanho l
copia l l p t
seja p pos "=" l
soma p 1
seja t pos ";" l
subtrai t 1
copia i l p t
concatena $dadospost i
concatena $dadospost ",""pagina"":"
concatena $dadospost $pagina
concatena $dadospost ",""ordem"":""asc"",""limit"":10}"
escreve #1 "Content-Type: Application/json"
seja $tamdadospost tamanho $dadospost
escreve #1 "Content-length: "$tamdadospost
escreve #1 ""
escreve #1 $dadospost
senão
Se $tipochamada = 2
seja $dadospost "{""id_filme"":"
seja $procfilme $texfilme
concatena $procfilme "="
seja p pos $procfilme l
seja t tamanho l
copia l l p t
seja p pos "=" l
soma p 1
seja t pos ";" l
subtrai t 1
copia i l p t
concatena $dadospost i
concatena $dadospost "}"
escreve #1 "Content-Type: Application/json"
seja $tamdadospost tamanho $dadospost
escreve #1 "Content-length: "$tamdadospost
escreve #1 ""
escreve #1 $dadospost
senão
se $tipochamada = 3
seja $dadospost "{""nome_filme"":"""
concatena $dadospost $abuscar
concatena $dadospost """,""pagina"":"
concatena $dadospost $pagina
concatena $dadospost "}"
escreve #1 "Content-Type: Application/json"
ansiparautf8 $dadospost
seja $tamdadospost tamanho $dadospost
escreve #1 "Content-length: "$tamdadospost
escreve #1 ""
escreve #1 $dadospost
senão
Se $tipochamada = 4
seja $dadospost "{""id_genero"":"
seja $procgenero $textgenero
concatena $procgenero "="
seja p pos $procgenero l
seja t tamanho l
copia l l p t
seja p pos "=" l
soma p 1
seja t pos ";" l
subtrai t 1
copia i l p t
concatena $dadospost i
concatena $dadospost ",""pagina"":"
concatena $dadospost $pagina
concatena $dadospost "}"
escreve #1 "Content-Type: Application/json"
seja $tamdadospost tamanho $dadospost
escreve #1 "Content-length: "$tamdadospost
escreve #1 ""
escreve #1 $dadospost
senão
Se $tipochamada = 5
seja $dadospost "{""id_serie"":"
seja $procserie $texserie
concatena $procserie "="
seja p pos $procserie l
seja t tamanho l
copia l l p t
seja p pos "=" l
soma p 1
seja t pos ";" l
subtrai t 1
copia i l p t
concatena $dadospost i
concatena $dadospost "}"
escreve #1 "Content-Type: Application/json"
seja $tamdadospost tamanho $dadospost
escreve #1 "Content-length: "$tamdadospost
escreve #1 ""
escreve #1 $dadospost
senão
Se $tipochamada = 6
seja $dadospost "{""id_serie"":"
seja $procserie $texserie
concatena $procserie "="
seja p pos $procserie l
seja t tamanho l
copia l l p t
seja p pos "=" l
soma p 1
seja t pos ";" l
subtrai t 1
copia i l p t
concatena $dadospost i
concatena $dadospost "}"
escreve #1 "Content-Type: Application/json"
seja $tamdadospost tamanho $dadospost
escreve #1 "Content-length: "$tamdadospost
escreve #1 ""
escreve #1 $dadospost
escreve #1 ""
le #1 r
seja $status_http r
copia $status_http $status_http 10 12
se $status_http <> 200 desvia @erro_http

le #1 r
enquanto r <> ""
le #1 r
fim enquanto
le #1 r
fecha #1

repete z $otemp
seja p pos "id_temporada" r
soma p 1
seja t tamanho r
copia r r p t
fim repete
seja t tamanho r
copia r r 14 t
seja p pos "," r
subtrai p 1
copia r r 1 p
seja $idtemporada r

seja $recurso "/api/v1/listarepisodio"
conecta ssl #1 $host $porta
escreve #1 $metodo $recurso $versao_http
escreve #1 "User-Agent: Cinevox"
escreve #1 "Host: "$host
escreve #1 "Accept: */*"
escreve #1 "Connection: Close"

seja $dadospost "{""id_temporada"":"
concatena $dadospost $idtemporada
concatena $dadospost "}"
escreve #1 "Content-Type: Application/json"
seja $tamdadospost tamanho $dadospost
escreve #1 "Content-length: "$tamdadospost
escreve #1 ""
escreve #1 $dadospost
senão
se $tipochamada = 7
seja $dadospost "{""nome_serie"":"""
concatena $dadospost $abuscar
concatena $dadospost """,""pagina"":"
concatena $dadospost $pagina
concatena $dadospost "}"
escreve #1 "Content-Type: Application/json"
ansiparautf8 $dadospost
seja $tamdadospost tamanho $dadospost
escreve #1 "Content-length: "$tamdadospost
escreve #1 ""
escreve #1 $dadospost
senão
se $tipochamada = 8
seja $dadospost "{""id_novela"":"
seja $procnovela $texnovela
concatena $procnovela "="
seja p pos $procnovela l
seja t tamanho l
copia l l p t
seja p pos "=" l
soma p 1
seja t pos ";" l
subtrai t 1
copia i l p t
concatena $dadospost i
concatena $dadospost ",""pagina"":"
concatena $dadospost $pagina
concatena $dadospost "}"
escreve #1 "Content-Type: Application/json"
ansiparautf8 $dadospost
seja $tamdadospost tamanho $dadospost
escreve #1 "Content-length: "$tamdadospost
escreve #1 ""
escreve #1 $dadospost
senão
se $tipochamada = 9
seja $dadospost "{""id_novela"":"
seja $procnovela $texnovela
concatena $procnovela "="
seja p pos $procnovela l
seja t tamanho l
copia l l p t
seja p pos "=" l
soma p 1
seja t pos ";" l
subtrai t 1
copia i l p t
concatena $dadospost i
concatena $dadospost ",""pagina"":"
concatena $dadospost $pagina
concatena $dadospost "}"
escreve #1 "Content-Type: Application/json"
ansiparautf8 $dadospost
seja $tamdadospost tamanho $dadospost
escreve #1 "Content-length: "$tamdadospost
escreve #1 ""
escreve #1 $dadospost
fim se
escreve #1 ""
le #1 r
seja $status_http r
copia $status_http $status_http 10 12
le #1 r
enquanto r <> ""
le #1 r
fim enquanto
le #1 r
se $obtemquantosonline  = 1
enquanto não r *=* "quantidade_usuarios"
le #1 r
fim enquanto
fim se
fecha #1
internet termina
retorna

*--*Reproduz o conteúdo escolhido
@reproduzconteudo
tela limpa
seja $titjan "Cinevox - reproduzindo: "
se $numconteudo = 1
concatena $titjan $texfilme
senão
se $numconteudo = 2
concatena $titjan $texserie
concatena $titjan " - "
concatena $titjan "Temporada "
concatena $titjan $otemp
concatena $titjan ", "
concatena $titjan $texepisodio
senão
se $numconteudo = 3
concatena $titjan $texnovela
concatena $titjan " - "
concatena $titjan "Capítulo "
concatena $titjan $qcapassistir
fim se

titulo $titjan
seja $player "mpv\mpv.exe --save-position-on-quit=yes """
concatena $player $linkconteudo
concatena $player """ --title=""Cinevox - Reproduzindo: "
se $numconteudo = 1
concatena $player $texfilme
senão
se $numconteudo = 2
concatena $player $texserie
concatena $player " - "
concatena $player "Temporada "
concatena $player $otemp
concatena $player ", "
concatena $player $texepisodio
senão
se $numconteudo = 3
concatena $player $texnovela
concatena $player " - "
concatena $player "Capítulo "
concatena $player $qcapassistir
fim se

concatena $player """"
executa $player
espera 1
retorna

*--*Sai do programa
@finaliza
Escreve mudo "Confirma saída?
mensagem "som\cvconfsai"
le mudo $opcao &
se $opcao = "s"
mensagem "som\ef05"
Escreve mudo "Até mais!"
mensagem "som\cvtchau"
*chama @desligamon
termina mudo
senão
se $opcao = "n"
retorna
senão
desvia @finaliza
fim se

*--*Liga ou desliga a notificação automática;
@autonotas
existeprog "cinevox_mon.exe" x
se x = 0 chama @ligamon
se x = 1 chama @desligamon
retorna

@ligamon
executa "cinevox_mon.exe"&
retorna

@desligamon
seja $comando "cmd /c taskkill /f /im cinevox_mon.exe"
executa $comando &&
retorna

*--*Mostra as notificações de publicações do Cine Brasil;
@lenotas
tela limpa
seja $novalinha crlf
seja $arqnotas "temp\cvnotas"
remove $arqnotas &
seja $host "162.220.14.188"
seja $recurso "/notificacoes"
seja $metodo "GET "
seja $porta 6001
chama @enviapedido
se $status_http <> 200 desvia @erro_http
utf8paraansi r
seja $porta ""
seja $host ""

abre #1 $arqnotas &
*Pega o título da nota
seja p pos "mensagem"":""" r
enquanto p > 0
soma p 13
seja t tamanho r
copia r r p t
seja l r
seja p pos """,""" l
subtrai p 1
copia l l 1 p
seja p pos "\n" l
subtrai p 1
copia l l 1 p
substitui l "\""" """"
seja $titulonotas l
seja $titulonotas trim $titulonotas
concatena $titulonotas " - em "

 *Pega a mensagem da nota
seja l r
seja p pos """,""" l
subtrai p 1
copia l l 1 p
substitui l "\n" $novalinha
substitui l "\""" """"
seja $mensagemnotas l

*Pega a data de postagem da nota
seja p pos "dataHora"":""" r
soma p 11
seja t tamanho r
copia r r p t
seja l r
seja p pos """" l
subtrai p 1
copia l l 1 p
chama @convertedatahora
concatena $titulonotas $data
concatena $titulonotas " "
concatena $titulonotas $hora
escreve #1 "***"$titulonotas
escreve #1 $mensagemnotas
escreve #1 "/"
seja $titulonotas ""
seja p pos "mensagem"":""" r

fim enquanto
fecha #1

Escreve mudo "Notificações. Use as setas para ler os títulos das notas"
Escreve mudo "Enter abre a nota selecionada, esc volta ao menu anterior"
mensagem "som\cvlenotas"
menu cria 1 1 30 50
abre #1 $arqnotas
le #1 l
checa c
enquanto c = 0
se l =* "***"
seja t tamanho l
copia l l 4 t
menu adiciona l
fim se
le #1 l
checa c
fim enquanto
fecha #1

@fixomenulenotas
menu executa $numnotas $letnotas $texnotas
se $letnotas = "#13"
*Define o tipo de conteúdo
se $texnotas =* "Novo filme disponível!" seja $tipoconteudo "filme"
se $texnotas =* "Nova série disponível!" seja $tipoconteudo "série"
se $texnotas =* "Série atualizada:" seja $tipoconteudo "série atualizada"
se $tipoconteudo = "série" seja $texserie $texnotas

mensagem "som\ef07"
Escreve mudo "Lendo notificação.""
Escreve mudo "Use setas para ler, enter reproduz o conteúdo referente a essa nota, Esc volta ao menu anterior."
mensagem "som\cvleno"
menu termina
chama @abrenotaselec
desvia @lenotas
senão
se $letnotas = "#27"
mensagem "som\ef02"
menu termina
tela limpa
retorna
fim se
desvia @fixomenulenotas

@abrenotaselec
abre #1 $arqnotas
seja $aprocurar "***"
concatena $aprocurar $texnotas
le #1 l
enquanto l <> $aprocurar
le #1 l
fim enquanto
seja p pos "!" l
seja t tamanho l
soma p 2
copia l l p t
seja p pos "." l
subtrai p 1
copia l l 1 p
seja $abuscar l

se $tipoconteudo = "filme"
seja $texfilme l
senão
se $tipoconteudo = "série"
seja $texserie l
fim se
seja $numconteudo 1
menu cria 1 1 60 20
le #1 l
enquanto não l = "/"
seja l trim l
se l =* "Temporada "
seja p pos " " l
soma p 1
seja t tamanho l
copia $otemp l p t
fim se
se l <> "" menu adiciona l
le #1 l
fim enquanto
fecha #1
seja $numtexnota 1
@fixomenuabrenotaselec
menu executa $numtexnota $lettexnota $textexnota
se $lettexnota = "#13"
se $tipoconteudo = "série" menu termina
chama @repcontnota
se $tipoconteudo = "filme" desvia @fixomenuabrenotaselec
se $tipoconteudo = "série" desvia @abrenotaselec
senão
se $lettexnota = "s"
se $tipoconteudo <> "filme" desvia @fixomenuabrenotaselec
seja $buscando 1
seja $recurso "/api/v1/listarfilme"
 seja $tipochamada 3
seja $metodo "GET "
chama @enviapedido
se $status_http <> 200 desvia @fixomenuabrenotaselec
seja $numconteudo 1
 chama @obtemdetalhesfilme
seja $linkconteudo $linkfilme
chama @salvafilme
desvia @fixomenuabrenotaselec
senão
se $lettexnota = "#3"
se $tipoconteudo <> "filme" desvia @fixomenuabrenotaselec
seja $buscando 1
seja $recurso "/api/v1/listarfilme"
 seja $tipochamada 3
seja $metodo "GET "
chama @enviapedido
se $status_http <> 200 desvia @fixomenuabrenotaselec
seja $numconteudo 1
utf8paraansi r
 chama @obtemdetalhesfilme
chama @copiadetfilmeclipboard
desvia @fixomenuabrenotaselec
senão
se $lettexnota = "a"
se $tipoconteudo <> "filme" desvia @fixomenuabrenotaselec
seja $buscando 1
seja $recurso "/api/v1/listarfilme"
 seja $tipochamada 3
seja $metodo "GET "
chama @enviapedido
se $status_http <> 200 desvia @fixomenuabrenotaselec
seja $numconteudo 1
utf8paraansi r
 chama @obtemdetalhesfilme
chama @gravadetalhesfilmenoarquivo
desvia @fixomenuabrenotaselec
senão
se $lettexnota = "#27"
mensagem "som\ef02"
tela limpa
seja $buscando 0
seja $abuscar ""
 retorna
fim se
desvia @fixomenuabrenotaselec

*--*Reproduz o conteúdo da notificação selecionada
@repcontnota
seja $buscando 1
se $tipoconteudo = "filme"
seja $recurso "/api/v1/listarfilme"
 seja $tipochamada 3
senão
se $tipoconteudo = "série"
 seja $recurso "/api/v1/listarserie"
 seja $tipochamada 7
senão
se $tipoconteudo = "série atualizada"
 seja $recurso "/api/v1/listarserie"
seja $tipochamada 7
fim se

seja $metodo "GET "
chama @enviapedido
se $status_http <> 200 desvia @fixomenuabrenotaselec

se $tipoconteudo = "filme"
seja $numconteudo 1
 chama @obtemdetalhesfilme
seja $linkconteudo $linkfilme

Escreve mudo "Iniciando reprodução do filme."
Escreve mudo "Para ajuda, pressione f1."
mensagem "som\cvinicrepfil"
chama @reproduzconteudo
senão
se $tipoconteudo = "série"
seja $numconteudo 2
chama @obtemdetalhesserie
chama @prepdadosserie
chama @qualtempserie
senão
se $tipoconteudo = "série atualizada"
seja $numconteudo 2
chama @obtemdetalhesserie
chama @prepdadosserie
 seja $recurso "/api/v1/listartemporada"
chama @enviapedido
chama @mostraepstempserie
fim se
retorna

@prepdadosserie
seja p pos "id_serie" r
soma p 10
seja t tamanho r
copia r r p t
seja $id_serie r
seja p pos "," $id_serie
subtrai p 1
copia $id_serie $id_serie 1 p

seja $texserie $nomedaserie
seja p pos ":" $texserie
soma p 2
seja t tamanho $texserie
copia $texserie $texserie p t
utf8paraansi $texserie
seja $listadeseries ""
concatena $listadeseries $texserie
concatena $listadeseries "="
concatena $listadeseries $id_serie
concatena $listadeseries ";"
retorna
@convertedatahora
seja $data ""
copia $ano l 1 4
copia $mes l 6 7
copia $dia l 9 10
copia $hora l 12 19
concatena $data $dia
concatena $data "/"
concatena $data $mes
concatena $data "/"
concatena $data $ano
retorna

*---------------------------*
*--*Instalação automática de scripts;
@autoinstala
*--*Obtem o diretório do perfil de usuário
seja $arqlog "result.log"
seja $obtemuserprofile "obtemuserprofile.bat"

remove $obtemuserprofile &
abre #1 $obtemuserprofile &
escreve #1 "@echo off"
escreve #1 "chcp 1252"
escreve #1 "echo %userprofile%>"$arqlog" 2>&1"
escreve #1 "exit"
fecha #1

seja $comando $obtemuserprofile
executa $comando &&
espera 1
seja $esperacmd 0
existeprog "cmd.exe" x
enquanto x = 1
se $esperacmd = 20 desvia @para_de_esperar_cmd
soma $esperacmd 1
espera ms 500
existeprog "cmd.exe" x
fim enquanto
@para_de_esperar_cmd
*abandona o loop e continua executando.

busca b $arqlog
enquanto b = ""
espera ms 500
busca b $arqlog
fim enquanto

abre #1 $arqlog
le #1 $userprofile
fecha #1
seja $userprofile trim $userprofile
remove $arqlog
remove $obtemuserprofile

seja $scriptdir $userprofile
concatena $scriptdir "\cinevox.dir"
busca b $scriptdir
se b = ""
busca $dirscript dir

abre #1 $scriptdir &
escreve #1 $dirscript
fecha #1
chama @cria_reg_dosvox_ini
senão
abre #1 $scriptdir
le #1 $dirscript
fecha #1
fim se
retorna

*--*Cria uma entrada no dosvox.ini para facilitar a abertura do programa.
@cria_reg_dosvox_ini
Escreve "Criando entrada no Dosvox.ini."
Escreve "Da próxima vez, você poderá abrir o cinevox pressionando r, /, c"
seja $arqatu $dirscript
concatena $arqatu "\script.atu"
remove $arqatu &
abre #1 $arqatu &
escreve #1 "[PROGREDE]"
Escreve #1 "Rede22=/,[REDEOUTROS],-RDOUTROS,Outros utilitários de rede"
escreve #1 ""
escreve #1 "[REDEOUTROS]"
escreve #1 "Rede11=C,"$dirscript"\CINEVOX.EXE,-REDEAD,Assistir conteúdos audiodescritos"
fecha #1
chama @obtemdirdosvox
seja $comando $dirdosvox
concatena $comando "\atuvox.exe """
concatena $comando $arqatu
concatena $comando """"
executa $comando &
espera 1
existeprog "atuvox.exe" x
enquanto x = 1
espera ms 500
existeprog "atuvox.exe" x
fim enquanto
espera 1
remove $arqatu &
retorna

*--*Obtem o diretório padrão de instalação do Dosvox;
@obtemdirdosvox
seja $dosvoxini $userprofile
concatena $dosvoxini "\appdata\roaming\dosvox\dosvox.ini"
abre #1 $dosvoxini
le #1 $dirdosvox
enquanto não $dirdosvox =* "PGMDOSVOX="
le #1 $dirdosvox
fim enquanto
fecha #1
seja t tamanho $dirdosvox
copia $dirdosvox $dirdosvox 11 t
retorna

*--*Permite selecionar os últimos conteúdos assistidos
@ultimosassistidos
escreve "A função de últimos assistidos será implementada em breve."
retorna
seja $ua "temp\ua"
abre #1 $ua
menu cria 1 1 60 30
le #1 l
checa c
enquanto c = 0
menu adiciona l
le #1 l
le #1 l
checa c
fim enquanto
fecha #1

@fixomenuultimosassistidos
menu executa $nua $lua $tua
desvia @fixomenuultimosassistidos

retorna

*--*Guarda o conteúdo assistido
@guardaassistido
*seja $ua "temp\ua"
*abre #1 $ua &
*se $numconteudo = 1
*escreve #1 "Filme: "$texfilme
*senão
*se $numconteudo = 2
*Escreve #1 "Série: "$texserie", temporada "$otemp", "$texepisodio
*fim se
*escreve #1 $linkconteudo
*fecha #1
*retorna

*--*Salva o filme
@salvafilme
seja $dirfilmepadrao "downloads\filmes\"
seja $nomearqfilme $dirfilmepadrao
concatena $nomearqfilme $texfilme
concatena $nomearqfilme ".MP3"

Escreve mudo "Salvando o filme, aguarde"
mensagem "som\cvbaifil"
trazdarede $linkfilme $nomearqfilme 0 "" "cinevox" x
se x = 0
escreve mudo "Filme baixado com sucesso."
escreve mudo "Salvo em cinevox\downloads\filmes"
mensagem "som\cvfilsal"
senão
Escreve mudo "Erro ao tentar baixar este conteúdo."
mensagem "som\cversal"
fim se
retorna

@copiadetfilmeclipboard
seja $infofilme ""
seja $novalinha crlf
concatena  $infofilme $nomedofilme
concatena $infofilme $novalinha
concatena $infofilme  $generodofilme
concatena $infofilme $novalinha
concatena $infofilme $anolancafilme
concatena $infofilme $novalinha
concatena $infofilme $sensurafilme
concatena $infofilme $novalinha
concatena $infofilme  $quemquandoposfilme
concatena $infofilme $novalinha
concatena $infofilme $linguafilme
concatena $infofilme $novalinha
concatena $infofilme $sinopsefilme
transfere de $infofilme
bipa 1
Escreve mudo "Informações copiadas para a área de transferência"
mensagem "som\cvinfocopclip"
retorna

@gravadetalhesfilmenoarquivo
seja $dirsinopsefilmepadrao "sinopses\filmes\"
seja $nomearqsinopsefilme $dirsinopsefilmepadrao
concatena $nomearqsinopsefilme $texfilme
concatena $nomearqsinopsefilme ".txt"
busca b $nomearqsinopsefilme
se b <> "" remove $nomearqsinopsefilme
abre #1 $nomearqsinopsefilme &
escreve #1 $nomedofilme
escreve #1 $generodofilme
escreve #1 $anolancafilme
escreve #1 $sensurafilme
escreve #1 $quemquandoposfilme
escreve #1 $linguafilme
escreve #1 $sinopsefilme
fecha #1
escreve mudo "Informações salvas em arquivo, na pasta cinevox\sinopses\filmes"
mensagem "som\cvtxtsinofil"
retorna
