Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Volume Control/Peakmeter Win7+
#1
So habe etwas fest gestellt was ich mir aber schon dachte.
die 0.2 Version bebnoetigt die MSVCR110.dll welche ja nicht jeder auf dem system hat in Anfürhrungszeichen.
Die Version 0.3 benötigt diese nicht mehr zumindest sollte das so sein.


CODE


Change List
Addet Header File Again
Addet 2 Functions see Function list
Addet error Message if couldn't get Audio Device

Known issue
if gets an error LcdHype will Crash





Bitte Um FeedBack

VolumePeakmeter

Da das ganze noch im Experimentier Staus ist, existiren keinerlei Großargier
error Routinen vorllem bei dem aufschalten auf den Audio Adapter.
Also wenns knallt dann knallts.
Ich frage auch Keine Windows Version ab.
somit kannich nicht sagen ob es auch unter Win8 Funktioniert da ich es noch nicht getestet habe.
auch weis ich nicht ob es auf anderes Systemen funkt.
Ich Habe es mit Win7 64 bit und Visual Studio 2012 Geschrieben.
Verwendung auf eigene Gefahr.


Was ich noch vor habe ist den Media Player von dose abzufragen.
nur weis ich noch nicht wie ich das bewerkstelligen kann.
gehen muss es denn Logidreck kanns ja auch.
Und die Recht schreibung ist mir gerade erst mal wurscht. HF


Das Peakmeter Plugin stellt einige Funktionen zur Ferfuergung wie es auch das LCD Volume Controll(LCDVC)
Bereit gestellt hat.


Es funktioniert allerdings ein klein wenig anders, so braucht man nicht raus finden welche ID der Audio
Adapter hat.
Ich benutze immer das System Default Device.

Die Funktionen

%Plugin.VolumePeakmeter.GetChannelCount()
Dieser Parameter gibt debn wert der Aktiven Audio Kanäle für den Peak wieder.
das bedeutet das hier eine Zahl erscheint die von 1-n sein kann jenach Einstellung des Audio Adapters


%Plugin.VolumePeakmeter.GetMute()
Giebt den Status wieder ob Mute Aktive ist dabei bedeutet 1 = Muted und 0 = Nicht Gemutet


%Plugin.VolumePeakmeter.GetPeakChannel(1)
Gibt den Peak wert wieder der hier mit 1000000 aufkomuliert wurde
Windows rechnet mit einem Float wert von 0.000000 bis 1.000000


%Plugin.VolumePeakmeter.GetVolumeChannelCount()
Dieser Parameter gibt debn wert der Aktiven Audio Kanäle wieder die man Setzen kann.
das bedeutet das hier eine Zahl erscheint die von 1-n sein kann jenach Einstellung des Audio Adapters
Bei mir gibt er nur 2 an warum auch immer.


%Plugin.VolumePeakmeter.GetVolumeChannelLevel(1)
Gibt den Volume Level an der hir in DB aus gegeben wird und mit 1000000 auf komuliert wurde.
Windows Arbeitet hier Mit Einem Float Wert von 0.0 - -n.n n steht für einen wert der jenach
Audio Adapter anders aus fallen kann. er kann im RangeLevel ermittelt werden.
Der Wert in Klammern stelt den Kanal dar 1 für Links und 2 füe Rechts.


%Plugin.VolumePeakmeter.GetVolumeChannelLevelScalar(1)
Im prinziep das Gleiche wie oben nur das hier mit einen wert von 0.0-1.0 gerechnet wird.


%Plugin.VolumePeakmeter.GetVolumeMasterLevel()
Volume Master Level ist wie GetVolumeChannelLevel nur das es halt der Masterregler ist der hier wieder gegeben wird.


%Plugin.VolumePeakmeter.GetVolumeMasterLevelScalar()
Volume Master Level Scalar ist wie GetVolumeChannelLevelScalar nur das es halt der Masterregler ist der hier wieder gegeben wird.


%Plugin.VolumePeakmeter.GetVolumeRangeChannelLevel('IncrementDB: ',1) Geäandert
IncrementDB: Hier wird der Increment Wert von dem jeweiligen Kanal ermitelt dieser wert wurde auch mit 1000000 multipliziert.
Bei Meinem Onboard RTL Soundchip ist es -0.03125 dB

MaxDB: Hier wird der Maximal Wert von dem jeweiligen Kanal ermitelt dieser wert wurde auch mit 1000000 multipliziert. Meist Jedoch 0dB

MinDB: Hier wird der Min Wert von dem jeweiligen Kanal ermitelt dieser wert wurde auch mit 1000000 multipliziert.
Bei Meinem Onboard RTL Soundchip ist es -46.5 dB


%Plugin.VolumePeakmeter.GetVolumeRangeLevel('IncrementDB')
Dieser ist wie die Oberen 3 nur halt auf den Master
mögliche Werte fuer die Klammer IncrementDB, MinDB, MaxDB


%Plugin.VolumePeakmeter.GetVolumeStepInfo('Step')
Hier bekommt wird der Step Wert ermittelt gibt an in wievilen schritten man die Lautstärke schalten kann.

Bei meinem Onboard Chip sind es 51 Schritte heißt von 0-50.
Step gibt den jeweiligen wert wieder.
Count die gesamt Schritte.


%Plugin.VolumePeakmeter.SetMute(0)
Setzt dem Mute Status 0 unmuted, 1 muted.


%Plugin.VolumePeakmeter.SetVolumeLevel(-30.00000)
Setzt die Lautstarke in DB Werte zwischen 0 und - das was euer Adapter hergibt.
Meiner gibt auf Lautsprecher -46.5 und auf Digital -192 her.


%Plugin.VolumePeakmeter.SetVolumeLevelScalar(0.5)
Setzt die Lautstärke ähnlich wie oben nur halt von 0.000000 - 1.000000


%Plugin.VolumePeakmeter.StepVolumeLevel('DOWN')
Hier wird schritt weise Lauter oder Leiser gemacht die mänge der schritte sind vom StepInfo vor gegeben.
Mögliche werte fuer die Klammer DOWN oder UP


NEW
%Plugin.VolumePeakmeter.SetVolumeChannelLevel(1, -30)
Wie %Plugin.VolumePeakmeter.SetVolumeLevel(-30.00000) nur Halt pro Kanal
Meist nur 2 Links und Rechts.


%Plugin.VolumePeakmeter.SetVolumeChannelLevelScalar(1, 0.3)
Wie %Plugin.VolumePeakmeter.SetVolumeLevelScalar(0.5) nur pro Kanal


Ich habe bei den set werten einen Rückgabe wert ein gebaut den man mit %Common.CreateNewLine(1,-50,-50)
aus blenen kann.


%Plugin.VolumePeakmeter.GetPeakMaster() (Addet hatte ich Vergessen in der XML)
Gibt den Summen(Master) Peak wert wieder der hier mit 1000000 aufkomuliert wurde
Windows rechnet mit einem Float wert von 0.000000 bis 1.000000

EXAMPLE SCRIPT (G15/510 5.1 Audio System)

CODE

#Header
%Graph.SetTextArea(0,0,160,43)
%Graph.SetRefreshArea(0, 0, 160, 43)
%Param.RenderMode(Full)
%Common.SetPriority(100)
%Graph.SetPixel(122,3,1)
%Graph.SetPixel(122,4,1)
%Graph.SetPixel(122,5,1)
%Graph.SetPixel(122,6,1)
%Graph.SetPixel(123,3,1)
%Graph.SetPixel(123,6,1)
%Graph.SetPixel(124,2,1)
%Graph.SetPixel(124,7,1)
%Graph.SetPixel(125,1,1)
%Graph.SetPixel(125,2,1)
%Graph.SetPixel(125,3,1)
%Graph.SetPixel(125,4,1)
%Graph.SetPixel(125,5,1)
%Graph.SetPixel(125,6,1)
%Graph.SetPixel(125,7,1)
%Graph.SetPixel(125,8,1)
#EndHeader

#GfxMode

%If( %System.Input(GetCode) = 8 )
Then { %Common.ChangeScreen(0,Next) }
%Graph.Font('Lucida Console', 5, 1)
%Format.Bar(Vertical, 1, 41, 0, 1000000, %Plugin.VolumePeakmeter.GetPeakChannel(1), 1, 0, 0, 1)/Left/
%Format.Bar(Vertical, 1, 41, 0, 1000000, %Plugin.VolumePeakmeter.GetPeakChannel(2), 1, 0, 157, 1)/Right/
/%Format.Bar(Horizontal, 150, 5, 0, 50, %Plugin.VolumePeakmeter.GetVolumeStepInfo('Step'), 1, 0, 5, 37)//VolumeStep (51 Steps on my RTL Sound Chip)/
%Format.Bar(Horizontal, 152, 5, 0, 1000000, %Plugin.VolumePeakmeter.GetVolumeMasterLevelScalar(), 1, 0, 4, 37)/VolumeLevelScalar/
%Format.Bar(Horizontal, 50, 1, 0, 1000000, %Plugin.VolumePeakmeter.GetPeakChannel(5), 1, 0, 4, 33)/BackLeft/
%Format.Bar(Horizontal, 50, 1, 0, 1000000, %Plugin.VolumePeakmeter.GetPeakChannel(6), 1, 0, 106, 33)/BackRight/
%Format.Bar(Horizontal, 50, 1, 0, 1000000, %Plugin.VolumePeakmeter.GetPeakChannel(3), 1, 0, 55, 33)/Center/
%Format.Bar(Horizontal, 50, 1, 0, 1000000, %Plugin.VolumePeakmeter.GetPeakChannel(4), 1, 0, 55, 1)/Sub/
%Common.CreateNewLine(1,15,3)
'Vol '%Round(%Div(%Plugin.VolumePeakmeter.GetVolumeMasterLevelScalar(),10000))' %'
%Common.CreateNewLine(1,15,11)
'dB '%Trunc(%Div(%Plugin.VolumePeakmeter.GetVolumeMasterLevel(),1000000),4)' Inc '%Div(%Plugin.VolumePeakmeter.GetVolumeRangeLevel('IncrementDB'),1000000)
%Common.CreateNewLine(1,15,18)
'Step '%Plugin.VolumePeakmeter.GetVolumeStepInfo('Step')' von '%Plugin.VolumePeakmeter.GetVolumeStepInfo('Count')
%Common.CreateNewLine(1,5,15)
'L'
%Common.CreateNewLine(1,150,15)
'R'
%Common.CreateNewLine(1,22,25)
'HL'
%Common.CreateNewLine(1,127,25)
'HR'
%Common.CreateNewLine(1,68,25)
'Center'
%Common.CreateNewLine(1,72,5)
'Sub'
%Common.CreateNewLine(1,132,2)
'Mute'
%If( %Plugin.VolumePeakmeter.GetMute() = 1 ) Then
{
%Graph.SetPixel(127,2,1)
%Graph.SetPixel(126,3,1)
%Graph.SetPixel(124,4,1)
%Graph.SetPixel(123,5,1)
%Graph.SetPixel(121,6,1)
%Graph.SetPixel(120,7,1)
} Else
{
%Graph.SetPixel(127,2,0)
%Graph.SetPixel(126,3,0)
%Graph.SetPixel(124,4,0)
%Graph.SetPixel(123,5,0)
%Graph.SetPixel(121,6,0)
%Graph.SetPixel(120,7,0)
}
#EndGfxMode


Parameter to use in Hype 0.6 have No ParameterDat
CODE

%UsePlugin('Peakmeter\Peakmeter.dll',GetPeakMaster)/Get a value 0-1000000/
%UsePlugin('Peakmeter\Peakmeter.dll',GetPeakChannel,1)/Get a value 0-1000000 of selected channel/
%UsePlugin('Peakmeter\Peakmeter.dll',GetVolumeMasterLevel)/Get a value 0- -(Value of dB wich is given in Range Level)/
%UsePlugin('Peakmeter\Peakmeter.dll',GetVolumeMasterLevelScalar)/Get a value 0-1000000/
%UsePlugin('Peakmeter\Peakmeter.dll',GetVolumeRangeLevel,MinDB)/Min DB Get a value most 0 MaxDB Get a Value of -(n) Increment DB Get a incrment step value/
%UsePlugin('Peakmeter\Peakmeter.dll',GetVolumeStepInfo,Step)/Step Get the Curent Step Count gets the Steps/
%UsePlugin('Peakmeter\Peakmeter.dll',GetPeakChannelCount)/Gets the Count of channels you can read/
%UsePlugin('Peakmeter\Peakmeter.dll',GetMute)/Gets the Mute Status 0 unmuted 1 muted/
%UsePlugin('Peakmeter\Peakmeter.dll',GetVolumeChannelLevel,1)/Get a value of a channel like MasterLevel/
%UsePlugin('Peakmeter\Peakmeter.dll',GetVolumeChannelLevelScalar,1)/Get a value of a channel like MasterLevel/
%UsePlugin('Peakmeter\Peakmeter.dll',GetVolumeChannelCount)/Get the channel count for ues in VolumeChannelLevel, VolumeChannelLevelScalar, VolumeRangeChannelLevel/
%UsePlugin('Peakmeter\Peakmeter.dll',GetVolumeRangeChannelLevel,IncrementDB,1)/Get a value of a channel like RangeLevel/
%UsePlugin('Peakmeter\Peakmeter.dll',SetVolumeLevelScalar,0.30)/Set the VolumeLevelScalar the value 0.30 is 30%/
%UsePlugin('Peakmeter\Peakmeter.dll',SetVolumeScalar,-30.5)/Set the VolumeLevel the value -30.5 is a dB Value/
%UsePlugin('Peakmeter\Peakmeter.dll',SetMute,0)/Sets the Mute state 0 unmuted 1 muted/
%UsePlugin('Peakmeter\Peakmeter.dll',StepVolumeLevel,DOWN)/stepst the volume Up or Down StepCount you get it in StepInfo Values are UP and DOWN/
%UsePlugin('Peakmeter\Peakmeter.dll',SetVolumeChannelLevelScalar,1,0.35)/Sets the Vulume Of a channel Scalar the Value 0.35 is 35%/
%UsePlugin('Peakmeter\Peakmeter.dll',SetVolumeChannelLevel,1,-30.5)/Setst the volume of a channel the value is a dB Value/
%UsePlugin('Peakmeter\Peakmeter.dll',GetPluginID)/Get VolumePeakmeter/


Attached Files
.zip   Peakmeter_0.2.zip (Size: 16,05 KB / Downloads: 154)
.zip   Peakmeter_0.3.zip (Size: 43,77 KB / Downloads: 498)


Forum Jump:


Users browsing this thread: 1 Guest(s)