Documentation de ascii-films¶
Classe Film¶
-
class
film.film.
Film
(titre='', dict_sous_titres={})[source]¶ Cette classe fournit des outils pour afficher des petits films à partir de frames en ascii.
Les frames peuvent être dans un seul fichier, avec un séparateur ou dans plusieurs fichiers qui seront lus d’un répertoire à préciser, et dans l’ordre alphanumérique croissant.
Pour démarrer, essayez ceci, ci dessous ?
from film.film import Film Film.demo()
Voir aussi
-
affiche_ctrl_c
¶ Retourne ou décide si il faut afficher une mention CTRL + C (booléen) Défaut = False
-
affiche_no_frame
¶ Retourne ou décide si il faut afficher le n° de la frame en cours (booléen) Défaut = False
Note
Pratique en conjonction avec un long délai dans la méthode projection, pour régler finement la projection d’un ou de film(s), de sous-titres, …
Exemple:
obj.affiche_no_frame = True obj.projection(delai = 0.5)
-
affiche_titre
¶ Retourne ou décide si il faut afficher le titre (booléen) Défaut = True
-
ctrl_c_xy
¶ Retourne ou fixe les coordonnées de l’affichage du CTRL + C, si affiche_ctrl_c = True. Défaut = (0, 15)
-
deplacement
¶ Retourne ou fixe la valeur du déplacement entre 2 frames successives Défaut = 1
-
dessine_ecran
(x0, y0, x1, y1, g='j', h='+', d='l', b='=', c1='\\', c2='/')[source]¶ Dessine un écran, coin haut gauche = x0, y0, bas droit = x1, y1. g = bord gauche, h = haut, d = droit, b = bas, c1 = coin 1, c2 =coin 2
(x0,y0) -> c1hhhhhhc2 <- (x1,y0) obj.dessine-ecran(1, 1, 10, 5) g d retournera \++++++++/ g d par défaut j l g d j l g d j l (x0,y1) -> c2bbbbbbc1 <- (x1,y1) /========\
-
dict_sous_titres
¶ Retourne, modifie ou crée le dictionnaire des sous-titres
Ce dictionnaire est de la forme: {(a, b): « sous-titre »} ou a = n° de la frame où l’affichage de « sous-titre » démarre et b = n° - 1 de la frame où s’arrête l’affichage de « sous-titre »
-
frame
¶ Lit ou ajoute des frames à partir d’un seul fichier. Ces frames sont séparées par un séparateur, par défaut #
del frame détruit toutes les frames du film
-
frames
¶ Lit ou ajoute des frames à partir de fichiers dans un répertoire. Chaque frame est dans un fichier propre. Les fichiers sont lus dans le répertoire dans le sens alphnumérique croissant de leurs noms. »)
del frames détruit toutes les frames du film
-
nb_frames
¶ Retourne
0 si aucune frame n’est définie
le nombre de frames du film
Note
sera egal à nb_frames_per_file dans le cas d’un fichier unique
-
nb_frames_per_file
¶ Retourne
0 si aucune frame n’est définie
1 si les dernières frames chargées le sont à partir d’1 fichier par frame (cas de frames)
le nombre de frames dans le dernier fichier chargé si il s’agit d’un fichier unique
-
no_frame_xy
¶ Retourne ou fixe les coordonnées de l’affichage n° de frame en cours, si affiche_no_frame = True. Défaut = (0, 0)
-
print_message
(x, y, message, delai=2, rev=True)[source]¶ Affiche un message en reverse à x,y pour delai seconde (2 par défaut)
-
projection
(nb_frames2run=0, x=2, y=4, trace=0, delai=0.1)[source]¶ Lance l’instance film en lisant les frames.
nb_frames2run: nombre de frames à exécuter. 0 = infini
x, y: les coordonnées haut gauche de départ du film
trace nombre de blancs à ajouter à la frame suivant le sens du film. A gauche si self.reverse = False, à droite si self.reverse = True. Ce paramètre sert à effacer d’éventuelles traces laissées par une frame pas trop bien :) formatée.
delai: la durée en seconde de chaque frame
Note
Le nombre de frames réellement exécutées sera le premier multiple de nb_frames au dessus de nb_frames2run - 1. nb_frames est égal au nombre de frames du film. Ainsi, pour un nb_frames2run = 17 et un nb_frames = 4, le nombre de frames exécutées sera 20 - 1 = 20 (puisque le numérotage démarre à 0). Utilisez affiche_no_frame = True pour mieux visualiser cela.
Avertissement
Si self.reverse = True, le film peut avoir des effets de bord non désiré quand x < 0. Vous pouvez régler cela via l’appel de la méthode.
-
reverse
¶ Retourne ou fixe le sens du film en avant ou en arrière (booléen) Défaut = False
-
sous_titre_xy
¶ Retourne ou fixe les coordonnées (x, y) de la zone de sous-titres Defaut=(20,15)
obj.sous_titre_xy = (x, y) # tuple
La zone de sous-titres débute à la coordonnée x de la largeur fixée (par défaut 40) par l’attribut sous_titres_largeur. Les sous-titres sont centrés dans cette zone.
Note
Pour mieux voir et comprendre ceci, mettez le paramètre sous_titres_reverse à True, le temps éventuellement de tester la projection de votre film.
largeur zone sous-titre: -> +-------- 20 --------+ sous_titre_xy -> | Sous-titre | le sous-titre est centré dans la zone de sous-titres
-
sous_titres_largeur
¶ Retourne ou fixe la largeur de la zone des sous-titres. Défaut = 40
-
sous_titres_reverse
¶ Retourne ou fixe l’affichage des sous-titres à reverse ou non. (booléen) Défaut = False
-
titre
¶ Retourne, modifie ou crée le titre du film. Défaut = “”
-
titre_x
¶ Retourne ou fixe la coordonnée x d’affichage du titre. Defaut=(4)
Déprécié: utilisez titre_xy = (x, y) à la place
Note
Si vous utilisez titre_x, la valeur x de titre_xy sera automatiquement adaptée
-
titre_xy
¶ Retourne ou fixe les coordonnées x, y d’affichage du titre. Defaut=(4,2)
obj.titre_xy = (x, y) # tuple
Note
obj.titre_x sera adapté à la valeur x de obj.titre_xy
-