Midi Seq and Track to Display in Ui
-
I try so Hard but noting Seen to be work although the code has no error.
Content.makeFrontInterface(600, 600); // Reference existing components const var midiPlayer = Synth.getMidiPlayer("MIDI Player1"); const var sequenceViewport = Content.getComponent("SequenceViewport"); const var trackViewport = Content.getComponent("TrackViewport"); // Get the actual panel we should add/remove children on. // If the component has getContentComponent(), use it (it's a Viewport). // If not, assume the component is already the inner panel and use it directly. const var sequencePanel = isDefined(sequenceViewport) && isDefined(sequenceViewport.getContentComponent) ? sequenceViewport.getContentComponent() : sequenceViewport; const var trackPanel = isDefined(trackViewport) && isDefined(trackViewport.getContentComponent) ? trackViewport.getContentComponent() : trackViewport; // Quick sanity checks (prints to console if something is wrong) if (!isDefined(sequencePanel)) Console.print("ERROR: sequencePanel is not defined — check component name 'SequenceViewport'"); if (!isDefined(trackPanel)) Console.print("ERROR: trackPanel is not defined — check component name 'TrackViewport'"); // Helper: clear all buttons before refreshing inline function clearPanel(panel) { if (isDefined(panel)) panel.removeAllChildren(); } // Helper: create a button inside a panel inline function createButton(panel, name, yPos, callback) { local btn = Content.addButton(name, panel); btn.set("text", name); btn.set("x", 10); btn.set("y", yPos); btn.set("width", 160); btn.set("height", 28); btn.setControlCallback(callback); return btn; } // --- Populate all MIDI sequences into the SequenceViewport --- inline function populateSequences() { clearPanel(sequencePanel); local seqList = midiPlayer.getSequenceList(); local y = 10; if (seqList.length == 0) { Console.print("⚠️ No MIDI sequences found in the MIDI Player1."); return; } // Loop through all sequences for (i = 0; i < seqList.length; i++) { local seqName = seqList[i]; // Create a button for each sequence local btn = Content.addButton("SeqBtn_" + i, sequencePanel); btn.set("text", seqName); btn.set("x", 10); btn.set("y", y); btn.set("width", 200); btn.set("height", 28); // Store sequence index and name inside the button data btn.data.seqIndex = i; btn.data.seqName = seqName; // Define callback outside of the local scope issue btn.setControlCallback(onSequenceButton); y += 34; } Console.print("✅ Loaded " + seqList.length + " sequences into the viewport."); } // --- Sequence button callback --- inline function onSequenceButton(component, value) { if (!value) return; // trigger only when pressed local idx = component.data.seqIndex; local clickedName = component.data.seqName; Console.print("🎵 Selected sequence: " + clickedName); midiPlayer.setSelectedSequence(idx); populateTracks(clickedName); } inline function populateTracks(seqName) { clearPanel(trackPanel); Console.print("📂 Displaying tracks for: " + seqName); } -
HiseSnippet 7384.3ocu6kzrjikkVuHyJ5tqjtgpwXOdmK5JR7rToYWdkTVkZxkjK2kjqAeBCJz77fqIWRkUl0FlwVXArBCC3OAlwumdAao12Kfq+lh2KxHxJ6z.TX168z8dNm62Y7dORJzpKc8aZJqu6Meg4Xk+cu4O+sFiEsQrQ1wE2Iwc2a9G717Xu3YYwMs2wLVY2z36c2adymKbif27S+I2c+0e32vXmYW35+9gt6t8kwt9ahyiae+nZeqbbV1JaOey37WPM92J4VVvVlU1A.ym+V36prcSsC8UruQ1m816Dsaht6M+ydKJZfKELLEFFArsMlmsMNhO1R+.x.WB3kvdNDvf+Qd2a9S38haKqMZsa8at6M+DlRuQinxqEOr.6iahcx7ucCxcFfU9ggWUl4cSEuM5crQwYdZOYkZtCHEs2ay97GrY+Sd6VfI54weus6mc+DydOGuz.9lO60v6yeE7PdI7feA79HP5ydAj9SexMdOjxrG8quGJ+Ce6VINoYOLBxq.BaWcseQqg+kN+W4A+C+lGmxrF3Kd+3+Ye6lxxJ9Ba.77dI42jtCfTiJ+WOwa97ev5Jx2qtd2M0ZUbl+858S2.n9lNBBR3rasu6y969yeKJN0BnBSRYJ18Z6m1a.U.6BEFpqYexfFpuaw3UGwUXxdPKiyrNxmvhIq.GjpEAUZZ6r5h0g3q6553ZRpE3KmBRChNqcUCaq4wcU70PdWIxkjh0KM00uTqJtC83l41sS9ANzIGfp4CZHp2usw9RE40S9KLPYYa4qMGHnNbz0eojuZNL8YCxQMXp404HEyOQhT.aUJkyvQtuVWRDQY6I2EARKv1FtTYD4he7VT0QXqSizKOQsexwhDsVzY2Q+L0yESZQRiJRJnWfw87pWxUf6c.sjwL.w0cjdHxZ8HNkRwHUc.esBpx9AkEG8N2O4PWiRnm2gVm0jAKUtjL7RUrGwfWTYasq6jxprlQnMsDBtDgjalXOntXbdA1R2nS6GqPi6QtfyhdXRUlfJegqkcNGpElBT7nqS5FvnGnkS4oTNgDuiuM2Q8v00oI.pHGV1WxlVvdPx2xZSfbk.iDbqLQijigBOtefhiwxLwMmKVisE0gJrB83UQcplb9KrlLba4uXyKBWgIHHR.FzhWsWb+jsbvBYHbRDmNIlXlJlH5MNTA.l0jtXSatSd0tkJkHmb6bCz2cdscaE14jsGNj3MJEoF.g0VPdcHjkVUps.xQbyXHJCjyAQEmQ9JYoTVHUnVxnwVbF5HOMItRQNe9Bpx4QFRi6yZLh7IrO4pYetKayROhS3aCokYqGGHKqDvgG8ToF0xQ7No4yXt5hiOQ5ND5qTkAboAKhOx4oXMOXI64bPraXYXyJDEqTn8LGygb6QIbqVYKDuecrD69U0F9aNuoxnSZwlvbiq8kGDc1zqPyU.kjmLcorRqSy2HXulMsqQP7Q0HWCqUAzzsR8ZKBwrqzi1t4bYBGSCeDeJeS4bZO09KRGmlLFYi6J8Wj3iYd0Wcg4F4LW0EJ8GP7zvb8N0SX2aevJyWuME2cfpsK0kokF0Slr02j7HAfzD28StvKPkOVtYNdxjaWiuxHLB4nCpUy0LhbU6ZxoNstQAkqBc4H7rCJ93xhWlOHX3updbqCZO7Hjj6Zi8Y0F5mHrCyCP1eTXZXxlzduQZiZW15LuEnNSrywi81PyLhbJszPuQdxKavDFwSw.AAIWZbhjY+5lcjyWbkqP9Xkv1RgNLDJuc4qKNL4os2MvFiZyQXKIzxjPGxgBXplAkh7V0dzQqReNU3qr7WLUhbcWXRrKTdsabrCaNS2fxFac+KbSqokrv2oRQew0up4RiAiYNmnxQmrsiYbRqMHBoR6hMHvutOK4.ybdTiCGt1PRPLrPqJaDoX+5wSwbGq2nGPGxxbgsIbE0byUT77kkEtjQ6SV12UdAElLzWbGSbeagfNRuHR+buqVs0FfH5I+rw7Qxtrdvk2EU0UTEDRUBT4PjCfeY3u3jREDOFVhqyREh7x7wo79zT0AWJY87Iuycx5pUq7xaQZQ7vnD620fFSUjuhhSQ0LOCcGbgHbuvURB2SjEKOPT.EVRseI1V7v7st6GWAKnrb60SwiJUDWnV.ijlRcBqv67Qv+vhvJbDl21Npsc69xMljss6rBOkGSdsgcjfZAOrA690ktwmEMNI1pFDYecqouBtyfF8JaqZKMJZpV0voSMtMMB5gUH53wijwiUiUZTQcFWH5VFP3VlG5MdLU+vY0I1p00T0BqqaPY4q.gZl5jtdCfcHppvNfkOkz0qdwTvd8AGbpctcBHKQmCWWkYQ.AhNN.GseszgcqL1r2UUxasABYxQ2kqc522ziWo5s7X9BB39iGa64zYKwW55olYgbhaw9SThXoW1OkS5F.KMGUlImMYSbvl1b1sGIOrUo+nHCoAFnH6npg11NTnC3lVEL1nVqDJj86VDdY0XlN6YHzKmSqrvlv7VCR7sWmbEmXgehdGUzgqjMpLXm358vxkSprCTwnIrCPWtyJtpBxSuB1iuG0yc4DtAe8wQORoNicZRcshEnP9TUXqnWZpQRp3KjgXuhkL9feFpt5VpIA+hTl4BT5sWbOvVQ4NHSMFNwVRcxHvKv6fXCpgGnNzj4zj2QD9nVSWSqJ2VOUSeSXc3i33W5jzvNdRnH0ys2PV09f.o9bLUgy4QnBmIuVKGxlDv16t.jJKYjB7lja.PgZX4PE2Q0iodGO5i.KDUYlVPsYxVok5ZsfdhqtYVQsQhU4gUtHiM4WzmuvhYES0Pw17jTbmrSY5hPhAPhtYLhmGnCcLcDghqzF4NJJhyJNW0pGBJEV2dQN1FImCRYHSikC7DXZAjWCCoI0y3wNeJhYsPCHHunQOpZXWLC0Vcc9RMJSYNTQ94BxozbajC6ELI5k1EbJMbx6Dr1UIgvi5mVbdswY0At8lKGk8GjNx5gjq1jkGUsKAxhHwkahXUTIxBEgx0q024dkSF6Ppi1309q8FIbc3j3aZ4SmNqryLXdf47vHlSUiAomB1oO2id2.BQGrhjmop2vzoxcfXMJ6Ez9HqyCkMQlRCDnKNFp6qmjHKRvUuNMxJKnYpaXmlbf7RMdpXX0t0SWQVtRl6RRbObAZOa2hnAMMlv8aWdvyTF1ZMJ14iMalLtTiMtYQOCC7ggc9mrox0o2xuYXZ+7U9obktr1YcFmhBL0jTQ1VIzjzx2cZ0nFVL0QIZ8hSqjzcyuLTqOkJCwOeGsn+kgNLVGgywSGh1roqG0gwCDBzOBcFAGeXA44CM7rkyUTyfCCSVwJr2Wu.pfqt9blYg74cSAj6T1tq2KnG1Zy7U5WOkc0YXSZZ3dRg1P3f1R9Ea1mVMmUCQab0ghyYSAWjioO6wlIIikQ4N+zUmVmjnjzQ5DUaqKBNSVsqOlP4YjnxtCICNg9L9VwTLEdmbQIUX8UxPhhwYKZIK1io5qqbdM1Ugn0il1d1EoF0dv30acFnk1uYBDSDcpOlJbY.+TXiqhvZ1yddKtNbvs2J6H4JtXGZerCEpZX6OEheIEinJikDpq0czPqWLo4zRP.XckBeVbNo0BGkE0SaYH0nuLvMe7BpnNRj5QB7s4CEAlXY45g4398id7yOTHrLcy9DnENWXurL2zoTjpACshmMzKKgeudCAgjccRgU1hynIB0bTjvAVoxlmNkHtJsJMnJrcfLZckhjU4QcQzySEBj7jr6OyYe3nmHijLiDhHOu4ZQA283RCbshoACBxkWaO3ovwtdG2Y3w1JP.2jnM7wkH5sLkwvmVVSMOQesti655E8joGJOp1OgPTkyh3dZQ0NjyGWlwOet997SmCgpw3nWspQgk+3lyJlAIUa04ZMY737zIQtrhFteg2906vGPiTgnYEPWRQirgSiTYzoBpqZkemKFTA55SjGbl6bNuQX41UcZjkdF6GVOJvScxE2SUGtsU8x9.Z95x4MKoGqpYbY3mDR1oJsDwnRLDIq63fndzdWlEC9Vc3JcriEvM4aYbfErsK6YCwvikP1oKx30.ugsgKaYMVOmmvkjHuINOo4Yp2cqgnGZZ9e5a+cZ5pq4YM+sqT2vwq+6oCpK07qAPFzTOn2ua8faDGVX21UCX3OQoKmwFzm0KZcSoLOFL+sdKeZve12x4W7wF9VagfV7pae4SA3gdEeU6fl94Ukuef+Ue6cepN49ubqSNjm5jCYW9znNzQNeHCNnQcFnEym2dvxxRAZMT.CDj17syUHBySz1YHeZWFK9PJ7bzApnSWr2vFcNb+fCjVtl0JnyMkK4XR0kJ8ZZOQDB765lEFfCytFpgQqFZJxBKBAoPfYK6lNjMMGo2dzaG6QKariiEI8HEHc3FHGMUw4zFEAGBMBr65ofwiKT3hVa.uNTufqcQ6wiGUWcv2ylZeyBbp0FNHUNHWT6OcYnenbOENAThbnuSayHkxADbSSqNXzJSlTMoa+HM9zUrUn11flz8tbpabu4UuilCM4wLJnHCdcg5Jndcf19lqQmSgPhRVidVUfCBSkW2RWxTUomFmAaNkjoT5Ah1tSga6gBsXjCOYc0bCP7GcFyD1VGtRfIrvUoIqZGHVYXiTR8wgTqjdqDM89EoAsCilFYNWmHkBqZ61OeuL.VRJ1aqOmPtY4kUXNr1q5fOOsTzaD6TfJ5vQRTU9qwqtdc2PgDKyTKAY5IJtydsZbfNt5D2U1O0mxLNsopwabHH03X2ApP38SARwnq2Fm0XwRbFbbGS3MVYZ8Ir8pw87CY9ZWz2C5YYiEN6IwDgjalswAdzZTmy8a8Jt3rZKqqKqNwPX2U7qr4WtPwVi.V45CHrBzSvp1Awa8Tf10UNXB1UdZ+dzEQv4ZBwWsQv1lUPtc3rC6g3KttsTNmqp1dZLT4zH+xK0yEysOlnXXxSJi4veyq0WldNL3TohU8Y4UP7fhnHqnLqcHpr1sbUdpVxRygRwsWfMOd8nEJtYVVW+bt7fkLDS9Zq4AkEuxVsDew90XInKwYX2fkHgrjHe9VX1dRmpsVTpnchgyWmt6zlkYgWVe.GgkcUdvUoiNFgazkRM04z6FGVKwTtaZZsUDTxZH00XkAn9RXoAnWtjZrVxcaoQhRiNnspNnycWhgN3xdbeTN59nocmQ1GOAuV0Wv5bdbJJ6Z3IjcwZmnfDzNQWRvojaf2RtXejQi6TYoaqZx0C.2PwlyLi1WEyK5ovh10VdkK29Tm3JrE74BgNsxt8sK46ByjuDKsdxcKvnifmUhldxofUok0TGqmXS85Z79sWfFwAccFHFWMIS4DCAt3fzWGkGAsunnvqBbGmzNdIEFlQnMPwgz2n.RDBJH.hgA76wfXyrEHDt9vmc2KiCwXoZTGL0TzUyxxzFw.qyz3jTKmEZHsr4DnO2PNsKmajxJoRrK0UOuj5xlZNETfOx1tYT1fQdaambLzwssYjC6TBr3uZkjzjDZHN5mjaZg2yCM2eqPk7Bk7TlA7pdbshrsrYxkdKN.sZmeCNBwIH1P4vkyoVnpQxfVQhAGKbVEdYdM4NBFS6LM3k7m3jk4nY4fCNl4Worh0X8gMwWtljSOY4qQ.mdPWCiKbwkEmQpykVbrYkYB8NIWT34gaoqIzC2ZwLeeEQxdTPdA04MUtI5AgFLmG2zm26rmjV3.2JYw3MBdWVDxOwNg22ILs9zo55CwcklKEgh7mxK3VnyluCZZoaodjl7.jcWr5UqqEZZjcZrcWUoWN4PuQvJQWOvaRxsxGaxkQSjj.E8h77zCoCwSHxCnyQ6GFaWnf2pxAuhxoub273i3RUW62wA0eBuRocCGTfjdcy5AMahl.N4JqAldHmoBV1SJKNLTopt0.hj+TvJ507G0ZFNd3xF+J5gbDLSd+46o2ZthWjVKgA6ZceO2tbsfnNSnElvygBwtdIkqBrgdGbEJLM9FCVzbrVAsUqiPKbS5oNjEBOvBaapPTYD.1BhS.JbqC5f+JUQHkMg5p1SBhNhNGzc1dHlfEEEyvSSxXZuqbimfxg8NcVxC5XrB0Tx6qCp3ppBEI56vJhlORp3HUMoJy4H1jTvUIkP2JLosxultuShimCJrGgMlGiBRMJVE06b5pyqILkOJttkeSKqvRG1EhcqaWE.MT.U5ayeBNUiPe84U8VmAcpQEuYGLnSnDlR9XGAOL2ChVq1zLEIO5I2DaePoFpecsjmNJmU+YLyBnqyIRrMq4WxmfYPzBG1.w.ITk4HKELOwXgzXHJAzhIQbRONCDAkKKijQWJzMwbAYKj3gP44XPsGnn2uWbtQ2hkhDzI6G7ZiiAm0OWKSjridq3Fa4qIoainM1GUXalNNmQSNu+neWUT0RJFOlxi1LsTG8kNNdE6.hfWHAeD64FG0AFIwtnF5yVzGyLvnOtDzIYXpBBzNNuqfFJBjBZnYA6t0Ne8wb8LS6VNeYIBuczwBNPTEvKTMgmrrQSzIco3IWGOzIO+BZ4n1htUED4Fa4fVxcIT3hsWCpx3UG5UCI630y5D2WEmmgGJipbFre5N2pVW1t00VVg1G2oG1FckYqHzhyaYXYVpeUF1VnoLtmcIYYseWGOeG8PITPgi9I2NuTV5SEqYrsZ1EdTrUaKnZPrieQvxSbLkQUAkthqiwQuzXZR5pN+ZMqjhzZLFE9UWsGlu0ZsdRX40fn3p9QdIvdQDixjysKKuToyOJIOc334Kkm1XnxKn44TD4Z1cEQH3hAng7CmOhXeRdMOnVpYq8XTOkhkfpSXv0M46B5kGBSGMWYlBeHMgZpyZzjegTjUfN9R0joL1sNt0WjWRbLAb.JZXg4YgrLxFqVUXOeGzZbPmUdKBGPxRYHmSDRVwR3V0CgcYyttNB14NZahM2ZzXPXskU0b2bdoUhKKL.FCuwSCqwKwwcgTokJO4aIIpkxVdxTlvs9vN1kqkJthQgSdzbzJrhW1Adc+b8qIh9b5PngrqbFMPq7y4Tqj5z0WPCA5+RQtfmFZdsEg9wauXDmvq6ah82rsjutRjVtXDrmSv0CIKVO4gimSovts3fNE+9oVPmtbC6vOxSuekn3XDns5s6GCWfr8PiTZEoxU+MJ6XowOTkD6YOrwWlrN1pZOmnmFm1wSjDhKkWs35THypnKAyI1XvsEhJTqbuwdPeEFVHK4gQYhAsqT.hdJ2DnwiaIvddEWFrBlDUh+j3d3EcHN0XYdrWQiOlMmek+z.GxU677QuUUq6w4GiMOcFYPcNt19VW7M7mWUmclskh1ZAdUxAJRQyzc0HBFDmnVMhorYe7.ipK5UmSBPbtnNhdRqWz3gCExpOl22Rj2fKOFkBsqkMW+J0U50cmqIMLW2zkMFDsTOftneKJVDUJJbzhfE3cdbHmyOraWBmZ.13YVW+BZf5t6RbKKEiHquFpA2kX3Ph5dVKLDgyLm2fvr2fmi10HcqI1XeTK5H5tUI3xm52SottNvBTAhkq2US4fzYZ6zBHsKWaBX8w40Vfui0b91M9WwP3fhcohHI8xTJ1Vd.NbTe25EA6uJFxFv2NwzIunwtEwSpJf8rZEwYJPWgJkvKN6A8hls9q9tMak4VFUlcq0lensa8y91++S6Vu3EF9Sd3EF9W9VC253p12OyCu7WohV+5.aW+W8JCef169r+m+EuksDPQQKTtcp+pZvMOyw6Hgg+5Yfe7UeyW7E+xe4Lc+.+5augwY9CwMswEgybKAHq.vdyW3VVzzNq2tdV9yu4xY+5Y2+1ngB8ae+6y7ce4KeUleIP5um2lGeIl6i8uVUV2BjvS.DHC1mVt28kFe.guVLs2dgm+Qkg4Ko5KeTKE7am0F4Oy1ssyNaVkcge1rq9yZhJ6x7lY648Kq8yK68m4d6kaBLHyJKftwoTv8L9rMYVjcyr6Ww6W72uve0WOqqweVb6r2E29yalYO6IP7UOInhx1udFvc0k6+ABMFPeVsus238SDWT.ryOfR6BumDrWbsuaa1HzGw1pcOw+Zfj37ChK78d2GZ0+pY+0+0eOSC8QTpu5KlAt9My9gP66df3e02gXfG3C7geWr9JW6G.zWM22GJ+iR3yP7UT9M2O38+.3l10E6lNqwtHtcDDL36l1L6cU0wfrgYskytoIkY.uQvrlxb+1naIL.u2UPRV3ChGL069q9t146U5u5ARtcw9fjftW1u6K400U0+Uef6DHXPLyLuGD0r+1+l+iO.oWD4T.pyM6m+gIN+7aA9OqVe.hduO3OJbdg65GLVdUB3y.4Yv7ncVzOqxu9WMyMyGDVXmkMyoqsE.hYN9AfyaMq1On1u4l88Y1hKx.q8rftB213xhG38dz8t6yUdu176d9udR+eu5W8AZ9SW2ONzCkAnyxXerPv6dgB76+9UEPBbKnFyiZB.tMwd2t+dI+o0h6Yi4ddd.be88Vxud1nVYyWOyEXbt88a7oztrR.EybZKdQIQPAsGE3CR5Ac9adEe.NfZ7A95V+g1u7g07SQx.XdD3O0rie4CX8SM+0Xu1naRf7SJhH+3vnan.k5iSxMMqtLi8Qiw6d1p7Zpq8A6hWbioOtWC3t9E+hewLsxptr6cVf.u6235oDuFf+AjmeqJ7GlTciyu3C8dUOJomHtATj4A+yKhNecM.PAw262.SsAruKv289cXuU65I4caxmBAefiQ.sHvOJjag1OJBnL+BPSLy90+5YvODq769TY2+s+m9u8+5+w+9YJkentGT1A1tIt3d8+kanC8x73GLxOb+u+Kdpx4sy3.3qtrKL5d65yh8dJ.I0frP.1g+lYwy9mO60nFL174eHpe1Bc6vb.Nejk+Ew+KeT6ebkY+fDuaKkusazyH3K9gkqb67GLsE+1ub17Ywe8rOzq8oRbdDfeLJ9N4MuNm4iMwSIKnveT9dchxKsBFs2Ja9DnANQO+g6O8v8kkerXzM+5iVIO6V6WI+aC.VjKR2yIX64u4iN86cF29qWigGpw9bIqYkcs2urkObJpGcntkU..ANGj+W7GIKur3o7fGbQuTkGmM+WOCC+UggeXb9+4+sfvRaOv9U27oePhxbvfejz99mNAwsP9e+8Ge7VIim.xSlum0wOVUgOD2u64MI+Zvwfx57epHw8aM+vHOkV87QQZqiCCAmCrrHab10HvYRq.6HBNr+KqeD6cyU8r3esS7kkMby.Grw26Qu22kgW3L+.q3e3+5+t+6.0OCb1Sfg7IK1u5dS5Kj5S9lWTGq4VcrG36I6w6..9w35mJcd+AFZd2qEEvv+oJ09H8Ok18cK29hC37MebE5+v+lYbwMU.Td67a2S+she0+pmhSdFEuzmpT15qVbeA9e5GapffO5bOFTmAZR5iM8s9Oq+9X7cEc4N90uHx4dBAcI95uey29C662z8g5dufvxBIvwcUq7K9Tefs28XwxaeemOhJ.os22j5+3GaR026oMJu6Ve0fg+f8Ou6d7+x1hu6Gnr9G81WcnxOhfrjt+USBZC9QjBPO3PYsw2LLugyuO10+gdp+oukyuIssr5dU4wr.Pa++8UYFd+5u5aGe9l+Fwu89J3OOv2V8sOTy98jj9s28hU9O8uWp96W1+0MuXYuS5GxxdqzF3bZw2huN8xGFwG4YO7yd61Rua4au9am91WX9iS.Dxqd9C2dFCfcYZGe0GY7m8888d+I+fp+9+du+gB2+x2pE25F8ww6m8Qv6s36+eLde7yS+u3s7AAfJiuGr+j2t53262h9+2AJ5f8jAE81ZC1dADL8VktbixtZWe.RJ.kLuUH4Me1sbyGtG9182rLF9Ed2ey+av0iShb69273jHOM4c41t0k+V2GRtu8Qg+mc+H.LUb+ik6m91s2teFx2MS91tG+VW2WKpuCin+XYD6GKi3+XYj3GKij+XYbwOVFo9iy3sG3GcWaY9CoS2c2VM96q79l277+0Cdyme2+G.L6A22.@toolife said in Midi Seq and Track to Display in Ui:
I try so Hard but noting Seen to be work although the code has no error.
Content.makeFrontInterface(600, 600); // Reference existing components const var midiPlayer = Synth.getMidiPlayer("MIDI Player1"); const var sequenceViewport = Content.getComponent("SequenceViewport"); const var trackViewport = Content.getComponent("TrackViewport"); // Get the actual panel we should add/remove children on. // If the component has getContentComponent(), use it (it's a Viewport). // If not, assume the component is already the inner panel and use it directly. const var sequencePanel = isDefined(sequenceViewport) && isDefined(sequenceViewport.getContentComponent) ? sequenceViewport.getContentComponent() : sequenceViewport; const var trackPanel = isDefined(trackViewport) && isDefined(trackViewport.getContentComponent) ? trackViewport.getContentComponent() : trackViewport; // Quick sanity checks (prints to console if something is wrong) if (!isDefined(sequencePanel)) Console.print("ERROR: sequencePanel is not defined — check component name 'SequenceViewport'"); if (!isDefined(trackPanel)) Console.print("ERROR: trackPanel is not defined — check component name 'TrackViewport'"); // Helper: clear all buttons before refreshing inline function clearPanel(panel) { if (isDefined(panel)) panel.removeAllChildren(); } // Helper: create a button inside a panel inline function createButton(panel, name, yPos, callback) { local btn = Content.addButton(name, panel); btn.set("text", name); btn.set("x", 10); btn.set("y", yPos); btn.set("width", 160); btn.set("height", 28); btn.setControlCallback(callback); return btn; } // --- Populate all MIDI sequences into the SequenceViewport --- inline function populateSequences() { clearPanel(sequencePanel); local seqList = midiPlayer.getSequenceList(); local y = 10; if (seqList.length == 0) { Console.print("⚠️ No MIDI sequences found in the MIDI Player1."); return; } // Loop through all sequences for (i = 0; i < seqList.length; i++) { local seqName = seqList[i]; // Create a button for each sequence local btn = Content.addButton("SeqBtn_" + i, sequencePanel); btn.set("text", seqName); btn.set("x", 10); btn.set("y", y); btn.set("width", 200); btn.set("height", 28); // Store sequence index and name inside the button data btn.data.seqIndex = i; btn.data.seqName = seqName; // Define callback outside of the local scope issue btn.setControlCallback(onSequenceButton); y += 34; } Console.print("✅ Loaded " + seqList.length + " sequences into the viewport."); } // --- Sequence button callback --- inline function onSequenceButton(component, value) { if (!value) return; // trigger only when pressed local idx = component.data.seqIndex; local clickedName = component.data.seqName; Console.print("🎵 Selected sequence: " + clickedName); midiPlayer.setSelectedSequence(idx); populateTracks(clickedName); } inline function populateTracks(seqName) { clearPanel(trackPanel); Console.print("📂 Displaying tracks for: " + seqName); } -
please i need help here
HiseSnippet 1757.3ocsX0sbaSDEVJohRMDFJCO.K9hNx8GirSSoMg.o0woXZRim3PKyjloyVoUwKUdWgzp15ISdEf63VdJfgK4YgW.5a.bNq92IoMMCXeg0t64rmuyu5b7vHoKKNVFYX1X2ogLCyOzZzTgZbuwTtvXv5FlWzRgeLt2zPZbLyyvzb96iGZdoKXn+75u9dz.pvkUtkgwijbW1l7IbU4tCW6A7ffMndrc4SpP8MWafqTzSFHS.fLukiQH084zCXOjhjMmkw2PiGaXdUqtc8cusiysWbwkbnzE8nza1gs3cX92x2cIm6338rkbfu2xv7856wUxnQJphEaXdg6I8lNZr7khTA7HdL+YALbQGiQfjS2dCYfGph3tF8FyC7FlaghMfaYXo8Z9T60mZsE2iWreoc6i0GPJ4npAzbt2D7571gmyIAu4p.uKl6N0vKfNkEog0GYs0f0GPR2oSMP0KIJhITiX+XBaFuY1Q6FA9kpN9Mkxv9BJ.Uupai29y.RGExpef470064Oa58w0UCTs1fGvvmqn1WHUsur0H2Hdnp7DT2+.qABEKxmBJWUEOkVi4tZCqdRfBgp8D5yYaDAKJ3v9VNNWmrjiSqUVnwBM97OmbiabCRO4jPo.3HFWtPCHNNVQdAMhfl4LqLYUhNop8ALUo6vtYUOQS7ZK49Qb1KCkQpNDBvcNp.9KDncyBZNEd6dF3sayZpync6OjzYYxNLpGovDS7w3tnY0vg6r821u2tOc8A6.xAobzzXEaBJJcjJnhGlSzFau45824nYfJZAd5Nau8tZnV4B0vEc530BVpbnjAWMfuOSQnAADeMF4BhZLKCpUkwjB0X0R4U692jGqrqCLOphBze3QqPZfxBWuWbVlAVVZe3z8TX9.tJtc616mAKLmfPEdDWYP.yUQjhfoj1.LRQ5BM7kQDaTJb3RbVA94KKQY6.l3.0XX2qcsVKz3vEZ.1FMl7ApKHaO99ZKAdH2mX62lGqsUsHW4JDesO.V1+UfyOlKE1sZqjaJeIKpGMFoZ0UIMgaqYqz6HSN4xBTUTu.IVbU35GyUikIpJ25Jk7kaiJLOM00KHcZdcR1icKebwl6C11bdKd.LfgAP513zPNsENNUFGsPiilMVs6xj6k.tQhKTP4.YzTR.3LmMRM6PtNFXOzvcRtfmylNq0GEaIysCShGaijAV+im2r3xjgxvj.fdvSGgxNKKKEOnapxkkJIxWQbxDTQ9b6XFjhxgToXvdUgkePxE1MehnYKT5rfX1ajylOTpi3yxP7kIBumHruqmWZ3HjxLaNdqSndvMWlzCxyvB5YU43h.t.TxDgqBhBfH7BDfkahjA1t40ZtN3ABRXkgxARWZPo+Z0JJ3dZR2ekxv5OKmtVjHlJIRTDzCBJVFvZGFwwBZu9W+oeiLhgIbLORdl5xjljqUHqVELqSSoHcYLTjdBFEUlUKsxbUPmSNZwN0pI1Ep10HMaqSwpnPUuh1rWAAqw1sNdNXk2dzN.Pp9hqxa0DuYLEnlApDp40jVk7X6V47eT5OkwRGdp2qVqERUZfzxmr.RBBFRUiqIfBaN9ldBGdWoNsVmpVO.ta8.XcEkby49yD9ej1aVKzOK3KOZ093wk0hte7XlfPy.COtLZ3sDj28cHHud7cIZAa0iPVrakGtmxBp5.O4Z990SIlwi7W+xu+2+wOWF1q0jTGi9df.PhejbRdVPsDf9uhNID7nTs5sLIVQgJUgYstkRV0vPv9l2W2PYLGYx1I2KWiP7hxI093tptuYWU2JtpJF+GJUrsgW3z3vFWpwQMHydju+IdV1kE.MibRGiChD8lXzVjL4YrnbGbNgPml06j05r0IqaZ2XUHTJFH3psCYhSarCirV3fm9tAqCAFPq9lY6AzExhTbDBlqydALzUZGvWxZcV7yUxPXrfh99fsU5S+jr9iYd4VcCtG1fbQ.pwqJ6a+AqMsXwZCW6kbO03xM7WaLiev3x47F9h0Rh0MUAXZNctrgYSqd4kE6zn3wtkOtnQL8ErAhgQLH7.aK23bf6tUv8eF9e.tur0.LSpiaC8uccONLO93GvreROrQf5CDhiMmc.DiUaDDbLCniJ0zZSKc1mRz4LOD6YEtW1ZHW4N9jw6bm.dwAP+eFuYybufUeeenhWIXuf0Fe+4c.62AnrCz6KWbvVTUDGhyrdXxjQxjHWFfDg.dGJrm4bXFa5ZGbMZYFwDd5E+C7I6vN3ZyrC6jenwDpaj7otoUevo5ee8N.lD5+MjKYsEtlzwPWQpp8GGN3ott0upiwX2yKiKddY7lmWFW57x3sNuL9EmWFu8amQrW66lnjSRSmLL1ZXec4bSyh+CEnbx+BjQpetG
-
@toolife said in Midi Seq and Track to Display in Ui:
Console.print("
️ No MIDI sequences found inIs this AI generated?
-
@toolife What are you trying to achieve? Just display the MIDI Player on the UI? If so you can use a floatingTile and set the ContentType to MidiOverlayPanel.
There's also some examples online about displaying it in a Panel:
https://forum.hise.audio/topic/13081/midi-player-overlay-panel-laf/4
https://docs.hise.dev/tutorials/midi/index.html -
@d-healey yes
-
@HISEnberg i want midiplayer to select the sequencer and the tracks with difference like 12 seq and the tracks
-
even this type i can not figure it
HiseSnippet 1736.3ocsXssbaSDFVJIhRLGFJCO.KdX5HSac8gjPaBARiiSwPRim3PJyjlIyFoUwKQdWgzpz5ISdEf63VdJfgK4sf64Ef9F.+6pSqbcCgLsNyDqc+O88eZ0+59gbGRTDOzvrxdiCHFluq0fwLwvNCwTlQuMLLugkP9wX8wA3nHhqgo4rORRzb94LTedwWtN1GybHEaYXrOm5P1hNhJJ1s+ZeC02eSrKYO5HMtWXsdNbVGtOOF.xrVMLBvNmhOg7XrjsYrL9JbzPCyO0pUKOm62nw8a2dwFXbaWLdglj1Of3sjmyhMdPC2iWrA72RFluUWWpfGNPfEjHCy4Vm6NdvP9yXIFXeZD8XehbQSiAfkS1dStuqzEk6ZzYH02seVDJx.zR+h30rIwqOxZapKMe+h31GnHfJjPO.ZNSY3MaI30TGdMzf2TfzLZP5FYoPEj7wiIgJn79Va2aidnjcZVBHchCCILw.xODSlHClRZuPHWnmr2hyC5xv.7b02Vp8iAVGDPJSvb1qru17R8UCoasI0mHeVysmKwsuo0.mPZfnfhz2eGqdLAIzCCNmtimvqwL+47Vc3.GLQ8Q3SIaFBKxkvdoFMtCZwFMpsRkJ26dn6d26h5vGEvY.+QxkUfB2HA5LbHRFiSCwnUQptn5mPDE4B6p5ogpfNKDdeJ4YA7PQSDBDNCQf34lytZNOSWzVWAQaUUySFrW29nlKi1kfcQ4wVjmrGHbBmq+t670c6r2QazaWvHRFGLNRPFIsipoA7tyyXZyc1Zit6dQYXJ88i1cmc1SASM8ofpLWK0JDix.hBpRr9Hh.g88QdJ3QYHwPRJJAxEVXTtKrZg0Jo8snQB6RnxEKv.6mewJHksjqOHJsaPd7yg.0CDxd.4pn50qenhQYW.BybQNbeehi.wY9iQ0ALjfyJd7PjszDTPCMVA95yKPXceB6DwPX2ae6ZUNuBDSTvwC3MmoCnGBQ.IIpGx1qNMREgpgt0sPdp.Orr6ygzcDkyrqUWv2h+LRXGbjjqUWEUEzU0ZJUjXiL6.dnzc.qkqH45mPEC4wBMctRtXYQl7fR0G5Ex6SBcZV8Nn7EszWzt5gPbMSC4O.gu.en8ZXRklJ5FondQkKJWd1ZYz5wP1C4.GdbBObLxGxgSTblRipx7G.AsoE6OkLdhvtzfEhVOHNZnsjKHtOYWR6kQ84Aw9.2P5MTZ2zNJETj4GMMkXEzWfZjXj7F25QDnYjB8MQPXRShumSY1UeJqZMvxD+HxkIWQfG8TFJOvqun8SQUuyjNwBKi5.8QxCoSN6hx7oLvghYNBHaCkv4VTdLRH221I6Lj6.QZ+XRVwpO2A6WjTVUyYNPw3gqjW49wYrUCERDwgrzpZvFQbeR8fPp7LpW7K+3uhFPjMSDWTVO3xnpnamanZohpZ.wRtRYOuwCNePvQZGzpA2Ltkk6uxyHrycpaipVW0.U3J5ZnN44PoXjcsIavzdQPce.kJspKoVW0Dw.oSAdizkKYJsdT6Zoheg5+4EKm+pzoxaYbAbjYLyc4oq7Xe+9XwPMkmEmkuoFQg21oZSUsekJNaUt3TcLQVH7vxE1W.YuR0zoUYYUk1ubAnVM7SFRXHbJLnQE49KuTt0UtTtbUbAPg3y9RArqkVTmHgziAQxb3CKU2OQN3u94e6u+8epn5V4DIoBkZfRMDz5NJqXWqNu6ywiBfLHV4XKihDX3TmfzospLYAGDUylDqOOhJkwtQZRsDeR0jwo8DImVWdxoUQxQKf+XtfrC7JCHrNObLNZRRddSkVpt7gIHlFY4MEBuLAsYwiNlDpkTULBiEVdrSqq1XmNIyOowHm0iQE6DPXup6EXjNzE7z21aCnd.lK2LcOfu.RnfJgf4FjyfaEkLt57VaPhNUvCfY3ymTC1Vnn9goCyRbyB5FTW4zr4kkFOuXH6uYsw4KVq+ZOi5JFVrg2ZCIzSFVbQr9msVbjZXnDOR06ZX9IVEuXoh16UJdtMxHBeFoGqeHApPxFT++O5aog9+H30B5uoUOYmTSmJpua4LMn9x2Z.tlF2U9h8x2cSdC2TBP0VoaNHuc.LcjXboK4755BcWUHdSq9TgyvoiwYlBFk2U7M.FSuF76Y00yCNaq.fyYs428l4NuF6BynRYmrMVDRg5HqGGOZ.ONzg.Vmwf2HB6YNiruLYcC4ZYDX.g4pV7OvmThMkqMSI1LinwHrSH+HmjyXjWz9sU6.Xho9QIl2Za4ZTSC04N5wY4.7G43TVUujfsttB195J3BWWAW75J3RWWA+rqqf2++VP4ELeXrfOJoswvX69cUGZaZl+yZXNqw+xUjQhC
-
@toolife AI isn't going to help you here either (the code your sharing is more confusing than it is helpful). It would be better to start from the documentation and exploring examples.
You really don't need code for a lot of what you are trying to achieve. Start small and build up from there.
HiseSnippet 1454.3oc6WszaabCDlqs2zXk9HosG5Qg.D.mV2Uue3VfVoUqjsrdsUR1RIGZ.0tTRzZWx0borrZP.5w7anGKP+SzS8mT9GjRtqjkTpShgQCPOTcQb9FNjyvONCm0jQsP99TFPIR24dHfxGq1YNgOtzXHl.pZ.T9T0FPeNhEMDRetGz2GYCTT19PIfxt6.B98peTG5.IVnUP.voTrEpN1EyWgZVnF1woBzF0E6t1rSWnpEkTh5PmJ7msUiC7fVSfiPMgxoskJ3Hn+XfxWqdP5bYGjyJexznDGDOa9AIfoQYSirRkOm8fCRiRkIdh3wg.k6T1FyorNbHG4CT1QmZOuyX5LR3FbJ1GOvAIER.5H14P3JTGaYHJQAkFicrMWdP4CDqh4pissCO19R0FXa7U3qN9tefhnqrX8CPks1z81dC2Kway8tFWZq0boOZISF3RNv4HVfqbW0EBq6BklxXHBuC57onM4tBKT0kIXg0o45TpWYBT3X1qCKW7Aho1wCsoBks+WJJAx.pB1AIi3sWJHFJiNw0CCHWP4+tZhD4zHcyVKeoKyMogll9o0KOTKyrit3nyyVRWGahm0sbMKL+v4MxZTiTqzQtyZUijqaesyxT7PRwLVZNiqXvNs8gicFerd+1buwMMHsyzdvkYexAUQ8OH+g06glk8IkazaVqQ5MpnUYRM3AI6gKqoqY7KOcDJkoVMX4lEKddiRFGSZ119hN40.R2N7R8OoF6DeDyOFhQP97XFH+IbpWrhSswzncftdhnMV934i1l533GSGxhlLPlIki9sQGHQD+uWpGq4hkbpLqpCdDAxmxDawcZN0UXl+JJYqBMotXgd4skkf2ufAhbcvR5VPcL9540g2A1fl6hb8nRf+D7aOR4WgE.uMF5ODLzAKXH8zwkLTuAkGqkoZQACU6X1vAmMaT2Fo6bblDylcdN5j9lsscv8a8Typ5yKNraqKzsYGmnRpyHPJsZ0ZM5wlLrnkwfiO+jx0q2qWt4zL4aU5n7o6kxZ5LZFt87Teild4yzZZhal2sRWS8C0LMKVztTxR8qepQiy6O3DSqyxMzMSwOLjT5+mj9.QR6+FjTc7.FjMOVIn0XA6bT0NkiwEQ++QN+CA94Bf0JbuSXg6Gn1whg83qzHIl6oVkHdFdHTTjd8B3gyEn7WpknhIP3ZtvInJLgvUFrWp3w2OZx3we72ObJwhiojnTRSJG0hr2ii77H6F4EQh9lpFN7Z0I2F48ZD6ZUKOXYuKC2iL0c.hsezKfNSQWMQQ3u4yD24l8LgUXTu1DojpDLukGZg7690bvhiMwSJJK7PwT4ALw8WvDkntCn5zKAxqN2ScoXBPPHr9alfSpFj9rXwDqqXu7PLNVFRJFnKD8CERy6ptnNhHoSrhdThzKTtGeQCEgacEGJjiIi5JSQka+motNTBvkq19env7UBMKLCayEsKop7Jg3XDdzXtTxdULG5HedPiBst.wDufaBIHGvfQKaCa26Hl9ijKHVj8rB8ku7kudSzjRXCCi.3vZHUUedjnQe3UG2Use32IDC5B4g6KUUkXitT.lHPRvTNzY8nrI9hV+PB7gPGeTjWH83qNgt6MjbtTFsBSAykC9Bw.WX.1Vhgdq7o05LxCxDESDYMRzGn9lMGICVAM9UpKQhlHxUCSFAbMIyh9+n1Scj0KVuoPYqyKTHRN1HgVl0R7w74azC0MuSw3u6dntgt3CTMwbqwWuOt003ixlP+.3iK5u9STKObHxhuxA2QsR+aayzumsuMcpL+pAjyvxKLh2F5HtfagD6NQjd3u7RzB43RY4IPGDwNP30heKTlPJqrPYhkJEWEsXzmYEVvQ1O6cCPD9DI34rcEe1kPN5+rFCP7.F9YVVatT+CCSdaML0s0vz2VCybaML6s0vb2VCy+9MTVLs3TN0MLsQ7UKlkCKGpb0WMorM3uAvTY0vI -
@HISEnberg ok but i think there a way to make viewport and display both seq and track in order to select difference seq and difference tracks in midiplayer