Recherche avancée

Médias (91)

Autres articles (81)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Mise à disposition des fichiers

    14 avril 2011, par

    Par défaut, lors de son initialisation, MediaSPIP ne permet pas aux visiteurs de télécharger les fichiers qu’ils soient originaux ou le résultat de leur transformation ou encodage. Il permet uniquement de les visualiser.
    Cependant, il est possible et facile d’autoriser les visiteurs à avoir accès à ces documents et ce sous différentes formes.
    Tout cela se passe dans la page de configuration du squelette. Il vous faut aller dans l’espace d’administration du canal, et choisir dans la navigation (...)

  • Le plugin : Podcasts.

    14 juillet 2010, par

    Le problème du podcasting est à nouveau un problème révélateur de la normalisation des transports de données sur Internet.
    Deux formats intéressants existent : Celui développé par Apple, très axé sur l’utilisation d’iTunes dont la SPEC est ici ; Le format "Media RSS Module" qui est plus "libre" notamment soutenu par Yahoo et le logiciel Miro ;
    Types de fichiers supportés dans les flux
    Le format d’Apple n’autorise que les formats suivants dans ses flux : .mp3 audio/mpeg .m4a audio/x-m4a .mp4 (...)

Sur d’autres sites (7246)

  • even though my code is running without an error, it does not generate plot or video. I have xming runing

    23 octobre 2017, par Amin Abbasi

    This is my first code and I am really new to coding. I am trying to create a video or just plot my code.Eeven though my code is running without an error, I can’t get the video or the plot to generate. I have xming running and I have plotted a sample to make sure it not a computer Issue. I have also tried the following on GitHub but no success :
    https://jakevdp.github.io/blog/2013/05/19/a-javascript-viewer-for-matplotlib-animations/

    # -*- coding: utf-8 -*-
    import numpy as np
    def solver(I, V, f, c, L, dt, cc, T, user_action=None):
       """Solve u_tt=c^2*u_xx + f on (0,L)x(0,T]."""
       Nt = int(round(T/dt))
       t = np.linspace(0, Nt*dt, Nt+1) # Mesh points in time
       dx = dt*c/float(cc)
       Nx = int(round(L/dx))
       x = np.linspace(0, L, Nx+1) # Mesh points in space
       C2 = cc**2 # Help variable in the scheme
       # Make sure dx and dt are compatible with x and t
       dx = x[1] - x[0]
       dt = t[1] - t[0]
       if f is None or f == 0 :
           f = lambda x, t: 0
       if V is None or V == 0:
           V = lambda x: 0
       u       = np.zeros(Nx+1) # Solution array at new time level
       u_n     = np.zeros(Nx+1) # Solution at 1 time level back
       u_nm1   = np.zeros(Nx+1) # Solution at 2 time levels back
       import time; t0 = time.clock() # Measure CPU time
       # Load initial condition into u_n
       for i in range(0,Nx+1):
           u_n[i] = I(x[i])
       if user_action is not None:
           user_action(u_n, x, t, 0)
       # Special formula for first time step
       n = 0
       for i in range(1, Nx):
           u[i] = u_n[i] + dt*V(x[i]) + \
               0.5*C2*(u_n[i-1] - 2*u_n[i] + u_n[i+1]) + \
               0.5*dt**2*f(x[i], t[n])
       u[0] = 0; u[Nx] = 0
       if user_action is not None:
           user_action(u, x, t, 1)
       # Switch variables before next step
       u_nm1[:] = u_n; u_n[:] = u
       for n in range(1, Nt):
           # Update all inner points at time t[n+1]
           for i in range(1, Nx):
               u[i] = - u_nm1[i] + 2*u_n[i] + \
                       C2*(u_n[i-1] - 2*u_n[i] + u_n[i+1]) + \
                       dt**2*f(x[i], t[n])
           # Insert boundary conditions
           u[0] = 0; u[Nx] = 0
           if user_action is not None:
               if user_action(u, x, t, n+1):
                   break
           # Switch variables before next step
           u_nm1[:] = u_n; u_n[:] = u
       cpu_time = time.clock() - t0
       return u, x, t,
    def test_quadratic():
       """Check that u(x,t)=x(L-x)(1+t/2) is exactly reproduced."""
       def u_exact(x, t):
           return x*(L-x)*(1 + 0.5*t)
       def I(x):
           return u_exact(x, 0)
       def V(x):
           return 0.5*u_exact(x, 0)
       def f(x, t):
           return 2*(1 + 0.5*t)*c**2
       L = 2.5
       c = 1.5
       cc = 0.75
       Nx = 6 # Very coarse mesh for this exact test
       dt = cc*(L/Nx)/c
       T = 18
       def assert_no_error(u, x, t, n):
           u_e = u_exact(x, t[n])
           diff = np.abs(u - u_e).max()
           tol = 1E-13
           assert diff < tol
       solver(I, V, f, c, L, dt, cc, T,
               user_action=assert_no_error)
    def viz(
       I, V, f, c, L, dt, C, T,umin, umax, animate=True, tool='matplotlib'):
       """Run solver and visualize u at each time level."""
       def plot_u_st(u, x, t, n):
           """user_action function for solver."""
           plt.plot(x, u, 'r-')
    #                 xlabel='x', ylabel='u',
    #                 axis=[0, L, umin, umax],
    #                 title='t=%f' % t[n], show=True)
           # Let the initial condition stay on the screen for 2
           # seconds, else insert a pause of 0.2 s between each plot
           time.sleep(2) if t[n] == 0 else time.sleep(0.2)
           plt.savefig('frame_%04d.png' % n) # for movie making
       class PlotMatplotlib:
           def __call__(self, u, x, t, n):
               """user_action function for solver."""
               if n == 0:
                   plt.ion()
                   self.lines = plt.plot(x, u, 'r-')
                   plt.xlabel('x'); plt.ylabel('u')
                   plt.axis([0, L, umin, umax])
                   plt.legend(['t=%f' % t[n]], loc='lower left')
               else:
                   self.lines[0].set_ydata(u)
                   plt.legend(['t=%f' % t[n]], loc='lower left')
                   plt.draw()
               time.sleep(2) if t[n] == 0 else time.sleep(0.2)
               plt.savefig('tmp_%04d.png' % n) # for movie making
       if tool == 'matplotlib':
           import matplotlib.pyplot as plt
           plot_u = PlotMatplotlib()
       elif tool == 'scitools':
           import scitools.std as plt # scitools.easyviz interface
           plot_u = plot_u_st
       import time, glob, os
       # Clean up old movie frames
       for filename in glob.glob('tmp_*.png'):
           os.remove(filename)
       # Call solver and do the simulaton
       user_action = plot_u if animate else None
       u, x, t, cpu = solver_function(
           I, V, f, c, L, dt, C, T, user_action)
       # Make video files
       fps = 4 # frames per second
       codec2ext = dict(flv='flv', libx264='mp4', libvpx='webm',
                        libtheora='ogg') # video formats
       filespec = 'tmp_%04d.png'
       movie_program = 'ffmpeg' # or 'avconv'
       for codec in codec2ext:
           ext = codec2ext[codec]
           cmd = '%(movie_program)s -r %(fps)d -i %(filespec)s '\
                 '-vcodec %(codec)s movie.%(ext)s' % vars()
           os.system(cmd)
       if tool == 'scitools':
           # Make an HTML play for showing the animation in a browser
           plt.movie('tmp_*.png', encoder='html', fps=fps,
                     output_file='movie.html')
       return cpu
  • avcodec/exr : tag gamma=1.0 output as linear light

    16 août 2023, par Leo Izen
    avcodec/exr : tag gamma=1.0 output as linear light
    

    By default the OpenEXR decoder outputs linear light pixel data by
    applying a gamma=1.0 transfer (i.e. a no-op). When it does so, it
    should tag the data as linear so color-managed filters or other tools
    can work with it correctly.

    Signed-off-by : Leo Izen <leo.izen@gmail.com>

    • [DH] libavcodec/exr.c
  • Evolution #4766 : Passer le menu d’ajouts rapides dans un sous-menu

    4 mai 2021, par RastaPopoulos ♥

    N’importe quoi… on ne les utilise que rarement en tant que dev, si on réfléchit ergo là c’est bien pour les utilisateurices finales, et sur comment les former. Cf les arguments sur la facilité d’apprentissage + la mémorisation de la fonctionnalité + l’accessibilité de la lecture pour savoir ce que ça fait du premier coup d’œil (sans title infobulle que fort peu trouvent et lisent).

    Il est d’ailleurs bien plus plus simple, une fois le gros menu ouvert de viser une ligne entière avec label, qu’un mini bouton riquiqui.

    Quant à la comparaison avec d’autres logiciels : prenons plutôt ceux de la même branche. Et… o gosh, les deux plus utilisés au monde utilisent ce genre de menu !

    Wordpress : un menu "New" avec un picto "+", qui ouvre la liste des choses qu’on peut créer : exactement comme ce qu’on propose

    Drupal : un menu "Shortcuts" qui ouvre dessous ce sous-menu (en horizontal et pas vertical pour eux) : là chez eux on peut personnaliser pour chaque utilisateur, ce que j’avais d’ailleurs proposé un jour, ya un remplissage par défaut mais ensuite on peut retirer/ajouter des éléments

    Dans un premier temps le truc comme Wordpress suffit, et tout le monde connait et comprend ça (et je pense que ça doit avoir un label du coup, pas juste un "+" !).