;(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();
})();
Feat com Maluma adiado e tudo mais o que já sabemos do novo disco de Anitta
Anitta no clipe de 'Girl From Rio'
Mar + Vin/Divulgação
De Splash, em São Paulo
01/05/2021 04h00
"Girl From Rio" não é só uma música. É também o nome do novo disco de Anitta voltado ao mercado internacional. O álbum, que está em fase de finalização, deve sair no outono americano. Ou seja, a partir de setembro. Na coletiva de imprensa para lançar a faixa título, a artista adiantou o que vem aí.
Continua depois da publicidade
Mais samples
"Garota de Ipanema" está mais do que representada em "Girl From Rio", mas Anitta promete usar samples também em outras duas faixas para trazer identificação não só com os brasileiros, mas também para o público da América Latina, um dos alvos de seu novo trabalho.
Olha o que ela adiantou:
Tem outros dois samples. Vai ter mais um clássico da música. Não é brasileira, mas é bem conhecido no Brasil, bem forte. Tem outro que é bem conhecido na América Latina e no mundo.
Imagem: Mar + Vin/Divulgação
Produção top
Quem está trabalhando na produção do novo disco com Anitta é o americano Ryan Tedder, conhecido por seus trabalhos com Beyoncé, Adele, Demi Lovato, Ariana Grande, entre outras estrelas da música mundial. A brasileira contou que, mesmo com esse currículo invejável, seu parceiro é humilde.
Ele é muito humilde. Ele já fez Beyoncé, Lady Gaga, Taylor Swift... E mesmo assim, ele bota as pessoas para trabalhar e chama mais gente para o projeto.
Continua depois da publicidade
O produtor executivo toma as decisões com Anitta e a ajuda a ter uma visão mais global, mas também deixou a brasileira à vontade para trazer brasilidades com quem entende disso. Foi assim que a banda ÀTTØØXXÁ entrou no feat com Cardi B e Myke Towers em "Me Gusta" e o duo Tropkillaz nas faixas funk.
Cardi B e Anitta se encontram em estúdio em Los Angeles
Imagem: Reprodução/Instagram
Você achou que ela não ia rebolar a raba na gringa?
Falando em funk, os fãs brasileiros não ficarão órfãos. Apesar de o ritmo que consagrou Anitta ter ficado fora da faixa que batiza o disco, ela promete que vai ter funk sim no disco "Girl From Rio". E mais de um.
Tem dois funks e cada um traz um pouquinho do Brasil de forma diferente. Mas é tudo [cantado] em inglês e espanhol porque nossa intenção é ir o a o.
"Girl From Rio" não é a favorita dela
Sincerona, Anitta confessou que a música que abre seu disco não é a mais legal, mas foi escolhida por ser a que tem mais Brasil. "Tem uma que vem depois e, se tudo der certo com a pessoa que vai gravar comigo, eu acho enlouquecedora. Tem outras que eu amo mais."
Continua depois da publicidade
Anitta no clipe de 'Girl From Rio'
Imagem: Mar + Vin/Divulgação
'Girl From Rio' tem 'Garota de Ipanema' e é o cartão de visitas, por isso escolhemos para dar o nome ao disco, porque tem mais Brasil. Só que não é a música que eu acho mais legal.
Feats
Anitta deixou a decisão das colaborações nas mãos de seu empresário. É Brandon Silverstein quem decide e traz as propostas. A cantora disse ter mudado de postura para poder se dedicar mais à vida pessoal. Lembrando que "Me Gusta", música com Cardi B e Myke Towers, já é uma das faixas do disco.
Tem um feat masculino praticamente confirmado. Só falta a gente gravar o clipe, a música já está feita. Mas eu não sei se vai ter mais além desse, minha equipe que está decidindo.
Hoje não, Maluma
Uma das colaborações que iriam rolar seria uma nova música com Maluma (em 2016 eles gravaram "Sim ou Não"), mas a pandemia atrapalhou tudo e os planos foram adiados.
Continua depois da publicidade
Anitta e o astro do reggaeton Maluma
Imagem: Divulgação
Tinha uma ideia bem legal de mostrar as festas juninas no Brasil. Só que como ainda não melhorou a situação, vamos deixar para o ano que vem. Vai ser um feat com forró.
Anitta queria gravar uma música celebrando as festas juninas no país e até já tinha ensinado tudo sobre essa tradição ao amigo colombiano, mas achou que não tinha nada a ver lançar a música sem as festas acontecendo. O novo feat entre eles vai ficar mesmo para depois do disco, só ano que vem.
Essa faixa do Maluma teremos que deixar para o ano que vem. Não tem como fazer a música sem ser com estética de festa junina. É o que eu quero mostrar para o mundo.
Imagem: Mar + Vin/Divulgação
Continua depois da publicidade
Inglês e espanhol
O português aparece tímido em "Girl From Rio". Anitta quer ser compreendida nos Estados Unidos e América Latina, e por isso apostou em faixas cantadas em inglês e espanhol. "Estamos incluindo o Brasil no ritmo, nos clipes e no marketing", explicou a patroa diretamente de Miami.
Se eu já chegasse cantando em português, não conseguiria ar a mensagem. Primeiro, a gente vai acostumando a galera com um ritmo novo misturado ao que eles já estão acostumados.
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.