<?xml version="1.0"?>\r
<configuration>\r
<startup>\r
-\r
- \r
- <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/></startup>\r
+ <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />\r
+ </startup>\r
<appSettings>\r
- <add key="AUDIO_DEVICE_NAME" value=""/>\r
- <add key="UNC_PATH" value="\\store.in.user.hu\upload"/>\r
- <add key="LOUD_PERCENT" value="30"/>\r
+ <add key="AUDIO_DEVICE_NAME" value="" />\r
+ <add key="UNC_PATH" value="\\store.in.user.hu\upload" />\r
+ <add key="LOUD_PERCENT" value="30" />\r
+ <add key="ClientSettingsProvider.ServiceUri" value="" />\r
</appSettings>\r
-</configuration>\r
+ <system.web>\r
+ <membership defaultProvider="ClientAuthenticationMembershipProvider">\r
+ <providers>\r
+ <add name="ClientAuthenticationMembershipProvider" type="System.Web.ClientServices.Providers.ClientFormsAuthenticationMembershipProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" />\r
+ </providers>\r
+ </membership>\r
+ <roleManager defaultProvider="ClientRoleProvider" enabled="true">\r
+ <providers>\r
+ <add name="ClientRoleProvider" type="System.Web.ClientServices.Providers.ClientRoleProvider, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" serviceUri="" cacheTimeout="86400" />\r
+ </providers>\r
+ </roleManager>\r
+ </system.web>\r
+</configuration>
\ No newline at end of file
<SccLocalPath>SAK</SccLocalPath>\r
<SccAuxPath>SAK</SccAuxPath>\r
<SccProvider>SAK</SccProvider>\r
+ <PublishUrl>publish\</PublishUrl>\r
+ <Install>true</Install>\r
+ <InstallFrom>Disk</InstallFrom>\r
+ <UpdateEnabled>false</UpdateEnabled>\r
+ <UpdateMode>Foreground</UpdateMode>\r
+ <UpdateInterval>7</UpdateInterval>\r
+ <UpdateIntervalUnits>Days</UpdateIntervalUnits>\r
+ <UpdatePeriodically>false</UpdatePeriodically>\r
+ <UpdateRequired>false</UpdateRequired>\r
+ <MapFileExtensions>true</MapFileExtensions>\r
+ <ApplicationRevision>0</ApplicationRevision>\r
+ <ApplicationVersion>1.0.0.%2a</ApplicationVersion>\r
+ <IsWebBootstrapper>false</IsWebBootstrapper>\r
+ <UseApplicationTrust>false</UseApplicationTrust>\r
+ <BootstrapperEnabled>true</BootstrapperEnabled>\r
</PropertyGroup>\r
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">\r
<PlatformTarget>AnyCPU</PlatformTarget>\r
<ErrorReport>prompt</ErrorReport>\r
<WarningLevel>4</WarningLevel>\r
<Prefer32Bit>false</Prefer32Bit>\r
+ <CodeAnalysisRuleSet>ManagedMinimumRules.ruleset</CodeAnalysisRuleSet>\r
</PropertyGroup>\r
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">\r
<PlatformTarget>AnyCPU</PlatformTarget>\r
<PropertyGroup>\r
<ApplicationIcon>maestro.ico</ApplicationIcon>\r
</PropertyGroup>\r
+ <PropertyGroup />\r
<ItemGroup>\r
<Reference Include="Microsoft.CSharp" />\r
<Reference Include="NAudio, Version=1.8.3.0, Culture=neutral, processorArchitecture=MSIL">\r
<Reference Include="System.Deployment" />\r
<Reference Include="System.Drawing" />\r
<Reference Include="System.Management" />\r
+ <Reference Include="System.Web.Extensions" />\r
<Reference Include="System.Windows.Forms" />\r
<Reference Include="System.Xml" />\r
</ItemGroup>\r
<Compile Include="Settings.cs" />\r
<Compile Include="StringResources.cs" />\r
<Compile Include="TimeCodeWorker.cs" />\r
+ <Compile Include="VerticalProgressBar.cs">\r
+ <SubType>Component</SubType>\r
+ </Compile>\r
<Compile Include="WavRecorder.cs" />\r
<EmbeddedResource Include="AudioDeviceSelectorForm.resx">\r
<DependentUpon>AudioDeviceSelectorForm.cs</DependentUpon>\r
<Name>OctopusClient</Name>\r
</ProjectReference>\r
</ItemGroup>\r
+ <ItemGroup>\r
+ <BootstrapperPackage Include=".NETFramework,Version=v4.6.1">\r
+ <Visible>False</Visible>\r
+ <ProductName>Microsoft .NET Framework 4.6.1 %28x86 and x64%29</ProductName>\r
+ <Install>true</Install>\r
+ </BootstrapperPackage>\r
+ <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">\r
+ <Visible>False</Visible>\r
+ <ProductName>.NET Framework 3.5 SP1</ProductName>\r
+ <Install>false</Install>\r
+ </BootstrapperPackage>\r
+ </ItemGroup>\r
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
<PropertyGroup>\r
<PreBuildEvent>\r
this.groupBox4 = new System.Windows.Forms.GroupBox();\r
this.pauseButton = new System.Windows.Forms.Button();\r
this.groupBox2 = new System.Windows.Forms.GroupBox();\r
- this.volumePanel = new System.Windows.Forms.Panel();\r
this.customTrackBar1 = new AudioRecorder.CustomTrackBar();\r
this.fileNameLabel = new System.Windows.Forms.Label();\r
this.playButton = new System.Windows.Forms.Button();\r
this.groupBox3 = new System.Windows.Forms.GroupBox();\r
+ this.verticalProgressBar1 = new AudioRecorder.VerticalProgressBar();\r
this.groupBox1.SuspendLayout();\r
this.groupBox4.SuspendLayout();\r
this.groupBox2.SuspendLayout();\r
// \r
// groupBox2\r
// \r
- this.groupBox2.Controls.Add(this.volumePanel);\r
+ this.groupBox2.Controls.Add(this.verticalProgressBar1);\r
this.groupBox2.Controls.Add(this.customTrackBar1);\r
this.groupBox2.Location = new System.Drawing.Point(262, 12);\r
this.groupBox2.Name = "groupBox2";\r
this.groupBox2.TabIndex = 6;\r
this.groupBox2.TabStop = false;\r
// \r
- // volumePanel\r
- // \r
- this.volumePanel.Anchor = System.Windows.Forms.AnchorStyles.Bottom;\r
- this.volumePanel.AutoSize = true;\r
- this.volumePanel.BackColor = System.Drawing.Color.Transparent;\r
- this.volumePanel.Location = new System.Drawing.Point(14, 72);\r
- this.volumePanel.Name = "volumePanel";\r
- this.volumePanel.Size = new System.Drawing.Size(15, 150);\r
- this.volumePanel.TabIndex = 4;\r
- // \r
// customTrackBar1\r
// \r
this.customTrackBar1.Location = new System.Drawing.Point(39, 15);\r
this.groupBox3.TabIndex = 10;\r
this.groupBox3.TabStop = false;\r
// \r
+ // verticalProgressBar1\r
+ // \r
+ this.verticalProgressBar1.BackColor = System.Drawing.Color.White;\r
+ this.verticalProgressBar1.ForeColor = System.Drawing.Color.White;\r
+ this.verticalProgressBar1.Location = new System.Drawing.Point(18, 19);\r
+ this.verticalProgressBar1.Name = "verticalProgressBar1";\r
+ this.verticalProgressBar1.Size = new System.Drawing.Size(15, 203);\r
+ this.verticalProgressBar1.TabIndex = 12;\r
+ // \r
// MainForm\r
// \r
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);\r
this.groupBox1.PerformLayout();\r
this.groupBox4.ResumeLayout(false);\r
this.groupBox2.ResumeLayout(false);\r
- this.groupBox2.PerformLayout();\r
this.groupBox3.ResumeLayout(false);\r
this.ResumeLayout(false);\r
\r
private System.Windows.Forms.Button playButton;\r
private System.Windows.Forms.Button pauseButton;\r
private System.Windows.Forms.GroupBox groupBox3;\r
- private System.Windows.Forms.Panel volumePanel;\r
private System.Windows.Forms.GroupBox groupBox4;\r
private CustomTrackBar customTrackBar1;\r
+ private VerticalProgressBar verticalProgressBar1;\r
}\r
}\r
\r
using NAudio.CoreAudioApi;\r
using System.Windows.Forms;\r
using System.IO;\r
-\r
+using System.Runtime.InteropServices;\r
namespace AudioRecorder\r
{\r
public delegate void RefreshPanelDelegate();\r
public partial class MainForm : Form, IMainForm\r
{\r
\r
+ [DllImport("user32.dll")]\r
+ public static extern int SendMessage(IntPtr hWnd, int wMsg, int wParam, int lParam);\r
+\r
private const String CONFIG_FILE = "Resources/configuration.json";\r
\r
private IRecorder recorder;\r
{\r
InitializeComponent();\r
InitializeControlTexts();\r
- volumePanel.Paint += panelPaintEvent;\r
customTrackBar1.MainForm = this;\r
- setVolumePanelData();\r
try\r
{\r
settings = JsonSettings.GetInstance(CONFIG_FILE);\r
}\r
}\r
\r
- private void setVolumePanelData()\r
- {\r
- originalPanelLocation = volumePanel.Location;\r
- startingPanelLocation = volumePanel.Location;\r
- startingPanelLocation.X = 12;\r
- startingPanelLocation.Y = 230;\r
- }\r
-\r
private void saveAudioDeviceToConfig()\r
{\r
if (String.IsNullOrEmpty(settings.getAudioDeviceName()))\r
\r
public void setPanelSizeHeight(float height)\r
{\r
- Debug.WriteLine(String.Format("height {0}", height));\r
volumeHeight = height;\r
- //volumePanel.Invalidate();\r
- //volumePanel.Update();\r
- if (volumePanel.InvokeRequired) {\r
+ if (verticalProgressBar1.InvokeRequired) {\r
refreshPanel = RefreshVolumePanel;\r
this.Invoke(refreshPanel);\r
} else {\r
- volumePanel.Refresh();\r
+ RefreshVolumePanel();\r
}\r
}\r
\r
private void RefreshVolumePanel() {\r
- volumePanel.Refresh();\r
- }\r
-\r
- private void panelPaintEvent(object sender, PaintEventArgs e)\r
- {\r
- //Debug.WriteLine(String.Format("volumeHeight {0}", volumeHeight));\r
- //if (volumeHeight >= 200)\r
- // return;\r
- if (!recording)\r
- {\r
- volumePanel.Controls.Clear();\r
- return;\r
- }\r
- if (volumeHeight > 500)\r
- return;\r
- float volumePercent = 100 / (200 / volumeHeight);// / 10;\r
- Graphics g = e.Graphics;\r
- Point panelLocation = startingPanelLocation;\r
- panelLocation.Y = panelLocation.Y - (int)volumeHeight;\r
- volumePanel.Location = panelLocation;\r
- //volumeHeightnak mennyi a max értéke? akkor már tudnám, hogy az adott érték az hány %, és azt\r
- //hasonlítanám össze a getLoudValue()-val\r
- Color color = (volumePercent > settings.getLoudValue()) ? Color.Red : Color.Chartreuse;\r
- SolidBrush brush = new SolidBrush(color);\r
- //itt is a Rectangle.height értéke a volumeHeight százalékból lenne kiszámolva\r
- //ha 70% a volumeHeight akkor a magasság is 70%-a lenne a területnek\r
- Rectangle rectangle = new Rectangle(0, -10, 500, (int)volumeHeight);\r
- g.FillRectangle(brush, rectangle);\r
+ if(volumeHeight > settings.getLoudValue())\r
+ SendMessage(verticalProgressBar1.Handle, 1040, 2, 0);\r
+ else\r
+ SendMessage(verticalProgressBar1.Handle, 1040, 1, 0);\r
+ verticalProgressBar1.Value = (int)volumeHeight;\r
}\r
\r
private void Form1_Load(object sender, EventArgs e)\r
stopButton.Enabled = false;\r
selectAudioButton.Enabled = true;\r
pauseButton.Enabled = false;\r
+ verticalProgressBar1.Value = 0;\r
recorder.StopRecording();\r
timeCodeWorker.Stop();\r
playButton.Enabled = true;\r
stopButton.BackColor = Color.White;\r
recordButton.BackColor = Color.Lime;\r
- volumePanel.Refresh();\r
copyFileToUncPath();\r
}\r
catch (Exception e)\r
/// <summary>\r
/// The main entry point for the application.\r
/// </summary>\r
- [STAThread]\r
+ [MTAThread]\r
static void Main() {\r
Application.EnableVisualStyles();\r
Application.SetCompatibleTextRenderingDefault(false);\r
"audio_device_name": "",\r
"unc_path": "c:\\temp",\r
"working_dir": "C:\\temp",\r
- "loud_percent": 30,\r
+ "loud_percent": 10,\r
"address": "http://10.10.1.28/services/rest/octopus/",\r
"userName": "dani",\r
"password": "dani",\r
"timeout": 1000\r
-}\r
+}
\ No newline at end of file
--- /dev/null
+using System;\r
+using System.Collections.Generic;\r
+using System.Linq;\r
+using System.Text;\r
+using System.Threading.Tasks;\r
+using System.Windows.Forms;\r
+\r
+namespace AudioRecorder {\r
+ class VerticalProgressBar : ProgressBar {\r
+\r
+ protected override CreateParams CreateParams {\r
+ get {\r
+ CreateParams cp = base.CreateParams;\r
+ cp.Style |= 0x04;\r
+ return cp;\r
+ }\r
+ }\r
+ }\r
+}\r
using NAudio.Wave;\r
using NAudio.CoreAudioApi;\r
using System.Diagnostics;\r
+using System.Linq;\r
\r
namespace AudioRecorder {\r
public class WavRecorder : IRecorder {\r
\r
public void StartRecording(String filePath) {\r
this.filePath = filePath;\r
- //sourceStream = newWaveIn();\r
sourceStream = new WasapiCapture(device);\r
+ //sourceStream = newWaveIn();\r
+\r
sourceStream.DataAvailable += newEventHandler();\r
waveWriter = newWavFileWriter();\r
sourceStream.StartRecording();\r
waveWriter.Write(e.Buffer, 0, e.BytesRecorded);\r
waveWriter.Flush();\r
try {\r
- //float panelHeight = device.AudioEndpointVolume.MasterVolumeLevelScalar * 100;//(device.AudioMeterInformation.MasterPeakValue + device.AudioSessionManager.SimpleAudioVolume.Volume) * 100;\r
- //Debug.WriteLine(string.Format("panelHeight {0}", panelHeight) );\r
- //mainForm.setPanelSizeHeight(panelHeight);\r
+ int panelHeight = (int)Math.Round(device.AudioMeterInformation.MasterPeakValue * 100);//(device.AudioMeterInformation.MasterPeakValue) * 100;\r
+ Debug.WriteLine(string.Format("panelHeight {0}", panelHeight));\r
+ mainForm.setPanelSizeHeight(panelHeight);\r
}\r
catch (Exception ex) {\r
Debug.WriteLine(ex.Message);\r