Пример #1
0
 /// <summary>
 /// Создание контрола - таблицы орнамента
 /// </summary>
 /// <param name="x"></param>
 /// <param name="y"></param>
 /// <param name="chan"></param>
 public TControl(int x, int y, Channel ch)
 {
     Type = Types.Table;
     X = x;
     Y = y;
     Kx = 0;
     Ky = 0;
     Shift = 0;
     Ch = ch;
 }
Пример #2
0
        int waveLen; //Длина волны

        #endregion Fields

        #region Constructors

        /// <summary>
        /// Инициализация синтезатора
        /// </summary>
        /// <param name="ch">Ссылка на канал, в котором орнамент лежит</param>
        public Sinthesizer(Channel ch)
        {
            Mute = false;
            Played = false;
            channel = ch;
        }
Пример #3
0
 //Загрузка проекта
 public bool Open()
 {
     try
     {
         System.IO.BinaryReader file = new System.IO.BinaryReader(new System.IO.FileStream(FileName, System.IO.FileMode.Open));
         if (file.ReadString() !="RTR")
         {
             System.Windows.Forms.MessageBox.Show("Файл " + FileName +" не поддерживается");
             file.Close();
             return false;
         }
         int Version = file.ReadInt32();
         if (Version == 0)
         {
             //Информация о теке
             SongName = file.ReadString();
             AlbumName = file.ReadString();
             AutorName = file.ReadString();
             Tempo = file.ReadInt32();
             PatternLen = file.ReadInt32();
             TaktLen = file.ReadInt32();
             //Информация о дорожках
             ChannelCount = file.ReadInt32();
             for (int i = 0; i < ChannelCount; i++)
             {
                 Channels[i] = new Channel();
                 Channels[i].Volume = file.ReadInt32();
                 Channels[i].Atack = file.ReadInt32();
                 Channels[i].Hold = file.ReadInt32();
                 Channels[i].FadeOut = file.ReadInt32();
                 Channels[i].Len = file.ReadInt32();
                 Channels[i].Repeat = file.ReadInt32();
                 for (int j = 0; j < Channels[i].Len; j++)
                 {
                     Channels[i].ornament[j].Wave = file.ReadInt32();
                     Channels[i].ornament[j].Volume = file.ReadInt32();
                     Channels[i].ornament[j].Note = file.ReadInt32();
                     Channels[i].ornament[j].Frequency = file.ReadInt32();
                 }
             }
             //Трек
             Track = new int[65536];
             TrackLen = file.ReadInt32();
             for (int i = 0; i < TrackLen; i++) Track[i] = file.ReadInt32();
             //Паттерны
             Patterns.Clear();
             int patcount = file.ReadInt32();
             for (int p = 0; p < patcount; p++)
             {
                 //Patterns.Add(new Pattern(file.ReadByte()));
                 Pattern pat = new Pattern(file.ReadInt32());
                 for (int i = 0; i < pat.Len; i++)
                     for (int j = 0; j < ChannelCount; j++)
                         pat.Note[j, i] = file.ReadByte();
                 Patterns.Add(pat);
             }
             file.Close();
             Audio.InitAudio(this);
             return true;
         }
         System.Windows.Forms.MessageBox.Show("Файл " + FileName + " имеет более новый формат и в это версии программы не поддерживается.");
         file.Close();
         return false;
         //System.Windows.Forms.MessageBox.Show("Проект открыт из файла " + FileName);
     }
     catch
     {
         Editor.Error("Произошла ошибка при открытии файла.");
         return false;
     }
 }