/** * JetPack compatibility functions. * * @package Yoast\WP\Duplicate_Post * @since 3.2 */ add_action( 'admin_init', 'duplicate_post_jetpack_init' ); /** * Add handlers for JetPack compatibility. */ function duplicate_post_jetpack_init() { add_filter( 'duplicate_post_excludelist_filter', 'duplicate_post_jetpack_add_to_excludelist', 10, 1 ); if ( class_exists( 'WPCom_Markdown' ) ) { add_action( 'duplicate_post_pre_copy', 'duplicate_post_jetpack_disable_markdown', 10 ); add_action( 'duplicate_post_post_copy', 'duplicate_post_jetpack_enable_markdown', 10 ); } } /** * Add some JetPack custom field wildcards to be filtered out when cloning. * * @param array $meta_excludelist The array containing the blacklist of custom fields. * @return array */ function duplicate_post_jetpack_add_to_excludelist( $meta_excludelist ) { $meta_excludelist[] = '_wpas*'; // Jetpack Publicize. $meta_excludelist[] = '_publicize*'; // Jetpack Publicize. $meta_excludelist[] = '_jetpack*'; // Jetpack Subscriptions etc. return $meta_excludelist; } /** * Disable Markdown. * * To be called before copy. */ function duplicate_post_jetpack_disable_markdown() { WPCom_Markdown::get_instance()->unload_markdown_for_posts(); } /** * Enaable Markdown. * * To be called after copy. */ function duplicate_post_jetpack_enable_markdown() { WPCom_Markdown::get_instance()->load_markdown_for_posts(); } /** * WPML compatibility functions * * @global array $duplicated_posts Array to store the posts being duplicated. * * @package Yoast\WP\Duplicate_Post * @since 3.2 */ add_action( 'admin_init', 'duplicate_post_wpml_init' ); /** * Add handlers for WPML compatibility. */ function duplicate_post_wpml_init() { if ( defined( 'ICL_SITEPRESS_VERSION' ) ) { add_action( 'dp_duplicate_page', 'duplicate_post_wpml_copy_translations', 10, 3 ); add_action( 'dp_duplicate_post', 'duplicate_post_wpml_copy_translations', 10, 3 ); add_action( 'shutdown', 'duplicate_wpml_string_packages', 11 ); } } global $duplicated_posts; // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals -- Reason: Renaming a global variable is a BC break. $duplicated_posts = []; /** * Copy post translations. * * @global SitePress $sitepress Instance of the Main WPML class. * @global array $duplicated_posts Array of duplicated posts. * * @param int $post_id ID of the copy. * @param WP_Post $post Original post object. * @param string $status Status of the new post. */ function duplicate_post_wpml_copy_translations( $post_id, $post, $status = '' ) { global $sitepress; global $duplicated_posts; remove_action( 'dp_duplicate_page', 'duplicate_post_wpml_copy_translations', 10 ); remove_action( 'dp_duplicate_post', 'duplicate_post_wpml_copy_translations', 10 ); $current_language = $sitepress->get_current_language(); $trid = $sitepress->get_element_trid( $post->ID ); if ( ! empty( $trid ) ) { $translations = $sitepress->get_element_translations( $trid ); $new_trid = $sitepress->get_element_trid( $post_id ); foreach ( $translations as $code => $details ) { if ( $code !== $current_language ) { if ( $details->element_id ) { $translation = get_post( $details->element_id ); if ( ! $translation ) { continue; } $new_post_id = duplicate_post_create_duplicate( $translation, $status ); if ( ! is_wp_error( $new_post_id ) ) { $sitepress->set_element_language_details( $new_post_id, 'post_' . $translation->post_type, $new_trid, $code, $current_language ); } } } } // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals -- Reason: see above. $duplicated_posts[ $post->ID ] = $post_id; } } /** * Duplicate string packages. * * @global array() $duplicated_posts Array of duplicated posts. */ function duplicate_wpml_string_packages() { // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals -- Reason: renaming the function would be a BC-break. global $duplicated_posts; foreach ( $duplicated_posts as $original_post_id => $duplicate_post_id ) { // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals -- Reason: using WPML native filter. $original_string_packages = apply_filters( 'wpml_st_get_post_string_packages', false, $original_post_id ); // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals -- Reason: using WPML native filter. $new_string_packages = apply_filters( 'wpml_st_get_post_string_packages', false, $duplicate_post_id ); if ( is_array( $original_string_packages ) ) { foreach ( $original_string_packages as $original_string_package ) { $translated_original_strings = $original_string_package->get_translated_strings( [] ); foreach ( $new_string_packages as $new_string_package ) { $cache = new WPML_WP_Cache( 'WPML_Package' ); $cache->flush_group_cache(); $new_strings = $new_string_package->get_package_strings(); foreach ( $new_strings as $new_string ) { if ( isset( $translated_original_strings[ $new_string->name ] ) ) { foreach ( $translated_original_strings[ $new_string->name ] as $language => $translated_string ) { do_action( // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals -- Reason: using WPML native filter. 'wpml_add_string_translation', $new_string->id, $language, $translated_string['value'], $translated_string['status'] ); } } } } } } } } Francesco Negro - Silence Scuola di Pianoforte

Francesco Negro

Nato a Maglie (Le) nel 1986, Francesco Negro inizia a suonare il pianoforte all’età di sei anni, diplomandosi nel 2007 presso il Conservatorio “T. Schipa” di Lecce. Si avvicina al jazz e all’improvvisazione di matrice afroamericana intorno ai 12 anni.
La sua formazione continua sul doppio binario della musica classica e del jazz.
Frequenta per due edizioni i seminari estivi del Berklee College a Perugia e dal 2008 al 2010 partecipa al master sperimentale “InJaM” presso la Fondazione Siena Jazz, (John Taylor, Kenny Werner, Stefano Battaglia, Steve Kuhn, Danilo Perez).
Nel 2009 consegue anche il Biennio Specialistico in Musica del ‘900 presso il Conservatorio “L. Refice” di Frosinone, approfondendo così la sua passione per il pianismo contemporaneo. Nello stesso anno è vincitore dell’Italian Jazz Awards nella categoria Brand New Jazz Act.
Nel 2020 consegue il Triennio in Composizione presso il Conservatorio “N. Rota” di Monopoli. Guidato dalla sua sensibilità artistica e dagli studi accademici, Francesco costruisce il suo personale percorso di ricerca artistica seguendo una linea ideale che parte dalla lezione di Thelonious Monk, Bud Powell e Lennie Tristano e passando da Abdullah Ibrahim, Bill Evans e Keith Jarrett arriva al pianismo lirico e meditativo di musicisti contemporanei come John Taylor, Enrico Pieranunzi, Stefano Battaglia e Craig Taborn.
Ha un intensa attività concertistica in Italia e all’estero. Ha suonato in Cina, Francia, Germania, Belgio, Albania, Macedonia.
Nel 2010 fonda la Scuola di Pianoforte Silence di cui è direttore didattico e insegnante. È attivo nella promozione della cultura musicale nel territorio salentino tramite l’Associazione Culturale “Bud Powell” di Maglie.

Ha suonato con (in ordine alfabetico): Luca Alemanno, Marcello Allulli, Paola Arnesano, Marco Bardoscia, Ermanno Baron, Gianluca Baroncelli, Victor Bastidas, Laurent Bataille, Lionel Boccara, Matteo Bortone, Ryan Bradetich, Jason Brown, Greg Burk, Domenico Capezzuto, Sandro Cappelletto, Dionisia Cassiano, Luca Cipriano, Simona De Rosa, Rosàlia De Souza, Gabriele di Franco, Vito Di Modugno, Jacopo Ferrazza, Ettore Fioravanti, Antonio Fusco, Fabiola Gaudio, Mauro Gargano, Roberto Gatto, Greg Glassman, Noah Hocker, Max Ionata, Martin Jacobsen, Minchan Kim, Enzo Lanzo, Giampaolo Laurentaci, Igor Legari, Francesco Lo Cascio, Marcello Magliocchi, Giulio Martino, Marco Marzola, Andrea Michelutti, Alessandro Minetto, Ada Montellanico, Duylinh Nguyen, Marcello Nisi, Adam Nussbaum, Camillo Pace, Roy Paci, Jongmoon Park, Pekka Pylkkänen, Ben Perowsky, Vincenzo Presta, John Riley, Roberto Rossi, Antonello Salis, Bill Saxton, Daniele Scannapieco, Marco Simonacci, Achille Succi, Marco Tamburini, Bruno Ziarelli e tanti altri.

Discografia:

2022 – “2piani”, Francesco Negro & Greg Burk (Tonos Records)
2022 – “Synolon”, Francesco Negro // Gabriele di Franco (Workin’ Label)
2018 – “Dedalo”, Bud Powell Jazz Orchestra (Associazione Culturale Jazz Bud Powell) diretta da Gabriele di Franco. Francesco Negro è ospite nel brano “Blues for F”.
2016 – “Stidda di Luci”, Francesco Negro (Silence Records, Da Vinci Publishing) – Francesco Negro (piano) contenente le opere pianistiche del compositore romano Giancarlo Simonacci.
2015 – “Aspettando il Tempo”, Francesco Negro Trio (Silence Records, Da Vinci Publishing)
2013 – “Muddhriche”, Mino De Santis (ed. Ululati)
2011 – “Silentium”, Francesco Negro Trio (AlfaMusic)
2008 – “Abbagli”, Francesco Negro Quartet (Philology Records, Revelation Series)
2007 – “Photinx”, Quartet Photinx – feat. Martin Jacobsen (autoprodotto)