Forum
    • Categories
    • Register
    • Login

    Optimal Midi Architecture

    Scheduled Pinned Locked Moved General Questions
    25 Posts 5 Posters 54 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      Bart @Christoph Hart
      last edited by Bart

      @Christoph-Hart

      Don't know if MIDI Players can be dynamically added and removed via the final exported plugin
      Don't think it handles parameter automations
      Don't think they can playback and display more than one Sequence and or Track at a time
      Couldn't get them to output MIDI to anything other than MIDI channel 1,
      Using the MIDI Channel Setter Module would be fine, but couldn't get it working with stuck notes
      MIDI Player doesn't seem to immediately update it's Sequence and Track when changing them

      Would be great if a single MIDI Player could manage everything:

      Sample accurate playback for MIDI events (already does) and automations (doesn't do)
      MIDI 2.0 per note parameter modulation (Hise Events may already be capable??)
      Manage parameter automations with sample rate accuracy and MIDI 2.0 resolution
      Playback more than one Sequence and or Track together from the single MIDI Player

      So basically a single MIDI Player Module that handles it all, and then you can utilize the Floating Tiles and custom Piano Roll Panels to view any of the content within the one MIDI Player Module.
      So Floating Tile 1 might display Sequence 5 Track 2, while scripted Panel displays piano roll for Sequence 10 Tracks 1 2 3 4 all from the one MIDI Player.

      Having the option to use a single MIDI Player would then help declutter plugins when many MIDI tracks are needed, but not necessarily wanted clogging up the module tree.

      More things I'm sure 😁

      A single MIDI Player that can handle it all optimally and accurately, something like that 👈

      1 Reply Last reply Reply Quote 0
      • HISEnbergH
        HISEnberg @Bart
        last edited by HISEnberg

        @Bart Sounds to me like the Midi Player is exactly what you need here as Christoph suggests. The only aspect really missing is CC control, but you can manage that with other custom MIDI processors.

        I had a project a few years back attempting to create a full MIDI browser and piano roll (credits go to @ustk here). It is A LOT of scripting. You can in fact display many MIDI tracks (including those not used) at any time in a panel. HISE doesn't support MIDI 2.0 yet (as far as I am aware, @Christoph-Hart is that on your radar btw?)

        You're welcome to poke around the project. Apologies it is quite a mess as the project was abandoned early on. The tools you mention, isn't that the purpose of using a DAW?

        HiseSnippet 20417.3oc681EbibjsdffRBiDfjZ0Zl4d26t1w5R7NiLP2ffnv+noZ0DjDraNM+AhfcK0WFz8TDn.P0rPUPUUf+zZ3czMr8ZuQb209QOuMO4m8i1OY4vwtQru4M76NlG7aaDdmW1m1H16lmLqexr9CE.A5grEolAMPUYdxSdxSdxu7jmLSwyMDU5H14k5JRCGJZDK1BuaSM01h55pZwVH4AWLTL1BeT7VWnXze89BRJw1ZiXK7gwaJInntuprbr0tXnfttXmXKrv69XHAKj38hg+6O9n0DjETZK57nXwdtpTawskFHY37zlq9TIY4ME5Hdfz.pTWb0sZqprtpr5HDy7twyEanP6SD5Itq.jr2IdrmHn2O1B2KtP6B74xUrbmBGKHbbm70J1UrP4xE4KzsVthB0DJmqV4bE4isvOoQGICUsVFBFh5wV38VSsyEs5qdlBo.dtjtzwxhvO3i0BUxjGuopbGnJBOM158kj6XKkzQxr6PIydWhL6mGeGoNR1O2Q1cW7K3bxAs.bg2gk8dWF1iml8xQwd9vRKPwRuGgk9z3sZqIMzv4Mj1xsTLD05JfZmnYERZi8N6mH95pnTnXjcfvIhapg9gcNRwmiOWFtJ4xkdkjIShUSx1Qrqn15BxxGiZszSYnMRD8VDQzUkEy1VVTPKEjbIk1xi5HlZwMDQOTSvPBkjruReQ3kKur8qaJnHJiDfJn+w581urgxohxpCEsdAU9LyBN6dxmrPWu4XOi9hZs5KY38U6LR1PpMghtoUSrJ4oR8DPMcteIzZull5Y5h99pmJdwwpBZcrp2ND0pGl0aRPyNaKz8ktyJpuhtA2oBZbCUjeIP7MjzGJKbgN2C4rZC6IZTWVdc0ACUUP+VO0htRrIWHKoHx0cjRanUgafy6atepdZBC6K0VOCWaK5jgCdmn1VHqImmN42kjC8mU5x1E08FUpoxcdNy+PEBjB7GxpsEjwEQSLMPb6N1+P+PJBezJzYPVBUceHUFgJ2tpFh6K11PPomLxNitQpCQJn4nXUHUesTGi9oR65oOQTpWeiToOhl6j5xkhpHjzaLXnwEoRy8vGxki6y+bBejUVTomQetujKWZb1HR.5pmBvZH9kOekUb+RgyMeYNmWY+ktpZboTf2KoPJsz1uyoXbnFjzcGM.QM3aGxezJLIxgS1Q.0aE8yTlOJiUVS6JG1rGIGBmmx7Q9kiK8VCb3q8QsKLDhOiM4Wxh0R6V9LD5BSZcP4021L2YQ3TAIYAjsxVnwLfRjlFKSjmDl49b7dxM7V6xylWKlwMYuGWtrkSOCZyT0j5IoHH+hfZ0r3KsABxRuVrSSUnWcJm74H8PUO6ZmeDQSbf.Zv9Njxhlf2iKEsXZIJ4fKUBleX2OWWzfLZMpm9lalK+lUxW1UFYrIru5H.8gc+0TGhq64NJiCSRTwNL+QYn3FzO3ylyiR2ktMpLDKkXsP.eCFYBUgk.iantx2yWqCqjLfJG4ezydFZjBQ2IqilvYaiLdlBU1Y3vejKat.rzXUMtLYRrFiD1D.mD2W3wFtoEFzKu+8sLvpI1inWC52tR+gRGQYECmprcDLDxRYOEkMIOIBUOah.qXfZbLf5g0f.o541xlqQExvYzWRm7omhxTLcIsoUZq7RGkEM9kBRS3.U7H1DMQyj6JkHVbewg.StmhUyHLZeOQKzFHAZR6QuTw8K1C0RijaIPuiy8q51022ACZpgFBVTy2WCnU0BKioTFM3XQsLnAkkQrkUBQHxXg4EOXXdznPaSFCmJgpJaoHYr2PQkfvlFybfeDjvmaxUnjZfAD9SMADJ144RhmMTUyHlDB62GG+zguzBuULLqSifOlMY9IDx7mYRl5i5Ho90BmJhTkGfozch203kVOg2Ko.kjXKrR7keFBcj9xhZJh5FKugn9IFpCWFSOtVBCFJKpub0bU4.3P3u8To1mj8LgSioAM5HwHh0WH9B.MwOogRGqeGycs9Nlr6ZiLLTUv74GF+XCkWtyHCQ9vpuii.PK0jPfVxRcD0LIvIJG+RX9SrD36+c+2y+CQg.IwD.0ywCC7y8l+6ZleDLviUWS8byFq1CN9kjd887Pk+3il1187A0tWaBa20UDzDmKs54ups54ups54c0p+6JOYs5dX.tooU2a0X0osUuPPs5e4D1p2WvXo1xpnYkNWZ5KbUa5KbUa5YIve3u6u6e3j0z6lA9gmMMM8dpFevT2zWLnl9uXJZ5QSsWYtzvW7p1vW7p1vWzce9IzRuGFnxzzv6gJ2cpa3KETCe0Irgusrvv4RidoqZidoqZiNKAVsa2kmrF8RgMvbjaz8Pke9T2nWdV0nOTTq8boQu7UsQu7UsQmk.+9u+28u6e+D0n6gA9Klld5doxT2nWInF8JSXitg5f4RadkqZadkqZa9TR.617nj+w2l6gJ+8m517pA0l+fIEGeegSD0lKM6UupM6UupM6UuhM6UmIM6dnB2T2rWaV0UWSZ9zUu1UsMu1UsMu1UrMu1LoM2CUVbRZy+DFW0jaVMm8iUU5oNCa1+HGO0ja5Z2+HGW0ja5Z29HGe0j6pn5.NqI2z1z+ILdqwCY9ESRa+ciy7rqwNpKQbxOrYwIOq4m9rVX5yZwH.a2GEkeNVQogxo0MLDZeB3vYWsN+k+1+aQhR+YrTZawSEkmReUdGKR8DU4Ntow+7+yqFEZ7IVzXCw1BWvRje++w+C+yhDQ9TKhzZjtgGWm9q69udseXhHy9hxhB5d7A7+0+UqNER30GocpKR8G9p+s+WlrlcrzwGJMgixsCsvI5JueJwTIteMrfESAItKlD1wx.+DzMfhJ2gPEYgKfEBZ55JQzZerlTmVRuVLL7QAyG+bh.QVZHPmFJvBAeUpQ.U1U7bioqs0gFM0DOc5nwGaKYE03u5jH+Uol.sssPiAMcz3O2lFlQay5fSi8gVOaqMfQyhsvBlKMVSM0ghZFRvJwsvFhmJ0VjDvTIhaNBWrE9.6HlI1BuOgG9XSdXqAB8DwrvGDG+c9XmSWfWP+iyfkV19A+K+WrZe7JAa+j+v+zU6JIaFfa+Ew+tl6u2upw5G7xM2a6MZr+kG2K6Pkdf7vlaRvxM30N0jafkDdsdWMtw.odZEAdIiyWtRkJ44KESxPb.4w4A.Q4KwWtT07Eyki5MtdQjX5ODyz0GoIDrT7Eqxx2+9+Wcy249aV0ECVLekp70xkqpaFrPtREJVpPAdjpKcv0AZG1raRV1cagiskw3uSyq+gWuJEudfKd86O0MuhRRWjdH1nj8y9BrbO1B+8hat95blqGKGXGlaHnwMTPCwbTbIsrCHIQIJQbMwdijEzXZ.9jIXEfOmNhLCocnom1gumtcfzLfDz7EpVoTri64iZkdaX41WSP6f9HfiHPlntj+j34ykMWLAYodJCvL+GD+XUT+9AwDFYn9DjEdRSFSSdh3777UKVkOV.ZvmhpvVwNvK.N9U09+6+s0++8+6GYqF3n7wnL7QAo69yvxePrAFVPC4hF4I.c36dwOvJ6927+hO5vdZgYaWhRWSV4B429J4kUaehUDttvGRUlePPU26XWcUX6Afl7wEz+fsl9C+sd5A7Mdqo9IKEjkUOyNtRAVZcYjVhN2dJxnBLIsfZBiLAGle0Wwx7Cshkhsvn42VEFqf2amOWRCW8565SudmlkBPWC9J774qTNWAdpFnDwKUpFx5YoXQyNLXlqP0hEymOl6Nd0JVqbk70JwXF3CiTHQDPS62W2USKx7f6pYwUGmjhXn6ciui6QN3KjqbE9JEJ6sRhpKnJewZTRJyGmiGIBmnpHInMBR6c2YYUrkqpHe0pEqTqX47E7VEQuIeQzacUEqTMe9hH8Dlp3mFovJgpJtAcU7KcWE2vSUb2wVEcqsYOZKot+Shi2Z.CT6XBqpsDLD5.5sKvK9gABLlK0MDGRMr3u+286928H8Qc6JgRU73bcVCk+NcjEsrh6j27+fjdS4Q8jTZJngFEzPTiXYaH6CIiP9AXlaId+FfL7Hs4b59yugEowiiXASIp42CQZ9hUcIMwyTwRZ9tw2NPYYLFwRfiF7Si6J.DYjNWD1HB+geqOVGiReJerGRyq2wvbmXP30MkUE.mkc.BesyX.XNFMA.Z1826hcMmmvAlPlfrr2ohZPXOhq+LCnxiLXi5W6SymGCyVc0KWfuT4x4igmWxB6FGhvxEa5LvyhOfaQmHfjewLv6wQUI5M4v+ZSUXvwuVU6DcHvjQOuqfrtXxKcMRzp9IqcIK8VCJv77w0z3i0WuHmuSb4ii.5gX1FP.OIRCB7mDWVrqQL20luzGzz4bCB+vwpdMN7yANAlOwFDNDUlLUr+Qg0I.0LL4cBBGQDy7Y7oQIJQAHEvneMK6iMuDegjdlF42+Uq5sQAzkPLXw37KkOYgkJlrzRkSVYopIqsDetj77KwmOIegk3KljuzR7kSxWYI9pI4qsTdK6cuS7wp3MRWb8Q5nIFzTc3ngVQD6jBkMef3cN75OT17SJT17iQpl+OcPYqVCg1oVYeLkVqR4ZnhXhgxledBkM+0Bnr4mmPYyO2gx9IQJVYmiPYyesCJ6DhJM+7DUZ9a5nRyOOQkleliJM+MFTo4udiJM+TfJM+XQk99waA6Ig2TvRyOVXoePzfkledBKM+L.3Y9aR.OyOi.dVHH8MDPtq8.OKLo.OKLFoZg2l.dVXdB7rv0BfmElm.OKbs.3Yg4IvyB2zAdVXdB7rvMcfmElm.OKLyAdV3FCvyBWuAdVXJ.dVXr.OuSbbzszg6IR8ELdSg+rvrB+Yg4I9yBy.7mEtIg+rvLB+YwfT6905W+weVbRweNtNtEeaB+Yw4I9yhWKveVbdh+r30B7mEmm3OKdSG+Yw4I9yh2zweVbdh+r3LG+YwaL3OKd8F+Ywo.+Ywwh+7ihCv3dyh9r3rB8Yw4I5yhy.zmEuIg9r3LB8YofT5Pc+eCg9LwTi9rzjh9rzXjpkdaB8Yo4I5yRWKPeVZdh9rz0BzmklmnOKcSG8Yo4I5yR2zQeVZdh9rTTPeFMjOkhPfHttrvv2TXdJMqv7TZdh4ozL.ySoaRXdJMVLOIhDlmxAotg5E7lAyC6dda5A.UdRA.UdLh3xuMA.p77D.T4qE.fJOOA.U9ZA.nxyS.PkuoC.p77D.T4a5.fJOOA.Ud1A.pbD..0TTq8aJ.PkmU.fJOOA.UdF..p7MI.PkmQ.fpDj51c+GeCC.TkIE.TkwHhq71D.nJyS.PUtV..px7D.TkqE.fpLOA.U4lN.nJyS.PUtoC.px7D.TkYG.nJiE.T73G.G8HuYv+TYVg+ox7D+SkY.9mJ2jv+TYFg+oZPZa49e5FF9mpSJ9mpiQDW8sI7OUmm3epds.+S04I9mpWKv+Tcdh+o5Mc7OUmm3epdSG+S04I9mpyN7OUGK9mOHdK7A39aJHPUmUPfpNOg.UcF.Ap5MIHPUmQPfpEjBWy+mugAAp1jBAp1XDw0daBBTs4IDnZWKf.UadBAp10BHP0lmPfpcSGBTs4IDnZ2zg.UadBAp1rCBTsH3Bn8kdi4BnZyJ7O0lm3epMCv+T6lD9mZSO9mOg4XKKWPpaC+au9C.x80FSDQ.kz5fzMmWoraoyMdLPL2YMyVPPtkU+oCEDy0pyrEFTPUx273fXt4els.gbWIuYhDh9hMZ1BEZBkOWyvB8y7b53laFCFxuNISKZnOg4rYMWDNFr1QRuc14HfH20toFQzcYOdVyMigD4lOmJLQtuZutdCJxcUdp2MXerMgp2oCUkN22ReTX8aiFfGWMdWrpaDP+OXh.JC2STOUTi6y41PSnWOjD2iR6VqFRuFG9+u.yFvskDbGcXyJLGAv0npJ+vW6VEyy8mw+o+lUmoWxCi6ps3CC29kyMAkJa0J6ODx0JiuUKOMhAJ8nE.Qth5Q7rv6ErJnyE3yOMtzfdLUyHe443asz4p74W54p7AURzED9d8I.UaV49DLfCHF86RtX3Yz60fQqFox00kEz26t9tpXPJq9oiMA2FgQ99KxOVJp2eG9IvboZwyW100GTh37kpTKWg7wz6qd11HEVcuF7RF9XQ9Zn36OkctASQCz2+234134aW0cmGO8SBpE7mDoIA3b8LFXal6A6EV0q4VMAT6+i0TggObfiMPEOzhFpsDNEAZpJo.CP9DAkNlOE0caftAhmH8nW3uu26OKCkFJm5eeMOMG5sEjE2TnMXFvlO9COJ1DIJnOIKQU1IUTLdtbVIr9ezOgUSIi18whqYhvf9XU56+1qwBi+A9IL1TR1PTa1IMX1l+u9Zrz3umuRiyipjHvKLqjXFF0gL52+N9LYn+QQPR3F82mDutrLmyC7EDAssPlaPIWdWnPsR0JVtH5SOyJsZwRExmOenGBbNxiO0lsQxjmpbLyUuVV5QD5Fg573FbDMq2oc3.eEWL2Qh2cxtRaCZ3BtUsh4.RpMmQ+OINjsXzyg+e9+4PmCe73bn49Dvr3W8egWwo21BWcIetmgWe9pzNWhG6mP9Bk7KzcyWfuZtJdtEEqVpXU31HrbDudm7+R88bZV5BZSFVSWGmPuNOZ14snHHNc4Olw5SnMlSR26F064XJw5Iq5iN5OINjteTpgd2HeOOeN8gJnOBw2ONNg21OeLWz0A4SHK4Xh3lI85bu7qEZndu8uo5n+c9KaMS5OJ0RuyDdAnGznQ+hUCRw5OP448eooL9OO9tnojKHiDncf8eJhU.noVFMvkUrIVr8FbXl6LYW16Au3.+nRpkXLW7xLyt9PZDxa514pc7YJTDAwciS7iBm4EGdLuqQQwUmXWykbL94FUFGnN7Jb4bipuyTmCy3hzDiKh9bOJzP1Ys4c0GbcvG9q861MlVvXApBJI+lI622dUeD29vveJYkosanBty0tq5e4PXkO1RMAHRrwv8hJBGKKBK321hBZJDwtGQfWoTrH0FbWbUpojfh59pxrW+3eOaMJRR4OJNlVb.whBWN9liOHPd+NDdWV3BP5DXaQQaT0sLP7YDXpwTSi4MrVB7nH8ignZ4.UUCYCogAdqr7O0kNM2eqOQy.ygU5chiHJPS2GToIhWnb0hEywtMG9v3UqjuHeIjIyvmZ9GEuPwB0JjuFxtarM8X8J0pvylx0JEZk7tVHS3EAeNuWD71KXuOWg0luYg2IJ1SIK.ocmgHaQ82+OY1vkA3IFJ4Fycqd7nH5+yXqSdk+uHr0pNmGW+G6uNn0p1QtMNejMAGomOU7hiUEz5D4KEdu3WQb73XnwViBY7AOSy+wZRcv8ZB5TH8u1zfzGFGRJGNsDTVeX7CDQkSqKTZyN6p79NIff.vs3pSTEJXKr+bx.dxRCANsAdjHpp0ObL65oO1VhujsluMRadxj82IJlaifNCiszjwsyAaLcUsXkx0J3Zk59v3EKkuVUDFSdei.NhiccuVy3S.52o4Bji.ZT480frZwGvUnTVxA8rY37rWaCgSE2czfiE0rNrmwuea0yPYC8nxjz+DIxOqVD+SRjR7XMgg8kZqyjyMD6JLR1n9vgH.DBJNGhz32tlLpK.hT6ijjpvwNc1x3mefZudHbGH8RljCFiLCQCzy4wO6Y5hOWD7aOUwanMRz5kaJKXzx3BYWTpYCK4t6m2xPPyvoTxa87FJcnJ6xdNDr8Y0Mhf4p.CslDg6dcPTXAz2QU6O9OY0PFp3GzdSMTwBeXzGd.eFjKXXHpo.cLCrii6gm+9u0csg6rfb4.szZRFf38GeivykDOyU3wvv1+0iks8CdqW1NZPpIvRA43tfwtfb16AtmV4t9f4yB4JlRR56nBwDmf1EDD.yAVtol3oAhNahXYLktprbvyE6isA+GRK+220MGuUfbLvc9sLmqGEMi.MgDsJ.ysn4tScEH+bnBLtoeADoEZDqnCP6qBDV.ZFZBA6FofzQBlC+ys4Py7gupqBrG4DvouO4VyZJYUuNg5mgiSVHaaZFnW7AF0yGDk1SKA5IRHHVicPxhqFItjr2lZJzSbKktpAsCMPhMRo+Iwgjxwyo1kqXV2Nsvmvf8Wr5rRd9ems7zLasPPeZ2OPY5uX7gIwWZu.xlzJJ7p8c8QrEduCLiSWDjJzLmQCQifxHoDaqMfGBwfu4K.n7qcwPAccXldK7taAPUQP7ufF5+BuCYXdDRICbnhslZmKZ0W8LEhkrmS2eF1KEV8r6KI2wlqziEYV7SiiifG+4w2wGdLVr4BO9tGX1j2naWDlSGF78hu42vH2lKE+Oyp3wQVHIF.wEuS.ARyC3sVgsH4+ziVSPF.fSKkdtpTawskFHQoqMb0mJIKuoPGQ75AQ0Ocq1pJzyq.lp3Nj0kyV2.2PcfFBIEDCxTu.3Pxj35PyA6qpZrqpAEMVcUhCJw3vQjmI0hmJpoyRgMsiN0UhuLBvul9xHnjh5FKugn9IFpCWFKt3HTUe4p4ph8PH9aOEYhJ6YBmRVgu3K.DzLbzguJiXZLeP+.zDAr94BuKay76EbyLOUy7lpxcr7jh2l7EdOupb+b78Cj8yo68BufyIGyEsvEVfhkdeBK8Qwct8fvrxGS8.VMw0GoAlqZI9siDYz.+iOx7UXMlwptfTuPTGfo2ZnH6Kb2R7tQqkvmNbVCDhq1V+.kZnJ9NwMuNk9+LNeo7YUNn7SqtNegrG735Yexvu54Epq0XsSyWpLZt6418UO4YO84c1RIWo941K2ye9KJe9AOu6f8W+48yu19UZyWYa9WOTBoe80Ba7Uau21mrV6seF+Eke0qun0S0Ome+m95cFp85Rm9MEq7Wskd0dmsYVsJ0unkR201O6Fx670UFr9AMW6YYW6U827j1q+Mmt0VuPoXoGW4qWe+re8qe9W0buN+pxO4UekRA9y2ZWgcJV1Xa4CpHjs+dupJ+NG2riVgmWoUVptQK4IN41YmlK0Xml4WZMU0AqILrvR0Jc7vAYG.C2s.XlnkTOEAiQZv5Hu6HTZPhR6Vm6t5tpn9WBLAW2cWcCQE+d71N84b5jusU+NmVbr2pfG7aG9u4YuyO70qdCX.Ol9QeBgGe+30exFs1GyZeX7FJmJJirky1AZGUE0g8UUjZyZMzPSpWOQMZd02J.0RYa93+vW8u8+xibVpVZxZFiZlO4u729e6QTwkEcBwAJDUrBPh4EyHv3+3+g+YqZE7FjG8q69udsevJlCrx1+0+Uq1nsp6QQl.Ad38lWHdDUJ9XyPyiCOn20OHP2wh+HsBW+XvOhDxSWWkeehUjDcsU.dGq3w45pHLTT3u6a0nvYra+AV3eZIAHJerUw+93wUBCCdrXaHJKvHg9Z14k9hU8Ak9VnwDzLZpJKn4V9NqP8vf4Lbk.nJwcsd5h+z3Xw70clD2ze8lIuKrmy+SDKZtyg2Q.AxAlPFBVYKzTOaKZtJL5vjvdGvGijemyZRYsDU5f+weG5OqczK76ELeIu0KeiTFSxD3y+1vD3aM0Sfu1DNAdcEAMwam99re564i1z2+4qd8d56wCZ566EuTIyYu2+om0Ha1c9pF+Uupd1rY+lrYqmsIZls625fsx+WkEdzwOoYye0Fun9ZOt6Z0OPpYV0lupwSNN6uZilYqb+mlkdxyeV.pvDU0HNg4+3ilqSX1ZCmEKHwy1wKUvT7reySPhmC1pYqC5s4K.wwlHwS1MNsnxq23YmquI5Im9qxlcquBKR1eilMVqQ16e+0.w3upUwsnjMYbIa1V5XMAsKVdcg18Q8qexVsZrrAhIuoHlleZQEijgPjXR5lkh07Shcqt0OVzsdaxKe4myd4ybNmi2Ke.5vn3kuX+BFu7gioHVu7Yxyrd4CQ8a8x2sd46Vu7cqW9tNuV6Sk6.dmvbGv6dkbGPg2FbGPyo1c.e4D5Nf9BFK0FBMpN25SfYuOAJ7VtOAdQ7xVS5878yglW6q9UgMo2l6r9Za9pFe0y6dZ8u4qx9rmbP1rpe0l0e88Gk8Tz6OXO4FkadhRkMnzn+GDfFMRy8lxDSdSHldaaxbyI+orbDESoxm9VOO8VkB0ahNg4iteBtFZ95sIuDT3VuDbqWBt0KA25kfa8RvMVuD7dg4kf3WIuDT7G2dI3KlBuDfDaJ25ifYuOBJFMeDD6ZtOBdmaWUtaWGyamgRzmgRwamgxsyP41Ynb6LTtcFJ2XmgxOIrYn79WoYnT5G2yPo5DNCk1xBCuc1Iy9YmTJhyNI105Ym7VEvwR2Bb7Vfi2Bb7Vfi2Bb7FKvwOHLfiItR.GK+1.vw0diAbDIwZeKvwYOvwx2Bb75Fvwx2Bb7Vfi2Bb7Vfi2Bb7FKvwjgAb7CuR.Gq71.vwcmZfiUlPfiFpCtE23rG2XkawMdcC2XkawMdKtwawMdKtwawMdiE23GEFtwO9Jgar5OtWo5GLoG.W8ENQT6VniydniUuE530MniUuE53sPGuE53sPGuE53MVni2ILniexUB5XsebCcbRc4nlzstbbNfar1s3Futgar1s3FuE23s3FuE23s3Fuwha7tgga7SmJbiIstz9x8iafiS5g9+wpJ8TuE53rA53cnuy9xcK1wqGXG+HmqAtb2Bd7Vvi2Bd7Vvi2Bd7FK3weZXfG+Yi6Ro5y7sLt6U5Rox7k4oyYdWur.cNK35kEoyYQWurDcNK45kkoyYYWurBcNq35kUoyYUWurFcNq4VHvHh38HiXERtkR7LhId2xIdFAEuaIEOinh2srhmQXwaKsPHZaqo9RD1cCMUYXDrO.+DjloBF1bh36.+liO1oBxiXF3FNyadY61rjxSFyOsYrvzlwhSaFKMsYr7zlwJSaFqN9LBXUqOxPc.w3IB7ZyFjCKoErAOuv6FSbvwhcPS4nUaMogFfFv62Ee.K8Nv+PJ0OEFrUVTCSI8ruROFnvfflG6cdZx3KuL2R99WRzad716sV8s4dd882p9Za2nUxvRMhp5FbcQzdewdHq9ZbOjqgROIEwrxpBc1D8h55oVz88FMjA8k2A9TTCwjKYl6rFFcWLC2hZjetX5URlLzxma8mTe2carcKtl0ebiPRJgQOEwfmN7kV1KQL65DwR1dhFqqNXnpB5GoVjJM.O3j4gJx32.YCMphnVfjvSJ8mPdYi5xx1jQ2gNnDhn.mOjndmNikKPoAKLcx8IJG+RXdNgW5Vohk4gm1THBYEkH1bdrgxK2YDZr1PypUp7lWXL3wmWHUr4sqwK+ZgSE6ppMH7rSkPVJHKz8kOUQ8Xpb2VSDAaXa01BxnI3dRckNaJJJmxS1VajggpRjxX3J6M184M1dulMhTmSllK8Whl33XatPowkVp.Rs6wZpiFNdkTOYVT4TyrxgxbqKTL5alUarinrZMgV2ZXpGaWtGdz3DLGrWSt02a2Cpu0tM1ORxDrJFbq7FXWG6T3iVH12S.zwvyNU57RjlRBJpfmqBmFNIyGRHKbA1iQgR.yDAYOTgHXAMZJTPyMT2fZls8M9PMB4M4dsGBbIAOdnjxIYKN1dL6r2FOKpcSbb3EVoyVg044oVjxoXKlNSxD3+3FSRyG8jVH5IsXzSZonmzxQOoUhdRqF8jVK5IkO2hoQlFLSr8+FtkhF6zbu8qu+K3db88WKpXFnFUHX0b5D4U4t9HMgv6hfSg+YbughJiOy3TwR.ruxGOqylLDIbKSC3eiEyCxy6X6hRVXmb2Gfc9Pu+AM.anIzqGfvkC6qSbOW0Q5hbBJc3fQc04VWPVF7UL2my0DY.wfiLaXwjAP0j.6nOTnsHmECk76RhFJhK3Fby2tc8McFgEUdjEIQOBY1QvuMh0v2i2OGP8iGALe1bq3JUqgpTsjdsnUhPopf2Tsojrr4D.33HoheEeJuwkFnzzoSjcZ7isLPycnMopiSZty2byFqmKW87atoeT9IpmJpYmdyLTN25k7lbg1FRmJRRKuE6l67ZkJyWN2FE7O4TzmmP80WeS7etSujhmB.ROeNZxGMUALhOLPDIkdQHKRJxnFBttiTZCy7hSWUy.o9gUgSkFmDhRH7mL..jSYz.ajNCEzzE2B0izBxVVT2pdF84VlqZ5UryHpWJWJXT+bqvIw8ENj.8y6e+z1oyonbJtdPBMAUQ+VLMeEgluBQypn+glVdoG7GlZYGNRuuMKenD283pxcetWcTZ1h3Rle4.wijeLonxAI0W5zXwJKmjVwGKqdLpp2DPy5x5wj2jZh0solm1SvPlngn1.H8D4rjRGwyS5SKvVvKPR6k3CtYkB8sodPnsuRc4RYzWBoG8P5rdnzQQpUzhijVwy6OFMekSBpsz4a.CPSJn1wVzZhFizTbnjKIyYnhGpAvnSXimonzGHIoOURdhnTu9FoRysDGu6zcJU5vVW8RJ0tc0EMPoiwJr6TIaYHGkPVi5tS4PgNcPVIPoqj6WcrJZFfCZZmf74bmBcYUfURcFpxjG0AxjXoQ878Psyc+fNG6otc7qb0G2zXCLnH7lEIqVD3rEXU5f+Eu7LvWLWHD3qlq3vhdHDzaeOsNXGfbXtLb4yvUHCWwLbk7Iov32OjpC+gNZIdR8POySto.qhvvrsQLkF8iX5BpIbFL2S7P9bsgEujJq5P..rq3YsFcLltlx4LHEqkraAWxUC1Rb4xVhp3ftI3Fr6wc5g4NBYqyLmNI4zC4Oh6KQ+Swi3dj8S6.tOHUe11X2EWZzqRwidJPizNDm6ASMcJRSGZI42NRnC3jv1Gnl5bjtVdphaYnQchXVmuW9nzTkXFtyyf3YJIHR+jX0+P7aNJsWU55npHsh84b2mRpm+H5pAzIEpAQuTXoVAf0yuxrV9ZVUvTC8wRPsJXo+Rz7CRxSxA5S6hoBRpNQxRJE0h9q.bUkbkNJRUnRGEZOLbkZR5Axvegjwi7yHAdbgNBFBYQjQrsAXbB8M2saBHqO.lLXHj0TGozQOEuejqW1iE6IorMd5oFZiDoRTurnYFIWWVNk0fQoV73dDfoKllIg5vLxfmSkTICwA9jXlQbolcPPHCvD+wZBcjPVUgzm5P+KiLb4H+uyykifsF+y92KakRtQyQpZDinYvBKZva9JmBuJlmoNBUMpI0j1UYiTyNitry3LPcXiKXzWEMqxigIBwTRzSMJHona3YkbgFyerUR.NHGMt9vrX3dDivv0rmRy8.Ould1Xo8BPyDkw4DEYDhOXTokLQ3DXxuvI47gkbLc2AIrypInzSL0wn9b1V1OyNifITmdh9vk3BjlNWPQm9APGOVc8RWu3YwplMjkkFpKl5Pfegxxg7ze+nwQQ+f55QwRV3XzbKNqunBGtIF3bbSs4B0lzMJcZ0gOiEoreSaSeT2tRmuh2t0d5PYHdtgO1Lry.rlborWgsLb74ckJKzrZBCf.wD0lgQMdnKt9H+xE7Z6FYvlYJL5uCsgK5gJGQgP2Ei3VLg5HU.00gHJPkxhbcVaQTmEpGLPeQ+XKRqyCopT2mawGfR+8Ib78CP9BVYpKK0SQryAHwZJLcxfA7hAGf92yPXeygFcaw1HaqZhcVCqrtXXSjcxluJwQX1t+5JOw0cZG4IthLTpK1gCkWi9XnzPvcRlaIQIN8OVlZ6UZ9oSwbS0EwqtZ9b4lQyxzerCS4r0grJdJLCMRGyO+y49LxuQcX5EtgL78vtNLWW9b4xkMmecWQCJsUmyCxXv.nCw2fH.oHCOcuvNcW3WIYzQk6gdADtxLXfeSChRc69MVVDENVOksK9PEMYf5z3A6LepYcJsOCJARcB49BKoXZOIxKef8MpsPGSfU7MQDot+cStzySDkQVkbXIj5yDxSPdskJlBCLLDWxhKPyj7K3XRIgSCL4o8s7FWUjoRYkPTadDnF+3DXWF93ZAqvqINDbWYJOCmvvseFUmwf584sPWheRKPeL.zVVp8InwH9M+FtwaAvS1hVenmpbL1LotOts1ZDSDVNXLJhulfNrziXgMyE.wip2oBxX.N+9OFV35+10JK2mC3jjbfCsqp1.AYoWK1IkeVC71izoE9TKokcYDli3Y9g9YPH75Ah53ZnZCgkbtGDXGcRqtdeotFandlhi5hFLD45f1f+8y9t.684eC1gkOB.45VB5V1fRFBzmiF62rLLha5UlhRqceXxLcREPluLPCMyl5atnUeyMapu7QqzvFlcJsWLkkVtwJcCmUmplFePDZqgy6uFd.bP9nIrxOAMMAWRiotFVsJej62Ni5iVIZBlJyFc1J+IuOZgnUeKLapuElCJ9ElHE+hQq9VbBrRDbIcET7KNQ0pRQqVU5p2ctzzTqt7p6vAbzNrNwgU1dbXJ7zfpBNLdPnOzMoVp1VAaTFNrbx+XgHP+G3uqJNquDBqBwgEsIAVnNF3m41dDlFLHhylLLzaQ2MDtiQBplODvMKBDgvl.Lsxj4Ce0Q3oPYIkhJHxw4diP5AD1LTb4afOyquA7gvyv.AXxVxX6E68gNwbbnKwL1AVrdRJjjKXfTmN1Ln0OLelBYJloTlxYpjoZlZ9SbemtBsNbcccodltUybm7vpidBQK6DRj3bRv5jVUdv1TcKNMkCOe3IGkgyzIrg3qUJ1ld9HmL14i3zpiIgsIxTTTjdw6wIxk0sIwTEkjiwMoVlqPF.T4ZHfrKfedDH5D4axuisl3z6GUuwQVjo+YSYYLLUufcfPncwohyHJosaQICCfcUrkfvgCvCFEYtve1.7ZrW1XJa37cbFncqtrrY3dJoPZDer8T2mrFwvLr+cIuBFz+t.BhMhQbxJxfqX1sCdGMzmEG3xj9DKsePbYgtLQQ6eyuHtqMWheaqkntwTXB62oH+PsOej2WKO7gAD8uq8rCNXuca8.tcd1AM39btV6s8dbAmCmsTSVMwdR5Hz.aZopuHrhMGn1qmrHIIKlgyomXFvQaoMCCXbjkR78VVXEjWw9ovXoBnIe57jKvOgm5ImgeRdpmzG+jBTOAbxV4U3RZ+.I88TLKQLHHXjQdmzCq1hY.z9PRZeDNsTKQN2Cb8DT1SjLADuzvVWGV1yjInWWPGZhZERPVXz8gElSry9hsMPlgkEwAQwE3kxpOZvBbJwzrvFbxf+YfXeMg2fHfvhIS.7+g4NOe9b3+vAywEjfHf9IHXw8QsFBnoUcD2CnxlUjFL9rAa.tIsRfFkPW+Bj0kgHTGckEw5BISf8aJTCRmLw2QXFnMnGjZxB2fZD5ycOtbYKtB489DFE9y9zOAw9TzzohXQx.pKnrwSxMOYM1ymglNV0vKIJW1SU86RFRLe3Gyx1nwJqMMMkLTF0sPOIS3VHdtQR2KUMn.6rH0lEC0RSuCxFCdWgRu3zPaCjo5jfx4vycDNPYSzKbubsVkTF6r5rNs38Nzk3MXp4XGn9O1aOQh8dIfo7XNyw9Cja1Li2ehQNyvXmV+ElAxmt6dqgLOZtWW41t9K16YGDtARXTz.LOtupgf1Esjk5Hp8mByi1OBF9vtqVwbNoEuL61uAVFSasJwtvD+fbxA0EXFd33zJEz+tXNtgRmi5LjloLn0Yv5KNELEC1FpWP+tyvc5KQ8Fn9AZaTLrqjnYsDen4klhoDRSRJpGbQppNt2C9vnxJiM2BmvJTDEmnFJcXRR9r4cmDPx5Pu6ykxNiKQ8BfQrG4wALOcOVjHTuuPG0y7zmM24EMMJa2ekIDaZCQ6mFprQloPhKx2KhrHPh1FMq.sgYeUzE1bN8LMQkL.iVLg7G03dnx4bqxJSPIh62fsGmG+e1439z4.BXO7ONJrZlcIEXMZeoAb8QM33AL8Q9YY50tT.02nUJHyfYyQUTlinAqKirvEiUvk67R1iH4mLidDqoWBg0dqUxt425mv23yVy9KzxLz7skZC6CXbv6YqTiiQ6MPVtfy2NjxMgX7Tp8hJc779ZEn5egIArt6sgdz3dOsU0IcLfNBLEwJrYCBY.rL.mMcTG5wkMD6DRYQwrLYIjxgIKHXLjc0jovxFhHnras9qOBucq1byZ0xkCARj7CxliJAKhPWzg.KDTFgnsLEQvkAWkxXJOv+B8YdrVHAUEUPuAishG+CG9IvxPp0AMjXWNEUCNlE50ZPbJ7UHPlgN.ODlUNYAa814mTVu6HoOD0YvbiYjzxKTVH..j1KhOMBbASxJQD73eg6k6mlrrw0lclfH+dwsoB6L5fHvjte4zR28cQ2vHxhquH8rx8ASXDKU3GzwC2kIcKlO.KRI0PpH..9IY4hQ5iLEFYZKPKwJSLdP5PULaNF6mzf8nXsfv6Y6rh.rjh5HnoBGETjdhKkKa0LbGRrIdDoihWyrIH1PKTxBHMk8vRb2mOGiIQxSrxDeot3+xPrc3NSLOIYhiblBWjGd5RVLp1m5G.LuDACQEFeFxs67Bm5GQNqQ.Ya8mswV6w800ediM2a+cBGRKi2JBZp+8GM3XEAI40DZeROrts+PbS3Z34M2zFdSBpn1m4EXY4DyI6ORNHb1IX4gx4XfHXg0F5ebdSUcIH2La6wD067pQ5jHeYnhrNJ4CMSmMEr2kakMAXu78bbXFDmmbM2c6VDqSIFB7SpEOGwtmaGO1oW4dKS0mCOLw434KlKi8zCvaYER2yoTLAdDN.wj24hvH4L2e1YETLj91Qhm0Gg.DZGWdYBG6cVqBj3g.0QAl1BLORtL34qfpzExfmmBLka.4Er21LmpHVxO40LvhzzLOKmH8L+Jfwp8FBYWPlaffVOvYOZnQaE6zSLoGSpVRDKQw3rnxNocXAzLGSG+c0gKgCSGt1pZJhZAX+0Yx1A3oYKotcH+aJ6o9c9ibB7eXqDFHsVDyPKZosM4MJvdGwmFENTqR.MKI70iJHyC42rR9xYvSIlTmxvwH+0GndhHo1QTsnrii2BK3MyD5KN8lb7MQzNuFBzXLSBQDzwZN8IhT5vrm6lDQwYEOfqU8cZtcCtFar0A6se310wdQ9J4qBD44yxsFrj9Cfi7115beN2wHDLlJqtaLyX6ehL9311MbMW99oYmm+F3wjKf6StunNZRzK2BI2DY8jfox9YKSlQ7Csz16eOrCEs367Y8LuaSbVsQ4wwjkmw4uWd7GT7FgDAs8YMecVTmKKvCPgv.mB3jV3jsoFDH4nLRxUFLCQoWKYzut7v9B1VZNVFMfaF7b9RCLFBzBYeR.ekYhxExx0ZjxIhJbZVmoBXtm7rGhKorhmOT.rYmh..pPNZiXALO2nxbjRB2a07qntrQfJ8zDAWllMOhFbNTAu4QveOOMEcdbgih7boI4fRXULK2diP8J3NV70lKlIdkBfeEfrJ+LRVkCUMwkCVRQ9VzDT1jfmhDH4A4q4onl8Cm.YDNCThnRY4pq0lUYRPq8A8QSKwt2Zt7qP+x8E5fOTPH9jHWI1Wh5zAujfsljZyNdV+f7uPWPquQY+33d.+fou+8DwI.5Hh9mTlEXFtkxCcYPeTI8JAOftsv1i6vPUxpoY5NiKObgkg66tLisTgxlAZNeDlMrMcuo+JpadPs.LJ.dJatB2C8064qSEI4SNnJZUrOEpGoZZJ6oU9a9MTS3L8i73sO2KNV9L79HQHrkGQhk9T4rTdm7yc7om9UnSEFGfUOBWlxCI6PswZ2BSbBn0DEmXuzQYq2dYtrLfflc7n111OxU5JY+vopB1ZwkC1.B4aQy.hMMfJrMMrVIMrEDKxY+vIvBBNCTBiigC76.DFUlMBCTWyLjxwzZ5oSt0zbknnA1x4o1lSO0wb5oi2bJsqmwYHioiFxUjpiPkrTNnsipgiMxbX6.lqIw8fEs.0Shm5QdVjBH8nrAqMAbTFHjKvUivFAz91VnQ5RTO+avO2iuVSeO.oQU3HSXepT+BRpc6lUuo9MhMHFW2.NXEbqZm8gARfOogIUMK25HUMzP+8zTUO0AcI4m9qtVnzrYr+hPWWb4P56R95D14kmlHP+Tx2ySSPmGOI8ew4fRVUKK211th1wax84rWBepg+MDvCt6LcMKuL2m3c49TCka3wMmjlee1SLOJBtSkIC95RTx7y267K5IpPu72QveotmOtA1Ont7.p6E715P6ZL9zCOEMhS87ILk9owaJzSbWgSk5A1JXBXo+Od23IS5M9foOXRCNDg+Na+36DtLtcfOMkHduxf3ukEaYnNbQKsD+hQLpC7ynD8uTIGhNLvYyoxEv97FuF.QlSgmtXHmuaWMFUGIG7kQubkjt4IuwtlOsTfL0+lT74kaXsmInNYsIxfSIWwBKZknU.1J.xScd5FZg3+AN6jWdNm8tis3bNTZCqXrkQAKqoEgoIMPTU6fymWYiYtcpDgz.6thZ5mG5+7oiO49pZMM0yzEY61++Ss3Nm+lTIBDW30O7gyx+vTb881o4d61X2C31uwlM1uwtqiO7NcNprmCEK7edOCiQyx.Mtsxi0j5L1CxXpzBV.7gZOWR7rwc5JSktEIKQK6AEMP9lZhmF5AEsUhbwGVuZWxZ9Ed9gD4S9MOudG64TsE+6WtyGgbm2SsW9XhzwT+qkHZFe8CjR9lZWbDjFX7tsT5pFJgrRjO425VICNJR3GK2XmRyZmlXOyyDUGK8V6AjbqPdu4Ve1IA.5bpwE7M+GYl4dnVx8QR.HrrndDBvA7nBlOxP0PPtkrJ97yxNK2yNorbBHMn3OcQHRLE6Xp+SumevuGivJ3WSU877tA3KWOwSQ8GVWncenT+tKWYtY2Ymms8AasTysq+hF6y05EsNnwNyiRxyIKKdiZefJ0Qi8PmVRmfZEPOQ8BtuD0F.GXGzOyODFoIY2jJveAoxQQoUbR8Tq.ZucYr+VPMndSYXZU9vXg8dJ8UukiOVuoO4DrS2ngcv9RiXHf4Ud5byBIbWUNShy0xrRsXZe4EOBZzLhQ3qZabfJdGvjx0.DoCqQBXh8IUj8TrVy40w6VGqi1tDDviItbt0i5w6u0Fba9rcW+fs1a2VuI5L0ClrLxpknrr4I8mDauHyytFUvMQjiFoeIscNmjngWAF7TA6JqppQHD2x1oNMSxaiJQqSWV+TpbNngnHgGJXGOUAPB6CJ2kssSyPCmUZ1JT2IeR1kdbGRovfj.2ihqcV8Vmz.hf6QyW9kHGR3bRuAQtBaJLI.SRHo3nUL0.8oobcmdvlBB3r2lsoDGYaV8+o6xeOpw0bIjHjxbW8Q+FbWGniL3eYcGBR0ux7RL.Rz1R5NVIHe5dBeTr.YhdtsESJ3AT1vnpP2G1InInivMmD9Et4VVy8tJFx1LiTuIaKPWuDuV7cMo0hOvMwOztfOJiOYDlhPnYJq9ni0Mfk1Ik2riYtfyJti2dcSs3kKl997Y3ldBjc..N2a9S6WcpGdSIhIAppYSN1TdIsQ3Kc9JNl8hVCgxHYYenxk9z+0Jig0kAFWsyNNCzlxLSdLABI7oh3Ez1W7.2mawWtHtKON+YojGLp7l6+FR.82Ik6w3OzpfNJsWseeG1BZCs35rVpjYv9RzbKsvL7KYmCC6LRn+XP8YaXkfT9O3q8YjAjFqCqebzdFTqXvUT.ViOJTXxqizkrKG+T6vToCJUXemxprME5ZSOWd3QWc1yOk3f4nfTqAGhRoQukBL7dpdZBC6K0VOikFZF7HMjg8cqsepzqIu.L5yNzD44VwQluuiOj2gizoh9+NRvmQMPmivfpSXmMHm0lg160SWNmrlkzjYozRNpyR3dC56orUTMD227PS1Wnmn4s4zs4.0cMSONLVz8V9YbDxgOlncAy5BT21FrSl4of68enSAf2zRd0v.4hapS0I1mgcUfZEbvukuhGaJCDN27szyc.WafBA75tcgErYBGg8tifslK7M7NrxU2TKNwNfkLeTFq7l1cVrYORVDNOk4i7MKW5mUOJMAXlAzzBMPqUIrjE64uoyoShnpI0SRQP9EAJSrXNqkTrI9BCLkSFc3KDdX6JguTQSbfvvgh3spgiVDteMaAbOtTNuG2+sX5UBpE0FttsTKOUu.H6KapPhkt2mimrIxJ6ljr+xxxFSLEWspcLE6eh8eachEsvBjYKAHZG3UuyoN.AHq+fP70hr6oC6xZ6UAGsceOf55Vx11hRxo7GvKRF6fxNsKj98DM2gCKhmS.fmIE8jDvMIHjNbpcwuzpbsHCk2+XlVuEkSux7b9yMquE3E78d1Aas67wu29MOyvN.LrZmoCrdqcdLqUeRfOaOSqflM2Ua1S3fzzd7VRw3d9+zp0TLE9XigvEnAXBDSnUp+LjUJ.ndfV0HGK.Vt3wg5z3lgwl8yyVq3GodBwwofeJf74ieTC0HBv7N7iOS5w0VVnLI7mcadwdOPYyPikTEK5ukJVbp9m2BEX0kBv.o+F6bzDxvUHbJD.jR+wRNFdgc2mDfUZmXBniXWgQx38Dumpo0dmyAqJCB0Ld.k5ArYtLrfSwGp4dXF2gXfktJLO9LTb.aLGDQo.Uu.xlYjnYg2LikKGj7w282ASKp+CQM1Y.w1.wyOqY.XLRxx43x+rAaHUvwPp.kgzbN6L6DVSYpG2.4PlVKCnb73nGRt3Obc5lmwyYY9Q9LkBOkfjdiACMtHUZ7rJfUa.yMgBsFzgY.VmIJHowzMbqqWSwPawZSLBZ66kYaXjdOu4YRrvoBRxvMaRK7pw+Plb6Ao4JdYQu3UqlwMUwmcAQ.neDZvFODeBic0.3i2MGTv68fmmVJsDkbHbKZ1MqPPjiLDGUfz9vcjsdgKBQNySbXb7Oi.AY+kPPGsCtRkuiW5vW1aI7nVRatYipv+EwRxRPFgxAeDiXEp1SfLibx5P24iRieYDdfiVIrJTgb9OtP.UHFNz5XcXBjd0v+4sv7cPHFommByOWsgMsnF3DufuAAMj05BlBlVpm6CiD9w3rnDEb1HonhKCG9ibYy4c3F6V9KSO+VA+FOGhZnmTe2M1tw9yo3Dx9FMF6ZL8.mBU3GgezmTUS5rjbeocXeDrKdtjg2wiCI.LBwM3VQFaP12i1T0BHySyT27xg3Pff0CtH.JVu6KdnGu6x501O+y8egjLu8IbQbdJhegKh6EItOyQ567uznliILOTelmo6+7u8TZE+yg4Q6ZBuGZrIB3m9Bxw8UJg+9d00UBgaMwnqy3CXhIUWYtpmLGzQBnKx37VQz7UwXTBCHZaBdk+7bHb6MTbhdlGKIi3RCRGVKdthPBMHcnm9a5IhKcOkO+hcnvtZVFW+xf5BeYHSCE151hWLtwmVWUQez.wNnj1TSTWWT25HP46V7DwKVWsCrh9kKjuPwKyfO1W0f3AYawtF9mr7zI6YCsjXtSVI5jsO9L1x2zUfNcvUVf2jwW3Rqig4FvFrw7fUIvprUU06nxjSL.mHsiroL02Ts8HcRPSE9JpMYCiiMmQduoO0.CYVcbB1QejOgiaK7QxTeHNZLSM2EhFlmxSbBFb47LoduED4r718Rw6CCkySUUA7XFSD23Nat4XRyHpoS+Ab3S5jAvVeBNTJHXXrOKqfyabjx6wpmm1oN.sFlM6.eiUJASsAwyfeIfR0QYEufhikqI2+3I7b1O4prKEVYSOrFPuzjyTNa87HxI2ORbR9PkBOzIV0.l3YCmPYgqvTKLFovDHRXXJmd1QVv3hs7pigUtFfxrotFY0pHZZY35np7OzfSVUnC2NaswVTqbrUg+YAW5P71ZMNrU5cCZarXusx3JjVEGliDQh3YtZNlL9DtM5fvrrDBRgG.w0yHjotKHUVp6QKzirraXVaBuElG275WkAegBvHU7IUgHfB.hieDw24qfpv6hZzMaggpnsbCbjD1YXfsDNAkNtaymZjOSLZmqR.O4FUyzgjwaDOGFhkfTzLAX3+drxZWmD7NrhNR1c1GfTVNvKIquNUlJAKszJyr32Nn021oFsKd+YNY0nfB2jqxxhO6VZbW.Cvx7uvgpKwwG7Dwnxy8uuKHoQsoXLgS+kdhK802a+8ar9An+ciF90TslydNZJaobtu7X1FF4RuRf5GNEZ9YagxaWnQYCdE7NAzU2QfpQYGeENAo5MDNAs2CX9SOuMYQgb4GO4xSQt4jSF2Z2sNXq5au0eUcXWMLOJjoYifLUa.DucCuLvsH5mh2hnnoPcrpfVGl8H5+6eZb1c6nUpBcqNZkHXkko+MY7LTiq5Y1WELvFoAtRQbd.ruVcJTrOW1B6ZnFJ8PcUMO7a.V1xLpUZvNzO0RXuuSQB7oc.hGvq5NbVAlAN1qKkgqRFtZY33g0txI0JiFXl17EoeNF3B3tbMLc7d3J.9Pmu5laVeSvQ4ER62QwEaZJllojGhmrdmnWFkiPYTEJijvpMKKnaPhJbvCwvSjzwtxdKEcI.MHIBrWwNw6Xc4LCo2y1uVReM3nn.QwTH7jl6nMxlb2IL5f6GJyWx8K43MOhGLCWXxBNhAJ7a9MbV+n.8OJS+ipz+.GgEHcZ25WAFeSeWR2Q2D0wFp8A1I97nW7h.W2VX0JIJHqPmdq8Gju2739d42XQE+txaLIp8jJL0HQiei9+T2fXVmq+Rb2ygoYesYqD9xJwa6k6zRbWTGq6ianKk8sQkclvyLnVM24kJnlXTqPX.cpKgbop6t1as.g4v2H.Vx3LTsNH4wQAbymaVYC5zWf9lbgbQtXUyeD0cah4Yzcd7erWEW9c8snk1cZ7c8EMqZjirzfCzFZFZyMKkC9OSFpPY3+bkab7EoNr0HstjHH3vhjSm67NBOjDqJq.r5QQhmcHLIPYX7dp2PSyNbxB+xwKnJLicPv85Of13K5A9bgKNoB6KCnB3o17Y1b1jTcXB2sHxqGlmzfQ29TjowC8qBG4sE3x.t2wmBkeVQetiL03Zf+a92EXdqKkystTtYhtTv0AVchJUXN7nGS.p4TdQnS2zplhrlf+yGwf23awGETd2JnEOJxBT5fTgOTYpmiU+wWsJg+alUsxOqqVW5+.WLnkL2vO9WocWgKi+yuwTHAmZcMIAYDZ6p9LvgJh2O000MfMmrryQbUvgY5hqCwXOgNY7Wj5wVFODyUKJK10XQ+N4i.P7tQ2EdnW3bZcKoXufxTqTbNWqNrKzZzKwKapufN0NgvmcqG1Tkh09Sy0sWgKP1vLzVwMXG5HajBtGUTOkC7.nFPGiTo7fJ05NZ9B.fpm2dOKHjoSmN..ST38+rGZSr.T8vEfNEvPWpGLSdvjVqLNMemqiYSHi.iXMmEzSr9pqK5VVNCNGsfnJLkYpceCphl+L909yyjYGgd2JALhpegBQ.WImytRZ.HIe1vwVkCqjnumluL7Kfj.lTnakkqZSw34M2tp9R+NSyrkyJzGEcdm8hBNNmAWCjjIROfDYqIqjgq0EJnNbNTMCW4hoC3.HytFpvNwWSB66rnLuR4n4Ry4S41tAgSfo6tW2tqcQCRhsxDkzz25AwIHVmgb93zm6D29.EiwiO+ekI9x2a42V+KYxDvpDws6dGXcv2iLX1bq56tG296s81ISTejQeUsGv8rVG7TvQi6Te2mUe6GjLwRbanN5XYQt0gd9vMgqPmNK2QTVzPjS.6WBHQfBgNbe2w0Q5TTOnNjqnAMQQv9sg9CR.C3wkXouDuVlISX+2.oNcPjGdCbcQ2Vx3Bp2RtcGfW1Yjl.Y0CWha8c1.QeX67RtT0GHfFQ1PRe.9kGr+13Bg7NrmSPrslnr.bp.rrvw5pxiPOz9BIAUeQRFtWz3.6y1Ey5NwehsD+1QhvE5kde0Qxc35Jozwg1GeAQWjaqMxvc7HCDR6yLkSbBJnmh+A2NHXpB8DehpbGQsGwgFLCYF.DXBiLTGfXs13U1DtQTPoGVwnjIV6YOtElOpy0dzfQjJ.GFnBDpDhZZnoxLP3D5pZGMotv0hJmNNbdQjTPm6LQR7IHAbmlzqgSdPnzRgueVzTQMvCPl.QTQvv4pdmzfhrJzF0dhXJHwZDbejayvLb5pbcDaKM.0++XQAiVRuVjhgPR3uAx3wv8dOb.x2AWs1Zml6u2yarSicOvr50grLlvsDqHdUMw2qqKw03bT2yN3EHmqOAREhb74qfqq53EAEyef5l.G393gpZFVz7IK+btWqB27Wpbh3i.Qq2fEUfIAT+fgfEATESVFAmwf6LbaLhkUjZi0b5CfDQsjp3a4D3IPMjr1rFpnNE1dGdSDqCx9CfpAndBMpPU9sYSKAemaDo+31nw5aWee7ZOz5JPmjrdr21LO4nuLTG26JsKxbaRiOAKkkFBqVTCEXakD5o8GaRYIE9JtB8NbujfHBchvKJfyoUoMeBmUkNjE5YCKRZfmT9IrRA4.uWS8rTGhuELPebDbWXjMu02g6i.7K3ImSxQIyUuJYF+87WkLW0+LSKgzv2EJgKibRyTIkhP1CSNwbvRh3qMLGsC6QykKlwYDQ3FkwZ.RNthKmJ+83yBm+5Eg6yE32Ki+sUZWNOZXId3cnONfIm714jGmSdW4rHNmEwevlST8vNu3JI4Y14Gm8p3rWE+g6rmmN+4sHPdaJfI.eYLE3KS9zMM3YHBuMU3sIClJEHBfB4Ie5lJ4JyPF3mYbdClPGsBlPkIxixEIedf0AdIZVlD3OIHKdF4gN6UmDOzOKRdWdELQrx9wqgl1KWhDrmykXKGIbNqJQICornS+H6ggodlNZfnSNP07Xe0bpMtNhXa03qdFbxzZcHhQ+t01t95O8k.5wVDOGULSkL0xfWBwDj+6pMFvSZrcyF66bx5wcEWR61xhBJq2WRtilnh2ncf40lG1CIvKUUa3g.Xh.ZwvYBul0jUgMMnMgyDZNaf8Jx0SDrx0oLi6AWE1J1xKD4NPBYa2PXvvsTHmRx59dFX4MYvtSZKkllmCfIHy.6XrtvC4LeGRqxRY.UnnxLg4JPZthxHBaRsMU09pQHX5hZX0oTXBYG1FVL6tj8O5whZnz2TU+E9xqdRUpKLYRyRm5DHL035WrD2EV6TRms3ncXzPNQeHHGI.5vkKfPyFeWv7H5koTrYVpnkl5.tAF5Ez3WbcXA6W+uD9bC7G3u1.9XS7G3e+X7G3uVG+A9qqsH6gxmetczgQHNdjJvcYYGycdJlyNjJWfiSOx1Wjqvb.UYkgYxQ6g07GaVGtv2WhCuxyblK8L2U8n6vsxv3N5NRPux1c6VLWw1kZmFGGpvcKAWpuFhBBxrERS5DfdEnPna0kW5g7qvI8Ed7t3xzZclamGbQl.7hAkIQHXVfCxc8TR+RTSG1j.NcttDMKXuYVA1ir.0Xa9loE6Vcw1jc7tO95T5dNbjO6GdpcXKzKIAzViqvtXitcIKsKIQT2bl9sI6YKS1eAiWiIxk1B19Bxc4NFMx0i3RFZ4RK4MGDyVFSySR2yEKsrYpAlIvW4610DgOIsocPBydVeUDXdfa8gWsWeHO7JJ8QmUQIN.NE+lvXzKSOiFb0UGVxl8b80lG8UG+dDMAkSuwNVB6WI6tVVaRc.8huClX4i9UrRsg9dJlo1mgIoQ97H6EAYIyAgFn1wZK0kwdrxzbOvJgLkR2tPwfKt6GPoYSB67AWeSIH2vslcFga4Pf5oPeApd12BD3w.xfKfLjxKCj8zVcwlY5CtKXtY44UbTqUz3VT37GgLhVN3svHmRnjsCb.8Yoh.+K0iszEf+k8w1Mdc6R8BbqC54n+EdJtqHK8MMXXFtyf6rdHE7IZPSHETK0.n3gkehF8kMEdgegW0RbovBp6iOO0Xg6Xl0yLi0pnT5c6RW7vgTLhyMqJJQNbDMSq8dpGHBdGw+hLDtIiaNkXWkAQfMUBbTbmN9BThF7k8i4VgMWVySPlDIB+tvBVP3iyIV73hl1UwMljchxifiY.HvNxVoTZqw97OreBfEr2w+jNxj.0v5Th0o3zgqocZT.3cGGbNf3JMvRyrHLmgEgH76ybwvvEUO086onBh28kBDOOrHUxOlbu1a8SxtFgv3Ir4nysD19xPOhKWPkmkW5gD4Zbs6kKKZPSTF897xkqXxAVszGdtemqODR3yo6CE6GtRPa+Z6gap9GPPrXxFAz3KP0J6K.pfudw5HncB4lXMBke.Q+hf4QhgEXEewuYgx09clg5fRGADflcTUTct+rMIg0MnM8Rr3yEykMeiu48rtVrgaZbxsGM0MEsqSRK1hww85l2T2sEI6mU+JU5IjwZBN834Aq3nfpSYfZ0LHysuiqs7xXFaGoB5cl86cqFllRyvdAqCoWoKy.NdIrtlHzIfxsggTnDMV1LChEuwxwR9cjKwVecHSFW7iSc6RJy4V3EsrjOFLdjZq6d.VADA9W1sVjfRBVukVFj6DWynLXPGXaTh527Yz.3d.sirvShJvEBDM3WegSkP8X3R0Z6sZtLbyMj1pLkzwkWcqUBztbMzjgBlPaXcD+1QBJFHQjN3TA7xPkhrzhVKmn7EfJ.r+FGZEHZTphTF0kzqSPHYGdMll4QE0PMjxdaCNgdvzHM35Jf2Pwfb2ZmeZt1bvBxMP3DX88vqFmIWfOabZC6EBy0Ezd8DSAKQltp4pUAiLAqjJjJAyMiok9I84KwWvkxslE9RbDMinzD+m5Qm2rOFQcyUrbDHAgQEBlf1iz3Pz.SqY+Me5c9YrG+K9lcvJLdbbFCItO8OnkTgOxHpM1mld+poZFOGeCuxX5kTeS3hYs0frhlJ1WacJi0jfR0RbmZwyMsO5eZeASZuH3zFXv9SORoiXCAMRSn2dJxWDAImi4YyDlvbW4aVYniGr.pw2myITp9F.PMsgkG4YBe3jwNoubVFZIBdS.drVJPMrTz0rAMgCiZ8M5YXZ9L5B69LyMvtDcpzu3gbAzZQWOegOyjE+bOHysKBqfXyFUuM2YVvQ3jVzGJ5Lqo.l2tI0sbrIaFwyaKnovaxfo8KWno0MlrgjWNZ23YsrnE+eIqopP6QynaxzWk0OtjuR1SZd6luDca2xDfd.RsJS.KQCrftyxYLmTi91Ow5hwgpG.iTU2QFglg2jJvYL3fJkyXpS3OXCmFbNBz9gc7+EnQPq0wxcNc4WISgjYb04yZzDIFyyNH2AijkW1cVujqpGZpuwFlG8aGrG0ByMacSCwKTJLdhAKWY2vgzgsDohqhgA5zEOEkSYnRf4koJY++Z9rCtXnH6CrziRQ4BGp2+byNfob7XSZFexnh0HGKK2s633YRJbwzjGh457LOwG1taWKNypEibc3nRpOtdHI0yH8km0bi5GzX9no3pqgk9xxKCm2RpxhYGpAcIVDjsO.ejyS6iN3jn+2v0BeL9bPKl2a5IU38MPXT89VTKK40Hk.l2QoDfjaG7jsZwg9edCgOKe2O.lEpkvgYUbFjkYvJxwBLspA973.Q3udu8e5V693LbsdxdOa6M3NX+5q+Tt0dgY2zs1fEiix3A3LHb0eSSOWZ562YidB95qqUiCN.UUZMS0RLuoeYB9ovOFARvFTB32.8HP+eujJjKWX+JRKOk6kKoitpwve8bhTK5Hx4PbZvtixJ5KdnU3ZbO6fz.dss+WCL9Obt.8rVCLhVseImdrGPHQWS7W73ScEBo6DwhIhT16zQrSKEwygiXC8Xwh8+ODagQrK
        

        ScreenRecording2026-05-17at7.56.19AM-ezgif.com-video-to-gif-converter.gif

        Sonic Architect && Software Mercenary

        Christoph HartC B 2 Replies Last reply Reply Quote 3
        • Christoph HartC
          Christoph Hart @HISEnberg
          last edited by

          HISE doesn't support MIDI 2.0

          I'm living under a rock here. How wide is the DAW industry adoption of this? All of the hosts I'm using don't care at all about MIDI 2.0.

          HISEnbergH B 2 Replies Last reply Reply Quote 1
          • B
            Bart @HISEnberg
            last edited by

            @HISEnberg

            Wow COOL! 🤟

            I think the MIDI Player is whats needed also... it just wants an upgrade into the MIDI 2.0 future 👑

            DAW's do in fact purpose Sequencers and Piano Rolls effectively, but I think they're a little lacking in realm of fun easy fast inspirational music composition, so I want to fill the void.

            Took a video but the files too large, next time 👾

            Screenshot (435).png

            1 Reply Last reply Reply Quote 0
            • HISEnbergH
              HISEnberg @Christoph Hart
              last edited by

              @Christoph-Hart Lol it's a fairly interesting yet comical story from what I know. Long story short - no one is using it. JUCE announced they will start supporting it soon and there is a handful of controllers on the market that use it.

              I think the MMA (not the wrestlers, the Midi Manufacturing Association) has been trying to make it industry standard for quite a number of years now. MIDI 1.0 was only ever adopted because the major music companies of the 80s (Yamaha, Roland, etc.) came together and standardized it. Companies don't want to collaborate like that anymore, so we are stuck in a limbo of MIDI 2.0 always coming soon and never arriving.

              So probably something to keep on your radar but not worth the time to investigate just yet. I'd be more interested to know if there are any plans for CLAP and ARA support in the distant future but that's another topic and is also not a huge deal immediately. All that being said is MIDI 2.0 sounds awesome and should be adopted....

              Sonic Architect && Software Mercenary

              1 Reply Last reply Reply Quote 0
              • B
                Bart @Christoph Hart
                last edited by Bart

                @Christoph-Hart said in Optimal Midi Architecture:

                I'm living under a rock here. How wide is the DAW industry adoption of this? All of the hosts I'm using don't care at all about MIDI 2.0.

                It's only just being rolled out across operating systems and will indeed take some time for DAW's to catch up, although predicting Bitwig will be all over it soon enough.

                I guess for me it's always been a fantasy to have more control and resolution, particularly regarding per note automation, next level music... MPE has always been a limited workaround.

                Internal synths could could make use of the upgrade 👏

                Oh look Bitwig are already in the game.... yas

                Screenshot (436).png

                David HealeyD 1 Reply Last reply Reply Quote 1
                • David HealeyD
                  David Healey @Bart
                  last edited by David Healey

                  @Bart said in Optimal Midi Architecture:

                  Oh look Bitwig are already in the game.... yas

                  I don't trust AI "search" results. No DAW yet supports MIDI 2 from what I've seen.

                  Free HISE Bootcamp Full Course for beginners.
                  YouTube Channel - Public HISE tutorials
                  My Patreon - HISE tutorials

                  B 1 Reply Last reply Reply Quote 0
                  • B
                    Bart @David Healey
                    last edited by

                    @David-Healey

                    Rule #1

                    Dont trust anything AI 🧐

                    B 1 Reply Last reply Reply Quote 1
                    • ulrikU
                      ulrik @Bart
                      last edited by ulrik

                      @Bart Hi Bart, my experience with midi is that you can work without the MidiPlayer module, this is a video on one of my projects where you can have several independent sequences running in parallel.
                      The whole concept is built around the TransportHandler (internal or external clock), synced or independent to a daw clock.

                      video

                      So I set the TransportHandler to trigger the clock every 1/64T note (the lowest value available)
                      and based on that, I can make calculations for each note value for position and length etc.. using this function

                      TH.setEnableGrid(true, 23); // 1/96
                      TH.setOnGridChange(true, gridChange);
                      
                      //  nv = note value (part of a quarter note), wheel = sequence
                      inline function gridChange(clock, arg2, arg3)
                      {
                      	if (!ENABLEPLUGIN.EnablePluginPnl.getValue())
                      		return;
                      	local nv = NVLookUpNum[Canvas.getValue().notevalue];
                      	
                      	for (wheel in Canvas.getValue().wheels)
                      	{
                      		local steps = wheel.steps;
                      		local length = nv * steps;
                      		
                      		local beat = clock % (96*length);
                      		local idx = Canvas.getValue().wheels.indexOf(wheel);
                      		
                      		Canvas.data["beat"+idx] = Math.floor(clock / (96*nv)) % steps;
                      		
                      		if (clock % (96*nv) == 0)
                      		{
                      			play(wheel, Canvas.data["beat"+idx], clock/96*4);
                      		}
                      		
                      		local cycle = beat / (96*nv*steps);
                      		Canvas.data["pointer"+idx] = cycle;
                      		Canvas.changed();
                      	}
                      };
                      

                      The video is a tutorial for setting up key switches you can skip to around 3.00 to see at least 8 independent sequences running

                      Hise Develop branch
                      MacOs 15.6.1, Xcode 16.2
                      http://musikboden.se

                      B 1 Reply Last reply Reply Quote 1
                      • B
                        Bart @Bart
                        last edited by

                        I'm hitting the pillow anyway, guess this projects on hold for now. Sounds like working without the MIDI Player to achieve the objectives might be too much to take on myself atm.

                        Cheers doods.

                        1 Reply Last reply Reply Quote 0
                        • B
                          Bart @ulrik
                          last edited by

                          @ulrik

                          Oh wow, thanks ulrik 👈

                          I'll have a look in the morrow, my eyes are falling out right now.

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post

                          17

                          Online

                          2.3k

                          Users

                          13.7k

                          Topics

                          119.1k

                          Posts