Esempio n. 1
0
 /// <summary>
 /// Creates and initializes a new <see cref="IntegraModel{TModel}"/> instance.<br/>
 /// </summary>
 /// <param name="device">The device to connect the model.</param>
 /// <remarks><i>
 /// - All derived classes require an <see cref="IntegraAttribute"/>.<br/>
 /// - Sets the address, request and size from the <see cref="IntegraAttribute"/>.<br/>
 /// - Collections are responsible for there own requests.<br/>
 /// - Initializes the name with the type name.<br/>
 /// - Connects the model to the device.<br/>
 /// - Caches the model's <see cref="OffsetAttribute"/> decorated fields and properties.<br/>
 /// </i></remarks>
 internal IntegraModel(Integra device, bool connect = true) : base(device, connect)
 {
     if (!IsCached)
     {
         IsCached = this.Cache();
     }
 }
Esempio n. 2
0
 public Home()
 {
     Snacks  = Integra.GetLisSnacks();
     Product = Integra.GetLisProducts();
     RequestsSolicitation = Integra.GetLisRequestsSolicitation();
     IngredientsSnacks    = null;
     InitializeComponent();
 }
Esempio n. 3
0
        private GM2ToneBank(Integra device) : base(device)
        {
            Name = "GM2 Tones";

            Requests.Clear();

            Requests.Add(new IntegraRequest(0x7900007F));
            Requests.Add(new IntegraRequest(0x79013B7F));
            Requests.Add(new IntegraRequest(0x79027F02));
        }
Esempio n. 4
0
        /// <summary>
        /// Creates a new <see cref="TemporaryTone"/> instance.
        /// </summary>
        /// <param name="integra">The device to connect the model.</param>
        /// <param name="part">The associated part.</param>
        /// <remarks><i>
        /// - The temporary tone
        /// </i></remarks>
        internal TemporaryTone(Integra integra, Parts part) : base(integra, part, false)
        {
            Address = Attribute.Address;

            // 0x19, 0x19, 0x19, 0x19, 0x20, ...
            Address[0] += (byte)((int)part >> 2); // >> 2 equals division by 4

            // 0x00, 0x20, 0x40, 0x60, 0x00, ...
            Address[1] += (byte)((int)part % 4 * 0x20);

            MFX = new MFX(this);

            Device.ToneChanged += ToneChanged;
        }
Esempio n. 5
0
        private StudioSet(Integra device) : base(device, false)
        {
            Common                 = device.CreateChildModel <StudioSetCommon>();
            CommonChorus           = device.CreateChildModel <StudioSetCommonChorus>();
            CommonReverb           = device.CreateChildModel <StudioSetCommonReverb>();
            CommonMotionalSurround = device.CreateChildModel <StudioSetCommonMotionalSurround>();
            MasterEQ               = device.CreateChildModel <StudioSetMasterEQ>();
            Midis   = device.CreateChildModel <StudioSetMidis>();
            Parts   = device.CreateChildModel <StudioSetParts>();
            PartEQs = device.CreateChildModel <StudioSetPartEQs>();

            // TODO: Determin last models address value to filter system exclusives for IsInitialized?

            // Raises the property change event to update properties indexed by the selected part
            Device.PartChanged += PartChanged;

            // TODO: Remove event listener
        }
        /// <summary>
        /// Creates a new <see cref="IntegraTemplateCollection{TTemplate}"/> instance.
        /// </summary>
        /// <param name="device">The device to connect the collection.</param>
        /// <remarks>
        /// <i>Requires the collection's items to be derived from <see cref="IntegraTemplate"/>.</i><br/>
        /// <i>Requires the <see cref="IntegraAttribute.Address"/> to specify the INTEGRA-7 function address.</i><br/>
        /// <i>Requires the <see cref="IntegraAttribute.Request"/> to specify the offset to the first template.</i>
        /// <i>Requires the <see cref="IntegraAttribute.Size"/> to specify the number of items.</i>
        /// </remarks>
        internal protected IntegraTemplateCollection(Integra device) : base(device)
        {
            for (int size = Size, i = 0; size > 0; size -= 0x40, i++)
            {
                // request[0] = 0x57, 0x00, 0x00, 0x40;   0.. 63
                // request[1] = 0x57, 0x00, 0x40, 0x40;  64..127
                // request[2] = 0x57, 0x01, 0x00, 0x40; 128..191
                // request[3] = 0x57, 0x01, 0x40, 0x40; 192..255

                IntegraRequest request = new (Attribute.Request);

                request[1] += (byte)(i / 2);
                request[2]  = (byte)(i % 2 * 0x40);
                request[3]  = (byte)(size > 0x40 ? 0x40 : size);

                Requests.Add(request);
            }
        }
        /// <summary>
        /// Creates a new <see cref="IntegraPartialCollection{TPartial}"/> instance.
        /// </summary>
        /// <param name="device">The device to connect the collection.</param>
        /// <remarks>
        /// <i>Requires the collection's items to be derived from <see cref="IntegraPartial"/>.</i><br/>
        /// <i>Requires the <see cref="IntegraAttribute.Address"/> to specify the address of the first partial.</i><br/>
        /// <i>Requires the <see cref="IntegraAttribute.Request"/> to specify the request to initialize all partials.</i>
        /// </remarks>
        internal IntegraPartialCollection(Integra device, bool connect = true) : base(device, false)
        {
            IntegraAttribute?attribute = GetType().GetCustomAttribute <IntegraAttribute>();

            Debug.Assert(attribute != null);

            Requests.Add(new IntegraRequest(attribute.Request));

            for (int i = 0; i < IntegraConstants.PART_COUNT; i++)
            {
                var item = device.CreateChildModel <TPartial>((Parts)i);

                Debug.Assert(item != null);

                Add(item);
            }

            if (connect)
            {
                Connect();
            }
        }
Esempio n. 8
0
 /// <summary>
 /// Creates a new <see cref="StudioSetMasterEQ"/> instance.
 /// </summary>
 /// <param name="device">The <see cref="Integra"/> to connect the model.</param>
 private StudioSetMasterEQ(Integra device) : base(device)
 {
 }
Esempio n. 9
0
 internal StudioSets(Integra device) : base(device)
 {
 }
Esempio n. 10
0
 [Integra(0x0F000402, 0x58650000, 7)] public sealed class ExSN06ToneBank : IntegraToneBank { private ExSN06ToneBank(Integra device) : base(device)
                                                                                             {
                                                                                                 Name = "ExSN-06 SFX Tones";
                                                                                             }
Esempio n. 11
0
 private Setup(Integra device) : base(device)
 {
 }
Esempio n. 12
0
        /// <summary>
        /// Creates a new <see cref="StudioSetParts"/> collection instance.
        /// </summary>
        /// <param name="device">The device to connect the collection.</param>
#pragma warning disable IDE0051 // Remove unused private members
        private StudioSetParts(Integra device) : base(device)
        {
        }
Esempio n. 13
0
 /// <summary>
 /// Creates a new <see cref="IntegraCollection"/> instance.
 /// </summary>
 /// <param name="device">The device to connect the collection.</param>
 /// <remarks>
 /// <b>Important:</b><br/>
 /// <i>Only intended for internal use.</i><br/>
 /// <i>Use the strongly typed <see cref="IntegraCollection{T}"/> instead.</i>
 /// </remarks>
 internal protected IntegraCollection(Integra device, bool connect = true) : base(device, connect)
 {
 }
Esempio n. 14
0
 [Integra(0x0F000402, 0x59620000, 50)] public sealed class ExSN03ToneBank : IntegraToneBank { private ExSN03ToneBank(Integra device) : base(device)
                                                                                              {
                                                                                                  Name = "ExSN-03 Session Tones";
                                                                                              }
Esempio n. 15
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (this.dataGridView1.SelectedRows.Count == 0)
            {
                MessageBox.Show("Ingredients is not null!"); return;
            }
            if (string.IsNullOrEmpty(txtCalculation.Text))
            {
                MessageBox.Show("Is not Calculation!"); return;
            }
            if (string.IsNullOrEmpty(txtName.Text))
            {
                MessageBox.Show("Name is not null!"); return;
            }
            if (string.IsNullOrEmpty(txtDescription.Text))
            {
                MessageBox.Show("Description is not null!"); return;
            }

            var listProductSnacks = new List <ProductSnacksDTO>();

            foreach (DataGridViewRow row in this.dataGridView1.Rows)
            {
                listProductSnacks.Add(row.DataBoundItem as ProductSnacksDTO);
            }

            double calculation;

            double.TryParse(txtCalculation.Text, out calculation);

            var solicitationProductSnacks = new SolicitationProductSnacksDTO(txtName.Text, txtDescription.Text, calculation, listProductSnacks);
            var postSnacks = Integra.PostSnacks(solicitationProductSnacks);

            if (postSnacks == null)
            {
                MessageBox.Show("Error you solicitation!"); return;
            }
            if (postSnacks.code <= 0)
            {
                MessageBox.Show("Error you solicitation!"); return;
            }

            var requestsSolicitation = new RequestsSolicitationDTO(postSnacks.code.ToString().PadLeft(6, '0'), postSnacks.name, postSnacks.description);

            txtCodes.Text = requestsSolicitation.codes;

            RequestsSolicitation = Integra.GetLisRequestsSolicitation();
            var requestsSolicitation2 = this.RequestsSolicitation;

            dataGridViewRequests.DataSource = requestsSolicitation2;
            dataGridViewRequests.AutoResizeColumns();
            dataGridViewRequests.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
            dataGridViewRequests.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
            dataGridViewRequests.Update();
            dataGridViewRequests.Refresh();


            txtCalculation.Text      = null;
            txtDescription.Text      = null;
            txtName.Text             = null;
            IngredientsSnacks        = null;
            dataGridView1.DataSource = null;
            dataGridView1.AutoResizeColumns();
            dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
            dataGridView1.Update();
            dataGridView1.Refresh();
        }
Esempio n. 16
0
 private StudioSetMidis(Integra device) : base(device)
 {
 }
Esempio n. 17
0
 /// <summary>
 /// Creates and initialize a new <see cref="VirtualSlots"/> instance.
 /// </summary>
 private VirtualSlots(Integra device) : base(device)
 {
     StartupExpansions = device.CreateModel <StartupExpansions>();
 }
Esempio n. 18
0
 /// <summary>
 /// Creates a new <see cref="IntegraToneBank"/> instance.
 /// </summary>
 /// <param name="device">The device to connect the collection.</param>
 internal IntegraToneBank(Integra device) : base(device)
 {
 }
Esempio n. 19
0
 [Integra(0x0F000402, 0x5D000000, 41)] public sealed class SRX01ToneBank : IntegraToneBank { private SRX01ToneBank(Integra device) : base(device)
                                                                                             {
                                                                                                 Name = "SRX-01 Dynamic Drums Tones";
                                                                                             }
Esempio n. 20
0
 /// <summary>
 /// Creates a new instance of the INTEGRA-7 studio set part model.
 /// </summary>
 private StudioSetPartEQ(Integra device, Parts part) : base(device, part)
 {
 }
Esempio n. 21
0
 private TemporaryTones(Integra integra) : base(integra)
 {
 }
Esempio n. 22
0
 [Integra(0x0F000402, 0x59630000, 12)] public sealed class ExSN04ToneBank : IntegraToneBank { private ExSN04ToneBank(Integra device) : base(device)
                                                                                              {
                                                                                                  Name = "ExSN-04 Acoustic Guitar Tones";
                                                                                              }
Esempio n. 23
0
 private StudioSetCommon(Integra device) : base(device)
 {
 }
Esempio n. 24
0
 private StudioSetCommonMotionalSurround(Integra device) : base(device)
 {
 }
Esempio n. 25
0
 /// <summary>
 /// Creates a new <see cref="StudioSetPart"/> instance.
 /// </summary>
 /// <param name="device">The device to connect the model.</param>
 /// <param name="part">The model's associated part.</param>
 private StudioSetPart(Integra device, Parts part) : base(device, part)
 {
     PropertyChanged += ModelPropertyChanged;
 }
Esempio n. 26
0
 // Expansions
 [Integra(0x0F000402, 0x59600000, 17)] public sealed class ExSN01ToneBank : IntegraToneBank { private ExSN01ToneBank(Integra device) : base(device)
                                                                                              {
                                                                                                  Name = "ExSN-01 Etnic Tones";
                                                                                              }
Esempio n. 27
0
 [Integra(0x0F000402, 0x59610000, 17)] public sealed class ExSN02ToneBank : IntegraToneBank { private ExSN02ToneBank(Integra device) : base(device)
                                                                                              {
                                                                                                  Name = "ExSN-02 Woodwinds Tones";
                                                                                              }
Esempio n. 28
0
 private StartupExpansions(Integra device) : base(device)
 {
 }
Esempio n. 29
0
 protected IntegraPartial(Integra device, Parts part, bool connect = true) : base(device, connect)
 {
     Debug.Print($"[{nameof(IntegraPartial<TModel>)}] Constructor<{GetType().Name}>({part})");
     Address += (int)part << 8;
     Part     = part;
 }
Esempio n. 30
0
 [Integra(0x0F000402, 0x59640000, 12)] public sealed class ExSN05ToneBank : IntegraToneBank { private ExSN05ToneBank(Integra device) : base(device)
                                                                                              {
                                                                                                  Name = "ExSN-05 Brass Tones";
                                                                                              }