;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Tony Bellotto conta por que ouve música clássica na 'hora H'

Colaboração para Splash, em São Paulo

20/07/2022 04h00

Luiza Possi e Tony Bellotto estão saindo da caixa nesta semana. Em meio à música e risadas, algumas revelações musicais - pessoais também. Quem imaginaria que Tony, compositor de vários dos sucessos do Titãs, escolheria uma canção de Beethoven para um momento mais íntimo? Ou, que para "sair da caixa" ele elegeria um sertanejo?

"Quando um certo alguém, cruzou o teu caminho e mudou a direção". Apesar do repertório vasto de músicas escritas por ele, Tony contou à Luiza que na hora de lembrar de uma pessoa especial, é um clássico de Lulu Santos que ele curte ouvir: "Eu amo essa música."

No quadro "Uma Música para Cada Momento", Tony contou para Luiza as músicas que embalam determinados momentos da sua vida.

  • Música para namorar? "Gosto de Blues. Blues de Robert Johnson, qualquer um."
  • Para bombar na caixa de som? "Should I Stay or Should I Go", de The Clash."
  • Música para curtir no fone de ouvido? "Jazz".

Agora, na hora de contar para Luiza Possi sua escolha para 'hora H', um estilo ainda não falado no programa: "Um clássico, música erudita, um Beethoven.

O menino da porteira

Já que é para sair da caixa, Tony preparou uma versão diferenciada de "O Menino da Porteira", de Sérgio Reis e regravado por Daniel.

"Eu vi milhões de músicas a vida inteira, mas tem algumas músicas que me pegam muito, especialmente de um jeito afetivo. Tony Bellotto

Nascido em São Paulo, Tony cresceu em Assis, no interior, onde seus pais eram professores universitário: "Quando comecei a me interessar por música, eu já ouvia rock, Roberto Carlos, Mutantes, Rita Lee, mas tinha um tipo que era a sertaneja, que me cativava", revelou ele que gostava não só do tom, mas da melancolia que ela carregava.

Menino da Porteira é uma música que me marcou muito naquela época. Era uma música que tem uma força descritiva e narrativa tipo "Faroeste Caboclo", do Renato Russo. Ela conta a história com uma precisão, uma história triste. Então essas músicas são as que vão mais lá no fundo. Tony Bellotto

Sai da Caixa: Os bastidores da gravação com Tony Bellotto e Luiza Possi

O "Sai da Caixa" é o programa musical do Canal UOL e vai ao ar todas às quartas-feiras, sempre às 14h30. Nessa temporada, Luiza Possi ainda vai receber Leonardo Gonçalves, Paulo Ricardo e Gabi Martins.

Você pode assistir a toda a programação do Canal UOL aqui