Album | Titel | Versions | Länge | Komponist/Autor | Beschreibung | Suchbegriffe | Key | BPM |
|
|
---|---|---|---|---|---|---|---|---|---|---|
|
![]() |
Deux Amoureux [CEZ4384 - 2] |
2'09 | Cécile Hercule, Fabrice Lemoine, Victor Paillet | French song Pop song / neo retro. Carefree, kitsch & touching. Female ... Text | auf Französisch gesungen Sängerin Frankreich 1960 ... | A | 137 |
|
|
|
![]() |
Deux Amoureux Alternate [CEZ4384 - 20] |
Vers. | 2'08 | Cécile Hercule, Fabrice Lemoine, Victor Paillet | Twist / underscore / neo retro. Carefree, kitsch & touching. Female ... | outdoor Daylife Küche & Deko Keyboard ... | A | 138 |
|
|
![]() |
Wild Roads of Your Mind [CEZ4514 - 1] |
3'28 | Lomboy, Vermair | Electro pop. Positive, exhilarating, catchy & feel-good. Singer, drum ... Text | Elektropop Synthwave Stadtlandschaft begeisternd ... | Bbm | 120 |
|
|
|
![]() |
Wild Roads of Your Mind ...
[CEZ4514 - 19] |
Vers. | 3'29 | Lomboy, Vermair | Instrumental version. | Stadtlandschaft Elektropop begeisternd Werbung ... | Bbm | 120 |
|
|
![]() |
Love Injection [CEZ4227 - 2] |
2'46 | Narumi Omori, Clément Vaché | Synth pop. Arty & classy. Synth, male and female singers & rhythm. ... | Elektropop Mode 1980 einprägsam ... | Em | 108 |
|
|
|
![]() |
Love Injection 2 [CEZ4227 - 23] |
Vers. | 3'02 | Narumi Omori, Clément Vaché | Synth pop. Arty & classy. Synth & rhythm. | Elektropop 1980 einprägsam Synthetizer ... | Em | 108 |
|
|
![]() |
Quitte-le pour Moi [CEZ4385 - 2] |
2'16 | Colo Colo | French song. Pop rock / pop song. Catchy, urgent & lively. Female ... Text | auf Französisch gesungen Sängerin einprägsam schwungvoll ... | Fm | 172 |
|
|
|
![]() |
Quitte-le pour Moi Alternate [CEZ4385 - 22] |
Vers. | 2'15 | Colo Colo | Pop rock / underscore. Catchy, urgent & lively. Electric guitar, ... | aktuell energisch einprägsam zuversichtlich ... | Fm | 172 |
|
|
![]() |
Wasted Crush [CEZ4493 - 3] |
3'49 | Reflex | Electro pop, pop song, electro rock. Catchy intro then driving, heady ... Text | einprägsam Dance-Pop Feier Mode ... | Am | 118 |
|
|
|
![]() |
Wasted Crush Alternate [CEZ4493 - 15] |
Vers. | 3'49 | Reflex | Alternate instrumental. | People Dance-Pop Mode einprägsam ... | Am | 118 |
|
|
![]() |
Straight [CEZ4158 - 6] |
0 | 4'00 | Babamars | Electro pop. Lively & happy. Synths, male singer, electric guitar & ... Text | Feier Lied auf Englisch gesungen Elektropop ... | Bbm | 130 |
|
|
![]() |
Swing Mam'zelle [CEZ4220 - 5] |
0 | 2'30 | David Chiron, Philippe Cuillerier, Pierre Blanchard, Samson Schmitt | Swing. Joyful & carefree. Swing violin, gypsy guitar & rhythm section. | Paris Gypsy-Jazz-Gitarre Gypsy Jazz Jazzgeige ... | Am | 105 |
|
|
![]() |
Tendre Baiser [CEZ4384 - 16] |
2'25 | Franck Fossey | French song. Neo retro / twist / surf rock. Joyful, confident & ... Text | auf Französisch gesungen Sängerin sorglos 1960 ... | C | 139 |
|
|
|
![]() |
Tendre Baiser Alternate [CEZ4384 - 34] |
Vers. | 2'26 | Franck Fossey | Twist / underscore / neo retro. Joyful, confident & danceable. Twangy ... | kitschig & cheesy Jugendserien Twang Gitarre outdoor ... | C | 139 |
|
|
![]() |
Blue Hour [MAG6016 - 2] |
3'14 | Tin | Electro pop. Catchy & determined. Synth, female singer, electric ... Text | Elektropop Mode People einprägsam ... | Dbm | 130 |
|
|
|
![]() |
Blue Hour 2 [MAG6016 - 6] |
Vers. | 3'12 | Jan Stumke, Tin | Electro pop. Catchy & determined. Synth, electric guitar & rhythm. | Elektropop Mode People einprägsam ... | Dbm | 130 |
|
|
![]() |
I'd Like to Know Alternate [CEZ4389 - 16] |
3'32 | Woodini | Alternate version. Electro pop. Léger, robotique & arty. Synthé & ... | aktuell Mode Werbung arty ... | Fm | 124 |
|
|
|
![]() |
I'd Like to Know [CEZ4389 - 1] |
Vers. | 3'34 | Woodini | Electro pop / pop song. Light, robotic & arty. Female singer, synth & ... Text | Elektropop Werbung auf Englisch gesungen Mode ... | Fm | 123 |
|
|
![]() |
Avenue Frochot [AUD003 - 3] |
0 | 2'00 | Francois Delfin | Fast tempo - Uplifting, playful and driving retro French Jazz ... | amüsant Daylife schaukelnd daytime TV ... | Bm | 120 |
|
|
![]() |
Avenue Frochot Alternate 3 [AUD003 - 18] |
0 | 2'00 | Francois Delfin | Alternate version without bass & drum. | amüsant Daylife schaukelnd daytime TV ... | Bm | 120 |
|
|
![]() |
Avenue Frochot Alternate 1 [AUD003 - 8] |
0 | 0'16 | Francois Delfin | Short alternate version. | amüsant Daylife schaukelnd daytime TV ... | Bm | 119 |
|
|
![]() |
Avenue Frochot Alternate 2 [AUD003 - 13] |
0 | 2'00 | Francois Delfin | Alternate version without lead. | amüsant Daylife schaukelnd daytime TV ... | Bm | 120 |
|
|
![]() |
Wavering [CEZ4259 - 1] |
3'07 | Reflex | Catchy & lively. Synth, female singer & rhythm. Text | Elektropop Werbung Mode outdoor ... | Am | 124 |
|
|
|
![]() |
Wavering 2 [CEZ4259 - 21] |
Vers. | 3'07 | Reflex | Catchy & lively. Synth & rhythm. | Elektropop Daylife einprägsam schwungvoll ... | Am | 124 |
|
|
![]() |
Entre Nous [CEZ4384 - 7] |
2'34 | Ludmila Cassar, André Dalcan | French song. Easy listening / latino dance / neo retro. Frivolous, ... Text | auf Französisch gesungen neo retro Sängerin easy listening (alle) ... | G | 128 |
|
|
|
![]() |
Entre Nous Alternate [CEZ4384 - 25] |
Vers. | 2'32 | Ludmila Cassar, André Dalcan | Easy listening / latino dance / underscore / neo retro. Frivolous, ... | 1960 sinnlich Underscore Daylife ... | G | 129 |
|
|
![]() |
Purity [MAG6016 - 1] |
2'32 | Tin | Electro pop. Dreamy & classy. Synth, female singer & rhythm. Text | Elektropop einprägsam zuversichtlich Mode ... | Em | 145 |
|
|
|
![]() |
Purity 2 [MAG6016 - 5] |
Vers. | 2'32 | Tin | Electro pop. Dreamy & classy. Synth & rhythm. | Elektropop Mode verträumt stilvoll ... | Em | 145 |
|
|
![]() |
Alphaville [CEZ4227 - 1] |
0 | 2'42 | Colo Colo | Synth pop. Dreamy but confident. Synth, electric guitar & rhythm. | 1980 Elektropop Synthetizer Werbung ... | Am | 122 |
|
|
![]() |
Got Me Sayin' [MAG6026 - 2] |
3'49 | Pénélope Antena | Electro house. Lively, intense & modern. Female singer, strings, ... Text | aktuell Sängerin House schwungvoll ... | Bbm | 120 |
|
|
|
![]() |
Got Me Sayin' 2 [MAG6026 - 7] |
Vers. | 3'49 | Pénélope Antena | House. Lively, intense & modern. Strings, synth & rhythm. | aktuell House schwungvoll Mode ... | Bbm | 118 |
|
|
![]() |
Un Soir d'Été [CEZ4384 - 3] |
3'51 | Nilgiri | French song. Lounge music / romantic comedy / bossa nova. Relax, ... Text | auf Französisch gesungen Frankreich neo retro Sängerin ... | F | 138 |
|
|
|
![]() |
Un Soir d'Été Alternate [CEZ4384 - 21] |
Vers. | 3'50 | Franck Fossey | Lounge music / underscore / bossa nova. Relax, light & frivolous. ... | sorglos friedlich entspannt Underscore ... | F | 138 |
|
|
![]() |
Sequential Circuit [CEZ4227 - 7] |
0 | 2'25 | Alice Guerlot Kourouklis | Synth pop. Uplifting & luminous. Electric guitar, synth & rhythm. | 1980 Elektropop zuversichtlich energisch ... | Dm | 80 |
|
|
![]() |
Eblouis-moi [CEZ4384 - 13] |
2'13 | Colo Colo | French song. Twist / neo retro. Catchy, driving & lively. Female ... Text | auf Französisch gesungen Sängerin aktuell einprägsam ... | Bbm | 89 |
|
|
|
![]() |
Eblouis-Moi Alternate [CEZ4384 - 31] |
Vers. | 2'13 | Colo Colo | Neo retro / underscore. Catchy, driving & lively. Twangy guitar, bass ... | Underscore einprägsam schwungvoll fröhlich & heiter ... | Bbm | 89 |
|
|
![]() |
Paris Électrique [CEZ4385 - 5] |
2'43 | Nilgiri | French song. Electro pop. Hypnotic, urgent & lively. Female singer, ... Text | auf Französisch gesungen Elektropop aktuell Mode ... | Em | 140 |
|
|
|
![]() |
Paris Électrique Alternate [CEZ4385 - 25] |
Vers. | 2'43 | Franck Fossey | Electro pop / underscore. Hypnotic, urgent & lively. Synth & rhythm. | aktuell Paris hell eindringlich ... | Em | 140 |
|
|
![]() |
Rose c'est la Vie [CEZ4353 - 16] |
3'53 | Annie Barbazza | Pop song / variety music / romantic comedy / romantic movie. ... Text | Pop-Song Daylife Sängerin leidenschaftlich ... | Bb | 95 |
|
|
|
![]() |
In Te (Oh Baby Oh) [CEZ4353 - 3] |
Vers. | 3'52 | Annie Barbazza | Pop song / variety music / romantic comedy / romantic movie. ... Text | Italien Pop-Song Werbung sentimental ... | Bb | 95 |
|
|
![]() |
Je Voudrais te Dire que je ...
[CEZ4384 - 9] |
3'46 | Frédéric Martinez | French song. Pop song / neo retro. Uplifting, driving & confident. ... Text | auf Französisch gesungen Sängerin Frankreich akustisches Klavier ... | G | 100 |
|
|
|
![]() |
Je Voudrais te Dire que je ...
[CEZ4384 - 27] |
Vers. | 3'48 | Frédéric Martinez | Neo retro / pop song / underscore. Uplifting, driving & confident. ... | zuversichtlich akustisches Klavier outdoor Daylife ... | G | 100 |
|
|
![]() |
Montana 80 [CEZ4227 - 11] |
0 | 2'15 | Colo Colo | Synth pop. Catchy & happy. Synth & rhythm. | 1980 Elektropop Gimmick Synthetizer ... | Gbm | 106 |
|
|
![]() |
La Plage [CEZ4384 - 4] |
3'06 | Colo Colo | French song. Pop ballad / neo retro. Exotic, dreamy & mellow. ... Text | neo retro auf Französisch gesungen Pop Ballade Sängerin ... | Am | 122 |
|
|
|
![]() |
La Plage Alternate [CEZ4384 - 22] |
Vers. | 3'06 | Colo Colo | Underscore / neo retro. Exotic, dreamy & mellow. Electric guitar solo ... | exotisch Küstenlandschaft entspannt träge ... | Am | 122 |
|
|
![]() |
Losing the North Instrumental [CEZ4353 - 15] |
3'32 | Patchworks | Motown / underscore. Catchy, bouncy & determined. Bass, brass hits & ... | einprägsam energisch Motown schwungvoll ... | Bm | 138 |
|
|
|
![]() |
Losing the North [CEZ4353 - 2] |
Vers. | 3'32 | Patchworks | Pop song / Motown. Catchy, bouncy & determined. Female singer, bass, ... Text | Motown Pop-Song einprägsam energisch ... | Bm | 138 |
|
|
![]() |
Showcase [CEZ4431 - 8] |
2'41 | Plaisir de France | Electro beat. Urgent, cyclic & lively. Recommended for fashion shows. ... | energisch Mode eindringlich Elektro-Beat ... | E | 108 |
|
|
|
![]() |
Showcase (alternate no voice) [CEZ4431 - 19] |
Vers. | 2'41 | Plaisir de France | Electro beat. Urgent, cyclic & lively. Recommended for fashion shows. ... | energisch Elektro-Beat schwungvoll eindringlich ... | E | 108 |
|
|
![]() |
La Capricieuse [CEZ4384 - 15] |
1'46 | Julien Vega | Sung in French. Neo retro. Confident, lively & bucolic. Female ... Text | neo retro auf Französisch gesungen Sängerin TV-Serien ... | Am | 140 |
|
|
|
![]() |
La Capricieuse Alternate [CEZ4384 - 33] |
Vers. | 1'45 | Julien Vega | Neo retro / underscore. Confident, lively & bucolic. Trumpet, Hammond ... | Daylife Küche & Deko neo retro 1960 ... | Am | 140 |
|
|
![]() |
Heart Chained [CEZ4158 - 2] |
4'30 | Arno Riva | Electro pop. Chic & sensual. Synths, electric guitar, female and male ... Text | Elektropop Werbung sinnlich einprägsam ... | Am | 106 |
|
|
|
![]() |
Heart Chained 2 [CEZ4158 - 17] |
Vers. | 4'29 | Arno Riva | Electro pop. Chic & sensual. Synths, electric guitar & rhythm. | sinnlich einprägsam stilvoll Elektropop ... | Am | 106 |
|
|
![]() |
Ce soir Alternate [CEZ4385 - 34] |
3'47 | Fabrice Lemoine, Laura Maire, Victor Paillet | Romantic / pop ballad / romantic comedy / underscore. Sentimental, ... | Daylife outdoor Werbung Pop Ballade ... | Abm | 126 |
|
|
|
![]() |
Ce Soir [CEZ4385 - 14] |
Vers. | 3'46 | Fabrice Lemoine, Laura Maire, Victor Paillet | French song. Neo retro / romantic / pop ballad / romantic comedy. ... Text | aktuell weiblich neo retro 1960 ... | Abm | 126 |
|
|
![]() |
Remember this Time [CEZ4389 - 11] |
2'54 | Reflex | Electro pop / pop song. Festive, confident & lively. Female singer, ... Text | aktuell Elektropop Werbung auf Englisch gesungen ... | Gm | 124 |
|
|
|
![]() |
Remember this Time Alternate [CEZ4389 - 30] |
Vers. | 2'54 | Reflex | Alternate version. Electro pop. Festive, confident & lively. Synth & ... | Elektropop aktuell Werbung People ... | Gm | 124 |
|
|
![]() |
Belle à en Crever [CEZ4384 - 5] |
2'26 | Fabrice Lemoine, Laura Maire, Victor Paillet | French song. Twist / pop song / neo retro. Festive, driving & ... Text | auf Französisch gesungen Sängerin neo retro Frankreich ... | C | 90 |
|
|
|
![]() |
Belle à en Crever Alternate [CEZ4384 - 23] |
Vers. | 2'25 | Fabrice Lemoine, Laura Maire, Victor Paillet | Twist / neo retro / underscore. Festive, driving & confident. Break @ ... | outdoor 1960 Abspann TV sorglos ... | C | 90 |
|
|
![]() |
Easy Come Easy Go [CEZ4235 - 4] |
0 | 3'00 | Pony Taylor | Pop. Carefree & determined. Piano, electric guitar, vibraphone, ... | 1970 Küche & Deko Indiepop sorglos ... | Dm | 140 |
|
login
password
Nom
Loading ' + file.name + ' ' + (file.size ? (file.size/1024|0) + 'K' : ''); fichier=file.name; } } //--- //- recog readfiles //--- readfiles = function(files) { var formData = tests.formdata ? new FormData() : null; for (var i = 0; i < files.length; i++) { if (tests.formdata) formData.append('file', files[i]); // previewfile(files[i]); en commentaire pcq nom du fichier pas important et pas beau } formData.set('lang','de'); // now post a new XHR request if (tests.formdata) { var xhr = new XMLHttpRequest(); xhr.open('POST', '/recog/upload.php'); xhr.onload = function() { progress.value = progress.innerHTML = 100; }; xhr.onloadend = function() { JSONreponse= xhr.responseText.trim(); if(JSONreponse=="ERR"){ spinnerStopCancellable(); $('#progress_external_recommendation_file').hide(); document.getElementById('file_external_recommendation').files = null; document.getElementById('file_external_recommendation_lbl').innerHTML = 'Choose file from your computer'; getAlertDanger("An error has occured, please try again with another file"); }else if(JSONreponse=="ERR_NOT_CONNECTED"){ //jQuery('#infoBoxListePage_connect').show(); TipNotConnected(); }else{ $('#fichiercharge').remove(); $('#chargementde').remove(); $('progress').hide(); spinnerStop(); reponses = JSON.parse(JSONreponse); reponsesMots = reponses.mots; suggestiontitres(files[0].name, 'mp3'); /** SG 21/10/2021 : POUR CACHER LA BOX QD RESULTAT AFFICHÉ **/ if($('.external_recommendationbox').length){ /** SG 22/10/2021 : POUR PROGRESS BAR EXTERNAL_RECOMMENDATION **/ $('#progress_external_recommendation_file').width('100%'); $('.external_recommendationbox').hide(); $('#progress_external_recommendation_file').width('0%'); $('#progress_external_recommendation_file').hide(); $('#file_external_recommendation').val(''); document.getElementById('file_external_recommendation_lbl').innerHTML = 'Drop your file here.'; } } }; if (tests.progress) { $('progress').show(); $('#progress_external_recommendation_file').show(); spinnerStart(); xhr.upload.onprogress = function (event) { if (event.lengthComputable) { var complete = (event.loaded / event.total * 100 | 0); if(complete!=100){ $('#recogdiv').each(function(){$(this).remove();}); } /** SG 22/10/2021 : PR PROGRESS BAR EXTERNAL_RECOMMENDATION **/ if($('#progress_external_recommendation_file').length){ $('#progress_external_recommendation_file').width((event.loaded/event.total*100)+'%'); } progress.value = progress.innerHTML = complete; } } } xhr.send(formData); } } //--- //- recog readfiles //--- readfiles_image = function(files) { var formData = tests.formdata ? new FormData() : null; for (var i = 0; i < files.length; i++) { if (tests.formdata) formData.append('file', files[i]); // previewfile(files[i]); en commentaire pcq nom du fichier pas important et pas beau } formData.set('lang','de'); // now post a new XHR request if (tests.formdata) { var xhr = new XMLHttpRequest(); xhr.open('POST', '/ajax/get_keywords_from_brief.php'); xhr.onload = function() { progress.value = progress.innerHTML = 100; }; xhr.onloadend = function() { JSONreponse= xhr.responseText.trim(); if(JSONreponse=="ERR"){ spinnerStopCancellable(); $('#progress_external_recommendation_file').hide(); document.getElementById('file_external_recommendation').files = null; document.getElementById('file_external_recommendation_lbl').innerHTML = 'Choose file from your computer'; getAlertDanger("XXXXXAn error has occured, please try again with another file"); }else if(JSONreponse=="ERR_NOT_CONNECTED"){ //jQuery('#infoBoxListePage_connect').show(); TipNotConnected(); }else{ $('#fichiercharge').remove(); $('#chargementde').remove(); $('progress').hide(); spinnerStop(); var parsedRes = JSON.parse(JSONreponse); var div_error = document.getElementById('external_brief_errors'); if ( parsedRes.error !== undefined ) { var txt_error = "Error : "; if ( parsedRes.error == "brief_empty" ) { txt_error += "Your brief is empty"; } else if ( parsedRes.error == "brief_too_long" ) { txt_error += "Your brief is too long, it must be 1000 characters long maximum"; } div_error.innerHTML = txt_error; div_error.style.display = 'block'; spinnerStop(); } else { div_error.innerHTML = ''; div_error.style.display = 'none'; var responseJSON = parsedRes; var response = responseJSON; var url = "/liste_resultats.php?"; var params = []; var tab_mots = []; for( var valou of response ) { params.push("mot[]=" + encodeURI(valou + "@@@@" + valou + "@@@@" + valou)); tab_mots.push(valou); } if ( params.length == 0 ) { div_error.innerHTML = 'No results found, please try again later.'; div_error.style.display = 'block'; spinnerStop(); return; } url += params.join("&"); xajax_check_multiple_words(tab_mots.join(' '), [], false, true, false, ''); //window.location.href = url; } } }; if (tests.progress) { $('progress').show(); $('#progress_external_recommendation_file').show(); spinnerStart(); xhr.upload.onprogress = function (event) { if (event.lengthComputable) { var complete = (event.loaded / event.total * 100 | 0); if(complete!=100){ $('#recogdiv').each(function(){$(this).remove();}); } /** SG 22/10/2021 : PR PROGRESS BAR EXTERNAL_RECOMMENDATION **/ if($('#progress_external_recommendation_file').length){ $('#progress_external_recommendation_file').width((event.loaded/event.total*100)+'%'); } progress.value = progress.innerHTML = complete; } } } xhr.send(formData); } } //--- //- afficherPanneauEntree //--- afficherPanneauEntree = function(){ var zeObj = $('#header-search-query'); if(zeObj.val()!=""){ $('#boiteAdviceRico').show(500); } } //--- //- jelancenoresult //--- jelancenoresult = function(){ in_search=false; $('#msgdbg').text($("#header-search-query").attr('value')); spinnerStart(); //xajax_check_multiple_words($("#header-search-query").attr('value'), xajax.getFormValues('search_form')); }; var mytimeoutrb; var randomPercent = 0 randomBar = function( ){ randomPercent = randomPercent + 5 if(randomPercent > 100) { randomPercent = 0 } progress = document.getElementById('uploadprogress'); progress.value = progress.innerHTML = randomPercent; mytimeoutrb = setTimeout( function(){randomBar( );} , 300); } todoOnKeyDown = function(zeObj,e){ $carousel_gallery_home.flickity('pausePlayer'); /** le moteur suggest est désactivé quand on tape une touche, cela empeche le masque "Entrée" de s'afficher, et lance le timeout de 3 secondes pour l'ouvrir **/ spinnerStop(); clearTimeout(timeoutAfficherPanneauEntree); in_search=true; timeoutAfficherPanneauEntree = setTimeout(function(){afficherPanneauEntree();},3000); //var kc=e.keyCode; var kc = e.key || e.code; if(kc=="Enter" || kc==13 || kc==37 || kc==38 || kc==39 || kc==40 || zeObj.value=='' || zeObj.value.indexOf('?+')!=-1){ spinnerStop(); } if($('#btn_external_recommendation').length > 0){ /** SG 21/20/2021 : POUR CACHER BOUTON external_recommendation QD QQUE CHOSE DE TAPER **/ if((zeObj.value).length>0){ /////16/04/2024 Eric / on ne le retire plus. : document.getElementById('btn_external_recommendation').style.display = 'none'; }else{ document.getElementById('btn_external_recommendation').style.display = 'flex'; } } if(( kc==13 || kc=='Enter') && zeObj.value!='' ){ var r = $(".text-tags .text-label").map( function(){return $(this).text();}).get().join(' '); if(r!=''){ var phrase=r + ' ' + zeObj.value; }else{ var phrase=zeObj.value; } $.ajax({ type: "POST", url: "/ajax/check_is_prompt.php", data: { phrase: phrase, langue: 'de' } }).done(function(reponse) { if (reponse === "OK" && "cn"!=="de") { /**vider le formulaire de recherche**/ empty_search_form(); /**appeler la fonction de recommandation par brief**/ searchExternalRecommendationFromBrief(phrase); } else { //bouton entrée tappé fct_menuzonehidden(); spinnerStart(); clearTimeout('jelancelenoresultdansxsecondes'); xajax_check_multiple_words(phrase, xajax.getFormValues('search_form')); } }); }else if(( kc==13 || kc=='Enter') && zeObj.value==''){ fct_menuzonehidden(); } } todoOnBlur = function(zeObj,e){ var v = zeObj.value; $carousel_gallery_home.flickity('pausePlayer'); spinnerStop(); clearTimeout(timeoutAfficherPanneauEntree); in_search=true; timeoutAfficherPanneauEntree = setTimeout(function(){afficherPanneauEntree();},3000); spinnerStop(); /** SG 24/10/2023 : POUR CACHER BOUTON external_recommendation QD QQUE CHOSE DE TAPER **/ if($('#btn_external_recommendation').length > 0){ if((zeObj.value).length>0){ /////16/04/2024 Eric / on ne le retire plus. : document.getElementById('btn_external_recommendation').style.display = 'none'; }else{ document.getElementById('btn_external_recommendation').style.display = 'flex'; } } if(v!=''){ fct_menuzonehidden(); spinnerStart(); clearTimeout('jelancelenoresultdansxsecondes'); zeObj.value = ''; var r = $(".text-tags .text-label").map( function(){return $(this).text();}).get().join(' '); var phrase = ''; if ( r!='' ) { phrase = r + ' ' + v; } else { phrase = v; } $.ajax({ type: "POST", url: "/ajax/check_is_prompt.php", data: { phrase: phrase, langue: 'de' } }).done(function(reponse) { if (reponse === "OK") { /**vider le formulaire de recherche**/ empty_search_form(); /**appeler la fonction de recommandation par brief**/ searchExternalRecommendationFromBrief(phrase); } else { //bouton entrée tappé fct_menuzonehidden(); spinnerStart(); clearTimeout('jelancelenoresultdansxsecondes'); xajax_check_multiple_words(phrase, xajax.getFormValues('search_form')); ////////show_bpm_key_zone("search"); } }); } else { //fct_menuzonehidden(); //remettre cette ligne si problème sur le onblur //SG 03/11/2023 : afin que la cartouche ne se ferme plus au onblur de l'input et que le bouton ai search se cache quand des mots sont présents dans l'input var r = $(".text-tags .text-label").map( function(){return $(this).text();}).get().join(' '); if ( r!="" ) { /////16/04/2024 Eric / on ne le retire plus. : $("#btn_external_recommendation").hide(); } else { if (document.getElementsByClassName('recogbutton').length == 0) { fct_menuzonehidden(); } } } } //Tooltip sur liste track search v4 pour les recommandations tooltip_menu_media = function(button,id_media,name,mode='modal'){ $.ajax({ url: "/ajax/get_tooltip_template.php", // Ton script PHP qui va générer le bon template type: "POST", data: { name: name, id_media: id_media }, success: function(responseHTML) { if(mode === 'modal'){ // On reçoit le HTML dynamisé en fonction des paramètres jcAlertTT(responseHTML, { boxWidth: 'calc(600px + 10%)', theme: 'cez-'+name, },name,mode); }else if(mode === 'tooltip'){ jcAlertTT(responseHTML, { boxWidth:'300px', theme: 'cez-'+name, },name,mode,button); } const $tooltip = $("#" + name + "_" + id_media); const modalBackdrop = $(".jconfirm-cez-"+name+" .jconfirm-cell"); //on charge pour ce contenu le code pour la region if(name === "tooltiprecommandation"){ $(document).on("mousedown", function (e) { if (modalBackdrop.is(e.target)) { $tooltip.find('.Ttr_timingdebut').val(''); $tooltip.find('.Ttr_timingfin').val(''); fctclearRegions(); } }); from_last_click ="recommandationedit"; if (!myPlaylist || typeof myPlaylist.playlist !== 'object') { //console.error("myPlaylist.playlist n'est pas un objet valide."); return; } //console.log("",myPlaylist.playlist); //! Cas ajaxify surtout, où le titre du player ne fait pas parti de la liste de lecture de la page nouvellement affichée // Vérifier si l'id_media est présent dans la playlist const idExistsInPlaylist = myPlaylist.playlist.some( item => String(item.id_media) === id_media ); if (!idExistsInPlaylist) { // Récupérer les IDs dans l'attribut onclick du bouton Tl_play let $parentTr = $(button).closest('tr'); let $parentUl = $parentTr.find('td:first ul.boxcontroleplayer'); let id_mediaAttr = $parentUl.attr('id_media'); let positionAttr = $parentUl.attr('position'); let onclickAttr = $parentUl.find("button.Tl_play").attr("onclick"); //console.log(id_mediaAttr+" pos"+positionAttr); // Extraire les IDs avec une expression régulière let match = onclickAttr.match(/PlayPauseUnTitreButton\('([^']+)'/); if (match && match[1]) { let idsList = match[1]; xajax_load_player_playlist(idsList,0,positionAttr,from_last_click,"oui"); } }else{ //! Si le titre existe dans la playlist, c'est que la page a été rechargé. Ici 2 problematiques, soit on a cliqué sur un bouton de lecture de la liste de titre et on a prechargé une playlist contenant les alernates, ou bien c'est une version playlist allegée //--playlist avec les alernates if (String(id_media).startsWith("0")) { id_media_alt = String(id_media).slice(1); // Supprime le premier caractère pos = $('#boxcontrol_'+id_media_alt).attr('curposition'); //--sinon c'est la playlist allegée }else{ const playlistValues = Object.values(myPlaylist.playlist); // Rechercher l'index const index = myPlaylist.playlist.findIndex( item => String(item.id_media) === id_media ); //console.log("Index trouvé :", index, "Données :", playlistValues); if (index !== -1) { const currentItem = playlistValues[index]; pos = index; } } window.setCurrentSongLOAD(pos); } setTimeout(() => { let dureetrack = $("#time-total").html(); let [minutesDT, secondsDT] = dureetrack.split(':').map(Number); let newseconds = (minutesDT * 60) + secondsDT; window.createRegion('0', newseconds, 'false', 'false', '', 'recommandation_' + id_media); jQuery('.wavesurfer-handle-start').css('width','4px').css('background-color','#222222'); jQuery('.wavesurfer-handle-end').css('width','4px').css('background-color','#222222'); }, 150); $(document).on("click", ".Ttr_validate", function (e) { let timingdebut = $tooltip.find('.Ttr_timingdebut').val(); let timingfin = $tooltip.find('.Ttr_timingfin').val(); //console.log(timingdebut+" "+timingfin+" Suivant"); //launch_recommendation('https://stream.cezamemusic.com/albums/CEZ4235/mp3/128/04-Opinion-Former-MASTER-baptiste.mp3','33438');" }); $(document).on("click", ".Ttr_cancel", function (e) { $tooltip.find('.Ttr_timingdebut').val(''); $tooltip.find('.Ttr_timingfin').val(''); $('.jconfirm-cez-tooltiprecommandation .jconfirm-closeIcon').trigger("click"); fctclearRegions(); }); } }, error: function(xhr) { console.error("Erreur lors du chargement du tooltip :", xhr); } }); } // Variable globale pour stocker le timeout let tooltipTimeout; // Gestionnaire d'événements avec délai $(document).on({ mouseenter: function(e) { const button = this; const id_media = $(button).data("id-media"); const name = $(button).data("name"); tooltip_gestion_alternative(button, id_media, name); /* clearTimeout(tooltipTimeout); tooltipTimeout = setTimeout(() => { tooltip_gestion_alternative(button, id_media, name); }, 500); */ }, mouseleave: function() { clearTimeout(tooltipTimeout); } }, ".tooltip-trigger-alt"); const tooltip_gestion_alternative = function(button, id_media, name) { let isTooltipOpen = false; let isMouseOverButton = false; let isMouseOverTooltip = false; let closeTimeout; // Création du conteneur du tooltip avec styles pour l'animation if (!$('#tooltip-container').length) { $('body').append(`
`); } const tooltipContainer = $('#tooltip-container'); // Fonction pour positionner le tooltip const updateTooltipPosition = function() { if (!isTooltipOpen) return; const buttonPos = $(button).offset(); const buttonHeight = $(button).outerHeight(); const buttonWidth = $(button).outerWidth(); let tooltipTop = buttonPos.top + buttonHeight -175; let tooltipLeft = buttonPos.left + (buttonWidth / 2) + 10; const tooltipWidth = tooltipContainer.outerWidth(); const windowWidth = $(window).width(); if (tooltipLeft + tooltipWidth > windowWidth) { tooltipLeft = windowWidth - tooltipWidth - 10; } tooltipContainer.css({ top: tooltipTop, left: tooltipLeft }); }; // Fonction pour ouvrir le tooltip avec animation const openTooltip = function() { if (isTooltipOpen) return; $.ajax({ url: "/ajax/get_tooltip_template.php", type: "POST", data: { name: name, id_media: id_media }, success: function(responseHTML) { tooltipContainer.html(responseHTML); tooltipContainer.css('display', 'block'); // Force un reflow pour assurer que la transition fonctionne tooltipContainer[0].offsetHeight; // Applique l'animation tooltipContainer.css({ 'opacity': '1', 'transform': 'translateY(0)' }); isTooltipOpen = true; updateTooltipPosition(); }, error: function() { console.error('Erreur lors du chargement du tooltip'); } }); }; // Fonction pour fermer le tooltip avec animation const closeTooltip = function() { if (!isMouseOverButton && !isMouseOverTooltip) { closeTimeout = setTimeout(() => { tooltipContainer.css({ 'opacity': '0', 'transform': 'translateY(-5px)' }); // Attendre la fin de l'animation avant de cacher setTimeout(() => { tooltipContainer.css('display', 'none'); isTooltipOpen = false; }, 200); }, 300); } }; // Gestionnaire d'événements pour le bouton $(button).on({ mouseenter: function() { isMouseOverButton = true; clearTimeout(closeTimeout); openTooltip(); }, mouseleave: function() { isMouseOverButton = false; closeTooltip(); } }); // Gestionnaire d'événements pour le tooltip tooltipContainer.on({ mouseenter: function() { isMouseOverTooltip = true; clearTimeout(closeTimeout); }, mouseleave: function() { isMouseOverTooltip = false; closeTooltip(); } }); // Mettre à jour la position lors du défilement ou redimensionnement $(window).on('scroll resize', updateTooltipPosition); // Ouvrir immédiatement le tooltip openTooltip(); return { destroy: function() { clearTimeout(closeTimeout); $(button).off('mouseenter mouseleave'); tooltipContainer.off('mouseenter mouseleave'); $(window).off('scroll resize', updateTooltipPosition); tooltipContainer.remove(); } }; }; launch_recommendation = function(localurl,last_item_played, debut=null, fin=null){ let logged_in = false; jQuery.ajax({url: "/ajax/check_conn.php", type: "GET", async: false, success: function(JSONreponseFromAjax){ logged_in = JSONreponseFromAjax; }} ); var cookiepubai = document.cookie.match('(^|;) ?no_pub_ai=([^;]*)(;|$)'); var test_pubai = false; if ( cookiepubai !== null ) { test_pubai = cookiepubai[2]; } //SG 14/11/2023 : si pas connecté, on affiche la popup de pub pour les fonctionnalités complémentaires de l'IA // if ( logged_in != "OK" && !test_pubai ) { ///pour l'instant on met ça de côté ... TipNotConnectedPubAi(false); // } $('progress').hide(); spinnerStart(); /**on supprime le div de recog, vu que l'on va en charger un nouveau**/ jQuery('#recogdiv').remove(); if ( !$('body').hasClass('mobile') ) { randomBar( ); } if (debut !== null && fin !== null && Number.isFinite(debut) && Number.isFinite(fin)) { paramjson = {localurl: localurl, id_media: last_item_played,lang:'de', debut: debut, fin: fin}; }else{ paramjson = {localurl: localurl, id_media: last_item_played,lang:'de'}; } jQuery.ajax({url: "/recog/upload.php", type: "POST", data : paramjson, success: function(JSONreponseFromAjax){ if(JSONreponseFromAjax=="ERR"){ $('progress').hide(); spinnerStop(); }else if(JSONreponseFromAjax=="ERR_NOT_CONNECTED"){ TipNotConnected(); $('progress').hide(); spinnerStop(); }else if(JSONreponseFromAjax.match(/^ERR_/) ){ $('progress').hide(); spinnerStop(); clearTimeout(mytimeoutrb); }else { clearTimeout(mytimeoutrb); if ( !$('body').hasClass('mobile') ) { progress = document.getElementById('uploadprogress'); progress.value = progress.innerHTML = 0; } jQuery('progress').hide(); spinnerStop(); reponses = JSON.parse(JSONreponseFromAjax); reponsesMots = reponses.mots; JSONreponse = JSONreponseFromAjax; suggestiontitres(last_item_played,'equal'); } } }); } // Fonction pour obtenir le début et la fin d'une région spécifique function getRegionTiming(idMedia) { // Supposons que votre instance WaveSurfer est dans la variable 'wavesurfer' const regionId = 'recommandation_' + idMedia; const regionKey = hasRegionStartingWith(); let region = null; //ne jamais clear les (climax[0-9]) //if(regionKey.some(item => item.startsWith('climax'))){ if(regionKey){ regionKey.forEach(key => { if(key==regionId){ region=myPlaylist.regions.list[key]; } }); } if (region!=null) { return { start: region.start, // Début en secondes end: region.end // Fin en secondes }; } return { start: null, // Début en secondes end: null // Fin en secondes }; } //--- //- changeScrollHeight //--- changeScrollHeight = function() { var h = parseInt(window.prompt('Please type new scroll height (number in pixels):', jQuery.Autocompleter.defaults.scrollHeight)); if(h > 0) { $("#suggest1").setOptions({ scrollHeight: h }); } } //--- //- focus_header_search_query //--- focus_header_search_query = function(){ //$("#header-search-query").trigger("activate.autocomplete"); $("#header-search-query").click(); } //--- //- RemoveAccents //--- RemoveAccents = function(strAccents) { var strAccents = strAccents.split(''); var strAccentsOut = new Array(); var strAccentsLen = strAccents.length; var accents = 'ÀÁÂÃÄÅàáâãäåÒÓÔÕÕÖØòóôõöøÈÉÊËèéêëðÇçÐÌÍÎÏìíîïÙÚÛÜùúûüÑñÿý'; var accentsOut = "AAAAAAaaaaaaOOOOOOOooooooEEEEeeeeeCcDIIIIiiiiUUUUuuuuNnSsYyyZz"; for (var y = 0; y < strAccentsLen; y++) { if (accents.indexOf(strAccents[y]) != -1) { strAccentsOut[y] = accentsOut.substr(accents.indexOf(strAccents[y]), 1); } else strAccentsOut[y] = strAccents[y]; } strAccentsOut = strAccentsOut.join(''); //return strAccentsOut.replace(/ +/,"-"); strAccentsOut=strAccentsOut.replace(/'/g,"-").replace(/&+/g," ").replace(/ +/g,"-").replace(/\-+/,'-'); return strAccentsOut; } //--- //- addAlbumAndLaunch //--- addAlbumAndLaunch = function(id_album,e,f){ e.after(""); f.submit(); } //--- //- launchSearch //--- launchSearch = function(){ jQuery('.loupe').click(); } /**tout ce qui se rapoporte au filtrage par bpm et key**/ load_bpm_key_slider = function(){ jQuery('#slider').slider({ range: true, min: 10, max: 300, step: 1, values: [ 10, 300 ], slide: function( event, ui ) { jQuery('.slider-min').html(ui.values[ 0 ]); jQuery('.slider-max').html(ui.values[ 1 ]); }, change: function( event, ui ) { var min = ui.values[ 0 ]; var max = ui.values[ 1 ]; jQuery('#customFilterBpm').val(''); jQuery.ajax({ url: '/ajax/ajax_search_filters.php?minbpm='+min+'&maxbpm='+max} ).done(function(){ var only_word_search = jQuery('#search_form').serialize().replace('search_external_recommendation_youtube=&search_external_recommendation_brief=', ''); const url_params = new URLSearchParams(window.location.search); const id_media_str = url_params.get('id_media_str'); var tmp_url = ""; if ( id_media_str !== null ) { tmp_url = '/liste_resultats.php?id_media_str='+id_media_str+'&randkeybpm='+Math.random().toString(36).substring(7); }else if(only_word_search!=''){ tmp_url = '/liste_resultats.php?'+jQuery('#search_form').serialize()+'&randkeybpm='+Math.random().toString(36).substring(7); } goLaunchAjaxify(tmp_url,'#searchlink','search_' + Math.random().toString(36).substring(7)); }); } }); } -->