منصوبے کے بارے میں
Muse Next ایک جدید دوبارہ تعمیر ہے اس Windows-native Muse Pro 2.70 اسکور ایڈیٹر کی جو اب برقرار نہیں رکھا جاتا، جو TypeScript، Electron، React ٹیک اسٹیک استعمال کرتا ہے اور clean-room اصولوں کی پیروی کرتا ہے، اصل کوڈ یا کاپی رائٹ وسائل کو منتقل نہیں کرتا۔ بنیادی اہداف ترتیب وار ہیں: نجی اسکور فارمیٹ .jcx کی پڑھائی اور لکھائی بحال کرنا، اسکور رینڈرنگ، ایڈیٹنگ اور پلے بیک کی صلاحیتیں۔
ریورس انجینئرنگ سے تصدیق ہوئی کہ .jcx بائنری نہیں بلکہ ABC notation پر مبنی خالص متنی فارمیٹ ہے جس میں Muse کی نجی توسیعات شامل ہیں، جن میں voice style، %%gchord chord diagrams، guitar TAB، اور numbered notation تشریحات شامل ہیں۔ اس لیے پروجیکٹ تیار ABC پارسر لائبریری استعمال نہیں کرتا، اور نوٹیشن انجن کو اندرونی ماڈل نہیں بناتا۔
آرکیٹیکچر یک طرفہ پائپ لائن استعمال کرتا ہے: بائٹ ڈیکوڈنگ کے بعد Muse سورس ٹیکسٹ حاصل ہوتا ہے، lexer سے pitch-mode اور tab-mode دوہرے موڈ کا token stream بنتا ہے، پھر lossless AST تعمیر ہوتا ہے جو printAst کے ذریعے ڈیکوڈ شدہ ٹیکسٹ کو بائٹ بہ بائٹ بحال کر سکتا ہے، اس کے بعد normalized Domain Score میں پارس ہوتا ہے جس میں Voice، MusicEvent، Relation وغیرہ مستند ماڈل شامل ہیں، اور آخر میں serialize ہوتا ہے preserve موڈ میں بائٹ بہ بائٹ اصل متن بحال کرنے یا canonical معیاری شکل میں۔ رینڈرنگ، ایڈیٹنگ وغیرہ ایپلیکیشن لیئرز صرف Domain پر انحصار کر سکتی ہیں، JCX ٹیکسٹ کو براہ راست پارس یا AST پر عمل نہیں کر سکتیں۔
ڈیزائن کی پابندیوں میں شامل ہیں: Scanner صرف درجہ بندی اور شماریات کرتا ہے، نامعلوم چیزوں کو لازماً واضح طور پر محفوظ کرنا، UNVERIFIED سیمنٹکس Domain کی مضبوط ٹائپنگ میں داخل نہیں ہوتی، ثبوت کی ترجیح حقیقی corpus > اصل ہیلپ دستاویزات > ABC معیار۔
ڈائریکٹری میں src/domain مستند ماڈل ہے اور فارمیٹ، رینڈرنگ وغیرہ لیئرز پر انحصار ممنوع ہے؛ src/formats/jcx دو طرفہ تبدیلی فراہم کرتا ہے، جس میں encoding، lexer، ast، parse، serialize اور semantic projection ٹولز شامل ہیں، بیرونی انٹری src/formats/jcx/index.ts ہے۔ عوامی API میں loadJcx bytes یا ٹیکسٹ کو Score، diagnostics، lex، ast میں پڑھتا ہے؛ serializeJcx preserve موڈ میں بائٹ بہ بائٹ بحالی اور canonical موڈ میں %MUSE2 ہیڈر کے ساتھ UTF-8 معیاری ٹیکسٹ آؤٹ پٹ کی حمایت کرتا ہے۔
Milestones M0 سے M1.8 مکمل ہو چکے ہیں، جن میں Electron scaffolding، corpus scanning، JCX spec دستاویزات، lexer، lossless AST، Parser، Serializer، round-trip compatibility guardrails شامل ہیں، اور تین پلیٹ فارم CI میں پاس ہوئے۔ 2026-09-22 کو سیل بند M2 Notation Rendering نے Domain Score سے chord diagrams، numbered notation، guitar TAB، اور staff notation کی چار اقسام کی رینڈرنگ نافذ کی، Staff VexFlow adapter کے ذریعے یک طرفہ انحصار کرتا ہے، رینڈرنگ لیئر میں contract test matrix ہے، پورے repo کے 74 test files کے 5642 cases پاس ہوئے۔
اگلا مرحلہ M3 Editor Core ہے جس میں selection cursor، command architecture، undo/redo اور source visualization synchronization شامل ہیں، بعد میں playback، MIDI import/export، layout اور distribution کی منصوبہ بندی ہے۔ ڈیولپمنٹ کے لیے Node.js ≥22.12 درکار ہے، typecheck، test، jcx:corpus-test، jcx:fixture-report وغیرہ کمانڈز فراہم ہیں، CI macOS، Windows، Ubuntu matrix پر چلتا ہے۔ کوالٹی guardrails fixture matrix کے ذریعے parse، semantic، preserve byte-identical، idempotent، closure، reparse-clean چھ چیزوں کی جانچ کرتے ہیں، اور pinned known limitation کے ذریعے معلوم حدود کو واضح طور پر رجسٹر کرتے ہیں۔ پروجیکٹ میں اصل پروگرام کی executable فائلیں، بلٹ-in اسکورز، ملکیتی فونٹس شامل نہیں، corpus مقامی طور پر محفوظ اور gitignore سے خارج ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.