;(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();
})();
'Sou mensageira da liberdade', diz MC Dricka, que concorre ao BET Awards
A cantora MC Dricka
Divulgação
De Splash, em São Paulo
09/06/2021 04h00
Fernanda Adrielli, a MC Dricka, acordou na segunda-feira (7) pronta para mais uma semana de trabalho. Quando pegou o celular, viu suas notificações do Twitter explodindo e várias chamadas dos seus produtores.
O motivo:
Ela foi indicada ao BET Awards, uma das premiações mais importantes da música urbana e do hip-hop mundial, concorrendo ao prêmio de Melhor Novidade Internacional, em votação que é aberta para o público.
A cantora conversou com Splash, por videochamada, e comentou a indicação ao prêmio ao lado de nomes como Emicida, Beyoncé, The Weeknd e outros artistas. Obviamente, a ficha da MC de 22 anos ainda não caiu.
Com essa indicação, vejo que me tornei uma artista relevante e quero revolucionar ainda mais. Eu fico tanto no estúdio, que nem imaginava alcançar esse patamar.
MC Dricka
Quando diz que fica muito tempo no estúdio, ela não está exagerando. No seu apartamento, ela reservou um quarto para produzir suas músicas e compor. Lá, a cantora a boa parte do tempo. E, quando não está fazendo música, está jogando videogame.
Dricka mudou a forma que o funk de São Paulo enxergava as mulheres. Antes da MC, se contavam nos dedos as cantoras que conseguiam driblar o machismo do ritmo.
Ela invadiu a cena compondo, produzindo e cantando putaria:
Continua depois da publicidade
Quanto mais eu vou gemendo // o Will (DJ) me fode mais // Empurra, empurra // Empurra que eu sou puta Trecho da música "Empurra, Empurra", da MC Dricka
A cantora fica feliz em ter sido a "chave" que abriu o portão para entrada de novas MCs, caso da MC Danny, que ganhou destaque com "Xerecard" e, recentemente, gravou com Xand Avião e DJ Ivis a música "Não Pode Se Apaixonar", uma das mais tocadas no país.
Dricka reforça a importância do discurso.
Não podemos ser hipócritas, não canto nada que não seja realidade. Claro que tem música que não é feita para tocar na ceia do Natal, mas se encaixa em outros rolês.
MC Dricka
Continua depois da publicidade
Se engana quem pensa que Dricka, que agora está internacional, vai abandonar suas raízes. Ela reforça que a cultura do funk precisa ser reconhecida por toda sua versatilidade e impacto.
Sou mensageira da liberdade feminina. Eu vim para dizer que mulher pode, sim, cantar putaria, consciente ou a vertente que quiser. Quero deixar essa mensagem para outras.
MC Dricka
O sonho de muito artista é se apresentar na TV e, convenhamos, para cantar no programa familiar da Fátima Bernardes, às 11h, algumas das canções da Dricka não são adequadas. Mas ela tem outras opções, como "Nós Tem Um Charme Que É Daora", que já bateu mais de 100 milhões de visualizações no YouTube.
Não sou egoísta. Sou funkeira nata, mas amo a música. Eu canto de tudo e, caso a Fátima queira me convidar, eu tenho músicas com outras letras.
MC Dricka
No entanto, os MCs estão procurando abrir suas próprias produtoras para investirem na sua carreira de forma mais autônoma e dar oportunidade para outros funkeiros. Foi o caso do MC Kevin (1998-2021), com a Revolução Record, e Dricka também vem investindo na sua: a Hit 13.
Ela diz que é possível intercalar a vida de MC e empresária, mesmo com o dia durando 24 horas.
Tenho uma equipe boa, uma galera que dá o sangue. Tem muito moleque, muita mina, que está começando a cantar, a produzir, a fazer videoclipe, e precisa de uma oportunidade. Quero oferecer isso.
ID: {{comments.info.id}}
URL: {{comments.info.url}}
Ocorreu um erro ao carregar os comentários.
Por favor, tente novamente mais tarde.
{{comments.total}} Comentário
{{comments.total}} Comentários
Seja o primeiro a comentar
Essa discussão está encerrada
Não é possivel enviar novos comentários.
Essa área é exclusiva para você, , ler e comentar.
Só s do UOL podem comentar
Ainda não é ? Assine já.
Se você já é do UOL, faça seu .
O autor da mensagem, e não o UOL, é o responsável pelo comentário. Reserve um tempo para ler as Regras de Uso para comentários.