patch son

Échanges entre les développeurs et les utilisateurs au sujet du développement logiciel de Pouchin TV Mod. Les participants sont présumés avoir des connaissances raisonnables en matière de programmation informatique.
Répondre
MatMaul
Administrateur du site et développeur
Messages : 147
Enregistré le : 03 avr. 2007, 03:16

patch son

Message par MatMaul » 10 janv. 2009, 22:12

petit patch qui utilise le logarithme pour calculer la valeur à passer à put_Volume => le changement de volume devient linéaire.
passage à des palliers de 5 pour le volume.
=> comportement identique à MPC

Code : Tout sélectionner

Index: channels.cpp
===================================================================
--- channels.cpp   (revision 163)
+++ channels.cpp   (working copy)
@@ -25,6 +25,7 @@
  * See http://pouchintv.baysse.fr/ for updates.
  */
 
+#include <math.h>
 #include "base.h"
 #include "channels.h"
 #include "main.h"
@@ -492,6 +493,10 @@
 {
    CComQIPtr<IBasicAudio> pBas(pGraph);
 
-   if (pBas)
-      pBas->put_Volume(volume);
+   if (pBas) {
+      if (volume > 0)
+         pBas->put_Volume((int)((log10(1.0*volume)-2)*5000));
+      else
+         pBas->put_Volume(-8000);
+   }
 }
Index: ini.cpp
===================================================================
--- ini.cpp   (revision 163)
+++ ini.cpp   (working copy)
@@ -1213,7 +1213,7 @@
 #if USE_CONSOLE==1
    save_config_winpos(ini_position_console, GetConsoleWindow());
 #endif // #if USE_CONSOLE==1
-   save_config_int(ini_volume, (volumeCourant + 10000) / 100);
+   save_config_int(ini_volume, volumeCourant);
    save_config_assoc(ini_epg_typerecvideo, aEpgRecVideo, epg_typerecvideo);
    save_config_assoc(ini_epg_typerecaudio, aEpgRecAudio, epg_typerecaudio);
    save_config_raccourcis();
@@ -1491,7 +1491,7 @@
    video_pan_mode         = (PanModes)load_config_assoc(ini_video_pan_mode, aPanModeTable, pm_Normal);
 
    zoom_ratio            = load_config_int(ini_zoom_ratio, 100);
-   volumeCourant         = load_config_int(ini_volume, 100) * 100 - 10000;
+   volumeCourant         = load_config_int(ini_volume, 100);
 
    epg_typerecvideo      = load_config_assoc(ini_epg_typerecvideo, aEpgRecVideo, 0);
    epg_typerecaudio      = load_config_assoc(ini_epg_typerecaudio, aEpgRecAudio, 0);
Index: main.cpp
===================================================================
--- main.cpp   (revision 163)
+++ main.cpp   (working copy)
@@ -838,7 +838,7 @@
       }
 
       if (!use_osd) {
-         _stprintf_s(str, TEXT("%s %i"), muted ? TEXT("Volume") : TEXT("Sourdine"), (volumeCourant+8000)/80);
+         _stprintf_s(str, TEXT("%s %i"), muted ? TEXT("Volume") : TEXT("Sourdine"), volumeCourant);
          SendMessage(hMainStatus, SB_SETTEXT, 5, (LPARAM)str);
       }
    }
@@ -1293,7 +1293,7 @@
    lcd.Mute(muted);
 #endif // #ifdef USE_LOGITECH_LCD
 
-   set_volume(muted ? -8000 : (volumeCourant < 0 ? volumeCourant : 0));
+   set_volume(muted ? 0 : volumeCourant);
 
    if (pOSD)
       pOSD->DisplayMute(muted);
@@ -1302,10 +1302,10 @@
 
 static void update_volume(bool augmente)
 {
-   if (augmente && volumeCourant < 0)
-      volumeCourant += 80;
-   else if (!augmente && volumeCourant > -8000)
-      volumeCourant -= 80;
+   if (augmente && volumeCourant < 100)
+      volumeCourant += 5;
+   else if (!augmente && volumeCourant > 0)
+      volumeCourant -= 5;
 
    if (!muted)
       set_volume(volumeCourant);

Avatar du membre
Gingko
Administrateur du site et développeur
Messages : 1958
Enregistré le : 05 août 2007, 12:57
Carte Tuner : (champ trop court pour énumérer 8 tuners)
Êtes-vous un robot ? : Je ne suis pas un robot
Localisation : Pantin (IDF, 93)
Contact :

Re: patch son

Message par Gingko » 10 janv. 2009, 22:35

Merci, je vais regarder ça.

Gingko
Gingko
․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․
Tuners utilisés, sur 3 ordis : • USB : AverMedia HDTV DVB-T Volar (2×) • PCI : Hauppauge Nova-DT Dual DVB-T • Express Card : AverMedia Digi Express 54

Avatar du membre
Gingko
Administrateur du site et développeur
Messages : 1958
Enregistré le : 05 août 2007, 12:57
Carte Tuner : (champ trop court pour énumérer 8 tuners)
Êtes-vous un robot ? : Je ne suis pas un robot
Localisation : Pantin (IDF, 93)
Contact :

Re: patch son

Message par Gingko » 11 janv. 2009, 01:44

Voilà, c'est dans le SVN.

Gingko
Gingko
․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․ ․
Tuners utilisés, sur 3 ordis : • USB : AverMedia HDTV DVB-T Volar (2×) • PCI : Hauppauge Nova-DT Dual DVB-T • Express Card : AverMedia Digi Express 54

Répondre