Développement

Modules

* @todo Str9am modules concept

MediaDatabase

Le module MediaDatabase permet d'ajouter à Str9am du contenu multimédia stocké sur son PC ou disque externe tel que des films, musiques, photos, etc.

Le contenu exposé via ce module correspond aux répertoires configuré dans l'application MediaCenter SFR.

Configuration

Avant de commencer à configurer ce module, il est conseillé de lire les instructions concernant la configuration de Str9am via le fichier setting.xml.

Paramètres

id3tag - défaut: 1 (ID3v1)
Détermine la méthode à utiliser pour récupérer les tags ID3 des fichiers MP3. Les valeurs possibles sont:
  • 0 (NOTAG) : aucune informations n'est lues à partir des tags ID3,
  • 1 (ID3v1) : uniquement les tags ID3 version 1 sont lus,
  • 2 (ID3v2) : uniquement les tags ID3 version 2 sont lus,
  • 3 (ID3v1_ID3v2) : les tags ID3 version 1 sont lus en premiers, puis les tags ID3 version 2 sont lus pour les informations manquantes,
  • 4 (ID3v2_ID3v1) : les tags ID3 version 2 sont lus en premiers, puis les tags ID3 version 1 sont lus pour les informations manquantes,

Important : les méthodes faisant intervenir les tags version 2 (c'est-à-dire les méthodes 2, 3 et 4) sont beaucoup plus lentes d'éxecution.

MediaHistory

Configuration

Avant de commencer à configurer le module MediaHistory, il est conseillé de lire les instructions concernant la configuration de Str9am via le fichier setting.xml.

Paramètres

size - défaut: 512
Représente le nombre d'éléments maximum à stocker dans l'historique de lecture. Une valeur de 0 (ou négative) désactive l'historique.

Exemples

La section XML suivante permet de limiter la taille de l'historique à 128 éléments.

<!-- ... -->
<settings>
   <!-- ... -->
  <modules>
    <!-- ... -->
    <mediahistory>
        <size value="128"/>
    </mediahistory>
    <!-- ... -->
  </modules>
  <!-- ... -->
</settings>
<!-- ... -->

MediaManager

Configuration

Avant de commencer à configurer le module MediaManager, il est conseillé de lire les instructions concernant la configuration de Str9am via le fichier setting.xml.

Paramètres

cachethumbs - défaut: 0 (false)
Permet de mettre en cache (en local) les vignettes des vidéos. Ceci peux permettre de régler certains problèmes d'accès aux vignettes lorsque le navigateur n'a pas un accès direct à Internet.
country - défaut: fr (français)
Choix de la langue par défaut à afficher dans la galerie de médias. La valeur de ce paramètre doit correspondre à un code de langue ISO 639-1 valide (cf. http://www.loc.gov/standards/iso639-2/php/code_list.php)
sorting - défaut: 0 (plus récent)
Ordre d'affichage des médias dans la galeries. Les valeurs possible pour ce paramètre sont :
  • 0 : les plus récentes,
  • 1 : les plus regardées,
  • 2 : les mieux notées.

Exemple

La section XML suivante permet d'afficher les résultats de médias les plus récents et en espagnol :

<!-- ... -->
<settings>
   <!-- ... -->
  <modules>
    <!-- ... -->
    <mediamanager>
        <country value="es"/>
        <sorting value="0"/>
    </mediamanager>
    <!-- ... -->
  </modules>
  <!-- ... -->
</settings>
<!-- ... -->



Notes aux développeurs

Cette section est temporairement présente dans le guide de l'utilisateur et sera transférée dans le guide du développeur lors de sa création.

La librairie de médias est fournie par le module MediaManager. Ce module est inclus dans les distribution de Str9am en tant que module core.

Ce module propose les extensions suivantes :

IMediaItemProvider
permet à d'autres modules de proposer des médias et catégories à ajouter à la librairie (e.g. les modules YouTube, FreeeTv ou Samba).
IMediaViews
permet d'ajouter de nouvelle vue dans la librairie (par exemple, films, tv, vidéos, bandes annonces, etc.).
IMediaTool
fournit aux autres modules la possibilité d'ajouter des actions associés à chaque média. Par exemple, le module MediaPlayer utilise cette extension pour la lecture des medias.
IMediaItemFilters
ouvre la possibilité de filtrer le contenu des médias après leur récupération. Cette extension peut être utilisée pour modifier les propriétés de chaque média, comme par exemple le module Thumbnail qui, pour un média sans vignette, essaie d'en récupérer une correspondante sur Internet (e.g. la pochette d'un DVD pour un film).

MediaPlayer

Configuration

Avant de commencer à configurer le module MediaPlayer, il est conseillé de lire les instructions concernant la configuration de Str9am via le fichier setting.xml.

Paramètres

autochaptering/chapters - défaut: 4
Nombre de chapitre automatique à construire.
autochaptering/subchapters - défaut: 4
Nombre de sous-chapitre automatique à construire par chapitre.
seeking/shortstep - défaut: 10000 (millisecondes)
Avance/retour rapide court (appui court).
seeking/fullstep - défaut: 30000 (millisecondes)
Avance/retour rapide complet (appui long).
drivers/{module}/{driver}/enabled - défaut: 1 (true)
Active/désactive le {driver} fourni par un {module} donné.
drivers/{module}/{driver}/priority - défaut: (no overload)
[non implémenté] Permet de surcharger la priorité du {driver} fourni par un {module} donné.

Exemples

La section XML suivante permet de désactiver le driver Netgem proposé par le module Netgem. Dans ce cas, la lecture des médias ne se fera plus par le décodeur, mais par d'autre drivers compatibles, comme par exemple en streaming via VLC.

<!-- ... -->
<settings>
   <!-- ... -->
  <modules>
    <!-- ... -->
    <mediaplayer>
      <drivers>
        <netgem>
          <netgem>
            <enabled value="1"/>
          </netgem>
        </netgem>
      </drivers>
    </mediaplayer>
    <!-- ... -->
  </modules>
  <!-- ... -->
</settings>
<!-- ... -->



Notes aux développeurs

Cette section est temporairement présente dans le guide de l'utilisateur et sera transférée dans le guide du développeur lors de sa création.

Le module MediaPlayer propose les extensions suivantes :

IMediaDrivers
Cette extension permet l'ajout de 'drivers' de lecture. Un driver de lecture permet de décoder un ou plusieurs formats spécifiques de média.
IMediaPlayerFilters
Cette extension propose une interface pour l'ajout de 'filtres' de lecture (JavaScript) qui permettent d'interagir avec le média durant sa lecture (comme par exemple le module MediaSubtitles qui affiche le texte des sous-titres synchronisé au temps écoulé de lecture)