]> git.sesse.net Git - vlc/commitdiff
playlist: convert "volume" to float
authorRémi Denis-Courmont <remi@remlab.net>
Sat, 21 Jul 2012 14:36:08 +0000 (17:36 +0300)
committerRémi Denis-Courmont <remi@remlab.net>
Sat, 21 Jul 2012 14:36:08 +0000 (17:36 +0300)
...and simplify accordingly.

lib/media_player.c
modules/control/rc.c
modules/gui/qt4/input_manager.cpp
modules/gui/qt4/input_manager.hpp
src/audio_output/common.c
src/playlist/engine.c

index 967593e11d3ed7f139b298fe27eea03ba1a105de..f30f18404f73e90308099fad6965f5041a1d619f 100644 (file)
@@ -465,7 +465,7 @@ libvlc_media_player_new( libvlc_instance_t *instance )
      /* Audio */
     var_Create (mp, "aout", VLC_VAR_STRING | VLC_VAR_DOINHERIT);
     var_Create (mp, "mute", VLC_VAR_BOOL);
-    var_Create (mp, "volume", VLC_VAR_INTEGER);
+    var_Create (mp, "volume", VLC_VAR_FLOAT);
     var_Create (mp, "find-input-callback", VLC_VAR_ADDRESS);
     var_SetAddress (mp, "find-input-callback", find_input);
     var_Create (mp, "amem-data", VLC_VAR_ADDRESS);
index f9688f8f5313a89ef6acfdd58cc098dadfedc872..efa2db4b512cf2700b362aebd03d6a1471b275ff 100644 (file)
@@ -902,7 +902,8 @@ static int VolumeChanged( vlc_object_t *p_this, char const *psz_cmd,
     intf_thread_t *p_intf = (intf_thread_t*)p_data;
 
     vlc_mutex_lock( &p_intf->p_sys->status_lock );
-    msg_rc( STATUS_CHANGE "( audio volume: %"PRId64" )", newval.i_int );
+    msg_rc( STATUS_CHANGE "( audio volume: %ld )",
+            lroundf(newval.f_float * AOUT_VOLUME_DEFAULT) );
     vlc_mutex_unlock( &p_intf->p_sys->status_lock );
     return VLC_SUCCESS;
 }
index 83a722ed55722a5e53e5d8b4ee3739b53424b4c6..6de8c16829f7d1c083ea2683b9b8fe690ef669f7 100644 (file)
@@ -958,7 +958,7 @@ MainInputManager::MainInputManager( intf_thread_t *_p_intf )
     repeat.addCallback( this, SLOT(notifyRepeatLoop(bool)) );
     loop.addCallback( this, SLOT(notifyRepeatLoop(bool)) );
 
-    volume.addCallback( this, SLOT(notifyVolume(qlonglong)) );
+    volume.addCallback( this, SLOT(notifyVolume(float)) );
     mute.addCallback( this, SLOT(notifyMute(bool)) );
 
     /* Warn our embedded IM about input changes */
@@ -1217,9 +1217,9 @@ static int LeafToParent( vlc_object_t *p_this, const char *psz_var,
     return VLC_SUCCESS;
 }
 
-void MainInputManager::notifyVolume( qlonglong volume )
+void MainInputManager::notifyVolume( float volume )
 {
-    emit volumeChanged( volume / (float)AOUT_VOLUME_DEFAULT );
+    emit volumeChanged( volume );
 }
 
 void MainInputManager::notifyMute( bool mute )
index dd857a05ab2b585cf125742661c06f1afd253753..f234d48a49036d9fa3d94f16997180329a790b8a 100644 (file)
@@ -274,7 +274,7 @@ private:
     input_thread_t          *p_input;
     intf_thread_t           *p_intf;
     QVLCBool random, repeat, loop;
-    QVLCInteger volume;
+    QVLCFloat volume;
     QVLCBool mute;
 
 public slots:
@@ -292,7 +292,7 @@ public slots:
 private slots:
     void notifyRandom( bool );
     void notifyRepeatLoop( bool );
-    void notifyVolume( qlonglong );
+    void notifyVolume( float );
     void notifyMute( bool );
 signals:
     void inputChanged( input_thread_t * );
index 803a44994f41bae978076de05e21f02c62626ae7..5c2394e89f1eccdca507e5d6ad27fe04a48fb11e 100644 (file)
@@ -55,16 +55,6 @@ static int var_Copy (vlc_object_t *src, const char *name, vlc_value_t prev,
     return var_Set (dst, name, value);
 }
 
-static int var_CopyVolume (vlc_object_t *src, const char *name,
-                           vlc_value_t prev, vlc_value_t value, void *data)
-{
-    vlc_object_t *dst = data;
-    long volume = lroundf (value.f_float * (float)AOUT_VOLUME_DEFAULT);
-
-    (void) src; (void) prev;
-    return var_SetInteger (dst, name, volume);
-}
-
 #undef aout_New
 /*****************************************************************************
  * aout_New: initialize aout structure
@@ -95,7 +85,7 @@ audio_output_t *aout_New( vlc_object_t * p_parent )
     char *str;
 
     var_Create (aout, "volume", VLC_VAR_FLOAT);
-    var_AddCallback (aout, "volume", var_CopyVolume, p_parent);
+    var_AddCallback (aout, "volume", var_Copy, p_parent);
     var_Create (aout, "mute", VLC_VAR_BOOL | VLC_VAR_DOINHERIT);
     var_AddCallback (aout, "mute", var_Copy, p_parent);
 
@@ -206,7 +196,8 @@ void aout_Destroy (audio_output_t *aout)
         aout_Shutdown (aout);
 
     var_DelCallback (aout, "mute", var_Copy, aout->p_parent);
-    var_DelCallback (aout, "volume", var_CopyVolume, aout->p_parent);
+    var_SetFloat (aout, "volume", -1.f);
+    var_DelCallback (aout, "volume", var_Copy, aout->p_parent);
     vlc_object_release (aout);
 }
 
index aa418ad452877ad1ec87a9089682a16ff2f63b40..603837522d00df064708e252f79ad22b73a54036 100644 (file)
@@ -437,7 +437,8 @@ static void VariablesInit( playlist_t *p_playlist )
 
     /* Audio output parameters */
     var_Create( p_playlist, "mute", VLC_VAR_BOOL );
-    var_Create( p_playlist, "volume", VLC_VAR_INTEGER );
+    var_Create( p_playlist, "volume", VLC_VAR_FLOAT );
+    var_SetFloat( p_playlist, "volume", -1.f );
     /* FIXME: horrible hack for audio output interface code */
     var_Create( p_playlist, "find-input-callback", VLC_VAR_ADDRESS );
     var_SetAddress( p_playlist, "find-input-callback", playlist_FindInput );