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

Roberta Medina retrata perrengues com artistas no RiR: 'Controle emocional'

Roberta Medina também comentou sobre alguns cancelamentos do festival - André Horta/Brazil News
Roberta Medina também comentou sobre alguns cancelamentos do festival Imagem: André Horta/Brazil News

Mateus Almeida

10/09/2022 07h38

"Tem que beber energético e muita água". É assim que Roberta Medina, vice-presidente-executiva do Rock in Rio, enfrenta uma verdadeira maratona durante os dias de festival. Mas, se engana quem acha que os desgastes, emocional e físico, estão presentes só durante o evento. Eles aparecem - até mesmo - horas antes dos shows.

Na atual edição, a organização do Rock in Rio viveu dias de dúvida com a vinda de Justin Bieber, que chegou a suspender outras apresentações de sua turnê no Brasil. O burburinho em torno da presença do cantor canadense gerou expectativa e trouxe à tona outra experiência marcante: o cancelamento do show da cantora Lady Gaga, em 2017. Ela foi substituída de última hora pelo Maroon 5, que acabou tocando como atração principal em duas noites.

"Com a Lady Gaga foi sem aviso, porque a participação dela foi cancelada dois dias antes. Com o Justin ficou o suspense no ar, que testou o coração de todo mundo. Foi uma semana inteira com os boatos rolando e a gente manteve", conta Roberta.

Outro cancelamento, o da cantora Ariana Grande, no Rock in Rio Lisboa 2016, também começou a partir de uma movimentação suspeita. O que acabou não saindo como era esperado.

"Com a Ariana Grande em Lisboa, uma pessoa da assessoria de imprensa descobriu uma história no Facebook de que ela estava doente. Eu liguei para o diretor artístico tentando descobrir. Ele teve que ligar para o agente dela e, em uma hora, com o evento já rolando, a gente descobriu que ela não iria. Então, o aprendizado é: se tiver fumaça, tem que ir lá ver o que está acontecendo."

Segundo Roberta, os mistérios que envolvem o cancelamento de um artista causam ansiedade em toda a equipe. E, só resta rezar para tudo dar certo.

"A sensação é de ficar sem ar e rezar muito. Todas as possíveis. A gente já ou por uma situação, com a Amy Winehouse em Lisboa [na edição de 2008], em que ela estava em uma fase muito difícil. Até ela pousar lá no aeroporto foi um sufoco", relembra.

"Mas, ninguém faz essa parada toda, com esse tamanho, sem o talento e com algum controle emocional. A parte toda da equipe de operações, que lida com segurança, limpeza e os shows, tem que bater um sangue frio para manter tudo minimamente calmo e sob controle."

Desafios dos últimos dias

Mesmo com o primeiro fim de semana do Rock in Rio marcado com muita chuva e fluxo intenso de trânsito na cidade, o saldo até aqui é positivo. Pelo menos na visão de Roberta Medina.

"Eu acho que, até aqui, o que marca é a alegria, a paz e o ambiente harmônico. A gente teve o desafio do primeiro dia com o trânsito do Rio de Janeiro. Muita gente vindo com os carros de aplicativo, porque a galera não estava habituada com o Rock Express", pontua Roberta, citando o transporte especial para chegar à Cidade do Rock, na Zona Oeste da cidade.

"A gente está registrando uma média de, no mínimo, 50 mil pessoas no Rock Express. O que é muito bom. Nenhuma cidade do mundo aguentaria, porque é um fluxo de 100 mil pessoas indo para um lugar. Então, é importante reforçar que as pessoas procurem o transporte que facilite o trânsito."

E, como boa entendedora do assunto festival, Roberta Medina dá dicas para quem ainda vai curtir os shows deste sábado (10) e domingo (11).

"Está com previsão de chuva. As pessoas precisam trazer capa para a proteção. E, também, depois do fim do show no Palco Mundo, tem uma programação acontecendo para as pessoas saírem devagar da Cidade do Rock, porque não tem como saírem essas 100 mil pessoas de uma hora para a outra. A galera tem que vir para cá entendendo que a saída acontece de forma organizada e segura. O processo que a gente faz é de soltar o fluxo aos poucos para não apertar mais para frente. E vamos bem até o final."