Changeset 0c6e14df5441f6bc5bf3fbfa4efbd7be453014c6

Show
Ignore:
Timestamp:
06/12/03 23:41:40 (5 years ago)
Author:
Jean-Paul Saman <jpsaman@videolan.org>
git-committer:
Jean-Paul Saman <jpsaman@videolan.org> 1070750500 +0000
git-parent:

[8c4be7494eaadf68b05f38db4bfbdbf788d1cddf]

git-author:
Jean-Paul Saman <jpsaman@videolan.org> 1070750500 +0000
Message:

PDA Interface:
- Fixed last segmentation fault.
- Slider and time progress updating.

This makes the new PDA interface almost complete. It misses the following items still:
- preference panel
- changing postion in stream with slider widget.

The missing items above will move to the next release of VLC. Now testing and package building for iPAQ will begin. I expect to have a package at the end of the week.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • modules/gui/pda/pda.c

    rc3638c4 r0c6e14d  
    33 ***************************************************************************** 
    44 * Copyright (C) 2002 VideoLAN 
    5  * $Id: pda.c,v 1.16 2003/12/04 10:25:47 gbazin Exp $ 
     5 * $Id: pda.c,v 1.17 2003/12/06 22:41:40 jpsaman Exp $ 
    66 * 
    77 * Authors: Jean-Paul Saman <jpsaman@wxs.nl> 
     
    5050void GtkAutoPlayFile     ( vlc_object_t * ); 
    5151static int Manage        ( intf_thread_t *p_intf ); 
    52 void E_(GtkDisplayDate)  ( GtkAdjustment *p_adj ); 
     52void E_(GtkDisplayDate)  ( GtkAdjustment *p_adj, gpointer userdata ); 
    5353gint E_(GtkModeManage)   ( intf_thread_t * p_intf ); 
    5454 
     
    191191     
    192192    /* Get the slider object */ 
    193     p_intf->p_sys->p_slider = GTK_HSCALE( gtk_object_get_data( 
    194         GTK_OBJECT( p_intf->p_sys->p_window ), "timeSlider" ) ); 
    195     p_intf->p_sys->p_slider_label = GTK_LABEL( gtk_object_get_data( 
    196         GTK_OBJECT( p_intf->p_sys->p_window ), "timeLabel" ) ); 
    197  
     193    p_intf->p_sys->p_slider = (GtkHScale*) lookup_widget( p_intf->p_sys->p_window, "timeSlider" ); 
     194    p_intf->p_sys->p_slider_label = (GtkLabel*) lookup_widget( p_intf->p_sys->p_window, "timeLabel" ); 
    198195    if (p_intf->p_sys->p_slider == NULL) 
    199196        msg_Err( p_intf, "Time slider widget not found." ); 
     
    201198        msg_Err( p_intf, "Time label widget not found." ); 
    202199 
    203 #if 0 
    204200    /* Connect the date display to the slider */ 
    205     msg_Dbg( p_intf, "setting slider adjustment ... " ); 
    206 #define P_SLIDER GTK_RANGE( gtk_object_get_data( \ 
    207                          GTK_OBJECT( p_intf->p_sys->p_window ), "timeSlider" ) ) 
    208     p_intf->p_sys->p_adj = gtk_range_get_adjustment( P_SLIDER ); 
     201    p_intf->p_sys->p_adj = gtk_range_get_adjustment( GTK_RANGE(p_intf->p_sys->p_slider) ); 
    209202    if (p_intf->p_sys->p_adj == NULL) 
    210203        msg_Err( p_intf, "Adjustment range not found." ); 
    211     gtk_signal_connect ( GTK_OBJECT( p_intf->p_sys->p_adj ), "value_changed", 
    212                          GTK_SIGNAL_FUNC( E_(GtkDisplayDate) ), NULL ); 
     204    g_signal_connect( GTK_OBJECT( p_intf->p_sys->p_adj ), "value_changed", 
     205                         G_CALLBACK( E_(GtkDisplayDate) ), p_intf ); 
    213206    p_intf->p_sys->f_adj_oldvalue = 0; 
    214207    p_intf->p_sys->i_adj_oldvalue = 0; 
    215 #undef P_SLIDER 
    216     msg_Dbg( p_intf, "setting slider adjustment ... done" ); 
    217 #endif 
    218208 
    219209    /* BEGIN OF FILEVIEW GTK_TREE_VIEW */ 
     
    450440 
    451441            /* Manage the slider */ 
     442#define p_area p_input->stream.p_selected_area 
    452443            if (p_intf->p_libvlc->i_cpu & CPU_CAPABILITY_FPU) 
    453444            { 
     
    457448                    float newvalue = p_intf->p_sys->p_adj->value; 
    458449 
    459 #define p_area p_input->stream.p_selected_area 
    460450                    /* If the user hasn't touched the slider since the last time, 
    461451                     * then the input can safely change it */ 
     
    466456                        p_intf->p_sys->f_adj_oldvalue = 
    467457                            ( 100. * p_area->i_tell ) / p_area->i_size; 
    468                         gtk_signal_emit_by_name( GTK_OBJECT( p_intf->p_sys->p_adj ), 
     458                        g_signal_emit_by_name( GTK_OBJECT( p_intf->p_sys->p_adj ), 
    469459                                                 "value_changed" ); 
    470460                    } 
     
    483473                        p_intf->p_sys->f_adj_oldvalue = newvalue; 
    484474                    } 
    485 #undef p_area 
    486475                } 
    487476            } 
     
    493482                    off_t newvalue = p_intf->p_sys->p_adj->value; 
    494483 
    495 #define p_area p_input->stream.p_selected_area 
    496484                    /* If the user hasn't touched the slider since the last time, 
    497485                     * then the input can safely change it */ 
     
    502490                        p_intf->p_sys->i_adj_oldvalue = 
    503491                            ( 100 * p_area->i_tell ) / p_area->i_size; 
    504                         gtk_signal_emit_by_name( GTK_OBJECT( p_intf->p_sys->p_adj ), 
     492                        g_signal_emit_by_name( GTK_OBJECT( p_intf->p_sys->p_adj ), 
    505493                                                 "value_changed" ); 
    506494                    } 
     
    519507                        p_intf->p_sys->i_adj_oldvalue = newvalue; 
    520508                    } 
    521 #undef p_area 
    522509                } 
    523510            } 
     511#undef p_area 
    524512        } 
    525513        vlc_mutex_unlock( &p_input->stream.stream_lock ); 
     
    555543 * The lock has to be taken before you call the function. 
    556544 *****************************************************************************/ 
    557 void E_(GtkDisplayDate)( GtkAdjustment *p_adj
     545void E_(GtkDisplayDate)( GtkAdjustment *p_adj, gpointer userdata
    558546{ 
    559547    intf_thread_t *p_intf; 
    560548 
    561     p_intf = gtk_object_get_data( GTK_OBJECT( p_adj ), "p_intf" ); 
    562  
    563 #ifdef WIN32 
     549    p_intf = (intf_thread_t*) userdata; 
     550    if (p_intf == NULL) 
     551        return; 
     552 
    564553    if( p_intf->p_sys->p_input ) 
    565554    { 
     
    572561#undef p_area 
    573562     } 
    574 #endif 
    575563} 
    576564 
     
    583571gint E_(GtkModeManage)( intf_thread_t * p_intf ) 
    584572{ 
    585     GtkWidget *     p_slider
     573    GtkWidget *     p_slider = NULL
    586574    vlc_bool_t      b_control; 
    587575 
    588 #define GETWIDGET( ptr, name ) GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( \ 
    589                            p_intf->p_sys->ptr ) , ( name ) ) ) 
    590     /* hide slider */ 
    591     p_slider = GTK_WIDGET( gtk_object_get_data( GTK_OBJECT( 
    592                            p_intf->p_sys->p_window ), "slider" ) ); 
    593     gtk_widget_hide( GTK_WIDGET( p_slider ) ); 
     576    if ( p_intf->p_sys->p_window == NULL ) 
     577        msg_Err( p_intf, "Main widget not found" ); 
     578 
     579    p_slider = lookup_widget( p_intf->p_sys->p_window, "timeSlider"); 
     580    if (p_slider == NULL) 
     581        msg_Err( p_intf, "Slider widget not found" ); 
    594582 
    595583    /* controls unavailable */ 
     
    602590        if( p_intf->p_sys->p_input->stream.b_seekable ) 
    603591        { 
    604             msg_Dbg( p_intf, "Updating slider widget" ); 
    605             if (p_intf->p_libvlc->i_cpu & CPU_CAPABILITY_FPU) 
    606                 p_intf->p_sys->p_adj->value = p_intf->p_sys->f_adj_oldvalue = 0; 
    607             else 
    608                 p_intf->p_sys->p_adj->value = p_intf->p_sys->i_adj_oldvalue = 0; 
    609             gtk_signal_emit_by_name( GTK_OBJECT( p_intf->p_sys->p_adj ), 
    610                                      "value_changed" ); 
    611592            gtk_widget_show( GTK_WIDGET( p_slider ) ); 
    612593        } 
     594        else 
     595        { 
     596            /* hide slider */ 
     597            gtk_widget_hide( GTK_WIDGET( p_slider ) ); 
     598        } 
    613599 
    614600        /* control buttons for free pace streams */ 
     
    620606 
    621607    /* set control items */ 
    622     gtk_widget_set_sensitive( GETWIDGET(p_window, "tbRewind"), b_control ); 
    623     gtk_widget_set_sensitive( GETWIDGET(p_window, "tbPause"), b_control ); 
    624     gtk_widget_set_sensitive( GETWIDGET(p_window, "tbForward"), b_control ); 
    625  
    626 #undef GETWIDGET 
     608    gtk_widget_set_sensitive( lookup_widget( p_intf->p_sys->p_window, "tbRewind"), b_control ); 
     609    gtk_widget_set_sensitive( lookup_widget( p_intf->p_sys->p_window, "tbPause"), b_control ); 
     610    gtk_widget_set_sensitive( lookup_widget( p_intf->p_sys->p_window, "tbForward"), b_control ); 
    627611    return TRUE; 
    628612} 
  • modules/gui/pda/pda.glade

    r9ac4974 r0c6e14d  
    152152      <property name="value_pos">GTK_POS_RIGHT</property> 
    153153      <property name="digits">3</property> 
    154       <property name="update_policy">GTK_UPDATE_CONTINUOUS</property> 
     154      <property name="update_policy">GTK_UPDATE_DISCONTINUOUS</property> 
    155155      <property name="inverted">False</property> 
    156       <property name="adjustment">3 0 100 1 6.25 0</property> 
     156      <property name="adjustment">0 0 100 1 6.25 0</property> 
    157157      <signal name="button_release_event" handler="SliderRelease" last_modification_time="Fri, 26 Sep 2003 12:28:09 GMT"/> 
    158158      <signal name="button_press_event" handler="SliderPress" last_modification_time="Fri, 26 Sep 2003 12:28:14 GMT"/> 
     159      <signal name="move_slider" handler="SliderMove" last_modification_time="Sat, 06 Dec 2003 22:37:00 GMT"/> 
    159160    </widget> 
    160161    <packing> 
     
    18101811                  <property name="visibility">True</property> 
    18111812                  <property name="max_length">0</property> 
    1812                   <property name="text" translatable="yes">huffyuv</property> 
     1813                  <property name="text" translatable="yes"></property> 
    18131814                  <property name="has_frame">True</property> 
    18141815                  <property name="invisible_char" translatable="yes">*</property> 
     
    21512152                  <property name="visibility">True</property> 
    21522153                  <property name="max_length">0</property> 
    2153                   <property name="text" translatable="yes">127.0.0.1</property> 
     2154                  <property name="text" translatable="yes"></property> 
    21542155                  <property name="has_frame">True</property> 
    21552156                  <property name="invisible_char" translatable="yes">*</property> 
     
    22222223                  <property name="visibility">True</property> 
    22232224                  <property name="max_length">0</property> 
    2224                   <property name="text" translatable="yes">ps</property> 
     2225                  <property name="text" translatable="yes"></property> 
    22252226                  <property name="has_frame">True</property> 
    22262227                  <property name="invisible_char" translatable="yes">*</property> 
     
    23472348                  <property name="visibility">True</property> 
    23482349                  <property name="max_length">0</property> 
    2349                   <property name="text" translatable="yes">alaw</property> 
     2350                  <property name="text" translatable="yes"></property> 
    23502351                  <property name="has_frame">True</property> 
    23512352                  <property name="invisible_char" translatable="yes">*</property> 
     
    25442545                  <property name="visibility">True</property> 
    25452546                  <property name="max_length">0</property> 
    2546                   <property name="text" translatable="yes">udp</property> 
     2547                  <property name="text" translatable="yes"></property> 
    25472548                  <property name="has_frame">True</property> 
    25482549                  <property name="invisible_char" translatable="yes">*</property> 
  • modules/gui/pda/pda_callbacks.c

    r9ac4974 r0c6e14d  
    33 ***************************************************************************** 
    44 * Copyright (C) 2000, 2001 VideoLAN 
    5  * $Id: pda_callbacks.c,v 1.21 2003/11/30 23:19:13 jpsaman Exp $ 
     5 * $Id: pda_callbacks.c,v 1.22 2003/12/06 22:41:40 jpsaman Exp $ 
    66 * 
    77 * Authors: Jean-Paul Saman <jpsaman@wxs.nl> 
     
    432432    intf_thread_t *p_intf = GtkGetIntf( widget ); 
    433433 
     434    msg_Dbg( p_intf, "SliderButton Release" ); 
    434435    vlc_mutex_lock( &p_intf->change_lock ); 
    435436    p_intf->p_sys->b_slider_free = 1; 
     
    444445    intf_thread_t *p_intf = GtkGetIntf( widget ); 
    445446 
     447    msg_Dbg( p_intf, "SliderButton Press" ); 
    446448    vlc_mutex_lock( &p_intf->change_lock ); 
    447449    p_intf->p_sys->b_slider_free = 0; 
     
    450452    return TRUE; 
    451453} 
     454 
     455void SliderMove(GtkRange *range, GtkScrollType scroll, gpointer user_data) 
     456{ 
     457    intf_thread_t *p_intf = GtkGetIntf( range ); 
     458    msg_Dbg( p_intf, "SliderButton Move" ); 
     459} 
     460 
    452461 
    453462void addSelectedToPlaylist(GtkTreeModel *model, GtkTreePath *path, 
     
    10821091    GtkCheckButton *p_checkSLP = NULL; 
    10831092    GtkEntry       *p_entryStdAccess = NULL; 
    1084     const gchar    *p_std_access;     
     1093    const gchar    *p_std_access = NULL;     
    10851094    gboolean        b_announce = FALSE; 
    10861095 
  • modules/gui/pda/pda_callbacks.h

    r9ac4974 r0c6e14d  
    33 ***************************************************************************** 
    44 * Copyright (C) 2003 VideoLAN 
    5  * $Id: pda_callbacks.h,v 1.10 2003/11/30 23:19:13 jpsaman Exp $ 
     5 * $Id: pda_callbacks.h,v 1.11 2003/12/06 22:41:40 jpsaman Exp $ 
    66 * 
    77 * Authors: Jean-Paul Saman <jpsaman@wxs.nl> 
     
    149149onEntryStdAccessChanged                (GtkEditable     *editable, 
    150150                                        gpointer         user_data); 
     151 
     152void 
     153SliderMove                             (GtkRange        *range, 
     154                                        GtkScrollType    scroll, 
     155                                        gpointer         user_data); 
     156 
  • modules/gui/pda/pda_interface.c

    r9ac4974 r0c6e14d  
    310310  gtk_toolbar_append_widget (GTK_TOOLBAR (toolbar), timeLabel, NULL, NULL); 
    311311 
    312   timeSlider = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (3, 0, 100, 1, 6.25, 0))); 
     312  timeSlider = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 1, 6.25, 0))); 
    313313  gtk_widget_set_name (timeSlider, "timeSlider"); 
    314314  gtk_widget_show (timeSlider); 
     
    317317  gtk_scale_set_value_pos (GTK_SCALE (timeSlider), GTK_POS_RIGHT); 
    318318  gtk_scale_set_digits (GTK_SCALE (timeSlider), 3); 
     319  gtk_range_set_update_policy (GTK_RANGE (timeSlider), GTK_UPDATE_DISCONTINUOUS); 
    319320 
    320321  notebook = gtk_notebook_new (); 
     
    894895  gtk_widget_set_name (entryVideoCodec, "entryVideoCodec"); 
    895896  gtk_widget_show (entryVideoCodec); 
    896   gtk_entry_set_text (GTK_ENTRY (entryVideoCodec), _("huffyuv")); 
    897897  gtk_entry_set_activates_default (GTK_ENTRY (entryVideoCodec), TRUE); 
    898898 
     
    10041004  gtk_widget_set_name (entryStdURL, "entryStdURL"); 
    10051005  gtk_widget_show (entryStdURL); 
    1006   gtk_entry_set_text (GTK_ENTRY (entryStdURL), _("127.0.0.1")); 
    10071006  gtk_entry_set_activates_default (GTK_ENTRY (entryStdURL), TRUE); 
    10081007 
     
    10291028  gtk_widget_set_name (entryStdMuxer, "entryStdMuxer"); 
    10301029  gtk_widget_show (entryStdMuxer); 
    1031   gtk_entry_set_text (GTK_ENTRY (entryStdMuxer), _("ps")); 
    10321030  gtk_entry_set_activates_default (GTK_ENTRY (entryStdMuxer), TRUE); 
    10331031 
     
    10621060  gtk_widget_set_name (entryAudioCodec, "entryAudioCodec"); 
    10631061  gtk_widget_show (entryAudioCodec); 
    1064   gtk_entry_set_text (GTK_ENTRY (entryAudioCodec), _("alaw")); 
    10651062  gtk_entry_set_activates_default (GTK_ENTRY (entryAudioCodec), TRUE); 
    10661063 
     
    11321129  gtk_widget_set_name (entryStdAccess, "entryStdAccess"); 
    11331130  gtk_widget_show (entryStdAccess); 
    1134   gtk_entry_set_text (GTK_ENTRY (entryStdAccess), _("udp")); 
    11351131  gtk_entry_set_activates_default (GTK_ENTRY (entryStdAccess), TRUE); 
    11361132 
     
    13711367  g_signal_connect ((gpointer) timeSlider, "button_press_event", 
    13721368                    G_CALLBACK (SliderPress), 
     1369                    NULL); 
     1370  g_signal_connect ((gpointer) timeSlider, "move_slider", 
     1371                    G_CALLBACK (SliderMove), 
    13731372                    NULL); 
    13741373  g_signal_connect ((gpointer) tvFileList, "row_activated",