Nipclock 1.2


Description

Horloge sonnant les heures (répétées), les demies et les quarts.
Entièrement paramétrable : langue, affichage, sonneries.
S'appuie sur le très utile (et léger) DewPlayer (en Flash).

Source / Exemple :


/** NipClock 1.1

Horloge sonnant les heures (répétées), les demies et les quarts.
Entièrement paramétrable : langue, affichage, sonneries.
S'appuie sur le très utile (et léger) DewPlayer (en Flash).

N'hésitez pas à m'écrire pour toute suggestion !
(formulaire sur le site)

--

This clock strikes hours (repeated), halves and quarters.
Fully customizable: langauge, display, chime.
Based on both useful and lightest Flash DewPlayer.

Feel free to write me any feedback!
(use online form)

--

Nostalgique de votre comtoise ou autre horloge de grand-mère ?

Laissez cette page ouverte pour entendre le carillon sonner l'heure, 
les demies et les quarts. Et prenez un casque si l'entourage est réticent !

B. Ollé (c) 2008 - http://carillon.avenue-du.net

  • /
/*************
  • Espace configuration : replacez les occurrences par vos propres sons
  • Configuration Zone: replace with your sounds
                            • /
/* Sonnerires : indiquer la durée du son en suivant en secondes, sauf pour le dernier
  • (le 0 initial fait sonner sans délai)
*
  • Ringings: mention its duration in seconds after the sound, except for the last one
  • (initial 0 starts striking immediately) */
/* sonnerie des quarts firts quarter ringing */ var firstQuarters = new Array(0,'http://neep.free.fr/Saint_Exupere/Sons/cl6.mp3',1,'http://neep.free.fr/Saint_Exupere/Sons/cl4.mp3'); /* sonnerie des demies halves ringing */ var halfOnes = new Array(0,'http://neep.free.fr/Saint_Sernin_basilique/Sons/cl2.mp3',1,'http://neep.free.fr/Saint_Sernin_basilique/Sons/cl1.mp3',2,'http://neep.free.fr/Saint_Sernin_basilique/Sons/cl2.mp3',1,'http://neep.free.fr/Saint_Sernin_basilique/Sons/cl1.mp3'); /* sonnerie des trois-quarts third quarter ringing */ var thirdQuarters = new Array(0,'http://neep.free.fr/Saint_Exupere/Sons/cl10.mp3',1,'http://neep.free.fr/Saint_Exupere/Sons/cl8.mp3',2,'http://neep.free.fr/Saint_Exupere/Sons/cl10.mp3',1,'http://neep.free.fr/Saint_Exupere/Sons/cl8.mp3',2,'http://neep.free.fr/Saint_Exupere/Sons/cl10.mp3',1,'http://neep.free.fr/Saint_Exupere/Sons/cl8.mp3'); /* son de chaque coup des heures sound for hour strikes */ var hourlyStrikeSound = 'http://neep.free.fr/Saint_Sernin_basilique/Sons/cl5.mp3'; var hourlyStrikeDelay = 3; // undetermined scale... /* pré-sonnerie des heures first heard hour melody */ var hourlyMelody = 'http://neep.free.fr/Saint_Exupere/Sons/Legende_saint_Nicolas_theme.mp3'; var hourlyMelodyDuration = 6; // en secondes - in seconds /* chemin du lecteur Flash Flash reader path */ var dewPlayerPath = "http://neep.free.fr/sons/dewplayer.swf"; /* affichage sur 24h 24 hour display */ var amPmFormat = false; /* affichage des secondes seoncds display */ var displaySeconds = false; /* langue : fr=0, en=1 */ var language = 0; /* traductions feel free to create entries for your language and share them */ var dayLabels=new Array(new Array("dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"), new Array("Saturday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")); var dayText=new Array("Nous sommes<br>le","Today is"); var monthLabels=new Array(new Array("janvier","février","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre"), new Array("January","February","March","April","May","June","July","August","September","October","November","December")); var hourText=new Array("Il est","It's"); var hourSeparator=new Array("h",":"); var secondLabel=new Array("s",""); var andLabel=new Array(" et ",":"); var debugTime=new Array("Horloge en maintenance","Clock Testing Time"); /*************
  • Zone experts : éviter de modifier
  • Expert Zone: avoid modifying
                            • /
var debug = false; var debugText = "<p><font color=red>"+debugTime[language]+"</font></p>"; /* Fonction principale
  • Main Function */
function nipClock() { var fullDate=new Date(); var day = dayLabels[language][fullDate.getDay()]; var day_of_month = fullDate.getDate(); var month = monthLabels[language][fullDate.getMonth()]; var year = fullDate.getFullYear(); var hour = (amPmFormat?fullDate.getHours()%12:fullDate.getHours()); var minutes = fullDate.getMinutes(); var seconds = fullDate.getSeconds(); var milliseconds = fullDate.getMilliseconds(); var dateStr; switch (language) { case 0: dateStr=day+"<br>"+day_of_month+" "+month+" "+year; break; case 1: default: dateStr=day+"<br>"+month+", "+day_of_month+"<sup>"+(day_of_month%10==1?"st":(day_of_month%10==2?"nd":(day_of_month%10==3?"rd":"th")))+"</sup> "+year; if (seconds<10) seconds="0"+seconds; break; } /* Composer ici le texte de l'horloge
  • Compose here the clock text */
document.getElementById("nipClock").innerHTML=(debug?debugText:"")+dayText[language]+" "+dateStr+"<br><br>"+hourText[language]+" "+hour+hourSeparator[language]+(minutes<10?"0"+minutes:minutes)+(displaySeconds?andLabel[language]+seconds+secondLabel[language]:""); /* Décompte les secondes ou les minutes
  • Second or minute countdown */
setTimeout('nipClock()',1000*(displaySeconds?1:60)); var strikeIsPossible = true; if (displaySeconds) strikeIsPossible = (seconds == 0); if (strikeIsPossible) if ((minutes==0) || (minutes==2)) playHourlyChime(hour>0?hour%12:12); else if (minutes==15) playChime(firstQuarters); else if (minutes==30) playChime(halfOnes); else if (minutes==45) playChime(thirdQuarters); /* Sonner pour les tests
  • Ringing for testing purpose */
if (debug) { // seconds mode: strikes every x second var x=10; if (seconds%x == 0) playChime(halfOnes); var x=20; if (seconds%x == 0) playHourlyChime(hour%12); // minutes mode playChime(firstQuarters); } } /* Joue une mélodie, puis autant de coups que d'heures
  • Plays a melody, then strikes the hours */
function playHourlyChime(heure) { var jeu_coup_heures = new Array("0",hourlyMelody,hourlyMelodyDuration+1); var j=3; for (i=1;i<=heure;i++) { if (i>1) jeu_coup_heures[j++]=hourlyStrikeDelay; jeu_coup_heures[j++]=hourlyStrikeSound; } playChime(jeu_coup_heures); } /* Joue les sons séquentiellement
  • Strikes the sounds sequentially */
function playChime(chime_array) { var cumulatedDuration = 0; if (debug) document.getElementById("nipDebug").innerHTML="<p>"; for(i=0; i<chime_array.length-1; i=i+2) { cumulatedDuration+=1000*chime_array[i]; if (debug) document.getElementById("nipDebug").innerHTML=document.getElementById("nipDebug").innerHTML+"i<sub>"+i+"</sub> "+cumulatedDuration/1000+"s "+chime_array[i+1].substring(7)+" <br>"; setTimeout("playSound('"+chime_array[i+1]+"')",cumulatedDuration); } } /* Joue le son spécifié
  • Plays the specified sound */
function playSound(file) { document.getElementById("chime").innerHTML='<object type="application/x-shockwave-flash" data="'+dewPlayerPath+'?mp3='+file+'&autoplay=true&autoreplay=false" height="0" width="0" border=0><param name="wmode" value="transparent"><param name="movie" value="'+dewPlayerPath+'.swf?mp3='+file+'&autoplay=true&autoreplay=false"/></object>'; } /* Pré-chargement des sons
  • Sound preload */
var d=document; d.sounds=new Array(); var j=d.sounds.length; d.sounds[j]=new Object; d.sounds[j++].src=hourlyStrikeSound; d.sounds[j]=new Object; d.sounds[j++].src=hourlyMelody; for(i=0; i<firstQuarters.length-1; i=i+2) { d.sounds[j]=new Object; d.sounds[j++].src=firstQuarters[i];} for(i=0; i<halfOnes.length-1; i=i+2) { d.sounds[j]=new Object; d.sounds[j++].src=halfOnes[i];} for(i=0; i<thirdQuarters.length-1; i=i+2) { d.sounds[j]=new Object; d.sounds[j++].src=thirdQuarters[i];}

Conclusion :


Exemple sur mon site : http://carillon.avenue-du.net
N'hésitez pas à m'écrire pour toute suggestion !

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (neep)