git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorBellai Ádám <USER\adam.bellai>
Mon, 13 Nov 2017 14:40:07 +0000 (14:40 +0000)
committerBellai Ádám <USER\adam.bellai>
Mon, 13 Nov 2017 14:40:07 +0000 (14:40 +0000)
client/AudioRecorder/App.config
client/AudioRecorder/AudioRecorder.csproj
client/AudioRecorder/MainForm.Designer.cs
client/AudioRecorder/MainForm.cs
client/AudioRecorder/Program.cs
client/AudioRecorder/Resources/configuration.json
client/AudioRecorder/VerticalProgressBar.cs [new file with mode: 0644]
client/AudioRecorder/WavRecorder.cs

index 0b1c1c846f5a5e134400477ac20ad0d630d14d97..83f62bafb508665925847313dc822e2d223c7b24 100644 (file)
@@ -1,12 +1,24 @@
 <?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
index 6abccf7aa7b4cb9b123466388662fa1763bdfbc7..d23812729d3c6981a03066d5064161bf59472804 100644 (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
@@ -27,6 +42,7 @@
     <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
@@ -79,6 +95,7 @@
   <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
index 49a537498c90f2c39f4332f99a9d9142ff5487d2..ea1c0188bcc17561b27fac315dba0f48ab6fa2e7 100644 (file)
@@ -34,11 +34,11 @@ namespace AudioRecorder {
             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
@@ -139,7 +139,7 @@ namespace AudioRecorder {
             // \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
@@ -147,16 +147,6 @@ namespace AudioRecorder {
             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
@@ -199,6 +189,15 @@ namespace AudioRecorder {
             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
@@ -221,7 +220,6 @@ namespace AudioRecorder {
             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
@@ -239,9 +237,9 @@ namespace AudioRecorder {
         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
index 9bcda0ffa22e94d2984b43c0d750b57b366190ed..41b19f47c1af5d79a5a53c7cade506eb7cb22170 100644 (file)
@@ -5,7 +5,7 @@ using System.Drawing;
 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
@@ -13,6 +13,9 @@ namespace AudioRecorder
     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
@@ -37,9 +40,7 @@ namespace AudioRecorder
         {\r
             InitializeComponent();\r
             InitializeControlTexts();\r
-            volumePanel.Paint += panelPaintEvent;\r
             customTrackBar1.MainForm = this;\r
-            setVolumePanelData();\r
             try\r
             {\r
                 settings = JsonSettings.GetInstance(CONFIG_FILE);\r
@@ -77,14 +78,6 @@ namespace AudioRecorder
             }\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
@@ -116,47 +109,21 @@ namespace AudioRecorder
 \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
@@ -178,12 +145,12 @@ namespace AudioRecorder
                 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
index 9aec5d11fc9a133a965712f02734f113b16618bb..1c9899f6c1dee1c0b8e9e15bee5874831356819a 100644 (file)
@@ -7,7 +7,7 @@ namespace AudioRecorder {
         /// <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
index 626a9e1c12a899cea0f92e5cefd0005f228712d1..e6202afb7365e3e86d477f01d487b347d53c3544 100644 (file)
@@ -2,9 +2,9 @@
   "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
diff --git a/client/AudioRecorder/VerticalProgressBar.cs b/client/AudioRecorder/VerticalProgressBar.cs
new file mode 100644 (file)
index 0000000..04ccaca
--- /dev/null
@@ -0,0 +1,19 @@
+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
index 7fd38ca2eb692f0d9cbdbeb84b93f30fd3413f84..f80d3184a16f5302e7a9af667afcfc857f1efcf9 100644 (file)
@@ -3,6 +3,7 @@ using System.Collections.Generic;
 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
@@ -26,8 +27,9 @@ namespace AudioRecorder {
 \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
@@ -57,9 +59,9 @@ namespace AudioRecorder {
                 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