Exemple #1
0
        private void LoadAllFrequences()
        {
            var frequences = SoundServiceSingleton.Instance.GetAllFrequencesFromBaseSounds();

            Frequences.Clear();
            Frequences.Add(BaseSoundsDefinition.All);
            frequences.ToList().ForEach(x => Frequences.Add(x.ToString()));
        }
Exemple #2
0
 void Awake()
 {
     if (_instance == null)
     {
         _instance = this;
         DontDestroyOnLoad(this.gameObject);
     }
     else
     {
         Destroy(this);
     }
 }
        private List <List <FrequenceList> > getFrequences()
        {
            List <List <FrequenceList> > frecuenciasGlobales = new List <List <FrequenceList> >();
            int  cantidadFrecuencias;
            bool crearNuevaFrecuencia;

            foreach (var columna in columnas) //va columna por columna
            {
                List <FrequenceList> frecuencias = new List <FrequenceList>();
                for (int i = 0; i < columna.Count; i++) //toma una sola columna contra la objetivo
                {
                    Frequences frecuencia = new Frequences();
                    frecuencia.element          = columna[i];
                    frecuencia.objectiveElement = objective[i];
                    crearNuevaFrecuencia        = true;
                    if (frecuencias.Count != 0)
                    {
                        cantidadFrecuencias = frecuencias.Count;
                        for (int y = 0; y < cantidadFrecuencias; y++)
                        {
                            if (frecuencias[y].frequences[0].element.Equals(frecuencia.element))
                            {
                                frecuencias[y].frequences.Add(frecuencia);
                                frecuencias[y].quantity++;
                                crearNuevaFrecuencia = false;
                            }
                        }
                        if (crearNuevaFrecuencia)
                        {
                            var aux = new List <Frequences>();
                            aux.Add(frecuencia);
                            frecuencias.Add(new FrequenceList()
                            {
                                frequences = aux,
                                quantity   = 1
                            });
                        }
                    }
                    else
                    {
                        frecuencias.Add(new FrequenceList()
                        {
                            frequences = new List <Frequences>(),
                            quantity   = 1
                        });
                        frecuencias.FirstOrDefault().frequences.Add(frecuencia);
                    }
                }
                frecuenciasGlobales.Add(frecuencias);
            }
            return(frecuenciasGlobales);
        }
        public void SoundGeneratorSimpleTest()
        {
            const int sampleRate = 44100;

            var tune                = new Tune();
            var oscillator          = new SineOscillator(sampleRate);
            var frequenceRepository = new Frequences();

            var A440 = frequenceRepository[Pitches.A, Scales.Four];

            var data = new List <double>();

            oscillator.SetFrequency(A440);
            for (int i = 0; i < sampleRate; i++)
            {
                data.Add(oscillator.GetNext(i));
            }

            //SoundGenerator.(data.ToArray(), data.Count, sampleRate);

            Assert.Fail("Not yet totally implmented !");
        }
Exemple #5
0
 void Awake()
 {
     this.frequences = gameObject.AddComponent <Frequences>();
 }
Exemple #6
0
        static void Main(string[] args)
        {
            List <double> Frequences = new List <double>();

            Console.WriteLine("Введите частоты символов.");
            Console.WriteLine("Когда сумма элементов дойдет до 1, ввод остановится");
            while (true)
            {
                double current;
                while (!double.TryParse(Console.ReadLine(), out current) || current < 0)
                {
                    Console.WriteLine("Ошибка ввода, введите вещественное число не больше 1 и не меньше 0.");
                }
                Frequences.Add(current);
                double sum = GetListSum(Frequences);
                if (sum > 1)
                {
                    Console.WriteLine("Сумма частот превысила 1. Введите частоты заново.");
                    Frequences = new List <double>(); // если введённые числа в сумме превысили единицу
                }
                if (sum == 1)
                {
                    Console.WriteLine("Ввод завершен.");
                    break;
                }
            }

            Console.WriteLine("\nВведенные частоты:");
            Frequences.Sort();
            foreach (var t in Frequences)
            {
                Console.WriteLine(t);
            }

            List <HuffmanTree> treeList = new List <HuffmanTree>();

            for (int i = 0; i < Frequences.Count; i++)
            {
                treeList.Add(new HuffmanTree(Frequences[i]));
            }

            while (treeList.Count > 1)
            {
                HuffmanTree first  = treeList[0];
                HuffmanTree second = treeList[1];

                treeList[1]       = new HuffmanTree(first.Value + second.Value);
                treeList[1].right = first;
                treeList[1].left  = second;
                treeList.RemoveAt(0);
                treeList.Sort();
            }

            List <string> HuffmanCode = Code.GetCode(treeList[0]);

            Console.WriteLine("\nКод: ");
            foreach (var t in HuffmanCode)
            {
                Console.WriteLine(t);
            }

            Console.ReadLine();
        }