Parrot Tunes: Αλλαγές στην αρχιτεκτονική του κώδικα

Πολύ σημαντικές αλλαγές γίνανε στο τελευταίο update, 0.13.0, στην αρχιτεκτονική του κώδικα.

Συγκεκριμένα έχει σπάσει ο κώδικας της javascript σε μικρότερα κομμάτια, για μεγαλύτερη ευελιξία κι ευκολία στις αλλαγές. Ταυτόχρονα όλες οι κλήσεις ajax γίνονται πλέον παντού με την $.ajax (jquery) και όχι με την $.get που γίνονταν σε κάποια παλιότερα κομμάτια του κώδικα.

Μέχρι τώρα αυτές οι κλήσεις ajax καλούσαν πολλά μικρά αρχεία php. Αυτό άλλαξε πλέον και στην θέση τους γίνεται routing και καλούνται οι αντίστοιχες μέθοδοι μιας κλάσης που περιέχει το σύνολο του κώδικα για τις ajax κλήσεις.

Για να γίνει το routing χρησιμοποιεί ένα αρχείο .htaccess. Υπάρχει περίπτωση να μην λειτουργεί στον server του χρήστη το htaccess. Αν συμβεί αυτό, η εφαρμογή θα του εμφανίσει μήνυμα λάθους με οδηγίες πως να ρυθμίσει τον server ώστε να λειτουργήσει.

Όλες οι αλλαγές που έχουν γίνει στην εφαρμογή.

Posted in Development News | Leave a comment

Parrot Tunes: Μικροαλλαγές με βάση το feedback και διορθώσεις σφαλμάτων

Μετά το ανέβασμα της beta έκδοσης ήρθε και κάποιο feedback. Με βάση αυτό έχουν γίνει μερικές αλλαγές στον κώδικα και στην δομή του, όπως και διόρθωση σφαλμάτων. Οι αλλαγές αυτές μόλις ανέβηκαν στο update με αριθμό έκδοσης 0.12.0.

Προσοχή πρέπει να δοθεί στο ότι το αρχείο config.inc.php από τον φάκελο /src έχει μεταφερθεί στον φάκελο /src/config. Επειδή τα αρχεία της εφαρμογής περιέχουν το αρχείο config.inc.php.sample και όχι το κανονικό config.inc.php, πρέπει ο χρήστης να πάει να το μεταφέρει μόνος του στον συγκεκριμένο φάκελο.

Επίσης πλέον δεν χρειάζεται η γραμμή

define ('PROJECT_PATH','/OpenWebMediaPlayer/');

και μπορεί να την αφαιρέσει.

Αναλυτικά οι αλλαγές που γίνανε στο update.

Posted in Development News | Leave a comment

Parrot Tunes: Καλύτεροι έλεγχοι για την εγκατάσταση, animated parrot, καλύτερο σύστημα notifications

Στο νέο update (0.10.0) που ανέβηκε, δίνεται μεγάλη έμφαση στους ελέγχους για τον συγχρονισμό των αρχείων και στο αν είναι έγκυρα τα directories που δίνει ο χρήστης και χρησιμοποιεί η εφαρμογή. Επίσης γίνεται καλύτερος έλεγχος απαιτούμενων εγκατεστημένων utilities, όπου χρειάζεται. Στόχος να γίνει ακόμη πιο απλή και να αφαιρεθούν όλα τα προβλήματα που μπορεί να έχει κάποιος στην εγκατάσταση της εφαρμογής.

Μεγάλη βελτίωση έχει γίνει στο σύστημα που εμφανίζει τα αποτελέσματα του συγχρονισμού ή οποιασδήποτε άλλης εργασίας που κάνει ο χρήστης στην οθόνη της συλλογής. Πλέον όλα εμφανίζονται σε ξεχωριστό παράθυρο, το οποίο μπορεί να ανοίξει ο χρήστης σε όποιο σημείο της εφαρμογής και να βρίσκεται. Δηλαδή ο χρήστης μπορεί να εκτελεί διάφορες εργασίες στην συλλογή και ταυτόχρονα να πάει σε άλλες οθόνες, χωρίς κανένα πρόβλημα και χωρίς να χάσει τα αποτελέσματα της εργασίας.

Ταυτόχρονα έχει αφαιρεθεί το κλασικό loading gif (που εμφανίζεται σε οποιαδήποτε εργασία έχει κάποια αναμονή), αλλά και η κλασική μπάρα προόδου, που εμφανίζονταν στο header. Και τα 2 έχουν αντικατασταθεί από μία νέα έμπνευση που πιστεύω είναι πολύ πιο ευχάριστη και βοηθητική. Για εργασίες απλής αναμονής εμφανίζει ένα παπαγαλάκι πάνω στο header που περπατάει. Όταν πρόκειται για εργασίες που εμφανίζουν και ποσοστό προόδου, εμφανίζεται και μια μπάρα πάνω από το παπαγαλάκι που περπατάει, μαζί με την εμφάνιση του ποσοστού.

Το παπαγαλάκι είναι μια δημιουργία της vktoons, που έφτιαξε τα frames κι εγώ στην συνέχεια τον κατάλληλο κώδικα σε HTML5.

Με το επόμενο update (0.11.0) η εφαρμογή θα μπει σε κατάσταση beta. Αυτό θα αφορά την προσθήκη δυνατότητας upload των αρχείων μέσα από το web interface.

Βίντεο με demo του animated parrot

Αναλυτικά οι αλλαγές στο 0.10.0

Posted in Development News | 1 Comment

Arduino project:Έλεγχος πολύμπριζου (άνοιγμα/κλείσιμο) μέσω web

Στο project αυτό χρησιμοποιούμε arduino για να ανοιγοκλείνουμε ένα πολύμπριζο μέσω web. Φυσικά αντί για πολύμπριζο μπορούμε να ελέγξουμε με τον ίδιο τρόπο οποιαδήποτε άλλη ηλεκτρική συσκευή.

Τι χρειαζόμαστε από υλικό:

  • 1 arduino D1 R2 V2.1.0 WiFi uno based ESP8266
  • 1 relay
  • 1 πολύμπριζο
  • Καλωδιάκια για την σύνδεση του arduino με το relay
  • Τροφοδοσία για το arduino. USB, 9v μπαταρία ή μετασχηματιστή 9v
  • Μονωτική ταινία

Προφανώς μπορεί κάποιος να χρησιμοποιήσει και διαφορετικά μοντέλα από τα παραπάνω, αλλά εμείς χρησιμοποιήσαμε τα συγκεκριμένα και άρα η συνδεσμολογία και ο κώδικας παίζουν σίγουρα σε αυτά. Αλλιώς πρέπει πιθανά να γίνουν αλλαγές.

Υποθέτουμε ότι ο αναγνώστης ξέρει ήδη κάποια βασικά για το arduino. Αλλά για όποιον αντιμετωπίσει πρόβλημα εγκατάστασης του συγκεκριμένου μοντέλου, μπορεί να δει οδηγίες εδώ.

Ξεκινούμε καθαρίζοντας σε όποιο σημείο θέλουμε το καλώδιο του πολύμπριζου (προτείνουμε κοντά στην μπρίζα, ώστε να παίρνει την τροφοδοσία του και το arduino)

Κόβουμε το καφέ καλώδιο (για τα ευρωπαϊκά πολύμπριζα) και το συνδέουμε στο relay.

Το τυλίγουμε με μονωτική ταινία

Το συνδέουμε στο arduino. Το καλώδιο για τα data πάει στο pin 4 (δεν παίζει σε άλλο)

Συνδέουμε το arduino στο pc και ανεβάζουμε τον κατάλληλο κώδικα. Κάνουμε import πρώτα την library dsphinXLibrary και μετά το βασικό ino αρχείο dsphinXRelay.ino. Στο οποίο σετάρουμε πρώτα και τις κατάλληλες προσωπικές ρυθμίσεις δικτύου.

Βάζουμε το πολύμπριζο στην μπρίζα και όποια συσκευή θέλουμε πάνω του. Στην κονσόλα του arduino θα εμφανιστεί η IP του arduino και μπαίνουμε με τον browser σε αυτήν. Εκεί υπάρχει το κατάλληλο web interface στο οποίο πατάς on/off.

Φυσικά μπορεί να ελεγχθεί και μέσω τρίτης εφαρμογής που μπορεί να φτιάξει ο καθένας, απλά δίνοντας εντολές τύπου xxx.xxx.xxx.xxx/ON ή xxx.xxx.xxx.xxx/OFF ή xxx.xxx.xxx.xxx/getState.

Υλοποίηση του συστήματος σε ολοκληρωμένη σχετική web εφαρμογή

Εδώ ένα βίντεο επίδειξης

Κωνσταντίνος Μ. Μελισίδης
Γιάννης Κυράνης

Posted in Hacks | Tagged , | 1 Comment

Parrot Tunes: Καλύτερες αναζητήσεις, δυνατότητα αποθήκευσής τους, απλοποίηση εγκατάστασης

Ένα από τα μεγαλύτερα update έχει μόλις ανέβει στο Parrot Tunes.

Καταρχήν έχουν γίνει πολλές αλλαγές εσωτερικά στον κώδικα, που δεν είναι πλήρως ορατές στον χρήστη. Συγκεκριμένα, έχει αλλάξει η αρχιτεκτονική του CSS, αλλά και ο τρόπος που δουλεύει ο player.

Δηλαδή τα αρχεία που σερβίρει η εφαρμογή (video/audio κτλ), για να παίξουν δεν χρειάζεται πλέον να δηλώνονται τα paths στις ρυθμίσεις του apache, σαν alias. Μπορεί ο χρήστης να επιλέξει οποιοδήποτε path μέσα στο linux filesystem σαν πηγή των αρχείων του, χωρίς κανένα πρόβλημα στο να είναι ορατά στον web player.

Απλοποιείται έτσι πάρα πολύ η διαδικασία εγκατάστασης της εφαρμογής.

Προστέθηκε επίσης ένα από τα μεγαλύτερα χαρακτηριστικά της εφαρμογής που λείπανε. Η καλύτερη αναζήτηση και η δυνατότητα να σώζει/φορτώνει ο χρήστης τις αναζητήσεις του. Κάτι σαν smart playlists.

Ο χρήστης μπορεί πλέον να προσθέσει όσα πεδία αναζήτησης θέλει. Μπορεί αν θέλει να ομαδοποιεί τα πεδία που θέλει, ώστε να κάνει πιο σύνθετες αναζητήσεις.

Αφού επιλέξει την αναζήτηση που θέλει μπορεί να την αποθηκεύσει και να την φορτώσει όποτε θέλει για να κάνει την ίδια αναζήτηση.

Με αυτό έχει ολοκληρωθεί η εφαρμογή από τα βασικά χαρακτηριστικά που ήταν σχεδιασμένο να έχει. Από εδώ και πέρα θα γίνονται κυρίως διορθώσεις και βελτιώσεις.

Από τα άμεσα πράγματα που θα βελτιωθούν είναι η διαδικασία εγκατάστασης και σειρά ελέγχων που θα πρέπει να γίνονται ώστε να παίζει η εφαρμογή οπουδήποτε χωρίς πρόβλημα.

 

Posted in Uncategorized | 1 Comment

Πλήρης μετάφραση του Parrot Tunes στα Αγγλικά

Με την βοήθεια του αναβαθμισμένου Google Translate έγινε πλέον και η πλήρης μετάφραση όλης της εφαρμογής, στα Αγγλικά. Δηλαδή τα κείμενα βοήθειας που δεν είχαν μεταφραστεί μέχρι τώρα.

Ταυτόχρονα έχουν μεταφραστεί και τα κείμενα στο site, με την περιγραφή της εφαρμογής και τις οδηγίες εγκατάστασης.

Για λάθη που θα βρεθούν μπορείτε να στείλετε mail για διόρθωση τους.

Posted in Development News | Leave a comment

Video demo του Parrot Tunes

Posted in Uncategorized | Leave a comment

Parrot Tunes: Φιλικότερο για τα κινητά και βελτιώσεις στο κατέβασμα από το youtube

Σώζονται τώρα και μικρότερες εκδόσεις των album covers, ώστε να χρησιμοποιούνται αυτές στα κινητά, αλλά και γενικά όπου χρειάζονται μικρότερες εκδόσεις. Έτσι η εφαρμογή γίνεται ελαφρύτερη.

Στα κινητά όταν ο χρήστης κλείνει τον browser για να συνεχίσει η μουσική να παίζει στο background, στην οθόνη των notifications εμφανίζεται το album cover που παίζει κάθε στιγμή.

Επίσης αν ο χρήστης προσθέσει την σελίδα της εφαρμογής στην αρχική οθόνη (προτείνεται για να παίζει σε full screen), παίρνει για εικονίδιο της εφαρμογής το album cover που έπαιζε εκείνη την στιγμή. Φυσικά αυτό το εικονίδιο θα παραμείνει και δεν αλλάζει.

Το Parrot Tunes μπορούσε να κατεβάσει μέχρι τώρα videos από το youtube (αν ο χρήστης έχει εγκαταστήσει στον server το youtube-dl). Πλέον υπάρχει επιλογή αν ο χρήστης θέλει να τα κατεβάσει σαν video ή σαν audio.

Ταυτόχρονα, μπορεί πλέον να δώσει link μιας youtube playlist και θα κατεβάσει όλα τα video που έχει αυτή.

Posted in Development News | Leave a comment

Parrot Tunes: Προστέθηκε η λειτουργία Jukebox. Ψηφίζουν οι χρήστες πιο τραγούδι θα παίξει μετά

Μια από τις πιο σημαντικές λειτουργίες, που σχεδιάζονταν να υποστηριχτούν, προστέθηκε σήμερα. To Jukebox.

Μπορεί να μπει ο οποιοσδήποτε (π.χ. σε ένα καφέ/μπαρ οι πελάτες με το κινητό τους) σε ειδική σελίδα που θα του εμφανίζει μια συγκεκριμένη playlist (την επιλέγει ο διαχειριστής). Εκεί ψηφίζει πιο τραγούδι θέλει να παίξει αμέσως μετά.

Ο κάθε χρήστης μπορεί να ψηφίσει μόνο μια φορά. Μπορεί να ξανά ψηφίσει στο επόμενο τραγούδι. Η ψηφοφορία γίνεται reset κάθε φορά που ξεκινάει ένα τραγούδι.

Το τραγούδι που θα παίξει είναι αυτό που θα συγκεντρώσει τις περισσότερες ψήφους. Αν ισοψηφούν κάποια, τότε θα επιλεγεί τυχαία ένα από αυτά.

Κάθε τραγούδι που θα παίζει θα αφαιρείται από την λίστα των χρηστών, ώστε να μην μπορούν να επιλέγουν συνεχώς τα ίδια.

Η λειτουργία jukebox είναι ακόμη σε βασικό επίπεδο. Πρέπει να φτιαχτεί το interface να είναι όσο γίνεται πιο φιλικό στα κινητά. Επίσης ο χρήστης θα μπορεί να δει πιο τραγούδι παίζει εκείνη την στιγμή, την λίστα με αυτά που ψηφίζονται (και το ποσοστό ψήφων) εκείνη την στιγμή, αναζήτηση στην playlist και άλλα.

Η σελίδα των ψηφοφοριών θα βρίσκεται, αναλόγως που έχετε εγκαταστήσει την εφαρμογή, στο http://your-server-ip/app-dir/vote.php

 

Posted in Development News | Leave a comment

Parrot Tunes: Κρατάει ιστορικό των τραγουδιών που παίξανε και παίζει το προηγούμενο όταν πατήσεις "P"

Κάθε τραγούδι που παίζει προστίθεται σε μια προσωρινή λίστα ιστορικού. Δημιουργεί νέα δηλαδή κάθε φορά που κάνει κάποιος refresh την σελίδα στον browser.

Η λίστα αυτή μπορεί να εμφανιστεί πατώντας «Ιστορικό» στο παράθυρο της αναζήτησης. Προσωρινά είναι εκεί, καθώς πρέπει να βρεθεί ένα καλύτερο σημείο που μπορεί να μπει στο interface. Το ίδιο και η «αναζήτηση διπλοεγγραφών«.

Από την στιγμή που κρατιέται ιστορικό, μπορεί τώρα ο χρήστης να ζητήσει να παίξει το προηγούμενο τραγούδι. Πατώντας «P» (previous) παίζει το προηγούμενο τραγούδι που υπάρχει στο ιστορικό.

Την ώρα που παίζει τραγούδια από την λίστα του ιστορικού, αν πατηθεί «N» συνεχίζει από την αρχική λίστα. Δεν θα παίξει δηλαδή το επόμενο από την λίστα ιστορικού. Αυτή η συμπεριφορά είναι υπό σκέψη όμως.

Στο ιστορικό δεν προσθέτει πάνω από μία φορά κάθε τραγούδι. Κρατιέται μόνο η πρώτη φορά που έπαιξε. Κι αυτή η συμπεριφορά ίσως αλλάξει, αφού φανεί πως λειτουργεί σε πραγματικές συνθήκες η εφαρμογή.

 

Posted in Development News | Leave a comment