Contenido
‘Muros desmontados de Abu Hamdan”/MUAC
// ------------------------------------------------------------------------------------------------------------------------------- // PHOTOSWIPE
var initPhotoSwipeFromDOM = function(gallerySelector) {
// parse slide data (url, title, size ...) from DOM elements // (children of gallerySelector) var parseThumbnailElements = function(el) { var thumbElements = el.childNodes, numNodes = thumbElements.length, items = [], figureEl, linkEl, size, item;
for(var i = 0; i < numNodes; i++) {
figureEl = thumbElements[i]; //
// include only element nodes if(figureEl.nodeType !== 1) { continue; }
linkEl = figureEl.children[0]; // element
size = linkEl.getAttribute('data-size').split('x');
// create slide object item = { src: linkEl.getAttribute('href'), w: parseInt(size[0], 10), h: parseInt(size[1], 10) };
if(figureEl.children.length > 1) {
//
if(linkEl.children.length > 0) {
// thumbnail element, retrieving thumbnail url
item.msrc = linkEl.children[0].getAttribute('src');
}
item.el = figureEl; // save link to element for getThumbBoundsFn items.push(item); }
return items; };
// find nearest parent element var closest = function closest(el, fn) { return el && ( fn(el) ? el : closest(el.parentNode, fn) ); };
// triggers when user clicks on thumbnail var onThumbnailsClick = function(e) { e = e || window.event; e.preventDefault ? e.preventDefault() : e.returnValue = false;
var eTarget = e.target || e.srcElement;
// find root element of slide var clickedListItem = closest(eTarget, function(el) { return (el.tagName && el.tagName.toUpperCase() === 'FIGURE'); });
if(!clickedListItem) { return; }
// find index of clicked item by looping through all child nodes // alternatively, you may define index via data- attribute var clickedGallery = clickedListItem.parentNode, childNodes = clickedListItem.parentNode.childNodes, numChildNodes = childNodes.length, nodeIndex = 0, index;
for (var i = 0; i < numChildNodes; i++) { if(childNodes[i].nodeType !== 1) { continue; } if(childNodes[i] === clickedListItem) { index = nodeIndex; break; } nodeIndex++; } if(index >= 0) { // open PhotoSwipe if valid index found openPhotoSwipe( index, clickedGallery ); } return false; };
// parse picture index and gallery index from URL (#&pid=1&gid=2) var photoswipeParseHash = function() { var hash = window.location.hash.substring(1), params = {};
if(hash.length < 5) { return params; } var vars = hash.split('&'); for (var i = 0; i < vars.length; i++) { if(!vars[i]) { continue; } var pair = vars[i].split('='); if(pair.length < 2) { continue; } params[pair[0]] = pair[1]; } if(params.gid) { params.gid = parseInt(params.gid, 10); } return params; }; var openPhotoSwipe = function(index, galleryElement, disableAnimation, fromURL) { var pswpElement = document.querySelectorAll('.pswp')[0], gallery, options, items; items = parseThumbnailElements(galleryElement); // define options (if needed) options = { // define gallery index (for URL) galleryUID: galleryElement.getAttribute('data-pswp-uid'), getThumbBoundsFn: function(index) { // See Options -> getThumbBoundsFn section of documentation for more info var thumbnail = items[index].el.getElementsByTagName('img')[0], // find thumbnail pageYScroll = window.pageYOffset || document.documentElement.scrollTop, rect = thumbnail.getBoundingClientRect();
return {x:rect.left, y:rect.top + pageYScroll, w:rect.width}; }
};
// PhotoSwipe opened from URL if(fromURL) { if(options.galleryPIDs) { // parse real index when custom PIDs are used // http://photoswipe.com/documentation/faq.html#custom-pid-in-url for(var j = 0; j < items.length; j++) { if(items[j].pid == index) { options.index = j; break; } } } else { // in URL indexes start from 1 options.index = parseInt(index, 10) - 1; } } else { options.index = parseInt(index, 10); } // exit if index not found if( isNaN(options.index) ) { return; } if(disableAnimation) { options.showAnimationDuration = 0; } // Pass data to PhotoSwipe and initialize it gallery = new PhotoSwipe( pswpElement, PhotoSwipeUI_Default, items, options); gallery.init(); }; // loop through all gallery elements and bind events var galleryElements = document.querySelectorAll( gallerySelector ); for(var i = 0, l = galleryElements.length; i < l; i++) { galleryElements[i].setAttribute('data-pswp-uid', i+1); galleryElements[i].onclick = onThumbnailsClick; } // Parse URL and open gallery if it contains #&pid=3&gid=1 var hashData = photoswipeParseHash(); if(hashData.pid && hashData.gid) { openPhotoSwipe( hashData.pid , galleryElements[ hashData.gid - 1 ], true, true ); } }; // execute above function initPhotoSwipeFromDOM('.my-gallery'); // ====================================== // FIN SCRIPTS PHOTOSWIPE // ======================================
Dentro de las propuestas culturales durante la contingencia por el covid- 19, el Museo Universitario de Arte Contemporáneo (MUAC) sigue manteniendo un alto perfil en la Sala 10 dedicada a la proyección de videos. La selección y propuestas son cuidadosas y sorprendentes, basta entrar a su página, y cada 15 días encontrar una propuesta visual sumamente actualizada y de sumo interés.
En esta ocasión y hasta el 9 de agosto se exhibe este video original y exquisito que aborda el tema del ruido Muros desmontados de Abu Hamdan.
Su propuesta consiste en una conferencia a través de en un performance sofisticado cuyo espacio museográfico es un estudio de grabación, que fuera sede en Berlín de la radio oficial de la República Democrática Alemana, de 1952 a 1991.
El artista camina a través de varias de sus salas mientras una música de batería acompaña la imagen y sus palabras. Hamdan atrapa con una reflexión sumamente contundente y pocas veces abordada sobre el ruido y el escucha, así como el uso de poder a través de la tecnología.
El video atrapa desde un principio, pues la coordinación precisa de la imagen visual con la luz, los tiempos, la música y el tema, van armando un discurso original.
El artista visual, quien también es músico y fue “private ear” (oreja o espía privado), trabaja en ámbitos legales internacionales y colabora en organizaciones de derechos humanos; sus proyectos de arte cuenten con experiencias reales, sumamente perturbadoras, como aquella en la cual se descubrió, después de un análisis acústico, que un grupo de soldados israelíes no dispararon balas de goma contra adolescentes palestinos, sino reales.
En esta ocasión Hamdan aborda varios casos legales e históricos basados en evidencias escuchadas a través de las paredes. Esto lo lleva a un análisis y una reflexión acerca de los muros fronterizos --tan vigentes--, así como sobre las paredes en las casas y en las cárceles, y tocar el tema de la atmósfera de nuestro planeta.
Pero el principal es la violación a la privacidad que se práctica al mismo tiempo que se construyen muros para delimitar a las naciones.
Una cuidadosa coreografía conduce a los espectadores por el discurso y los movimientos del conferencista, quien aborda el complicado tópico de los “muones”, partículas elementales cósmicas que penetran y bañan nuestro planeta, y que son utilizados en arqueología y vulcanología debido a que traspasan rocas, cemento y polvo, al tiempo que son utilizados en el sistema de vigilancia.
También reflexiona Hamdan cómo los seres humanos hemos perdido la capacidad de distinguir los sonidos reales. En el video se producen algunos artificiales que intentas recrear aquellos, por lo cual este espacio de grabación es un soporte óptimo de la pieza.
La propuesta abre muchas preguntas hacia una reflexión inquietante. El artista ha declarado que la voz es una de las formas en donde no podemos buscar la verdad.
El monólogo es muy completo: La partitura de la propuesta se conforma por la música, la voz y un diseño dinámico que mantiene al espectador atrapado a través de los muros materiales, que se intercalan durante la conferencia.
La plataforma artística posibilita abordar temas tan complejos y especializados, y nos permite seguir la trayectoria de este artista reconocido.
Te puede interesar: Homenaje a Aceves Navarro/Galería Hilario Galguera
Comentarios
// Obtener todos los elementos con clase .col-md-12 var colElements = document.querySelectorAll('.col-md-12');
// Iterar sobre cada elemento colElements.forEach(function(element) { // Verificar si tiene un hijo inmediato con clase .titulo-region var tituloRegion = element.querySelector('.titulo-region');
if (tituloRegion) { // Agregar la clase .is-sticky al elemento padre element.classList.add('is-sticky'); } });
// Obtener el elemento article dentro de .fila-especial-v2 .p50 var articleElement = document.querySelector('.home .fila-especial-v2 .p50 article');
// Obtener el texto del elemento .z-foto .bajada p var bajadaText = articleElement.querySelector('.z-foto .bajada p').textContent;
// Crear un nuevo elemento para mostrar el texto obtenido var textoElement = document.createElement('p'); textoElement.textContent = bajadaText;
// Obtener el elemento .z-txt .titulo dentro del article var tituloElement = articleElement.querySelector('.z-txt .titulo');
// Insertar el nuevo elemento al final del article articleElement.appendChild(textoElement);
Cortesía de Proceso.
Dejanos un comentario: