Aller au contenu

Cr


Torak

Messages recommandés

Posté(e)

Bonjour,

Je possède un PDA qui gère le wifi et permet donc d'aller sur Internet. Sauf que malheureusement, la prise en charge du Javascript n'est pas encore à l'honneur dessus et donc, je ne peux rien faire sur mon syno vu que tout l'interface utilise ce procédé.

Je me suis dis que vu que la synology remote ne change pas les playlist, je pourrais donc utiliser mon PDA pour accéder au syno et choisir moi-même la playlist. Le problème est que je ne connais pas assez bien les syno pour aller rechercher des informations à l'intérieur. Je maîtrise la partie web que je compte mettre en place, mais ... Je ne sais comment accéder aux données du syno !!

Je recherche donc quelqu'un qui pourrait m'aiguiller dans mes recherches.

Les fonctions de ma pages seraient simples :

1) Sélection de la playlist (donc il faut pouvoir aller chercher celles qui sont enregistrées)

2) Mise en route de cette playlist (Bouton play ?)

Ensuite la gestion de la chanson, ce n'est pas un problème, je possède (bientôt xD) la synology remote ! J'aimerais seulement pouvoir changer la playlist à distance.

Par avance, je remercie tous ceux qui pourront m'aider dans ma lourde tâche ...

Cordialement,

Torak.

PS : J'ai déjà commencé à décortiquer le code javascript d'Audio Station pour trouver les fonctions internes, mais je pense qu'une connaissance plus approfondie sur le fonctionnement du syno m'aiderait !

PPS : Bien entendu, si j'arrive à mes fins et que ça fonctionne, je me ferais une joie de donner mon code pour que d'autres puissent l'utiliser à leur tour, voir l'améliorer :)

Posté(e)

Bonjour,

Si c'est du traitement de fichier texte, je peux certainement te donnée un coup de main.

Il suffit de savoir ou trouver ces 'playlist' et ou la mettre pour la rendre 'courante'.

Tu as une idée ?

A+ :hi:

Fred.

Posté(e)

Bonjour,

Si c'est du traitement de fichier texte, je peux certainement te donnée un coup de main.

Il suffit de savoir ou trouver ces 'playlist' et ou la mettre pour la rendre 'courante'.

Tu as une idée ?

A+ :hi:

Fred.

Je n'avais pas du tout envisagé la chose de ce point de vue ... :P ... Je vais chercher dans cette direction par rapport à mes playlists ... Celle en cours doit bien être enregistrée quelque part, puisque le NAS tout seul avec la synology remote est sensé activer cette playlist ...

Je pense aussi qu'il est possible que le syno possède sa propre base de données et que la playlist en cours et celles enregistrées se situent à l'intérieur ... Mais maintenant, il faut trouver, et surtout chercher !

J'y cours, j'y vole ! :P

Posté(e)

Bon ... Et bien merci du coup de pouce fredlime ! :D

Il existe bel et bien des fichiers playlists et un fichier de configuration permettant de sélectionner cette playlist.

Les fichiers playlists sont, dans mon DS 108j : /volume1/music/playlists

Leur format est : *.m3u

Quant à la configuration, le fichier se situe dans /usr/syno/etc/audio/audio.conf

Son contenu :

AS_Player_Source="Music"

AS_Player_Repeat="All"

AS_Player_Shuffle="Off"

AS_Default_Music_PLS="/volume1/music/playlists/NIN.m3u"

AS_Player_Volume="30"

AS_Default_IPod_PLS=""

Voilà :) ... Donc maintenant il n'y a plus qu'à utiliser la puissance du php pour recréer ce fichier et changer ainsi la playlist ^^

Merci beaucoup fredlime encore, comme quoi il suffit d'une simple remarque pour faire écrouler un mur ! xD

Je code et je vous tiens au courant !

Posté(e)

Bon ... Alors j'suis vraiment pas sûr que ça marche, je verrais quand j'aurais mes hauts parleurs usb lol ...

Mais sinon, il faut donner accès aux dossiers /usr/syno/etc/audio, /volume1/music/playlists dans le fichier php.ini (ligne : open_basedir).

Ensuite, il faut changer le chmod du fichier /usr/syno/etc/audio/audio.conf -> chmod 666 /usr/syno/etc/audio/audio.conf

J'arrive bien à refaire le fichier sauf que lorsque j'actualise Audio Station, il ne reconnait pas le changement de playlist et il m'impose la première qu'il trouve ... Mais peut-être que le changement se fait tout de même, il faudrait essayer ... Mais je ne peux pas encore :(

De plus, mes retours à la ligne dans Dreamweaver sont traduits par un ^M dans le fichier ... je ne sais pas si cela à une incidence sur la suite.

Enfin, quand je retourne dans Audio Station, en imposant une playlist le système réécrit une ligne AS_Default_Music_PLS sous celle que j'ai mise déjà par le biais du php ! :shok: Alors je ne sais pas comment faire sur ce coup là ...

Des idées ?

EDITION

Ca marche ! :D Ca change bien ... j'ai donc bel et bien un problème avec le retour à la ligne ... J'avais ajouté la lecture aléatoire (oui / non) mais ... il semblerait que je ne puisse pas changer le paramètre si je ne peux pas passer à la ligne sans faire un caractère de trop :s

Posté(e)

j'ai donc bel et bien un problème avec le retour à la ligne ...

Les caractères de fin de ligne sont différents sous Windows et sous Linux, ça vient peut être de là. Ceci se corrige alors facilement avec un éditeur de texte qui gère la conversion d'un format à l'autre (PSPad par exemple).

Pascal

Posté(e)

Les caractères de fin de ligne sont différents sous Windows et sous Linux, ça vient peut être de là. Ceci se corrige alors facilement avec un éditeur de texte qui gère la conversion d'un format à l'autre (PSPad par exemple).

Pascal

Bonjour,

C'est ce que j'ai cru voir rapidement hier soir avant de couper ... Sous windows : \r\n / Sous Linux : \n

Dreamweaver me crée un \r simplement ce qui se traduit par ^M dans mon fichier finalement ... Programme de la matinée : chercher à faire ce fichu \n ...

En écrivant tout sur une ligne et en ajoutant \n là où j'en ai envie, quand j'édite avec vi j'obtiens ... TEXTE\nTEXTE ...

Alors bien sûr il y a sûrement moyen de régler ça en éditant le fichier ... Mais je ne suis pas sensé repasser derrière mon script, j'en perds toute l'utilité !

Posté(e)

Bonjour,

En fait, si tu passes par PHP, tu risques de toujours avoir ce problème.

Et si c'est sensible aux caractères de fin ligne, t'es marron :shok:

Il faudrait que se soit un script shell qui fasse la manipulation, lancé par ta page PHP.

Comme mon script 'moniteur'.

A+ :hi:

Fred.

Posté(e)

Bonjour,

En fait, si tu passes par PHP, tu risques de toujours avoir ce problème.

Et si c'est sensible aux caractères de fin ligne, t'es marron :shok:

Il faudrait que se soit un script shell qui fasse la manipulation, lancé par ta page PHP.

Comme mon script 'moniteur'.

A+ :hi:

Fred.

Dans ce cas il va falloir que tu éclaires ma lanterne car les scripts shell je connais mais absolument pas :shok: Un petit cours s'impose !

Sinon niveau avenir, il faudra que je vois quand j'aurais les hauts parleurs (parce que je suis bloqué il veut rien lancer tant que j'ai pas ces fichus HP >.<), mais je pense que je pourrais ajouter plus d'options ...

EDIT : Je vais étudier ton moniteur-web que j'ai déjà installé sur mon NAS ^^

Posté(e)

Alors bien sûr il y a sûrement moyen de régler ça en éditant le fichier ... Mais je ne suis pas sensé repasser derrière mon script, j'en perds toute l'utilité !

Tu dois pouvoir directement gérer cette conversion dans le script, qui tourne, si j'ai bien compris, sur le syno.

Il existe en standard dans les distributions Linux un utilitaire qui s'appelle sed et qui permet de faire ce genre de manipulation sur les fichiers, plus d'infos ici :

http://www.commentcamarche.net/faq/sujet-5...os-crlf-unix-lf

Il faut vérifier que sed est bien installé dans la distribution du syno (je n'ai pas le mien sour la main pour le faire). Sinon, on peut être rajouter cette utilitaire (ou un autre, comme perl, qui peut faire la même conversion) par ipkg (si ipkg fonctionne sur le 108j, chose que je ne sais pas).

Enfin, autre solution, on doit pouvoir (je n'ai jamais essayé) automatiser dans le script un appel à vi (avec l'option -c), la conversion se faisant par (je n'ai pas non plus testé cette commande) :

In vi, you can remove the carriage return ( ^M ) characters with the following command:

:1,$s/^M//g

Note: To input the ^M character, press Ctrl-v , then press Enter or return.

Bon courage :)

Pascal

Posté(e)

Tu dois pouvoir directement gérer cette conversion dans le script, qui tourne, si j'ai bien compris, sur le syno.

Il existe en standard dans les distributions Linux un utilitaire qui s'appelle sed et qui permet de faire ce genre de manipulation sur les fichiers, plus d'infos ici :

http://www.commentcamarche.net/faq/sujet-5...os-crlf-unix-lf

Il faut vérifier que sed est bien installé dans la distribution du syno (je n'ai pas le mien sour la main pour le faire). Sinon, on peut être rajouter cette utilitaire (ou un autre, comme perl, qui peut faire la même conversion) par ipkg (si ipkg fonctionne sur le 108j, chose que je ne sais pas).

Enfin, autre solution, on doit pouvoir (je n'ai jamais essayé) automatiser dans le script un appel à vi (avec l'option -c), la conversion se faisant par (je n'ai pas non plus testé cette commande) :

In vi, you can remove the carriage return ( ^M ) characters with the following command:

:1,$s/^M//g

Note: To input the ^M character, press Ctrl-v , then press Enter or return.

Bon courage :)

Pascal

Oula ça va un peu trop vite pour moi là ! Autant niveau php (html, ajax et j'en passe ... ) je gère pas trop mal, que niveau linux et commandes, je suis newbie à 100% ...

Euuh ... je vais essayer mais j'avoue tester un peu à l'aveuglette là xD

Ipkg fonctionne sous le 108j, je l'ai installé pour installer le moniteur de notre cher fredlime !

EDITION : Alors ne sachant pas trop comment utiliser vi avec la fonction system en php (sachant que l'option -c il connait pas selon Putty ... ), j'ai testé avec sed qui est présent dans la distribution du syno. Mais problème : mon fichier ne s'enregistre pas, sed se contente de me renvoyer le texte ...

Posté(e)

Il y a tout se qu'il faut en standard sur le SYNO !

sed, awk,grep, egrep, etc....

Il suffit de mettre tout çà ensemble, dans le bon ordre :lol:

Sinon il suffit de décrire exactement se que tu veux...

A+

Fred.

Posté(e)

Il y a tout se qu'il faut en standard sur le SYNO !

sed, awk,grep, egrep, etc....

Il suffit de mettre tout çà ensemble, dans le bon ordre :lol:

Sinon il suffit de décrire exactement se que tu veux...

A+

Fred.

Bien ... Alors je vais décrire ce que je veux :)

Avant tout, voici le code que j'utilise ...

$playlist = $_POST['playlist'];

$shuffle = $_POST['shuffle'];

$audio = 'AS_Player_Source="Music"

AS_Player_Repeat="All"

AS_Player_Shuffle="'.$shuffle.'"

AS_Player_Volume="30"

AS_Default_IPod_PLS=""

AS_Default_Music_PLS="/'.$volume.'/music/playlists/'.$playlist.'.m3u"';

$file = fopen("../../".$fichier_audio,"w");

fputs($file,$audio);

fclose($file);

system("sed 's/^M$//' /usr/syno/etc/audio/audio.conf");

echo "La playlist a été changée : ".$playlist."<br /><br />

<a href='playlist.php'>Retour à la page de choix</a>";

La variable $audio est donc le contenu du fichier audio.conf.

Je veux donc (re)créer un fichier audio.conf dans le dossier approprié (dont le lien se trouve dans la variable $fichier_audio) contenant le texte présent dans la variable $audio.

La variable $shuffle représente la lecture aléatoire (On/Off) ...

Peut-être as-tu une meilleure solution que la fonction php fputs !

Posté(e)

OK je vois, il faut que je me mette en situation pour faire des tests, je fait çà cette après midi.

Mais pour info, 'sed' ne fonctionnera pas comme cela. Dans ton cas, il ne fait qu'afficher ton flot de données.

Il faut diriger ce flot vers un fichier temporaire, puis le renommer.

A+ :hi:

Fred.

Posté(e)

OK je vois, il faut que je me mette en situation pour faire des tests, je fait çà cette après midi.

Mais pour info, 'sed' ne fonctionnera pas comme cela. Dans ton cas, il ne fait qu'afficher ton flot de données.

Il faut diriger ce flot vers un fichier temporaire, puis le renommer.

A+ :hi:

Fred.

D'accord, c'est bien ce que je pensais pour le flot de données ... Il fallait bien le renvoyer ...

Je te donne ma page php complète qui gère le changement de playlist. J'ai mis des variables au début à changer dans le but de l'exporter pour d'autres personnes. Ainsi on peut adapter le script rapidement sans avoir à chercher comment il fonctionne pour les liens ! :)

http://lexinfo.fr/playlist.rar

Posté(e)

D'accord, c'est bien ce que je pensais pour le flot de données ... Il fallait bien le renvoyer ...

Oui, désolé d'avoir oublié de le préciser. C'est quelque chose de très courant dans les commandes unix/linux, et très pratique car ça permet de rediriger facilement la sortie d'un utilitaire vers l'entrée d'un autre utilitaire (c'est ce qu'on appelle un pipe, noté "|" dans les lignes de commande).

Pascal

Posté(e)

Bonjour,

Voila, je me suis mis en situation sur mon CS-406. pas d'enceinte mais sa doit etre bon.

Activé audio Station et bidouillé une fois de plus ton script PHP.

Comme je suis une grosse nouille en PHP, j'ai traité le problème en script shell dans le PHP.

http://fredo.servehttp.com/playlist.rar

Il suffit de faire rafraichir dans AudioStation pour visualiser le changement de cette page PHP.

A+ :hi:

Fred.

Posté(e)

Bonjour,

Voila, je me suis mis en situation sur mon CS-406. pas d'enceinte mais sa doit etre bon.

Activé audio Station et bidouillé une fois de plus ton script PHP.

Comme je suis une grosse nouille en PHP, j'ai traité le problème en script shell dans le PHP.

http://fredo.servehttp.com/playlist.rar

Il suffit de faire rafraichir dans AudioStation pour visualiser le changement de cette page PHP.

A+ :hi:

Fred.

Salut ! :D

Donc en fait il s'agit bien de faire la manip par un script shell ... La manière d'écrire dans le fichier de configuration est totalement différente que par la fonction php donc.

Je vais tester mais donc si je veux ajouter de nouveaux paramètres, j'imagine que je dois copier ton code ... Exemple avec la répétion de tout ...

$repeat = $_POST['repeat'];

$audio3 ='AS_Player_Repeat="'.$repeat;

//

system("chmod 777 ".$fichier_audio);

system("egrep -vi '^$|AS_Player_Shuffle|AS_Default_Music_PLS|AS_Player_Repeat' ".$fichier_audio." > ".$fichier_audio.".tmp");

system("echo -e '".$audio1."\n".$audio2."\n".$audio$3."' >> ".$fichier_audio.".tmp");

C'est bien ça donc ? :P

Posté(e)

Tu as tout compris, j'ai fais rapide, mais sa fonctionne bien ;)

A+ :hi:

Fred.

Tu as fait le juste nécessaire :) ... merci beaucoup pour le temps que tu y as passé !

Il faudra que je teste quand j'aurais reçu mes enceintes, mais j'ai l'impression qu'il ne tient pas compte des changements pour la répétition et la lecture aléatoire, l'affichage ne change pas ... Mais bon, ce n'est qu'un détail qui ne changera pas a priori donc ... Le plus important fonctionne :)

Bonne soirée et bonne continuation ... Peut-être à une prochaine fois ! (jamais 2 sans 3 xD)

Cordialement,

Torak.

Posté(e)

Tu vas mettre quoi comme enceinte ?

Il n'y a pas moyen de trouver simplement une interface, pour le branchement sur un ampli ?

A+ :hi:

Fred.

Posté(e)

Tu vas mettre quoi comme enceinte ?

Il n'y a pas moyen de trouver simplement une interface, pour le branchement sur un ampli ?

A+ :hi:

Fred.

Etant donné que c'est plus pour le fun que pour une véritable utilisation, j'ai commandé des enceintes toutes basiques ...

http://www.topachat.com/pages/detail2_cat_...est_inp893.html

J'ai pris également une carte son externe ... Celle dont quelqu'un a dit que le son était pas terrible dans un post xD ... Je l'ai vu que ce matin ... Alors tant pis ! De toute façon je n'ai pas d'ampli, je n'ai pas de chaîne hifi où le brancher ... Et je ne suis pas difficile ... C'est plus pour le plaisir d'user d'une fonction du Syno qu'autre chose. Si j'ai vraiment envie de faire quelque chose de bien, je me paierais quelque chose de bien mieux ! :P

Posté(e)

Pour ceux qui seraient intéressés par l'interface, j'ai mis à jour le fichier : http://www.lexinfo.fr/playlist.rar

Prise en charge : Lecture aléatoire (On / Off), Playlist, Repeat (Tout, un titre ou rien)

Désormais les valeurs affichées par le script sont celles qui sont enregistrées quand on l'ouvre ...

Il faut mettre ce fichier à la racine du répertoire web du Syno. Quelques variables peuvent être modifiés au début du script en fonction de la configuration du syno.

Il n'y a aucun style de couleurs, à vous de travailler rapido le css si vous voulez quelque chose de joli et à votre goût !

Cordialement,

Torak

A venir : Authentification d'accès ...

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.