daily pastebin goal
41%
SHARE
TWEET

Untitled

a guest Jan 29th, 2018 54 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using UnityEngine;
  2. using System;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using System.IO.Ports;
  6.  
  7. public class Scanner : MonoBehaviour
  8. {
  9.     public Hv_synth_AudioLib synth;
  10.  
  11.     SerialPort sStream;
  12.     public int comPortNr = 3;
  13.  
  14.     public string streamData;
  15.     public int pitch1;
  16.     public int pitch2;
  17.     public int z;
  18.     private int _z;
  19.     private int timer;
  20.  
  21.  
  22.     private void Start()
  23.     {
  24.         setupScanner();
  25.         startScanner();
  26.     }
  27.  
  28.     private void OnDestroy()
  29.     {
  30.         sStream.Close();
  31.     }
  32.  
  33.     private void FixedUpdate()
  34.     {
  35.         timer++;
  36.         streamData = sStream.ReadLine();
  37.  
  38.         var sD = streamData.Split(' ');
  39.  
  40.         pitch1 = int.Parse(sD[0]);
  41.         pitch2 = int.Parse(sD[1]);
  42.  
  43.         if (sD[0] == "000")
  44.         {
  45.             Debug.Log("calibration");
  46.         }
  47.         else
  48.         {
  49.             //remapedValue = low2 + (value - low1) * (high2 - low2) / (high1 - low1)
  50.             int x = (Mathf.Clamp(pitch1, 1, 13) - 1);   //Note
  51.             int y = (Mathf.Clamp(pitch2, 1, 13) - 1);   //Oktave
  52.  
  53.             y = y * 12;
  54.             z = x + y;
  55.         }
  56.  
  57.            setNote();            
  58.        
  59.         if (Input.GetKeyDown ("space"))
  60.         {
  61.             resetSynth();
  62.         }
  63.     }
  64.  
  65.     void setNote()
  66.     {
  67.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_note, z);
  68.     }
  69.  
  70.     void resetSynth()
  71.     {
  72.         Debug.Log("reset");
  73.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_note, 0);
  74.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_adsr1_a, 0.1f);
  75.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_adsr1_d, 0.2f);
  76.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_adsr1_duration, 1000.0f);
  77.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_adsr1_r, 0.3f);
  78.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_adsr1_s, 0.4f);
  79.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_adsr2_a, 0.1f);
  80.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_adsr2_d, 0.2f);
  81.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_adsr2_duration, 1000.0f);
  82.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_adsr2_r, 0.3f);
  83.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_adsr2_s, 0.4f);
  84.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_am1_a, 0.1f);
  85.         //synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_am1_amFreq, 0.0f);
  86.         synth.c1_am1_amFreq = 0;
  87.         //synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_am1_amMulti, 0.0f);
  88.         synth.c1_am1_amMulti = 0;
  89.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_am1_d, 0.2f);
  90.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_am1_duration, 1000.0f);
  91.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_am1_index, 0.0f);
  92.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_am1_phase, 0.0f);
  93.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_am1_r, 0.3f);
  94.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_am1_s, 0.4f);
  95.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_am1_wave, 0.0f);
  96.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_fm1_a, 0.1f);
  97.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_fm1_d, 0.2f);
  98.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_fm1_duration, 1000.0f);
  99.         //synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_fm1_fmFreq, 0);
  100.         synth.c1_fm1_fmFreq = 0;
  101.         //synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_fm1_fmMulti, 0);
  102.         synth.c1_fm1_fmMulti = 0;
  103.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_fm1_index, 0);
  104.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_fm1_phase, 0);
  105.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_fm1_r, 0.3f);
  106.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_fm1_s, 0.4f);
  107.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_fm1_wave, 0.0f);
  108.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_mixer_vol1, 0.5f);
  109.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_mixer_vol2, 0.5f);
  110.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_mixer_volx, 0.5f);
  111.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_note, 0.5f);
  112.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_osc1_cents, 0.0f);
  113.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_osc1_octave, 0.0f);
  114.         //synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_osc1_onOff, 1.0f);
  115.         synth.c1_osc1_onOff = 1;
  116.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_osc1_phase, 0.0f);
  117.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_osc1_semi, 0.0f);
  118.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_osc1_wave, 0.0f);
  119.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_osc2_cents, 0.0f);
  120.         //synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_osc2_onOff, 1.0f);
  121.         synth.c1_osc2_onOff = 1;
  122.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_osc2_phase, 0.0f);
  123.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_osc2_semi, 0.0f);
  124.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_osc2_wave, 0.0f);
  125.         //synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_outPutOnOff, 1.0f);
  126.         synth.c1_outPutOnOff = 1;
  127.         //synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_pbRange, 25.0f);
  128.         synth.c1_pbRange = 25;
  129.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_pbend, 8192.0f);
  130.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_vcf1_amount, 0.01f);
  131.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_vcf1_cf, 0.05f);
  132.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_vcf1_freq, 0.2f);
  133.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_vcf1_q, 0.5f);
  134.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_vcf2_amount, 0.01f);
  135.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_vcf2_cf, 0.05f);
  136.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_vcf2_freq, 0.2f);
  137.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_vcf2_q, 0.5f);
  138.         synth.SetFloatParameter(Hv_synth_AudioLib.Parameter.C1_velocity, 127f);
  139.     }
  140.  
  141.     void setupScanner()
  142.     {
  143.         sStream = new SerialPort("COM" + comPortNr.ToString(), 19200);
  144.     }
  145.  
  146.     void startScanner()
  147.     {
  148.         try
  149.         {
  150.             sStream.Open();
  151.         }
  152.         catch (Exception e)
  153.         {
  154.             e.ToString();  //e beschäftigen um Meldung auszuschließen
  155.             Debug.Log("Scanner disconnected!");
  156.         }
  157.     }
  158. }
RAW Paste Data
Pastebin PRO WINTER Special!
Get 40% OFF Pastebin PRO accounts!
Top