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

Igor Stravinski Compositor russo

17/6/1882, Onanienbaum (atual Lemonosov), Rússia

6/4/1971, Nova York, EUA

Da Página 3 Pedagogia & Comunicação

08/08/2005 17h18

"O Pássaro de Fogo" foi criado em 1910. É um belo poema sinfônico composto por Igor Fiodorovitch Stravinski. Quase cem anos depois, sua música exuberante ainda conquista vastas platéias no mundo todo. Se alguém quiser ouvi-la no cinema, é só assistir a uma das sessões do filme de animação "Fantasia 2000", em que os sons de Stravinski estão associados às mágicas imagens criadas pelos estúdios Disney.

Filho de um cantor da Ópera Imperial e de uma pianista, Igor Stravinski começou a estudar música aos nove anos. Estudou direito na Universidade de São Petersburgo, mas nunca chegou a exercer a profissão de jurista.

Estudou música com o compositor Rimski-Korsakov, que o apresentou ao coreógrafo Diaghilev, para quem compôs os balés "Pássaro de Fogo" e "Petrushka", em 1910 e 1911, respectivamente. O colorido e o dinamismo das novas composições causaram um vivo impacto no público.

Em 1913, a estréia de "Sagração da Primavera" não obteve o mesmo êxito. Com coreografia de Nijinski, a obra apresentava dissonâncias de difícil assimilação para o público. Sua primeira ópera, "O Rouxinol", foi composta em 1914.

Com a eclosão da Primeira Guerra Mundial, Stravinski foi para a Suíça, onde compôs "História de um Soldado" e "Ragtime".

Com a Revolução de 1917, Igor Stravinski abandonou a Rússia. Estabeleceu-se na França, apresentando-se como concertista e regente. No começo da década de 1920, casou-se com a atriz Vera de Bosset Soudeikini.

Stravinski ou a compor num particular estilo neoclássico. São dessa época a ópera-oratório "Édipo-Rei", com texto em latim, e o melodrama "Perséfone", com texto de André Gide.

Em 1939, Stravinski foi morar nos Estados Unidos, onde criou muitas composições sob encomenda. Nos anos 1950, adotou as técnicas musicais de Schoenberg e de Anton Von Webern. Criou a cantata Threni, em 1958, e no ano seguinte "Movimentos para piano e orquestra".

Stravinski realizou sua última gravação em 1967, já com a saúde abalada. Morreu em 1971, aos 88 anos.