Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=frugalware-current.git;a=commitdiff;h=36d58b9340b548200beec84767c46c2464ab5b58

commit 36d58b9340b548200beec84767c46c2464ab5b58
Author: crazy <[EMAIL PROTECTED]>
Date:   Sun Jun 8 16:09:43 2008 +0200

vlc-0.8.6-18-x86_64
* Version bump to patchlevel 'h'
* added a note about live being broken at the moment
* fixed typo for mad in Fconf
* added libmodplug and libmpcdec to depends
* added backport patch from 0.9 to fix broken volume
* display with wx28 , this closes FS#2859 in -current

diff --git a/source/xmultimedia-extra/vlc/FrugalBuild 
b/source/xmultimedia-extra/vlc/FrugalBuild
index 134b393..d34aa03 100644
--- a/source/xmultimedia-extra/vlc/FrugalBuild
+++ b/source/xmultimedia-extra/vlc/FrugalBuild
@@ -4,15 +4,14 @@

pkgname=vlc
pkgver=0.8.6
-pkgextraver=g
-pkgrel=17
+pkgextraver=h
+pkgrel=18
pkgdesc="The cross-platform media player and streaming server."
url="http://www.videolan.org/vlc/";
depends=('alsa-lib' 'dbus-glib>=0.71' 'hal>=0.5.7.1-3' 'libxml2' 'libdvdnav' 
'libmad' 'libmatroska' \
-        'mpeg2dec' 'ffmpeg>=20080427' 'fribidi' 'wxgtk-u8>=2.8.7' 'live' 
'speex>=1.2beta3.2' 'libdca' \
-        'sysfsutils' 'mesa' 'libdvbpsi' 'libxv' 'sdlimage' 'libcdio' \
-        'libid3tag' 'libtheora' 'faad2' 'xvidcore' 'libtheora' 
'libebml>=0.7.8' \
-        'libtar')
+        'mpeg2dec' 'ffmpeg>=20080427' 'fribidi' 'wxgtk-u8>=2.8.7' 
'speex>=1.2beta3.2' 'libdca' \
+        'sysfsutils' 'mesa' 'libdvbpsi' 'libxv' 'sdlimage' 'libcdio' 
'libid3tag' 'libtheora' 'faad2' \
+        'xvidcore' 'libtheora' 'libebml>=0.7.8' 'libmpcdec' 'libmodplug')
makedepends=('firefox' 'samba' 'cvs')
options=('scriptlet')
groups=('xmultimedia-extra')
@@ -20,11 +19,12 @@ archs=('i686' 'x86_64')
up2date="lynx -dump $url/download-sources.html|grep -m1 'Latest VLC'|sed 
's/.*(\(.*\)).*/\1/;s/$pkgextraver//'"
source=(http://download.videolan.org/pub/videolan/vlc/$pkgver$pkgextraver/$pkgname-$pkgver$pkgextraver.tar.bz2
 \
$pkgname.desktop vlc-0.8.5-libintl.diff \
-       libdca.patch)
-sha1sums=('6dab0e1593607d3a1ee585ba009b99627477f467' \
+       libdca.patch vlc-0.8.x-wx28-volume-backport.patch)
+sha1sums=('142ff3362e46681ee2ace6276c4add5905d210ca' \
'0c58c35fe47c4d14cd4d4c8c505863dbfc93f5e0' \
'50bfbc12fc0ad94178b2e08df22a0b26da36c1d5' \
-          'edc3a14dfd9b022dca7593e006c324fa5cc17e48')
+          'edc3a14dfd9b022dca7593e006c324fa5cc17e48' \
+          'd039b606217ab166e4fa3e50d91a0285478dab24')

build()
{
@@ -38,21 +38,21 @@ build()
./bootstrap || return 1
#autoconf || Fdie
Fconf \
+               --enable-mpc \
--enable-faad \
--enable-dvdread \
--enable-dvdnav \
-               --enable-madi \
+               --enable-mad \
--enable-ffmpeg \
--enable-theora \
--disable-rpath \
--disable-nls \
+               --disable-optimizations \
--enable-alsa \
--disable-skins2 \
--enable-mozilla \
--enable-v4l \
--enable-realrtsp \
-               --enable-live555 \
-               --with-live555-tree=/usr/lib/live \
--enable-speex \
--enable-wxwidgets \
--with-wx-config=wx-config-u8 \
@@ -62,6 +62,8 @@ build()
--with-dvbpsi=/usr/include/dvbpsi \
--enable-libtool \
--with-ffmpeg-{mp3lame,faac,faad,dts,vorbis,theora,ogg}
+       ## broken , fpm size grows to near 70M , disabled for now
+       # --enable-live555 --with-live555-tree=/usr/lib/live
Fsed '%{idldir}' '/usr/share/idl/firefox' mozilla/Makefile
make || return 1
Fmakeinstall plugindir=/usr/lib/mozilla/plugins/ \
diff --git a/source/xmultimedia-extra/vlc/vlc-0.8.x-wx28-volume-backport.patch 
b/source/xmultimedia-extra/vlc/vlc-0.8.x-wx28-volume-backport.patch
new file mode 100644
index 0000000..05d89e1
--- /dev/null
+++ b/source/xmultimedia-extra/vlc/vlc-0.8.x-wx28-volume-backport.patch
@@ -0,0 +1,286 @@
+diff -Naurp vlc-0.8.6h/modules/gui/wxwidgets/interface.cpp 
vlc-0.8.6h-fw-backport/modules/gui/wxwidgets/interface.cpp
+--- vlc-0.8.6h/modules/gui/wxwidgets/interface.cpp     2008-05-25 
20:28:57.000000000 +0200
++++ vlc-0.8.6h-fw-backport/modules/gui/wxwidgets/interface.cpp 2008-06-08 
15:55:02.000000000 +0200
+@@ -67,7 +67,7 @@
+ /*****************************************************************************
+  * Local prototypes
+  
*****************************************************************************/
+-static int InteractCallback( vlc_object_t *, const char *, vlc_value_t,
++ static int InteractCallback( vlc_object_t *, const char *, vlc_value_t,
+                              vlc_value_t, void *);
+
+ /*****************************************************************************
+@@ -93,33 +93,6 @@ private:
+
+ };
+
+-class wxVolCtrl;
+-class VLCVolCtrl : public wxControl
+-{
+-public:
+-    VLCVolCtrl( intf_thread_t *p_intf, wxWindow *p_parent );
+-    virtual ~VLCVolCtrl() {};
+-
+-    virtual void OnPaint( wxPaintEvent &event );
+-    void OnChange( wxMouseEvent& event );
+-    void UpdateVolume();
+-
+-  private:
+-    DECLARE_EVENT_TABLE()
+-
+-    wxVolCtrl *gauge;
+-    int i_y_offset;
+-    vlc_bool_t b_mute;
+-    intf_thread_t *p_intf;
+-};
+-
+-BEGIN_EVENT_TABLE(VLCVolCtrl, wxControl)
+-    EVT_PAINT(VLCVolCtrl::OnPaint)
+-
+-    /* Mouse events */
+-    EVT_LEFT_UP(VLCVolCtrl::OnChange)
+-END_EVENT_TABLE()
+-
+ class Splitter : public wxSplitterWindow
+ {
+ public:
+@@ -291,6 +264,8 @@ enum
+     NextStream_Event,
+     SlowStream_Event,
+     FastStream_Event,
++    ToggleMute_Event,
++    SlideVolume_Event,
+
+     /* it is important for the id corresponding to the "About" command to have
+      * this standard value as otherwise it won't be handled properly under Mac
+@@ -344,6 +319,8 @@ BEGIN_EVENT_TABLE(Interface, wxFrame)
+     EVT_MENU(NextStream_Event, Interface::OnNextStream)
+     EVT_MENU(SlowStream_Event, Interface::OnSlowStream)
+     EVT_MENU(FastStream_Event, Interface::OnFastStream)
++    EVT_MENU(ToggleMute_Event, Interface::OnToggleMute)
++    EVT_COMMAND_SCROLL(SlideVolume_Event, Interface::OnSlideVolume)
+
+     /* Custom events */
+     EVT_COMMAND(0, wxEVT_INTF, Interface::OnControlEvent)
+@@ -530,7 +507,7 @@ void Interface::Init()
+ void Interface::Update()
+ {
+     /* Misc updates */
+-    if( !(i_update_counter % 10) ) ((VLCVolCtrl *)volctrl)->UpdateVolume();
++//    if( !(i_update_counter % 10) ) ((VLCVolCtrl *)volctrl)->UpdateVolume();
+
+     if( playlist_manager ) playlist_manager->Update();
+
+@@ -683,6 +660,7 @@ void Interface::CreateOurToolBar()
+ #define HELP_PLN N_("Next playlist item")
+ #define HELP_SLOW N_("Play slower")
+ #define HELP_FAST N_("Play faster")
++#define HELP_VOL N_("Toggle mute/unmute of the audio")
+
+ #define LABEL_OPEN N_("Open")
+ #define LABEL_STOP N_("Stop")
+@@ -694,6 +672,8 @@ void Interface::CreateOurToolBar()
+ #define LABEL_PLN N_("Next")
+ #define LABEL_SLOW N_("Slower")
+ #define LABEL_FAST N_("Faster")
++#define LABEL_VOL N_("Mute")
++
+     int minimal = config_GetInt( p_intf, "wx-minimal" );
+     bool label = config_GetInt( p_intf, "wx-labels" );
+
+@@ -740,14 +720,15 @@ void Interface::CreateOurToolBar()
+                           wxBitmap( playlist_small_xpm ), wxU(_(HELP_SPLO)) );
+     }
+
+-    wxControl *p_dummy_ctrl =
+-        new wxControl( toolbar, -1, wxDefaultPosition,
+-                       wxSize(16, 16 ), wxBORDER_NONE );
+-
+-    toolbar->AddControl( p_dummy_ctrl );
+-
+-    volctrl = new VLCVolCtrl( p_intf, toolbar );
+-    toolbar->AddControl( volctrl );
++    wxToolBarToolBase *v_tool = toolbar->AddTool( ToggleMute_Event,
++                         wxU(LABEL_VOL), wxBitmap( speaker_xpm ),
++                         wxU(_(HELP_VOL)), wxITEM_CHECK );
++    v_tool->SetClientData( v_tool );
++
++    wxSlider *v_gauge = new wxSlider(toolbar, SlideVolume_Event, 256, 0,
++                            AOUT_VOLUME_MAX, wxDefaultPosition,
++                            wxSize(64,TOOLBAR_BMP_HEIGHT), wxSL_HORIZONTAL);
++    toolbar->AddControl(v_gauge);
+
+     toolbar->Realize();
+
+@@ -1199,6 +1180,49 @@ void Interface::OnFastStream( wxCommandE
+     }
+ }
+
++void Interface::OnToggleMute ( wxCommandEvent& WXUNUSED(event) )
++{
++    aout_VolumeMute(p_intf, NULL);
++    SyncVolume();
++
++}
++
++void Interface::SyncVolume()
++{
++    wxToolBarToolBase *p_tool = (wxToolBarToolBase *)
++        GetToolBar()->GetToolClientData( ToggleMute_Event );
++    if ( !p_tool) return;
++
++    audio_volume_t i_volume;
++    aout_VolumeGet(p_intf, &i_volume);
++
++// Updating the Mute Button... IF the slider is completely moved to the left,
++// the mute icon is shown too.
++    p_tool->SetNormalBitmap( wxBitmap( i_volume ? speaker_xpm : 
speaker_mute_xpm ) );
++    GetToolBar()->Realize();
++#if defined( __WXMSW__ )
++    /* Needed to work around a bug in wxToolBar::Realize() */
++    GetToolBar()->SetSize( GetSize().GetWidth(),
++                           GetToolBar()->GetSize().GetHeight() );
++    GetToolBar()->Update();
++#endif
++// the Toggle to true and false is nescessary; otherwise, the Icon is not 
repainted
++    GetToolBar()->ToggleTool( ToggleMute_Event, true );
++    GetToolBar()->ToggleTool( ToggleMute_Event, false );
++    GetToolBar()->Update();
++}
++
++void Interface::OnSlideVolume( wxScrollEvent& WXUNUSED(event))
++{
++    wxSlider *p_tool = (wxSlider *)
++        GetToolBar()->FindControl( SlideVolume_Event );
++    if ( !p_tool) return;
++
++    aout_VolumeSet(p_intf , p_tool->GetValue());
++    SyncVolume();
++
++}
++
+ void Interface::TogglePlayButton( int i_playing_status )
+ {
+     wxToolBarToolBase *p_tool = (wxToolBarToolBase *)
+@@ -1325,108 +1349,6 @@ bool DragAndDrop::OnDropFiles( wxCoord,
+ #endif
+
+ /*****************************************************************************
+- * Definition of VolCtrl class.
+- 
*****************************************************************************/
+-class wxVolCtrl: public wxGauge
+-{
+-public:
+-    /* Constructor */
+-    wxVolCtrl( intf_thread_t *_p_intf, wxWindow* parent, wxWindowID id,
+-               wxPoint = wxDefaultPosition, wxSize = wxSize( 20, -1 ) );
+-    virtual ~wxVolCtrl() {};
+-
+-    void UpdateVolume();
+-    int GetVolume();
+-
+-    void OnChange( wxMouseEvent& event );
+-
+-private:
+-    intf_thread_t *p_intf;
+-
+-    DECLARE_EVENT_TABLE();
+-};
+-
+-BEGIN_EVENT_TABLE(wxVolCtrl, wxWindow)
+-    /* Mouse events */
+-    EVT_LEFT_DOWN(wxVolCtrl::OnChange)
+-    EVT_MOTION(wxVolCtrl::OnChange)
+-END_EVENT_TABLE()
+-
+-wxVolCtrl::wxVolCtrl( intf_thread_t *_p_intf, wxWindow* parent, wxWindowID id,
+-                      wxPoint point, wxSize size )
+-  : wxGauge( parent, id, 200, point, size, wxGA_HORIZONTAL | wxGA_SMOOTH )
+-{
+-    p_intf = _p_intf;
+-    UpdateVolume();
+-}
+-
+-void wxVolCtrl::OnChange( wxMouseEvent& event )
+-{
+-    if( !event.LeftDown() && !event.LeftIsDown() ) return;
+-
+-    int i_volume = event.GetX() * 200 / GetClientSize().GetWidth();
+-    aout_VolumeSet( p_intf, i_volume * AOUT_VOLUME_MAX / 200 / 2 );
+-    UpdateVolume();
+-}
+-
+-void wxVolCtrl::UpdateVolume()
+-{
+-    audio_volume_t i_volume;
+-    aout_VolumeGet( p_intf, &i_volume );
+-
+-    int i_gauge_volume = i_volume * 200 * 2 / AOUT_VOLUME_MAX;
+-    if( i_gauge_volume == GetValue() ) return;
+-
+-    SetValue( i_gauge_volume );
+-    SetToolTip( wxString::Format((wxString)wxU(_("Volume")) + wxT(" %d"),
+-                i_gauge_volume / 2 ) );
+-}
+-
+-#if defined(__WXGTK__)
+-#define VLCVOL_HEIGHT p_parent->GetSize().GetHeight()
+-#else
+-#define VLCVOL_HEIGHT TOOLBAR_BMP_HEIGHT
+-#endif
+-VLCVolCtrl::VLCVolCtrl( intf_thread_t *_p_intf, wxWindow *p_parent )
+-  :wxControl( p_parent, -1, wxDefaultPosition, wxSize(64, VLCVOL_HEIGHT ),
+-              wxBORDER_NONE ),
+-   i_y_offset((VLCVOL_HEIGHT - TOOLBAR_BMP_HEIGHT) / 2),
+-   b_mute(0), p_intf(_p_intf)
+-{
+-    gauge = new wxVolCtrl( p_intf, this, -1, wxPoint( 18, i_y_offset ),
+-                           wxSize( 44, TOOLBAR_BMP_HEIGHT ) );
+-}
+-
+-void VLCVolCtrl::OnPaint( wxPaintEvent &evt )
+-{
+-    wxPaintDC dc( this );
+-    wxBitmap mPlayBitmap( b_mute ? speaker_mute_xpm : speaker_xpm );
+-    dc.DrawBitmap( mPlayBitmap, 0, i_y_offset, TRUE );
+-}
+-
+-void VLCVolCtrl::OnChange( wxMouseEvent& event )
+-{
+-    if( event.GetX() < TOOLBAR_BMP_WIDTH )
+-    {
+-        int i_volume;
+-        aout_VolumeMute( p_intf, (audio_volume_t *)&i_volume );
+-
+-        b_mute = !b_mute;
+-        Refresh();
+-    }
+-}
+-
+-void VLCVolCtrl::UpdateVolume()
+-{
+-    gauge->UpdateVolume();
+-
+-    int i_volume = gauge->GetValue();
+-    if( !!i_volume == !b_mute ) return;
+-    b_mute = !b_mute;
+-    Refresh();
+-}
+-
+-/*****************************************************************************
+  * Systray class.
+  
*****************************************************************************/
+
+diff -Naurp vlc-0.8.6h/modules/gui/wxwidgets/interface.hpp 
vlc-0.8.6h-fw-backport/modules/gui/wxwidgets/interface.hpp
+--- vlc-0.8.6h/modules/gui/wxwidgets/interface.hpp     2008-05-25 
20:28:57.000000000 +0200
++++ vlc-0.8.6h-fw-backport/modules/gui/wxwidgets/interface.hpp 2008-06-08 
15:55:02.000000000 +0200
+@@ -147,6 +147,9 @@ namespace wxvlc
+         void OnNextStream( wxCommandEvent& event );
+         void OnSlowStream( wxCommandEvent& event );
+         void OnFastStream( wxCommandEvent& event );
++      void OnToggleMute( wxCommandEvent& event );
++      void OnSlideVolume( wxScrollEvent& event );
++        void SyncVolume( );
+
+         void OnInteraction( wxCommandEvent& event );
+
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to