== TODO ==

17/02/2013

 * utilizzare mp3splt sper spezzare i programmi e inserirli nei podcast
 * alternare meglio i jingle tenendo in considerazione la priorita
 * link in home page to spot playlist is wrong
 * on programbook programtype 5 need subtype 5a
 * code dump in player when trackremoved activated:

Core was generated by `python ./autoplayerd run'.
Program terminated with signal 6, Aborted.
#0  0x0000003971236285 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64	  return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
Missing separate debuginfos, use: debuginfo-install gstreamer-python-0.10.19-2.fc15.x86_64 libid3tag-0.15.1b-11.fc15.x86_64 libmad-0.15.1b-13.fc12.x86_64 orc-0.4.16-5.fc16.x86_64
(gdb) where
#0  0x0000003971236285 in __GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x0000003971237b9b in __GI_abort () at abort.c:91
#2  0x00000036bce2fff5 in _dbus_abort () at dbus-sysdeps.c:94
#3  0x00000036bce26fc1 in _dbus_warn_check_failed (format=
    0x36bce362b0 "arguments to %s() were incorrect, assertion \"%s\" failed in file %s line %d.\nThis is normally a bug in some application using the D-Bus library.\n") at dbus-internals.c:289
#4  0x00000036bce19cbb in dbus_message_iter_append_basic (iter=0x7fffb9abca10, type=<optimized out>, value=0x7fffb9abc938) at dbus-message.c:2514
#5  0x00007fb5bcea2e22 in _message_iter_append_string (appender=0x7fffb9abca10, sig_type=111, obj=<optimized out>, 
    allow_object_path_attr=<optimized out>) at message-append.c:628
#6  0x00007fb5bcea4292 in _message_iter_append_pyobject (appender=0x7fffb9abca10, sig_iter=0x7fffb9abca60, obj=u'638', more=0x7fffb9abca8c)
    at message-append.c:1174
#7  0x00007fb5bcea4b51 in dbus_py_Message_append (self=0x2699d68, args=(u'638',), kwargs=<optimized out>) at message-append.c:1301
#8  0x0000003c6e0dfb7d in ext_do_call (nk=1, na=<optimized out>, flags=<optimized out>, pp_stack=0x7fffb9abcba8, func=
    <built-in method append of dbus.lowlevel.SignalMessage object at remote 0x2699d68>) at /usr/src/debug/Python-2.7.3/Python/ceval.c:4408
#9  PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at /usr/src/debug/Python-2.7.3/Python/ceval.c:2779
#10 0x0000003c6e0e19a5 in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=
    2, kws=0x2473ee8, kwcount=0, defs=0x0, defcount=0, closure=
    (<cell at remote 0x29a8280>, <cell at remote 0x29a82b8>, <cell at remote 0x29a82f0>, <cell at remote 0x29a8398>, <cell at remote 0x29a8360>, <cell at remote 0x29a8328>)) at /usr/src/debug/Python-2.7.3/Python/ceval.c:3330
#11 0x0000003c6e0dff03 in fast_function (nk=<optimized out>, na=2, n=<optimized out>, pp_stack=0x7fffb9abcd98, func=<function at remote 0x29a7848>)
    at /usr/src/debug/Python-2.7.3/Python/ceval.c:4194
#12 call_function (oparg=<optimized out>, pp_stack=0x7fffb9abcd98) at /usr/src/debug/Python-2.7.3/Python/ceval.c:4119
#13 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at /usr/src/debug/Python-2.7.3/Python/ceval.c:2740
#14 0x0000003c6e0e19a5 in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=
    2, kws=0x7fb5c6952068, kwcount=0, defs=0x0, defcount=0, closure=0x0) at /usr/src/debug/Python-2.7.3/Python/ceval.c:3330
#15 0x0000003c6e06e093 in function_call (func=<function at remote 0x29a7e60>, arg=
    (<AutoPlayer(_connection=<SessionBus(_bus_type=0, _signals_lock=<thread.lock at remote 0x7fb5c69138f0>, _Connection__call_on_disconnection=[], _dbus_Connection_initialized=1, _bus_names=<WeakValueDictionary(_remove=<function at remote 0x2b26c08>, data={'org.mpris.MediaPlayer2.AutoPlayer': <KeyedRef at remote 0x2a44ad0>}) at remote 0x2d8c5a8>, _signal_sender_matches={}, _signal_recipients_by_object_path={'/org/freedesktop/DBus': {None: {'NameOwnerChanged': [<SignalMatch at remote 0x2c30950>]}}}) at remote 0x2a247d0>, _bus_name=<BusName(_name='org.mpris.MediaPlayer2.AutoPlayer', _bus=<...>) at remote 0x2b1d510>, _locations=[(<...>, '/org/mpris/MediaPlayer2', False)], _uname=':1.231', _bus=<...>, player=<Player(playlist=<Playlist_mpris2(current='646', position=104833084000, _OrderedDict__root=[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[...(truncated), kw={}) at /usr/src/debug/Python-2.7.3/Objects/funcobject.c:526
---Type <return> to continue, or q <return> to quit---
#16 0x0000003c6e049383 in PyObject_Call (func=<function at remote 0x29a7e60>, arg=<optimized out>, kw=<optimized out>)
    at /usr/src/debug/Python-2.7.3/Objects/abstract.c:2529
#17 0x0000003c6e0dc76f in ext_do_call (nk=0, na=<optimized out>, flags=<optimized out>, pp_stack=0x7fffb9abd058, func=
    <function at remote 0x29a7e60>) at /usr/src/debug/Python-2.7.3/Python/ceval.c:4411
#18 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at /usr/src/debug/Python-2.7.3/Python/ceval.c:2779
#19 0x0000003c6e0e19a5 in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=
    3, kws=0x2bdd990, kwcount=0, defs=0x0, defcount=0, closure=0x0) at /usr/src/debug/Python-2.7.3/Python/ceval.c:3330
#20 0x0000003c6e06df9c in function_call (func=<function at remote 0x29a5aa0>, arg=
    (<AutoPlayer(_connection=<SessionBus(_bus_type=0, _signals_lock=<thread.lock at remote 0x7fb5c69138f0>, _Connection__call_on_disconnection=[], _dbus_Connection_initialized=1, _bus_names=<WeakValueDictionary(_remove=<function at remote 0x2b26c08>, data={'org.mpris.MediaPlayer2.AutoPlayer': <KeyedRef at remote 0x2a44ad0>}) at remote 0x2d8c5a8>, _signal_sender_matches={}, _signal_recipients_by_object_path={'/org/freedesktop/DBus': {None: {'NameOwnerChanged': [<SignalMatch at remote 0x2c30950>]}}}) at remote 0x2a247d0>, _bus_name=<BusName(_name='org.mpris.MediaPlayer2.AutoPlayer', _bus=<...>) at remote 0x2b1d510>, _locations=[(<...>, '/org/mpris/MediaPlayer2', False)], _uname=':1.231', _bus=<...>, player=<Player(playlist=<Playlist_mpris2(current='646', position=104833084000, _OrderedDict__root=[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[...(truncated), kw=0x0) at /usr/src/debug/Python-2.7.3/Objects/funcobject.c:526
#21 0x0000003c6e049383 in PyObject_Call (func=<function at remote 0x29a5aa0>, arg=<optimized out>, kw=<optimized out>)
    at /usr/src/debug/Python-2.7.3/Objects/abstract.c:2529
#22 0x0000003c6e05801f in instancemethod_call (func=<function at remote 0x29a5aa0>, arg=
    (<AutoPlayer(_connection=<SessionBus(_bus_type=0, _signals_lock=<thread.lock at remote 0x7fb5c69138f0>, _Connection__call_on_disconnection=[], _dbus_Connection_initialized=1, _bus_names=<WeakValueDictionary(_remove=<function at remote 0x2b26c08>, data={'org.mpris.MediaPlayer2.AutoPlayer': <KeyedRef at remote 0x2a44ad0>}) at remote 0x2d8c5a8>, _signal_sender_matches={}, _signal_recipients_by_object_path={'/org/freedesktop/DBus': {None: {'NameOwnerChanged': [<SignalMatch at remote 0x2c30950>]}}}) at remote 0x2a247d0>, _bus_name=<BusName(_name='org.mpris.MediaPlayer2.AutoPlayer', _bus=<...>) at remote 0x2b1d510>, _locations=[(<...>, '/org/mpris/MediaPlayer2', False)], _uname=':1.231', _bus=<...>, player=<Player(playlist=<Playlist_mpris2(current='646', position=104833084000, _OrderedDict__root=[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[...(truncated), kw=0x0) at /usr/src/debug/Python-2.7.3/Objects/classobject.c:2578
#23 0x0000003c6e049383 in PyObject_Call (func=<instancemethod at remote 0x2d95190>, arg=<optimized out>, kw=<optimized out>)
    at /usr/src/debug/Python-2.7.3/Objects/abstract.c:2529
#24 0x0000003c6e049ba0 in PyObject_CallFunctionObjArgs (callable=<instancemethod at remote 0x2d95190>)
    at /usr/src/debug/Python-2.7.3/Objects/abstract.c:2760
#25 0x00007fb5bce9ec0b in DBusPyConnection_HandleMessage (conn=<optimized out>, msg=<optimized out>, callable=<optimized out>) at conn.c:79
#26 0x00007fb5bce9f8ce in _object_path_message (conn=<optimized out>, message=<optimized out>, user_data=<optimized out>) at conn-methods.c:119
#27 0x00000036bce1db31 in _dbus_object_tree_dispatch_and_unlock (tree=0x29cf9c0, message=0x2e54920) at dbus-object-tree.c:858
---Type <return> to continue, or q <return> to quit---
#28 0x00000036bce0faa0 in dbus_connection_dispatch (connection=0x2bc6d60) at dbus-connection.c:4685
#29 0x00000036bd60abf5 in message_queue_dispatch (source=<optimized out>, callback=<optimized out>, user_data=<optimized out>) at dbus-gmain.c:90
#30 0x0000003973644f3d in g_main_dispatch (context=0x2a543c0) at gmain.c:2441
#31 g_main_context_dispatch (context=0x2a543c0) at gmain.c:3011
#32 0x0000003973645738 in g_main_context_iterate (context=0x2a543c0, block=<optimized out>, dispatch=1, self=<optimized out>) at gmain.c:3089
#33 0x0000003973645c85 in g_main_loop_run (loop=0x2a04f80) at gmain.c:3297
#34 0x00007fb5bf281ed1 in _wrap_g_main_loop_run (self=0x7fb5c69138d0) at pygmainloop.c:331
#35 0x0000003c6e0dff3b in call_function (oparg=<optimized out>, pp_stack=0x7fffb9abd9d8) at /usr/src/debug/Python-2.7.3/Python/ceval.c:4082
#36 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at /usr/src/debug/Python-2.7.3/Python/ceval.c:2740
#37 0x0000003c6e0e19a5 in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=
    2, kws=0x29e8338, kwcount=0, defs=0x29a02f0, defcount=2, closure=0x0) at /usr/src/debug/Python-2.7.3/Python/ceval.c:3330
#38 0x0000003c6e0dff03 in fast_function (nk=<optimized out>, na=2, n=<optimized out>, pp_stack=0x7fffb9abdbc8, func=<function at remote 0x29a5cf8>)
    at /usr/src/debug/Python-2.7.3/Python/ceval.c:4194
#39 call_function (oparg=<optimized out>, pp_stack=0x7fffb9abdbc8) at /usr/src/debug/Python-2.7.3/Python/ceval.c:4119
#40 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at /usr/src/debug/Python-2.7.3/Python/ceval.c:2740
#41 0x0000003c6e0e075e in fast_function (nk=<optimized out>, na=1, n=<optimized out>, pp_stack=0x7fffb9abdd08, func=<function at remote 0x2a16320>)
    at /usr/src/debug/Python-2.7.3/Python/ceval.c:4184
#42 call_function (oparg=<optimized out>, pp_stack=0x7fffb9abdd08) at /usr/src/debug/Python-2.7.3/Python/ceval.c:4119
#43 PyEval_EvalFrameEx (f=<optimized out>, throwflag=<optimized out>) at /usr/src/debug/Python-2.7.3/Python/ceval.c:2740
#44 0x0000003c6e0e19a5 in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=
    0, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at /usr/src/debug/Python-2.7.3/Python/ceval.c:3330
#45 0x0000003c6e0e1ad2 in PyEval_EvalCode (co=<optimized out>, globals=<optimized out>, locals=<optimized out>)
    at /usr/src/debug/Python-2.7.3/Python/ceval.c:689
#46 0x0000003c6e0fbd5c in run_mod (mod=<optimized out>, filename=<optimized out>, globals=
    {'GstMad': <GObjectMeta(__gtype__=<gobject.GType at remote 0x2cee600>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.player') at remote 0x2e54eb0>, 'GstURIDecodeBin': <GObjectMeta(__gtype__=<gobject.GType at remote 0x2699600>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.player') at remote 0x2470a80>, 'GstBaseAudioSink': <GObjectMeta(__gtype__=<gobject.GType at remote 0x2cee690>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.player') at remote 0x2e58150>, 'player': <module at remote 0x7fb5bf69b248>, 'GstAutoAudioSink': <GObjectMeta(__gtype__=<gobject.GType at remote 0x26995a0>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.player') at remote 0x2c09800>, 'GstPlaySink': <GObjectMeta(__gtype__=<gobject.GType at remote 0x26992e8>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.playe...(truncated), locals=
    {'GstMad': <GObjectMeta(__gtype__=<gobject.GType at remote 0x2cee600>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.player') at remote 0x2e54eb0>, 'GstURIDecodeBin': <GObjectMeta(__gtype__=<gobject.GType at remote 0x2699600>, __doc__=<gobject.G---Type <return> to continue, or q <return> to quit---
Object.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.player') at remote 0x2470a80>, 'GstBaseAudioSink': <GObjectMeta(__gtype__=<gobject.GType at remote 0x2cee690>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.player') at remote 0x2e58150>, 'player': <module at remote 0x7fb5bf69b248>, 'GstAutoAudioSink': <GObjectMeta(__gtype__=<gobject.GType at remote 0x26995a0>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.player') at remote 0x2c09800>, 'GstPlaySink': <GObjectMeta(__gtype__=<gobject.GType at remote 0x26992e8>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.playe...(truncated), flags=<optimized out>, arena=<optimized out>) at /usr/src/debug/Python-2.7.3/Python/pythonrun.c:1361
#47 0x0000003c6e0fcb60 in PyRun_FileExFlags (fp=0x21f8810, filename=0x7fffb9abf304 "./autoplayerd", start=<optimized out>, globals=
    {'GstMad': <GObjectMeta(__gtype__=<gobject.GType at remote 0x2cee600>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.player') at remote 0x2e54eb0>, 'GstURIDecodeBin': <GObjectMeta(__gtype__=<gobject.GType at remote 0x2699600>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.player') at remote 0x2470a80>, 'GstBaseAudioSink': <GObjectMeta(__gtype__=<gobject.GType at remote 0x2cee690>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.player') at remote 0x2e58150>, 'player': <module at remote 0x7fb5bf69b248>, 'GstAutoAudioSink': <GObjectMeta(__gtype__=<gobject.GType at remote 0x26995a0>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.player') at remote 0x2c09800>, 'GstPlaySink': <GObjectMeta(__gtype__=<gobject.GType at remote 0x26992e8>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.playe...(truncated), locals=
    {'GstMad': <GObjectMeta(__gtype__=<gobject.GType at remote 0x2cee600>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.player') at remote 0x2e54eb0>, 'GstURIDecodeBin': <GObjectMeta(__gtype__=<gobject.GType at remote 0x2699600>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.player') at remote 0x2470a80>, 'GstBaseAudioSink': <GObjectMeta(__gtype__=<gobject.GType at remote 0x2cee690>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.player') at remote 0x2e58150>, 'player': <module at remote 0x7fb5bf69b248>, 'GstAutoAudioSink': <GObjectMeta(__gtype__=<gobject.GType at remote 0x26995a0>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.player') at remote 0x2c09800>, 'GstPlaySink': <GObjectMeta(__gtype__=<gobject.GType at remote 0x26992e8>, __doc__=<gobject.GObject.__doc__ at remote 0x7fb5c69150b0>, __module__='autoradio.autoplayer.playe...(truncated), closeit=1, flags=0x7fffb9abe030) at /usr/src/debug/Python-2.7.3/Python/pythonrun.c:1347
#48 0x0000003c6e0fd5df in PyRun_SimpleFileExFlags (fp=0x21f8810, filename=0x7fffb9abf304 "./autoplayerd", closeit=1, flags=0x7fffb9abe030)
    at /usr/src/debug/Python-2.7.3/Python/pythonrun.c:951
#49 0x0000003c6e10ef15 in Py_Main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/Python-2.7.3/Modules/main.c:639
#50 0x000000397122169d in __libc_start_main (main=0x400620 <main>, argc=3, ubp_av=0x7fffb9abe158, init=<optimized out>, fini=<optimized out>, 
    rtld_fini=<optimized out>, stack_end=0x7fffb9abe148) at libc-start.c:226
#51 0x0000000000400651 in _start ()





