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

Pedro Antunes

Mais ouvida aos 22 anos, Marília Mendonça seria a maior voz desta geração

Marília Mendonça já era a mais ouvida do Brasil aos 22 anos - Montagem: Pedro Antunes
Marília Mendonça já era a mais ouvida do Brasil aos 22 anos Imagem: Montagem: Pedro Antunes

Colunista do UOL

05/11/2021 20h15

Marília Mendonça era indie e pop, era sertanejo e funk. A antena parabólica da música brasileira, fazia a conexão entre estéticas e gêneros distantes. Sofrer com Marília Mendonça era bom demais.

Gravou com Gal Gosta na potente "Te Cuidando de Longe",com a mesma leveza que mostrou ao estar do lado do furacão do axé Ivete Sangalo. Fez duetos com o rapper Xamã e com cantor Leo Santana.

Foi um furacão. Ao vivo, tirava o fôlego. Lives de quarentena não eram capazes de mostrar tudo o que ela podia alcançar. Nem de perto - embora a espontaneidade costumeira estivesse ali.

Plural, Marília cresceu no sertanejo como compositora. Ganhou os holofotes no momento em que aquela estúpida hierarquia masculina começou a ser questionada no gênero, na virada da década ada. Foi como um vento fresco de criatividade em um sertanejo que vivia uma crise por novidade.

Ao lado de outras tantas vozes como Naiara Azevedo, Simone & Simaria, Maiara & Maraisa, ela capitaneou este movimento.

Com a lição de casa dos modões bem feita e respeito aos clássicos, Marília apontou para o futuro da música sertaneja sem se preocupar em manter padrões ou estéticas. Era livre como seu coração gostava de cantar.

"Todos os Cantos", o álbum de 2019, é um grande exemplo dessa renovação.

Como escreveu a colunista Luciana Bugni, ela ensinou a gente a sofrer.

Marília vestiu a coroa de rainha de uma sofrência real, daquela que qualquer um reconhece. É justamente esse o charme se suas músicas: todos que já tiveram o coração partido pelo menos uma vez na vida se identificam com aqueles versos. "Ninguém vai sofrer sozinho, todo mundo vai sofrer", como ela mesma cantou.

Chamá-la como voz do feminejo é até limitador, contudo. A artista não enxergava o mundinho das músicas em caixinhas. Ainda bem.

Marília fazia até o punk mais hardcore chorar, mais do que qualquer artista emo. E também fez esse mesmo punk sorrir, com versos como: "Tá espalhando por aí que eu esfriei, que eu tô mal, que eu tô sem sal, realmente eu tô sem saudade de você".

Perdemos a chance de ouvir o potencial total de Marília. Queria vê-la ao lado de Caetano Veloso, que a homenageou na música "Sem Samba Não Dá" (com o verso "Maravília Mendonça, afinação"), de Anitta e também da Fresno. No Lollapalozoa e Rock in Rio.

Em 2021, Marília lançou um projeto gigante com Maiara e Maraisa (que se tornaria turnê) e também participava de músicas interessantes como uma parceria com Luísa Sonza, "melhor sozinha", que era uma balada de coração partido livre de rótulos, de voz, violão e tristeza.

Esse era o futuro de Marília Mendonça, um lugar musical amplo. Compositora e intérprete de primeira qualidade, era a maior voz da sua geração. Com 22, havia se tornado a artista mais ouvida do Brasil.

Imagine com 32? Podia ser a grande voz brasileira do século. Tinha um potencial de conexão entre gêneros que ninguém mais mostrou até aqui.

A partida prematura aos 26 anos encerra uma trajetória que só tinha a crescer.

Hoje, Marília, a música brasileira sofre. Só que por você.

Você pode reclamar comigo aqui, no Instagram (@poantunes), no Twitter (também @poantunes) ou no TikTok (@poantunes, evidentemente).