Changeset 181

Show
Ignore:
Timestamp:
04/30/06 11:16:24 (3 years ago)
Author:
nicfit
Message:

Plugin refactoring

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/po/es.po

    r173 r181  
    88"Project-Id-Version: 0.1.1\n" 
    99"Report-Msgid-Bugs-To: \n" 
    10 "POT-Creation-Date: 2006-04-15 19:11-0600\n" 
     10"POT-Creation-Date: 2006-04-24 20:30-0600\n" 
    1111"PO-Revision-Date: 2006-04-15 17:38-0600\n" 
    1212"Last-Translator: Travis Shirk <travis@pobox.com>\n" 
     
    2929 
    3030#: ../src/mesk_gui.glade.h:2 
    31 msgid "<b>Description</b>" 
     31#, fuzzy 
     32msgid "<b>Author:</b>" 
    3233msgstr "<b>Descripción</b>" 
    3334 
    3435#: ../src/mesk_gui.glade.h:3 
    35 msgid "Advanced
    36 msgstr "Avanzado
     36msgid "<b>Copyright:</b>
     37msgstr "
    3738 
    3839#: ../src/mesk_gui.glade.h:4 
     40#, fuzzy 
     41msgid "<b>Description:</b>" 
     42msgstr "<b>Descripción</b>" 
     43 
     44#: ../src/mesk_gui.glade.h:5 
     45#, fuzzy 
     46msgid "<b>Plugin Name</b>" 
     47msgstr "<b>Descripción</b>" 
     48 
     49#: ../src/mesk_gui.glade.h:6 
     50#, fuzzy 
     51msgid "<b>Site:</b>" 
     52msgstr "<b>Descripción</b>" 
     53 
     54#: ../src/mesk_gui.glade.h:7 
    3955msgid "Auto-Open" 
    4056msgstr "Automo'vil-A'brase" 
    4157 
    42 #: ../src/mesk_gui.glade.h:5 
     58#: ../src/mesk_gui.glade.h:8 
    4359msgid "Clear search" 
    4460msgstr "Búsqueda clara" 
    4561 
    46 #: ../src/mesk_gui.glade.h:6 
     62#: ../src/mesk_gui.glade.h:9 
    4763msgid "Close search" 
    4864msgstr "Búsqueda cercana" 
    4965 
    50 #: ../src/mesk_gui.glade.h:7 
     66#: ../src/mesk_gui.glade.h:10 
    5167msgid "Compact" 
    5268msgstr "Acuerdo" 
    5369 
    54 #: ../src/mesk_gui.glade.h:8 
     70#: ../src/mesk_gui.glade.h:11 
     71msgid "Configure..." 
     72msgstr "" 
     73 
     74#: ../src/mesk_gui.glade.h:12 
    5575msgid "Copyright © 2006 Travis Shirk" 
    5676msgstr "Copyright © 2006 Travis Shirk" 
    5777 
    58 #: ../src/mesk_gui.glade.h:9 
    59 msgid "Filter:" 
    60 msgstr "Filtro:" 
    61  
    62 #: ../src/mesk_gui.glade.h:10 
     78#: ../src/mesk_gui.glade.h:13 
    6379msgid "Find:" 
    6480msgstr "Hallazgo:" 
    6581 
    66 #: ../src/mesk_gui.glade.h:11 
    67 msgid "General" 
    68 msgstr "General" 
    69  
    70 #: ../src/mesk_gui.glade.h:12 
     82#: ../src/mesk_gui.glade.h:14 
    7183msgid "Mesk" 
    7284msgstr "Mesk" 
    7385 
    74 #: ../src/mesk_gui.glade.h:13 
     86#: ../src/mesk_gui.glade.h:15 
    7587msgid "Name" 
    7688msgstr "Nombre" 
    7789 
    78 #: ../src/mesk_gui.glade.h:14 
     90#: ../src/mesk_gui.glade.h:16 
    7991msgid "Next" 
    8092msgstr "Después" 
    8193 
    82 #: ../src/mesk_gui.glade.h:15 
     94#: ../src/mesk_gui.glade.h:17 
    8395msgid "Password:" 
    8496msgstr "Contraseña:" 
    8597 
    86 #: ../src/mesk_gui.glade.h:16 ../src/audio_control.py:41 
     98#. Tooltip strings 
     99#: ../src/mesk_gui.glade.h:18 ../src/audio_control.py:45 
    87100msgid "Play" 
    88101msgstr "Juego" 
    89102 
    90 #: ../src/mesk_gui.glade.h:17 
     103#: ../src/mesk_gui.glade.h:19 
    91104msgid "Playlist" 
    92105msgstr "Playlist" 
    93106 
    94 #: ../src/mesk_gui.glade.h:18 
     107#: ../src/mesk_gui.glade.h:20 
    95108msgid "Playlist stats" 
    96109msgstr "Playlist stats" 
    97110 
    98 #: ../src/mesk_gui.glade.h:19 
     111#: ../src/mesk_gui.glade.h:21 
     112msgid "Plugin Author(s)" 
     113msgstr "" 
     114 
     115#: ../src/mesk_gui.glade.h:22 
     116msgid "Plugin Copyright" 
     117msgstr "" 
     118 
     119#: ../src/mesk_gui.glade.h:23 
     120msgid "Plugin URL" 
     121msgstr "" 
     122 
     123#: ../src/mesk_gui.glade.h:24 
     124msgid "Plugin description...." 
     125msgstr "" 
     126 
     127#: ../src/mesk_gui.glade.h:25 
     128msgid "Plugins" 
     129msgstr "" 
     130 
     131#: ../src/mesk_gui.glade.h:26 
    99132msgid "Preferences" 
    100133msgstr "Preferencias" 
    101134 
    102 #: ../src/mesk_gui.glade.h:20 
     135#: ../src/mesk_gui.glade.h:27 
    103136msgid "Previous" 
    104137msgstr "Anterior" 
    105138 
    106 #: ../src/mesk_gui.glade.h:21 
     139#: ../src/mesk_gui.glade.h:28 
    107140msgid "Repeat playlist" 
    108141msgstr "Repetición el playlist" 
    109142 
    110 #: ../src/mesk_gui.glade.h:22 
     143#: ../src/mesk_gui.glade.h:29 
    111144msgid "Shuffle playlist" 
    112145msgstr "Playlist de la barajadura" 
    113146 
    114 #: ../src/mesk_gui.glade.h:23 
     147#: ../src/mesk_gui.glade.h:30 
    115148msgid "Stop" 
    116149msgstr "Parada" 
    117150 
    118 #: ../src/mesk_gui.glade.h:24 
     151#. TRANSLATORS: Replace this string with your names, one name per line. 
     152#: ../src/mesk_gui.glade.h:32 
     153msgid "Travis Shirk (es)" 
     154msgstr "" 
     155 
     156#: ../src/mesk_gui.glade.h:33 
    119157msgid "Username:" 
    120158msgstr "Username:" 
    121159 
    122 #: ../src/mesk_gui.glade.h:25 
     160#: ../src/mesk_gui.glade.h:34 
    123161msgid "Web site" 
    124162msgstr "Sitio del Web" 
    125163 
    126 #: ../src/mesk_gui.glade.h:26 
     164#: ../src/mesk_gui.glade.h:35 
    127165msgid "_About" 
    128166msgstr "_Sobre" 
    129167 
    130 #: ../src/mesk_gui.glade.h:27 
     168#: ../src/mesk_gui.glade.h:36 
    131169msgid "_Edit" 
    132170msgstr "_Corrija" 
    133171 
    134 #: ../src/mesk_gui.glade.h:28 
     172#: ../src/mesk_gui.glade.h:37 
    135173msgid "_File" 
    136174msgstr "_Archivo" 
    137175 
    138 #: ../src/mesk_gui.glade.h:29 
     176#: ../src/mesk_gui.glade.h:38 
    139177msgid "_Help" 
    140178msgstr "_Ayuda" 
    141179 
    142 #: ../src/mesk_gui.glade.h:30 
     180#: ../src/mesk_gui.glade.h:39 
     181#, fuzzy 
     182msgid "_Preferences" 
     183msgstr "Preferencias" 
     184 
     185#: ../src/mesk_gui.glade.h:40 
    143186msgid "_View" 
    144187msgstr "_Visión" 
    145188 
    146 #. TRANSLATORS: Replace this string with your names, one name per line. 
    147 #: ../src/mesk_gui.glade.h:32 
    148 msgid "translator-credits" 
    149 msgstr "Travis Shirk" 
    150  
    151 #: ../src/audio_control.py:42 
     189#: ../src/audio_control.py:46 
    152190msgid "Pause" 
    153191msgstr "Pausa" 
    154192 
     193#: ../src/audio_control.py:119 
     194#, python-format 
     195msgid "Gstreamer version %d.%d.%d audio control initialized" 
     196msgstr "" 
     197 
     198#: ../src/audio_control.py:425 
     199#, python-format 
     200msgid "Gstreamer error -- {bin: %s} {element: %s} {debug: %s}: %s" 
     201msgstr "" 
     202 
    155203#. we talk about file 
    156204#: ../src/gtk_utils.py:79 ../src/gtk_utils.py:94 
     
    159207msgstr "Error: no puede abrir %s para la lectura" 
    160208 
    161 #: ../src/main.py:63 
     209#: ../src/main.py:64 
    162210msgid "Select a specific profile other than the default" 
    163211msgstr "Seleccione un perfil específico con excepción del defecto" 
    164212 
    165 #: ../src/main.py:105 
     213#: ../src/main.py:106 
    166214msgid "Session management disabled (no gnome.ui module)" 
    167215msgstr "La gerencia de la sesión inhabilitó (ningún módulo de gnome.ui)" 
    168216 
    169 #: ../src/main_window.py:70 
     217#: ../src/main_window.py:71 
    170218#, python-format 
    171219msgid "Error loading playlist '%s'" 
     
    173221 
    174222#. TODO 
    175 #: ../src/main_window.py:224 
     223#: ../src/main_window.py:235 
    176224msgid "Open playlist" 
    177225msgstr "Abra el playlist" 
    178226 
    179 #: ../src/main_window.py:231 
     227#: ../src/main_window.py:242 
    180228msgid "Playlists" 
    181229msgstr "Playlists" 
    182230 
    183 #: ../src/mesk/audio_source.py:70 
     231#: ../src/mesk/audio_source.py:32 
     232#, fuzzy 
     233msgid "Unknown" 
     234msgstr "Tipo desconocido: %s" 
     235 
     236#: ../src/mesk/audio_source.py:72 
    184237#, python-format 
    185238msgid "Error reading source metadata in '%s': %s" 
    186239msgstr "Metadata de la fuente de la lectura de error en '%s': %s" 
    187240 
    188 #: ../src/mesk/audio_source.py:75 
     241#: ../src/mesk/audio_source.py:77 
    189242#, python-format 
    190243msgid "No metadata for file '%s'" 
    191244msgstr "Ningún metadata para el archivo '%s'" 
    192245 
    193 #: ../src/mesk/audio_source.py:100 
     246#: ../src/mesk/audio_source.py:102 
    194247#, python-format 
    195248msgid "Unknown type: %s" 
    196249msgstr "Tipo desconocido: %s" 
    197250 
    198 #: ../src/mesk/audio_source.py:101 
     251#: ../src/mesk/audio_source.py:103 
    199252#, python-format 
    200253msgid "Unsupported audio format: %s" 
    201254msgstr "Formato audio sin apoyo: %s" 
    202255 
    203 #: ../src/mesk/audio_source.py:105 
     256#: ../src/mesk/audio_source.py:107 
    204257#, python-format 
    205258msgid "Error loading source file %s" 
    206259msgstr "Archivo de fuente del cargamento del error %s" 
    207260 
    208 #: ../src/mesk/audio_source.py:108 
     261#: ../src/mesk/audio_source.py:110 
    209262#, python-format 
    210263msgid "Unsupported audio URI scheme: %s" 
    211264msgstr "Esquema sin apoyo del audio URI: %s" 
    212265 
    213 #: ../src/mesk/__init__.py:55 
     266#: ../src/mesk/__init__.py:56 
    214267msgid "Application version" 
    215268msgstr "Versión del uso" 
    216269 
    217 #: ../src/mesk/__init__.py:57 
     270#: ../src/mesk/__init__.py:58 
    218271msgid "The directory containing playlists" 
    219272msgstr "El directorio que contiene playlists" 
    220273 
    221 #: ../src/mesk/__init__.py:59 
     274#: ../src/mesk/__init__.py:60 
    222275msgid "" 
    223276"A list of playlists (separated by ';') that refer to a playlist config " 
     
    227280"los config del playlist abajo" 
    228281 
    229 #: ../src/mesk/__init__.py:62 
     282#: ../src/mesk/__init__.py:63 
    230283msgid "Logging level. May be CRITICAL, ERROR, WARNING, INFO, VERBOSE, or DEBUG" 
    231284msgstr "" 
     
    233286"DEBUG" 
    234287 
    235 #: ../src/mesk/__init__.py:65 
     288#: ../src/mesk/__init__.py:66 
    236289msgid "The directory containing user installed plugins" 
    237290msgstr "El directorio que contiene plugins instalados usuario" 
    238291 
    239 #: ../src/mesk/__init__.py:66 
     292#: ../src/mesk/__init__.py:67 
    240293msgid "A list of plugins (separated by ';') to activate on startup." 
    241294msgstr "Una lista de los plugins (separados por ';') para activar en arranque" 
    242295 
    243 #: ../src/mesk/__init__.py:71 
     296#: ../src/mesk/__init__.py:72 
    244297msgid "Start in compact view mode" 
    245298msgstr "Comience en modo compacto de la visión" 
    246299 
    247 #: ../src/mesk/__init__.py:73 
     300#: ../src/mesk/__init__.py:74 
    248301msgid "" 
    249302"If True, the main window is hidded instead of closed when the window close " 
     
    253306"chasca el botón del cierre de la ventana" 
    254307 
    255 #: ../src/mesk/__init__.py:76 
     308#: ../src/mesk/__init__.py:77 
    256309msgid "Main window width" 
    257310msgstr "Anchura principal de la ventana" 
    258311 
    259 #: ../src/mesk/__init__.py:77 
     312#: ../src/mesk/__init__.py:78 
    260313msgid "Main window height" 
    261314msgstr "Altura principal de la ventana" 
    262315 
    263 #: ../src/mesk/__init__.py:78 
     316#: ../src/mesk/__init__.py:79 
    264317msgid "Main window x origin" 
    265318msgstr "Origen principal de la ventana x" 
    266319 
    267 #: ../src/mesk/__init__.py:79 
     320#: ../src/mesk/__init__.py:80 
    268321msgid "Main window y origin" 
    269322msgstr "Origen principal de la ventana y" 
    270323 
    271 #: ../src/mesk/__init__.py:81 
     324#: ../src/mesk/__init__.py:82 
    272325msgid "Main window x origin in compact mode" 
    273326msgstr "Origen principal de la ventana x en modo compacto" 
    274327 
    275 #: ../src/mesk/__init__.py:83 
     328#: ../src/mesk/__init__.py:84 
    276329msgid "Main window y origin in compact mode" 
    277330msgstr "Origen principal de la ventana y en modo compacto" 
    278331 
    279 #: ../src/mesk/__init__.py:88 
    280 #, python-format 
    281 msgid "GStreamer output sink. May be '%s', '%s', or '%s'" 
     332#: ../src/mesk/__init__.py:89 
     333#, fuzzy, python-format 
     334msgid "GStreamer output sink. May be %s, '%s', '%s', or '%s'" 
    282335msgstr "Fregadero de la salida de GStreamer. Pueden ser '%s', '%s', o '%s'" 
    283336 
    284 #: ../src/mesk/__init__.py:91 
     337#: ../src/mesk/__init__.py:92 
    285338msgid "Number of milliseconds to pause between tracks" 
    286339msgstr "Número de los milisegundos a detenerse brevemente entre las pistas" 
    287340 
    288 #: ../src/mesk/__init__.py:95 
     341#: ../src/mesk/__init__.py:96 
    289342msgid "Playlist (file) location" 
    290343msgstr "Localización de Playlist (archivo)" 
    291344 
    292 #: ../src/mesk/__init__.py:96 
     345#: ../src/mesk/__init__.py:97 
    293346msgid "Open on startup" 
    294347msgstr "Ábrase en arranque" 
    295348 
    296 #: ../src/mesk/__init__.py:97 
     349#: ../src/mesk/__init__.py:98 
    297350msgid "Starting playlist index" 
    298351msgstr "Comenzar índice del playlist" 
    299352 
    300 #: ../src/mesk/__init__.py:98 
     353#: ../src/mesk/__init__.py:99 
    301354msgid "Is the playlist in repeat mode" 
    302355msgstr "Es el playlist en modo de la repetición" 
    303356 
    304 #: ../src/mesk/__init__.py:99 
     357#: ../src/mesk/__init__.py:100 
    305358msgid "Is the playlist in shuffle mode" 
    306359msgstr "Es el playlist en modo de la barajadura" 
    307360 
    308 #: ../src/mesk/__init__.py:100 
     361#: ../src/mesk/__init__.py:101 
    309362msgid "The playlist queue which is a comma separated list of indices" 
    310363msgstr "La coleta del playlist que es una coma separó la lista de índices" 
    311364 
    312 #: ../src/mesk/__init__.py:111 ../src/mesk/__init__.py:113 
    313 #: ../src/mesk/__init__.py:115 
     365#: ../src/mesk/__init__.py:112 ../src/mesk/__init__.py:114 
     366#: ../src/mesk/__init__.py:116 
    314367#, python-format 
    315368msgid "Creating %s..." 
     
    321374msgstr "%s que activa plugin" 
    322375 
    323 #: ../src/mesk/plugin/__init__.py:143 
     376#: ../src/mesk/plugin/__init__.py:149 
    324377#, python-format 
    325378msgid "Loading plugin %s" 
    326379msgstr "El cargar plugin %s" 
    327380 
    328 #: ../src/mesk/plugin/__init__.py:150 
     381#: ../src/mesk/plugin/__init__.py:156 
    329382#, python-format 
    330383msgid "Plugin '%s' failed to load: %s" 
    331384msgstr "'%s' plugin no pudieron cargar: %s" 
    332385 
    333 #: ../src/mesk/plugin/__init__.py:155 
     386#: ../src/mesk/plugin/__init__.py:161 
    334387#, python-format 
    335388msgid "Invalid type for plugin '%s': %s" 
     
    468521msgstr "Falta de BADAUTH, hanshake requerido" 
    469522 
    470 #: ../src/plugins/audioscrobbler.py:321 
     523#: ../src/plugins/audioscrobbler.py:304 
     524#, python-format 
     525msgid "Source length %d < 30s, skipping" 
     526msgstr "" 
     527 
     528#: ../src/plugins/audioscrobbler.py:324 
    471529#, python-format 
    472530msgid "Source %s is missing artist and/or title: " 
     
    491549msgid " [paused]" 
    492550msgstr " [detenido brevemente]" 
     551 
     552#~ msgid "Advanced" 
     553#~ msgstr "Avanzado" 
     554 
     555#, fuzzy 
     556#~ msgid "Delay" 
     557#~ msgstr "Juego" 
     558 
     559#~ msgid "Filter:" 
     560#~ msgstr "Filtro:" 
     561 
     562#~ msgid "General" 
     563#~ msgstr "General" 
     564 
     565#~ msgid "translator-credits" 
     566#~ msgstr "Travis Shirk" 
  • trunk/po/mesk.pot

    r173 r181  
    99"Project-Id-Version: PACKAGE VERSION\n" 
    1010"Report-Msgid-Bugs-To: \n" 
    11 "POT-Creation-Date: 2006-04-15 19:11-0600\n" 
     11"POT-Creation-Date: 2006-04-24 20:30-0600\n" 
    1212"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 
    1313"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 
     
    3030 
    3131#: ../src/mesk_gui.glade.h:2 
    32 msgid "<b>Description</b>" 
     32msgid "<b>Author:</b>" 
    3333msgstr "" 
    3434 
    3535#: ../src/mesk_gui.glade.h:3 
    36 msgid "Advanced
     36msgid "<b>Copyright:</b>
    3737msgstr "" 
    3838 
    3939#: ../src/mesk_gui.glade.h:4 
     40msgid "<b>Description:</b>" 
     41msgstr "" 
     42 
     43#: ../src/mesk_gui.glade.h:5 
     44msgid "<b>Plugin Name</b>" 
     45msgstr "" 
     46 
     47#: ../src/mesk_gui.glade.h:6 
     48msgid "<b>Site:</b>" 
     49msgstr "" 
     50 
     51#: ../src/mesk_gui.glade.h:7 
    4052msgid "Auto-Open" 
    4153msgstr "" 
    4254 
    43 #: ../src/mesk_gui.glade.h:5 
     55#: ../src/mesk_gui.glade.h:8 
    4456msgid "Clear search" 
    4557msgstr "" 
    4658 
    47 #: ../src/mesk_gui.glade.h:6 
     59#: ../src/mesk_gui.glade.h:9 
    4860msgid "Close search" 
    4961msgstr "" 
    5062 
    51 #: ../src/mesk_gui.glade.h:7 
     63#: ../src/mesk_gui.glade.h:10 
    5264msgid "Compact" 
    5365msgstr "" 
    5466 
    55 #: ../src/mesk_gui.glade.h:8 
     67#: ../src/mesk_gui.glade.h:11 
     68msgid "Configure..." 
     69msgstr "" 
     70 
     71#: ../src/mesk_gui.glade.h:12 
    5672msgid "Copyright © 2006 Travis Shirk" 
    5773msgstr "" 
    5874 
    59 #: ../src/mesk_gui.glade.h:9 
    60 msgid "Filter:" 
    61 msgstr "" 
    62  
    63 #: ../src/mesk_gui.glade.h:10 
     75#: ../src/mesk_gui.glade.h:13 
    6476msgid "Find:" 
    6577msgstr "" 
    6678 
    67 #: ../src/mesk_gui.glade.h:11 
    68 msgid "General" 
    69 msgstr "" 
    70  
    71 #: ../src/mesk_gui.glade.h:12 
     79#: ../src/mesk_gui.glade.h:14 
    7280msgid "Mesk" 
    7381msgstr "" 
    7482 
    75 #: ../src/mesk_gui.glade.h:13 
     83#: ../src/mesk_gui.glade.h:15 
    7684msgid "Name" 
    7785msgstr "" 
    7886 
    79 #: ../src/mesk_gui.glade.h:14 
     87#: ../src/mesk_gui.glade.h:16 
    8088msgid "Next" 
    8189msgstr "" 
    8290 
    83 #: ../src/mesk_gui.glade.h:15 
     91#: ../src/mesk_gui.glade.h:17 
    8492msgid "Password:" 
    8593msgstr "" 
    8694 
    87 #: ../src/mesk_gui.glade.h:16 ../src/audio_control.py:41 
     95#. Tooltip strings 
     96#: ../src/mesk_gui.glade.h:18 ../src/audio_control.py:45 
    8897msgid "Play" 
    8998msgstr "" 
    9099 
    91 #: ../src/mesk_gui.glade.h:17 
     100#: ../src/mesk_gui.glade.h:19 
    92101msgid "Playlist" 
    93102msgstr "" 
    94103 
    95 #: ../src/mesk_gui.glade.h:18 
     104#: ../src/mesk_gui.glade.h:20 
    96105msgid "Playlist stats" 
    97106msgstr "" 
    98107 
    99 #: ../src/mesk_gui.glade.h:19 
     108#: ../src/mesk_gui.glade.h:21 
     109msgid "Plugin Author(s)" 
     110msgstr "" 
     111 
     112#: ../src/mesk_gui.glade.h:22 
     113msgid "Plugin Copyright" 
     114msgstr "" 
     115 
     116#: ../src/mesk_gui.glade.h:23 
     117msgid "Plugin URL" 
     118msgstr "" 
     119 
     120#: ../src/mesk_gui.glade.h:24 
     121msgid "Plugin description...." 
     122msgstr "" 
     123 
     124#: ../src/mesk_gui.glade.h:25 
     125msgid "Plugins" 
     126msgstr "" 
     127 
     128#: ../src/mesk_gui.glade.h:26 
    100129msgid "Preferences" 
    101130msgstr "" 
    102131 
    103 #: ../src/mesk_gui.glade.h:20 
     132#: ../src/mesk_gui.glade.h:27 
    104133msgid "Previous" 
    105134msgstr "" 
    106135 
    107 #: ../src/mesk_gui.glade.h:21 
     136#: ../src/mesk_gui.glade.h:28 
    108137msgid "Repeat playlist" 
    109138msgstr "" 
    110139 
    111 #: ../src/mesk_gui.glade.h:22 
     140#: ../src/mesk_gui.glade.h:29 
    112141msgid "Shuffle playlist" 
    113142msgstr "" 
    114143 
    115 #: ../src/mesk_gui.glade.h:23 
     144#: ../src/mesk_gui.glade.h:30 
    116145msgid "Stop" 
    117 msgstr "" 
    118  
    119 #: ../src/mesk_gui.glade.h:24 
    120 msgid "Username:" 
    121 msgstr "" 
    122  
    123 #: ../src/mesk_gui.glade.h:25 
    124 msgid "Web site" 
    125 msgstr "" 
    126  
    127 #: ../src/mesk_gui.glade.h:26 
    128 msgid "_About" 
    129 msgstr "" 
    130  
    131 #: ../src/mesk_gui.glade.h:27 
    132 msgid "_Edit" 
    133 msgstr "" 
    134  
    135 #: ../src/mesk_gui.glade.h:28 
    136 msgid "_File" 
    137 msgstr "" 
    138  
    139 #: ../src/mesk_gui.glade.h:29 
    140 msgid "_Help" 
    141 msgstr "" 
    142  
    143 #: ../src/mesk_gui.glade.h:30 
    144 msgid "_View" 
    145146msgstr "" 
    146147 
    147148#. TRANSLATORS: Replace this string with your names, one name per line. 
    148149#: ../src/mesk_gui.glade.h:32 
    149 msgid "translator-credits" 
    150 msgstr "" 
    151  
    152 #: ../src/audio_control.py:42 
     150msgid "Travis Shirk (es)" 
     151msgstr "" 
     152 
     153#: ../src/mesk_gui.glade.h:33 
     154msgid "Username:" 
     155msgstr "" 
     156 
     157#: ../src/mesk_gui.glade.h:34 
     158msgid "Web site" 
     159msgstr "" 
     160 
     161#: ../src/mesk_gui.glade.h:35 
     162msgid "_About" 
     163msgstr "" 
     164 
     165#: ../src/mesk_gui.glade.h:36 
     166msgid "_Edit" 
     167msgstr "" 
     168 
     169#: ../src/mesk_gui.glade.h:37 
     170msgid "_File" 
     171msgstr "" 
     172 
     173#: ../src/mesk_gui.glade.h:38 
     174msgid "_Help" 
     175msgstr "" 
     176 
     177#: ../src/mesk_gui.glade.h:39 
     178msgid "_Preferences" 
     179msgstr "" 
     180 
     181#: ../src/mesk_gui.glade.h:40 
     182msgid "_View" 
     183msgstr "" 
     184 
     185#: ../src/audio_control.py:46 
    153186msgid "Pause" 
     187msgstr "" 
     188 
     189#: ../src/audio_control.py:119 
     190#, python-format 
     191msgid "Gstreamer version %d.%d.%d audio control initialized" 
     192msgstr "" 
     193 
     194#: ../src/audio_control.py:425 
     195#, python-format 
     196msgid "Gstreamer error -- {bin: %s} {element: %s} {debug: %s}: %s" 
    154197msgstr "" 
    155198 
     
    160203msgstr "" 
    161204 
    162 #: ../src/main.py:63 
     205#: ../src/main.py:64 
    163206msgid "Select a specific profile other than the default" 
    164207msgstr "" 
    165208 
    166 #: ../src/main.py:105 
     209#: ../src/main.py:106 
    167210msgid "Session management disabled (no gnome.ui module)" 
    168211msgstr "" 
    169212 
    170 #: ../src/main_window.py:70 
     213#: ../src/main_window.py:71 
    171214#, python-format 
    172215msgid "Error loading playlist '%s'" 
     
    174217 
    175218#. TODO 
    176 #: ../src/main_window.py:224 
     219#: ../src/main_window.py:235 
    177220msgid "Open playlist" 
    178221msgstr "" 
    179222 
    180 #: ../src/main_window.py:231 
     223#: ../src/main_window.py:242 
    181224msgid "Playlists" 
    182225msgstr "" 
    183226 
    184 #: ../src/mesk/audio_source.py:70 
     227#: ../src/mesk/audio_source.py:32 
     228msgid "Unknown" 
     229msgstr "" 
     230 
     231#: ../src/mesk/audio_source.py:72 
    185232#, python-format 
    186233msgid "Error reading source metadata in '%s': %s" 
    187234msgstr "" 
    188235 
    189 #: ../src/mesk/audio_source.py:75 
     236#: ../src/mesk/audio_source.py:77 
    190237#, python-format 
    191238msgid "No metadata for file '%s'" 
    192239msgstr "" 
    193240 
    194 #: ../src/mesk/audio_source.py:100 
     241#: ../src/mesk/audio_source.py:102 
    195242#, python-format 
    196243msgid "Unknown type: %s" 
    197244msgstr "" 
    198245 
    199 #: ../src/mesk/audio_source.py:101 
     246#: ../src/mesk/audio_source.py:103 
    200247#, python-format 
    201248msgid "Unsupported audio format: %s" 
    202249msgstr "" 
    203250 
    204 #: ../src/mesk/audio_source.py:105 
     251#: ../src/mesk/audio_source.py:107 
    205252#, python-format 
    206253msgid "Error loading source file %s" 
    207254msgstr "" 
    208255 
    209 #: ../src/mesk/audio_source.py:108 
     256#: ../src/mesk/audio_source.py:110 
    210257#, python-format 
    211258msgid "Unsupported audio URI scheme: %s" 
    212259msgstr "" 
    213260 
    214 #: ../src/mesk/__init__.py:55 
     261#: ../src/mesk/__init__.py:56 
    215262msgid "Application version" 
    216263msgstr "" 
    217264 
    218 #: ../src/mesk/__init__.py:57 
     265#: ../src/mesk/__init__.py:58 
    219266msgid "The directory containing playlists" 
    220267msgstr "" 
    221268 
    222 #: ../src/mesk/__init__.py:59 
     269#: ../src/mesk/__init__.py:60 
    223270msgid "" 
    224271"A list of playlists (separated by ';') that refer to a playlist config " 
     
    226273msgstr "" 
    227274 
    228 #: ../src/mesk/__init__.py:62 
     275#: ../src/mesk/__init__.py:63 
    229276msgid "Logging level. May be CRITICAL, ERROR, WARNING, INFO, VERBOSE, or DEBUG" 
    230277msgstr "" 
    231278 
    232 #: ../src/mesk/__init__.py:65 
     279#: ../src/mesk/__init__.py:66 
    233280msgid "The directory containing user installed plugins" 
    234281msgstr "" 
    235282 
    236 #: ../src/mesk/__init__.py:66 
     283#: ../src/mesk/__init__.py:67 
    237284msgid "A list of plugins (separated by ';') to activate on startup." 
    238285msgstr "" 
    239286 
    240 #: ../src/mesk/__init__.py:71 
     287#: ../src/mesk/__init__.py:72 
    241288msgid "Start in compact view mode" 
    242289msgstr "" 
    243290 
    244 #: ../src/mesk/__init__.py:73 
     291#: ../src/mesk/__init__.py:74 
    245292msgid "" 
    246293"If True, the main window is hidded instead of closed when the window close " 
     
    248295msgstr "" 
    249296 
    250 #: ../src/mesk/__init__.py:76 
     297#: ../src/mesk/__init__.py:77 
    251298msgid "Main window width" 
    252299msgstr "" 
    253300 
    254 #: ../src/mesk/__init__.py:77 
     301#: ../src/mesk/__init__.py:78 
    255302msgid "Main window height" 
    256303msgstr "" 
    257304 
    258 #: ../src/mesk/__init__.py:78 
     305#: ../src/mesk/__init__.py:79 
    259306msgid "Main window x origin" 
    260307msgstr "" 
    261308 
    262 #: ../src/mesk/__init__.py:79 
     309#: ../src/mesk/__init__.py:80 
    263310msgid "Main window y origin" 
    264311msgstr "" 
    265312 
    266 #: ../src/mesk/__init__.py:81 
     313#: ../src/mesk/__init__.py:82 
    267314msgid "Main window x origin in compact mode" 
    268315msgstr "" 
    269316 
    270 #: ../src/mesk/__init__.py:83 
     317#: ../src/mesk/__init__.py:84 
    271318msgid "Main window y origin in compact mode" 
    272319msgstr "" 
    273320 
    274 #: ../src/mesk/__init__.py:88 
    275 #, python-format 
    276 msgid "GStreamer output sink. May be '%s', '%s', or '%s'" 
    277 msgstr "" 
    278  
    279 #: ../src/mesk/__init__.py:91 
     321#: ../src/mesk/__init__.py:89 
     322#, python-format 
     323msgid "GStreamer output sink. May be %s, '%s', '%s', or '%s'" 
     324msgstr "" 
     325 
     326#: ../src/mesk/__init__.py:92 
    280327msgid "Number of milliseconds to pause between tracks" 
    281328msgstr "" 
    282329 
    283 #: ../src/mesk/__init__.py:95 
     330#: ../src/mesk/__init__.py:96 
    284331msgid "Playlist (file) location" 
    285332msgstr "" 
    286333 
    287 #: ../src/mesk/__init__.py:96 
     334#: ../src/mesk/__init__.py:97 
    288335msgid "Open on startup" 
    289336msgstr "" 
    290337 
    291 #: ../src/mesk/__init__.py:97 
     338#: ../src/mesk/__init__.py:98 
    292339msgid "Starting playlist index" 
    293340msgstr "" 
    294341 
    295 #: ../src/mesk/__init__.py:98 
     342#: ../src/mesk/__init__.py:99 
    296343msgid "Is the playlist in repeat mode" 
    297344msgstr "" 
    298345 
    299 #: ../src/mesk/__init__.py:99 
     346#: ../src/mesk/__init__.py:100 
    300347msgid "Is the playlist in shuffle mode" 
    301348msgstr "" 
    302349 
    303 #: ../src/mesk/__init__.py:100 
     350#: ../src/mesk/__init__.py:101 
    304351msgid "The playlist queue which is a comma separated list of indices" 
    305352msgstr "" 
    306353 
    307 #: ../src/mesk/__init__.py:111 ../src/mesk/__init__.py:113 
    308 #: ../src/mesk/__init__.py:115 
     354#: ../src/mesk/__init__.py:112 ../src/mesk/__init__.py:114 
     355#: ../src/mesk/__init__.py:116 
    309356#, python-format 
    310357msgid "Creating %s..." 
     
    316363msgstr "" 
    317364 
    318 #: ../src/mesk/plugin/__init__.py:143 
     365#: ../src/mesk/plugin/__init__.py:149 
    319366#, python-format 
    320367msgid "Loading plugin %s" 
    321368msgstr "" 
    322369 
    323 #: ../src/mesk/plugin/__init__.py:150 
     370#: ../src/mesk/plugin/__init__.py:156 
    324371#, python-format 
    325372msgid "Plugin '%s' failed to load: %s" 
    326373msgstr "" 
    327374 
    328 #: ../src/mesk/plugin/__init__.py:155 
     375#: ../src/mesk/plugin/__init__.py:161 
    329376#, python-format 
    330377msgid "Invalid type for plugin '%s': %s" 
     
    459506msgstr "" 
    460507 
    461 #: ../src/plugins/audioscrobbler.py:321 
     508#: ../src/plugins/audioscrobbler.py:304 
     509#, python-format 
     510msgid "Source length %d < 30s, skipping" 
     511msgstr "" 
     512 
     513#: ../src/plugins/audioscrobbler.py:324 
    462514#, python-format 
    463515msgid "Source %s is missing artist and/or title: " 
  • trunk/src/audio_control.py

    r180 r181  
    371371        #        required 
    372372        src = gst.element_factory_make("gnomevfssrc", "src") 
    373         # FIXME: 
    374         print "signals:", gobject.signal_list_names(src) 
    375373        pipeline.add(src) 
    376374        self._gst_src = src 
     
    407405 
    408406    def _create_audio_sink(self): 
     407        # FIXME 
     408        return gst.element_factory_make("autoaudiosink", "audio_sink") 
     409 
    409410        config_sink = mesk.config.get(mesk.CONFIG_AUDIO, 'gst_sink') 
     411 
    410412        if config_sink == mesk.GST_OSS: 
    411413            audio_sink = gst.element_factory_make("osssink", "audio_sink") 
  • trunk/src/main_window.py

    r180 r181  
    144144        self.window.hide() 
    145145 
     146        if self._pref_window: 
     147            self._pref_window.window.destroy() 
     148 
    146149        # Shutdown all controls 
    147150        for ctrl in self._controls: 
     
    197200        if self._pref_window is None: 
    198201            self._pref_window = PreferenceWindow() 
    199         self._pref_window.window.show() 
     202        self._pref_window.show() 
    200203     
    201204    def set_compact_mode(self, state): 
  • trunk/src/mesk/__init__.py

    r173 r181  
    4141 
    4242# GST sinks 
    43 GST_ALSA = 'alsa' 
    44 GST_OSS  = 'oss' 
    45 GST_ESD  = 'esd' 
     43GST_ALSA  = 'alsa' 
     44GST_OSS   = 'oss' 
     45GST_ESD   = 'esd' 
     46GST_GCONF = 'gconf' 
    4647 
    4748DEFAULT_PLAYLIST_NAME = 'mesk' 
     
    8687    CONFIG_AUDIO: { 
    8788    'gst_sink': [str, GST_ALSA,  
    88                  _("GStreamer output sink. May be '%s', '%s', or '%s'") % \ 
    89                    (GST_ALSA, GST_OSS, GST_ESD)], 
     89                 _("GStreamer output sink. May be %s, '%s', '%s', or '%s'") % \ 
     90                   (GST_GCONF, GST_ALSA, GST_OSS, GST_ESD)], 
    9091    'gst_delay': [int, 1000,  
    9192                  _('Number of milliseconds to pause between tracks')], 
  • trunk/src/mesk/plugin/__init__.py

    r164 r181  
    2727    mgr = get_manager() 
    2828    if mgr: 
    29         for plugin in mgr.get_plugins(listener_type): 
     29        for plugin in mgr.get_active_plugins(listener_type): 
    3030            method = getattr(plugin, event) 
    3131            # XXX: There has got to be a better way 
     
    5050    if not mgr: 
    5151        return 
    52     for plugin in mgr.get_plugins(): 
     52    for plugin in mgr.get_active_plugins(): 
    5353        plugin.shutdown() 
    5454 
     
    7070    __url = None 
    7171    url = property(lambda self: self.__url) 
    72  
    73     def __init__(self, name, description, author, url): 
     72    __copyright = None 
     73    copyright = property(lambda self: self.__copyright) 
     74    __xpm = None 
     75    xpm = property(lambda self: self.__xpm) 
     76 
     77    def __init__(self, name, description, author, url, copyright, xpm): 
    7478        self.__name = name 
    7579        self.__description = description 
    7680        self.__author = author 
    7781        self.__url = url 
     82        self.__copyright = copyright 
     83        self.__xpm = xpm 
    7884 
    7985    def shutdown(self): 
     
    8389 
    8490    SYS_PLUGINS_DIR = './plugins' 
    85     PLUGIN_TUPLE_LEN = 5 
    86     (NAME, 
    87      DESCRIPTION, 
    88      AUTHOR, 
    89      URL, 
    90      FACTORY) = range(PLUGIN_TUPLE_LEN) 
    9191 
    9292    def __init__(self, plugins_dir): 
     
    9696 
    9797        def load_plugins(root): 
    98             plgins = [] 
     98            plugins = [] 
    9999            for file in os.listdir(root): 
    100100                file = root + os.sep + file 
    101101                plugin = self.load_plugin(file) 
    102102                if plugin: 
    103                     plgins.append(plugin) 
    104             return plgins 
     103                    plugins.append(plugin) 
     104            return plugins 
    105105 
    106106        self.__plugins = {}     # Loaded and active plugins 
    107         self.__all_plugins = [] # All available plugins 
    108                                 # Each element in the list is an 5-tuple: 
    109                                 # (NAME, DESCRIPTION, AUTHOR, URL, FACTORY) 
     107        self.__plugin_registry = [] # All available plugins 
    110108        load_plugins(self.SYS_PLUGINS_DIR) 
    111109        load_plugins(plugins_dir) 
     
    114112        active_plugins = mesk.config.get(mesk.CONFIG_MAIN, 'plugins') 
    115113        active_plugins = active_plugins.split(';') 
    116         for plugin_info in self.__all_plugins: 
    117             if plugin_info[self.NAME] in active_plugins: 
    118                 mesk.log.info(_('Activating %s plugin') % \ 
    119                               plugin_info[self.NAME]) 
    120                 plugin = plugin_info[self.FACTORY]() 
    121                 self.__plugins[plugin_info[self.NAME]] = plugin 
    122  
    123     def get_plugins(self, type = None): 
     114        for plugin_info in self.__plugin_registry: 
     115            if plugin_info['NAME'] in active_plugins: 
     116                mesk.log.info(_('Activating %s plugin') % plugin_info['NAME']) 
     117                plugin = plugin_info['FACTORY']() 
     118                self.__plugins[plugin_info['NAME']] = plugin 
     119 
     120    def get_registry(self): 
     121        registry = [] 
     122        for plugin in self.__plugin_registry: 
     123            registry.append(plugin) 
     124        return registry 
     125 
     126    def get_active_plugins(self, type = None): 
    124127        if not type: 
    125128            return [plugin for plugin in self.__plugins.values()] 
     
    144147            __import__(module) 
    145148            module = sys.modules[module] 
    146             plugin_info = self._make_plugin_tuple(module) 
     149            plugin_info = self._make_plugin_registry_entry(module) 
    147150            if plugin_info: 
    148                 self.__all_plugins.append(plugin_info) 
     151                self.__plugin_registry.append(plugin_info) 
    149152        except Exception, ex: 
    150153            mesk.log.error(_('Plugin \'%s\' failed to load: %s') % (module, 
     
    159162        return plugin 
    160163 
    161     def _make_plugin_tuple(self, module): 
     164    def _make_plugin_registry_entry(self, module): 
    162165        try: 
    163166            name = getattr(module, 'NAME') 
     
    165168            author = getattr(module, 'AUTHOR') 
    166169            url = getattr(module, 'URL') 
     170            copyright = getattr(module, 'COPYRIGHT') 
     171            xpm = getattr(module, 'XPM') 
    167172            factory = getattr(module, 'create_plugin') 
    168             return (name, descr, author, url, factory) 
    169173        except AttributeError, ex: 
    170             mesk.log.debug('Skipping non plugin module: %s' % str(ex)) 
     174            mesk.log.debug('Skipping plugin module %s: %s' % (module, 
     175                                                              str(ex))) 
    171176            return None 
     177        return {'NAME': name, 'DESCRIPTION': descr, 'AUTHOR': author, 
     178                'URL': url, 'COPYRIGHT': copyright, 'XPM': xpm, 
     179                'FACTORY': factory} 
     180 
     181DEFAULT_PLUGIN_XPM = [ 
     182"64 67 561 2", 
     183"       c None", 
     184".      c #000000", 
     185"+      c #070302", 
     186"@      c #020101", 
     187"#      c #080303", 
     188"$      c #280F0B", 
     189"%      c #3B170F", 
     190"&      c #451A11", 
     191"*      c #44170E", 
     192"=      c #42140B", 
     193"-      c #3D1108", 
     194";      c #2D0D06", 
     195