// Función de debounce para optimizar el rendimiento
function debounce(func, wait) {
let timeout;
return function executedFunction(...args) {
const later = () => {
clearTimeout(timeout);
func(...args);
};
clearTimeout(timeout);
timeout = setTimeout(later, wait);
};
}
jQuery(document).ready(function($) {
// Initialize color pickers
$('.color-picker').wpColorPicker({
change: function(event, ui) {
updateStyles();
}
});
// Initialize html2canvas
var script = document.createElement('script');
script.src = 'https://cdnjs.cloudflare.com/ajax/libs/html2canvas/1.4.1/html2canvas.min.js';
document.head.appendChild(script);
script.onload = function() {
console.log('html2canvas loaded');
$('.download-jpg').prop('disabled', false);
};
// Optimized zoom handling
const handleZoom = debounce(function(target, value) {
const zoomValue = value/100;
const template = $(target).closest('.preview-box').find('.sunset-template');
template.css('transform', `scale(${zoomValue})`);
}, 16);
// Zoom control event listener
$('.zoom-range').on('input', function() {
const value = $(this).val();
$(this).siblings('.zoom-value').text(value + '%');
handleZoom(this, value);
});
// Toggle excerpt position field visibility
$('#cwpai_show_excerpt').on('change', function() {
$('#excerpt_position').toggle(this.checked);
updateStyles();
});
// Update styles function
function updateStyles() {
const lineColor = $('#cwpai_line_color').val();
const lineWidth = $('#cwpai_line_width').val() + 'px';
const marginTop = $('#cwpai_line_margin_top').val() + 'px';
const marginBottom = $('#cwpai_line_margin_bottom').val() + 'px';
const marginLeft = $('#cwpai_line_margin_left').val() + 'px';
const marginRight = $('#cwpai_line_margin_right').val() + 'px';
const categoryTop = $('#cwpai_category_position_top').val() + 'px';
const websiteTop = $('#cwpai_website_position_top').val() + 'px';
const titleTop = $('#cwpai_title_position_top').val() + 'px';
const excerptTop = $('#cwpai_excerpt_position_top').val() + 'px';
const categoryLeft = $('#cwpai_category_position_left').val() + 'px';
const websiteLeft = $('#cwpai_website_position_left').val() + 'px';
const titleLeft = $('#cwpai_title_position_left').val() + 'px';
const titleSize = $('#cwpai_title_font_size').val() + 'px';
const categorySize = $('#cwpai_category_font_size').val() + 'px';
const websiteSize = $('#cwpai_website_font_size').val() + 'px';
// Update visibility states
const showCategory = $('#cwpai_show_category').prop('checked');
const showWebsite = $('#cwpai_show_website').prop('checked');
const showTitle = $('#cwpai_show_title').prop('checked');
const showExcerpt = $('#cwpai_show_excerpt').prop('checked');
$('.vertical-line').css({
'background-color': lineColor,
'width': lineWidth,
'top': marginTop,
'height': `calc(100% - (${marginTop} + ${marginBottom}))`,
'left': marginLeft,
'margin-right': marginRight
});
$('.category-tag').css({
'display': showCategory ? 'block' : 'none',
'top': categoryTop,
'left': categoryLeft,
'font-size': categorySize
});
$('.website-link').css({
'display': showWebsite ? 'block' : 'none',
'top': websiteTop,
'left': websiteLeft,
'font-size': websiteSize
});
$('.title').css({
'display': showTitle ? 'block' : 'none',
'top': titleTop,
'left': titleLeft,
'font-size': titleSize
});
$('.excerpt-preview').css({
'display': showExcerpt ? 'block' : 'none',
'top': excerptTop,
'left': titleLeft
});
}
// Copy buttons functionality with improved feedback
$('.copy-excerpt, .copy-hashtags').on('click', function() {
const button = $(this);
const content = button.data('content');
const originalText = button.text();
// Create temporary textarea
const textarea = document.createElement('textarea');
textarea.value = content;
textarea.style.position = 'absolute';
textarea.style.left = '-9999px';
document.body.appendChild(textarea);
try {
// Select and copy text
textarea.select();
document.execCommand('copy');
// Visual feedback
button.text('¡Copiado!');
button.css('background-color', '#4CAF50');
// Reset button after delay
setTimeout(() => {
button.text(originalText);
button.css('background-color', '');
}, 2000);
} catch(err) {
console.error('Error al copiar:', err);
button.text('Error al copiar');
button.css('background-color', '#f44336');
setTimeout(() => {
button.text(originalText);
button.css('background-color', '');
}, 2000);
} finally {
document.body.removeChild(textarea);
}
});
// Canvas optimization function
function optimizeCanvas(canvas, format) {
const ctx = canvas.getContext('2d');
// Enable image smoothing
ctx.imageSmoothingEnabled = true;
ctx.imageSmoothingQuality = 'high';
// Set dimensions based on format
switch(format) {
case 'rectangular':
canvas.width = 1200;
canvas.height = 630;
break;
case 'vertical':
canvas.width = 500;
canvas.height = 890;
break;
case 'horizontal':
canvas.width = 864;
canvas.height = 864;
break;
}
return canvas;
}
// Image download functionality with improved error handling
$('.download-jpg').on('click', function() {
const button = $(this);
const format = button.data('format');
const template = button.closest('.preview-box').find('.sunset-template')[0];
// Disable button and show loading state
button.text('Generando...').prop('disabled', true);
const options = {
scale: 2, // Higher quality
useCORS: true,
allowTaint: true,
backgroundColor: '#000000',
logging: false, // Disable logging in production
onclone: function(clonedDoc) {
const clonedElement = clonedDoc.querySelector('.sunset-template');
if (clonedElement) {
// Reset zoom for export
clonedElement.style.transform = 'scale(1)';
// Set dimensions based on format
switch(format) {
case 'rectangular':
clonedElement.style.width = '1200px';
clonedElement.style.height = '630px';
break;
case 'vertical':
clonedElement.style.width = '500px';
clonedElement.style.height = '890px';
break;
case 'horizontal':
clonedElement.style.width = '864px';
clonedElement.style.height = '864px';
break;
}
}
}
};
// Wait for all images to load
Promise.all(Array.from(template.getElementsByTagName('img')).map(img => {
return new Promise((resolve, reject) => {
if (img.complete) {
resolve();
} else {
img.onload = resolve;
img.onerror = reject;
}
});
}))
.then(() => {
return html2canvas(template, options);
})
.then(canvas => {
// Optimize canvas
canvas = optimizeCanvas(canvas, format);
// Convert to blob
return new Promise((resolve, reject) => {
canvas.toBlob(resolve, 'image/jpeg', 0.95);
});
})
.then(blob => {
// Generate filename
const postTitle = template.dataset.title;
const timestamp = new Date().getTime();
const fileName = `${postTitle}-${format}-${timestamp}.jpg`;
// Save file
saveAs(blob, fileName);
// Reset button
button.text('Descargar ' + (
format === 'vertical' ? 'Vertical' :
format === 'horizontal' ? 'Horizontal' :
'Rectangular'
)).prop('disabled', false);
})
.catch(error => {
console.error('Error:', error);
button.text('Error - Intentar de nuevo').prop('disabled', false)
.css('background-color', '#f44336');
setTimeout(() => {
button.css('background-color', '');
button.text('Descargar ' + (
format === 'vertical' ? 'Vertical' :
format === 'horizontal' ? 'Horizontal' :
'Rectangular'
));
}, 3000);
});
});
// Line and position controls
$('#cwpai_line_width, #cwpai_line_margin_top, #cwpai_line_margin_bottom, #cwpai_line_margin_left, #cwpai_line_margin_right, #cwpai_category_position_top, #cwpai_website_position_top, #cwpai_title_position_top, #cwpai_excerpt_position_top, #cwpai_category_position_left, #cwpai_website_position_left, #cwpai_title_position_left, #cwpai_title_font_size, #cwpai_category_font_size, #cwpai_website_font_size')
.on('change input', debounce(updateStyles, 100));
// Visibility controls
$('#cwpai_show_category, #cwpai_show_website, #cwpai_show_title, #cwpai_show_excerpt')
.on('change', updateStyles);
// Global error handler
window.onerror = function(msg, url, lineNo, columnNo, error) {
console.error('Error: ', {
message: msg,
url: url,
lineNumber: lineNo,
columnNumber: columnNo,
error: error
});
return false;
};
// Initial styles update
updateStyles();
});
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/diariocosta.com/httpdocs/wp-content/plugins/social-media-stories/social-media-stories.php:1) in /var/www/vhosts/diariocosta.com/httpdocs/wp-includes/rest-api/class-wp-rest-server.php on line 1893
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/diariocosta.com/httpdocs/wp-content/plugins/social-media-stories/social-media-stories.php:1) in /var/www/vhosts/diariocosta.com/httpdocs/wp-includes/rest-api/class-wp-rest-server.php on line 1893
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/diariocosta.com/httpdocs/wp-content/plugins/social-media-stories/social-media-stories.php:1) in /var/www/vhosts/diariocosta.com/httpdocs/wp-includes/rest-api/class-wp-rest-server.php on line 1893
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/diariocosta.com/httpdocs/wp-content/plugins/social-media-stories/social-media-stories.php:1) in /var/www/vhosts/diariocosta.com/httpdocs/wp-includes/rest-api/class-wp-rest-server.php on line 1893
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/diariocosta.com/httpdocs/wp-content/plugins/social-media-stories/social-media-stories.php:1) in /var/www/vhosts/diariocosta.com/httpdocs/wp-includes/rest-api/class-wp-rest-server.php on line 1893
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/diariocosta.com/httpdocs/wp-content/plugins/social-media-stories/social-media-stories.php:1) in /var/www/vhosts/diariocosta.com/httpdocs/wp-includes/rest-api/class-wp-rest-server.php on line 1893
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/diariocosta.com/httpdocs/wp-content/plugins/social-media-stories/social-media-stories.php:1) in /var/www/vhosts/diariocosta.com/httpdocs/wp-includes/rest-api/class-wp-rest-server.php on line 1893
Warning: Cannot modify header information - headers already sent by (output started at /var/www/vhosts/diariocosta.com/httpdocs/wp-content/plugins/social-media-stories/social-media-stories.php:1) in /var/www/vhosts/diariocosta.com/httpdocs/wp-includes/rest-api/class-wp-rest-server.php on line 1893
{"id":20201,"date":"2020-10-15T13:08:55","date_gmt":"2020-10-15T12:08:55","guid":{"rendered":"http:\/\/diariocosta.com\/?p=20201"},"modified":"2020-10-15T13:08:58","modified_gmt":"2020-10-15T12:08:58","slug":"el-34-festival-internacional-de-jazz-acerca-a-malaga-a-kyle-eastwood-chano-dominguez-con-diego-amador-robin-mckelle-y-the-cuban-jazz-syndicate","status":"publish","type":"post","link":"https:\/\/diariocosta.com\/el-34-festival-internacional-de-jazz-acerca-a-malaga-a-kyle-eastwood-chano-dominguez-con-diego-amador-robin-mckelle-y-the-cuban-jazz-syndicate\/","title":{"rendered":"El 34 Festival Internacional de Jazz acerca a M\u00e1laga a Kyle Eastwood, Chano Dom\u00ednguez con Diego Amador, Robin McKelle y The Cuban Jazz Syndicate"},"content":{"rendered":"
El repaso en clave de jazz a grandes bandas sonoras del compositor y contrabajista Kyle Eastwood, la fusi\u00f3n con ra\u00edz flamenca del pianista Chano Dom\u00ednguez y el multiinstrumentista y cantante Diego Amador, la voz de contralto de Robin McKelle y la descarga latina de The Cuban Jazz Syndicate forman la columna vertebral del 34 Festival Internacional de Jazz de M\u00e1laga. La nueva edici\u00f3n del encuentro se celebrar\u00e1 del 6 al 11 de noviembre en el Teatro Cervantes de M\u00e1laga, donde actuar\u00e1n asimismo las formaciones de dos instrumentistas malague\u00f1os de reconocida trayectoria, el saxofonista Enrique Oliver con su nuevo sexteto y el contrabajista Francis Pos\u00e9 acompa\u00f1ado por el pianista cubano Daniel Amat.<\/p>\n
La concejala de Cultura de M\u00e1laga, Noelia Losada, y el director-gerente del Teatro Cervantes, Juan Antonio Vigar, han presentado esta ma\u00f1ana un programa que vuelve a apostar por la diversidad, la calidad y los precios contenidos y que premiar\u00e1 a dos de sus estrellas. Chano Dom\u00ednguez recibir\u00e1 el Premio \u2018Cifu\u2019, instaurado hace cuatro a\u00f1os para homenajear al comunicador y a la figura m\u00e1s relevante del Festival, y Kyle Eastwood levantar\u00e1 el premio M\u00e1lagajazz como reconocimiento de sutalento musical, su maestr\u00eda y su dedicaci\u00f3n a su instrumento. Los recoger\u00e1n en una edici\u00f3n cerrada en un contexto m\u00e1s que dif\u00edcil. De hecho, Camilla George, que iba a abrir el Festival en un concierto anunciado tambi\u00e9n dentro de los actos del 150 aniversario del Cervantes, no vendr\u00e1 finalmente a M\u00e1laga por las dificultades de reorganizaci\u00f3n de su gira motivadas por la crisis sanitaria. El cartel final despliega un amplio arco estil\u00edstico en el que coinciden las hibridaciones entre el jazz y las sonoridades caribe\u00f1as (The Cuban Jazz Syndicate o el d\u00fao Amat-Pos\u00e9), el flamenco jazz (Chano Dom\u00ednguez con Diego Amador), la m\u00fasica cinematogr\u00e1fica en versi\u00f3n jazz\u00edstica (Eastwood), el soul y jazz vocal (McKelle) y la tradici\u00f3n del free jazz y el hard bop (Oliver).<\/p>\n
Naturgy presenta el 34 Festival de Jazz de M\u00e1laga, que cuenta con la colaboraci\u00f3n de la Fundaci\u00f3n \u201cla Caixa\u201d, Cervezas Alhambra y la Fundaci\u00f3n Sando. Juan Carlos Barroso, delegado de la Fundaci\u00f3n \u201cla Caixa\u201d en Andaluc\u00eda y Melilla; Ana Bel\u00e9n Morales, directora de \u00c1rea de negocio de Caixabank en M\u00e1laga; Iris de Palacio, brand Manager de Cervezas Alhambra; Esther S\u00e1nchez, directora General de la Fundaci\u00f3n Sando; Jes\u00fas S\u00e1nchez en representaci\u00f3n de MAHOS, y Manuel Camacho, vicepresidente de AEHCOS M\u00e1laga, acompa\u00f1aron a Noelia Losada y Juan Antonio Vigar en la presentaci\u00f3n de la programaci\u00f3n.<\/p>\n
Las entradas para las seis actuaciones salen hoy a la venta en todos los canales del Teatro Cervantes y el Cine Alb\u00e9niz por un precio que oscila entre los 24 y los 30 euros (precios \u00fanicos en cada concierto), con descuentos del 25 % si se adquieren localidades para seis conciertos, del 20 % en el caso de cinco y del 15 % para cuatro actuaciones. Los conciertos en sala tendr\u00e1n, al igual que en la temporada pasada, el complemento de las actuaciones en los distritos del Festival de Jazz\u2026 en tu zona<\/em> y del \u2018Abierto\u2019 de M\u00e1lagajazz, el proyecto de ciudad que envuelve el Festival Internacional de Jazz con la colaboraci\u00f3n de los hosteleros agrupados en MAHOS y los hoteleros asociados en AEHCOS. La programaci\u00f3n de ambos se anunciar\u00e1 m\u00e1s adelante.<\/p>\n <\/p>\n La fuerza del cari\u00f1o<\/em><\/strong>, Play<\/em> y la Antolog\u00eda del Cante Flamenco Heterodoxo<\/em> del Ni\u00f1o de Elche<\/strong>
Hoy salen tambi\u00e9n a la venta otros espect\u00e1culos programados en noviembre. Los d\u00edas 14 y 15 de noviembre se representar\u00e1 La fuerza del cari\u00f1o<\/em>, versi\u00f3n de Mag\u00fci Mira de la novela de Larry McMurtry que protagoniza Lolita, y el s\u00e1bado 21 el premiado Play<\/em> de Aracaladanza, un espect\u00e1culo para todos los p\u00fablicos que se llev\u00f3 tres Max en la gala celebrada en el coliseo malague\u00f1o el pasado 7 de septiembre. El Teatro Cervantes recibir\u00e1 un d\u00eda despu\u00e9s la Antolog\u00eda del Cante Flamenco Heterodoxo<\/em>, elaborada por una de las voces m\u00e1s vanguardistas y exploradoras del g\u00e9nero, el Ni\u00f1o de Elche.<\/p>\n