Script pour trier terme alphabetiquement dans un code source

Bonjour,

J'utilise le logitiel open source Vlc 3.0, la derniere version est amélioré mais reste encore limité pour mon utilisation, je me sers de la fonction de signet, cela me permet de minuter et chapitrer une video en plein de partie, quand je cree mon chapitrage a la fin je dispose d'un fichier .xspf et je peux modifier le code source, ce qui rend cet outils redoutable! voici un script initial que j'aimerai modifier:

<vlc:option>bookmarks={name=Canard,time=2841.183},{name=Avion,time=4167.183},{name=Bateau,time=4239.183},{name=Doudou,time=4272.183,{Test trie par ordre alphabetique.mp4 #22,time=3010.683}</vlc:option>

</extension>

J'ai simplifier le nom de mes partie pour l'exemple il y a Canard, Avion, Bateau, Doudou, j'aimerai trouver une solution pour qu'un script vba sous word ou excel me trie par ordre alphabetique ces terme mais sans altérer ce qu'il y a autour, par exemple donner l'instruction "trie moi les termes se situant strictement entre "= et ," mais aussi que le temps afferent au terme soit aussi permuter...ainsi j'aurai un nouveau code généré:

<vlc:option>bookmarks={name=Avion,time=4167.183},{name=Bateau,time=4239.183},{name=Canard,time=2841.183},{name=Doudou,time=4272.183,{Test trie par ordre alphabetique.mp4 #22,time=3010.683}</vlc:option>

</extension>

Je remplace cette nouvelle liste dans le code source et maintenant j'aurai des signets classé alphabetiquement, je pense qu'informatiquement ce doit être possible, a condition de s'y connaitre en programmation...

Qu'en pensez vous? est ce réalisable?

Merci

Bonjour,

es-tu sûr du script que tu as mis, il me semble qu'il manque "}" ?

Bonjour

Oui tu as raison, les termes sont toujours entouré par "}"

Bonjour,

peux-tu dès lors mettre un fichier avec la syntaxe correcte ?

Oui excusez moi, je demande de l'aide et suis imprécis sur la syntaxe, je repose le script propre très vite.

Voici la ligne 10 du fichier .xspf de vlc que j’aimerai modifier :

<vlc:option>bookmarks={name=Canard,time=6.250},{name=Doudou,time=537.433},{name=Avion,time=556.683},{name=Bateau,time=886.933}</vlc:option>

</extension>

Et je voudrais générer automatiquement cette nouvelle ligne qui me permettrais d’avoir des signets par ordre alphabetique en affichage sur vlc :

<vlc:option>bookmarks={name=Avion,time=556.683},{name=Bateau,time=886.933},{name=Canard,time=6.250},{name=Doudou,time=537.433}</vlc:option>

</extension>

Bien sur c’est pour l’exemple car dans mes videos, il y a peut être 150 signets a modifier voila pourquoi je recherche une methode par script.

En gros, donner une instruction, « trie moi par ordre alphabetique les termes entre « = et , » tout en respectant leurs time respectif.

Meme si au debut je n’ai pas « <vlc:option>bookmarks= » et a la fin </vlc:option> </extension>, ce n’est pas grave je peux le rajouter manuellement mais l’important est d’avoir tout le bloc trié en respectant bien la syntaxe « },{= »

Merci

script original

t>

Bonjour,

merci pour ton fichier joint (je ne peux rien en faire,si je veux tester je dois tout retaper dans un fichier). pourquoi cette manie de mettre des images plutôt que le fichier qui fait l'objet de la demande !

voici une solution, qui n'est donc pas testée sur ton fichier

38magicool.xlsm (20.77 Ko)

Génial!

Cela marche a merveille, tout automatiser, un nouveau fichier.xspf généré, on clique et ca marche!

En plus...la cerise sur le gateau que je ne demandais meme pas...cela genere une liste excel mais elle s'efface quand on clique sur ok....snif..., est ce possible de recuperer aussi cette liste en format excel?.

Je voudrais pas abusé car c'est deja super sympa, mais y a t'il une possibilité de convertir le temps en h,mn,s sur la liste excel généré car les temps vlc s'affiche en seconde (3600s affiché au lieu de 1h).

Et si je peux faire un don en juste rétribution n'hesite pas...

Désolé mais j'ai essayé d'inserer le xspf tout a l'heure et cela ne voulais pas le prendre mais j'aurai du te le laisser en format texte, desolé mais quoi qu'il en soit ca marche tres bien comme ca!

Un grand, grand merci!

bonsoir,

une version adaptée

49magicool.xlsm (21.30 Ko)

Juste un tout petit bug, le timing fonctionne bien en dessous de 1h mais après cela ne prends pas en compte les heures, dans ma capture dans la colonne A j'ai mis le temps qui devrait s'afficher dans la colonne de D, je pense que cela est du que vlc prends en comptes les milliemme de secondes (inutile...) par exemple pour le signet 10 qui devrait être 02:06:01 cela donne 06:01:933.

Merci encore, tout ceci me fera gagner énormément de temps sans parler de l'efficacité décupler!

capture1

bonsoir,

nouvelle version

15magicool.xlsm (19.87 Ko)

Formidable, je suis vraiment ravi de ta solution, je ne pensais pas qu'il soit possible d'atteindre une telle efficacité juste avec le VBA, j'ai vraiment envie de m'y plonger car le rapport puissance/facilité d'apprentissage doit être assez énorme, je pense.

Puis je te demander encore un ajout stp, pourrais je avoir en colonne E et colonne F la liste avec les temps mais cette fois simplement dans l'ordre chronologique, tels qui le sont a la base mais juste dans la feuille de calcul, dans le fichier généré ce qui compte pour moi, c'est bien que se soit bien par ordre alphabétique.

Je pense que ton fichier sera vraiment utile a beaucoup de personne, on peut ainsi chapitrer maintenant des vidéo et extraire le texte des signet, juste pour info avant j’étais obligé de faire une capture d’écran de ma liste, ensuite je passais par un site de convertion de reconnaissance de caractere (OCR)car je ne pouvais pas extraire le texte et les temps (copier collé inopérant ni control-f sous vlc)..., une fois que cette conversion était faite, je pouvais enfin le trier alphabétiquement sous excel et ensuite la seule facon que cela s'affiche alphabétiquement sous VLC c’était de créer une nouvelle liste en rentrant les signet un par uns en se calant sur le temps précis du nouvel ordre alphabétique...un boulot de malade que je ne ferais finalement pas car cela prendrais des heures.

Grace a ta solution, c'est réglé en un clic...

Voila je me permets donc de te demander cette dernière modification ainsi on obtiendra la liste et le timing mais cette fois pas alphabétiquement mais dans l'ordre ou ils ont été saisi au départ, ce qui peut peut être tout différemment aussi utile.

Merci encore.

Peut t'on faire un don pour le site?

Afin d'obtenir la liste cette fois non trié mais juste dans l'ordre chronologique, il suffit de la trier en sélectionner le premier temps affiché puis "donnée" puis "trier" puis sélectionner colonne D et "plus petit au plus grand" et faire ok voir capture d’écran.

Merci encore.

image 12

Bonjour,

colonnes E et F ajoutées et triées

16magicool.xlsm (21.48 Ko)

Merci beaucoup pour ton aide.

Bonjour

J'ai testé ta solution concrètement sur le type d'application que je fais , cela marche du feux!!!, jamais eu un bug lors de la génération, complètement ravi, il est par contre dommage que cela dénature les accents dans le fichier xls, pour te mettre en évidence, j'ai testé avec 4 mots (école, Excès, l'école et paraître)et cela m'affiche des caractères bizarres le problème est seulement sur la liste excel concernant le fichier généré .xspf il n'y a aucun problème d'accent(voir la capture)

capture accent

Bien sur, on est dans le perfectionnement, je peux très bien me passer de mettre des accents mais je te soumets quand même le problème.

Deuxième amélioration possible, Vlc génère un chemin absolu plutôt qu'un chemin relatif concernant la relation entre la vidéo et le fichier mp4, concrètement, Vlc ne te donne pas nativement la faculté d'exporter un .xspf sur un autre ordinateur(enregistrer oui mais exporter non) ,vlc ne trouve plus dans ce cas la relation avec la vidéo et son .xspf en effet quand on veut ouvrir une vidéo sur laquelle on a créer un .xspf, il faut justement cliquer sur ce .xspf et c'est lui qui se charge de lancer la vidéo, l'inverse n'est pas possible et il y a donc une relation dans le code source pour qu'il trouve la vidéo a lancer.

J'ai trouvé la solution, dans le code source, la ligne 6 applique un chemin absolue:

<location>file:///F:/video/nouveau%20test.mp4</location>

Pour exporter, il faut que je modifie cette ligne de code par son chemin relatif:

<location>file:///nouveau test.mp4</location>

Je n'ai plus qu'a mettre le fichier .xspf dans le même dossier que la vidéo(dans mon cas elle s'appelle"nouveau test.mp4 "et plus aucun problème pour partager la liste, la lancer sur un autre ordi(dès lors qu'on ne modifie pas le nom de la vidéo sinon re-plantage et modif a nouveau du code source)

Voila si il y a une possibilité d'une génération automatique sur le "new xspf" a la ligne 6 du chemin relatif c'est a dire le nom de la vidéo(plus son extension) entre / et </

Voila, au pire je modifierai tout cela a la mano, au vue des heures déjà gagner...je vais pas me plaindre!!!

N’hésitez pas a faire vos remarques, vos retour si vous trouvez ce script bien utile, cela fera plaisir a son programmeur et un petit peu a moi, il faut le dire!!!

code source en texte:

<?xml version="1.0" encoding="UTF-8"?>

<playlist xmlns="http://xspf.org/ns/0/" xmlns:vlc="

" version="1">

<title>Liste de lecture</title>

<trackList>

<track>

<location>file:///F:/video/nouveau%20test.mp4</location>

<duration>7762133</duration>

<extension application="

">

<vlc:id>0</vlc:id>

<vlc:option>bookmarks={name=Excès,time=6.000},{name=école,time=21.750},{name=l'école,time=38.250},{name=Paraître,time=53.250}</vlc:option>

</extension>

</track>

</trackList>

<extension application="

">

<vlc:item tid="0"/>

</extension>

</playlist>

Bonjour,

au risque d'însister lourdement, serait-il possible d'avoir ce fichier ?

edit : je vois que tu as mis le fichier

merci

Je t'ai inserer le code sur un message, en fait je n'arrive pas a integrer un fichier.txt , j'essaye en archive rar, ouf ca passe.

12fichier.rar (938.00 Octets)
Rechercher des sujets similaires à "script trier terme alphabetiquement code source"