示例#1
0
        static void WriteFloatBundleElement(OscWriter writer, string address, float value)
        {
            var typeTags = ",f";
            var firstAddressByteCount = Encoding.ASCII.GetByteCount(address).Align4();
            var firstTypeTagByteCount = Encoding.ASCII.GetByteCount(typeTags).Align4();
            var elementSize           = firstAddressByteCount + firstTypeTagByteCount + 4;

            writer.Write(elementSize);
            writer.Write(address);
            writer.Write(typeTags);
            writer.Write(value);
        }
示例#2
0
        public static byte[] GetRecursiveBundlesExample()
        {
            var writer = new OscWriter(512);

            var now = DateTime.Now;

            writer.WriteBundlePrefix();
            writer.Write(new NtpTimestamp(now));

            WriteFloatBundleElement(writer, "/composition/video/opacity", 0.5f);
            WriteFloatBundleElement(writer, "/composition/layers/2/video/opacity", 0.64f);

            writer.WriteBundlePrefix();
            writer.Write(new NtpTimestamp(now));

            WriteIntBundleElement(writer, "/composition/layers/1/video/mixer/blendmode", 24);
            WriteFloatBundleElement(writer, "/composition/layers/1/video/opacity", 0.72f);

            var bytes = new byte[writer.Length];

            writer.CopyBuffer(bytes, 0);
            return(bytes);
        }
        private void Go_Click(object sender, EventArgs e)
        {
            if (m_IsFileOpen == false)
            {
                try
                {
                    AppendLine("Opening file: " + m_FilePath.Text);

                    m_Stream  = new FileStream(m_FilePath.Text, FileMode.Create, FileAccess.Write);
                    m_Writer  = new OscWriter(m_Stream, (OscPacketFormat)m_Format.SelectedIndex);
                    m_Go.Text = "Close";

                    m_SelectFile.Enabled = false;
                    m_Write.Enabled      = true;
                    m_FilePath.ReadOnly  = true;
                    m_Format.Enabled     = false;

                    m_IsFileOpen = true;
                }
                catch (Exception ex)
                {
                    AppendLine("Exception while opening");
                    AppendLine(ex.Message);

                    if (m_Writer != null)
                    {
                        m_Writer.Dispose();
                        m_Writer = null;
                    }

                    if (m_Stream != null)
                    {
                        m_Stream.Dispose();
                        m_Stream = null;
                    }

                    m_SelectFile.Enabled = true;
                    m_Write.Enabled      = false;
                    m_FilePath.ReadOnly  = false;
                    m_Format.Enabled     = true;

                    m_Go.Text = "Open";

                    m_IsFileOpen = false;
                }
            }
            else
            {
                try
                {
                    AppendLine("Closing file");

                    m_SelectFile.Enabled = false;
                    m_Write.Enabled      = false;
                    m_FilePath.ReadOnly  = false;
                    m_Format.Enabled     = true;
                    m_IsFileOpen         = false;
                    m_Go.Text            = "Open";

                    m_Writer.Dispose();
                    m_Stream.Dispose();
                }
                catch (Exception ex)
                {
                    AppendLine("Exception while closing");
                    AppendLine(ex.Message);
                }
            }
        }