امتداد:Score
| This code base is maintained by the Reader Experience team. Code review only for UBNs or security fixes. |
تتطلب امتداد Score إعداد خدمة خارجية، Shellbox، لمعالجة النوتات الموسيقية بشكل آمن عبر ليلي بوند. يُرجى مراجعة المعلومات الواردة في #مخاوف أمنية والتحذير الأمني لعام 2021 قبل تثبيت هذا الامتداد. |
حالة الإصدار مستقر |
|
|---|---|
| تنفيذ | وسم |
| بيان | يسمح بعرض النوتات الموسيقية باستخدام ليلي بوند |
| المؤلف/المؤلفون | Alexander Klauer, Étienne Beaulé |
| آخر إصدار | 0.3.0 (2019-03-23) |
| MediaWiki | 1.36+ |
| PHP | 5.3+ |
|
|
|
score |
|
| Licence | رخصة جنو العمومية 3.0 أو ما بعدها |
| التنزيل | README.md |
| ترجم الامتداد Score لو كان متوفرا على translatewiki.net | |
| المسائل | المهام المفتوحة · الإبلاغ عن عطل تقني |
يتيح امتداد سكور (Score) عرض النوتات الموسيقية في هيئة صور بتنسيق SVG أو PNG باستخدام ليلي بوند، كما يمكنه تحويلها إلى ملفات صوتية وملفات MIDI.
التثبيت
- See the extension's
README.mdfor detailed installation instructions.
- نزّل الملف/الملفات وضعها في دليل يحمل اسم
Scoreداخل مجلد extensions/ لديك.
يجب على مطوري البرمجيات والمساهمين بالكود البرمجي تثبيت الامتداد من غت بدلا من ذلك، مستخدمين:cd extensions/ git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Score
- أضف الكود التالي في الجزء الأسفل من ملف LocalSettings.php:
wfLoadExtension( 'Score' ); $wgScoreTrim = true; $wgImageMagickConvertCommand = '/usr/bin/convert'; $wgShellboxUrl = '... address to Shellbox ...'; $wgShellboxSecretKey = '... your secret key ...';
- أنشئ مجلداً فرعياً باسم
lilypondداخل $wgUploadDirectory (عادةً ما يكون المجلد المسمىimagesفي دليل ميدياويكي الخاص بك). تأكد من أن الدليل قابل للكتابة بواسطة خادم الويب الخاص بك.
تم التنفيذ – اذهب إلى Special:Versionعلى موقع الويكي لديك كي تتحقق من أن الامتداد قد ثبت بنجاح.
المتطلبات
يُوصى بالحزم التالية:
- LilyPond
- Ghostscript
- ImageMagick
- FluidSynth
- Firejail
تستخدم هذه الإضافة برنامج ليلي بوند لتوليد صور النوتة الموسيقية، لذا يلزم توفر نسخة عاملة من ليلي بوند (يعرض Special:Version إصدار ليلي بوند). إذا قمت بتثبيت ليلي بوند من حزمة، فسيتم تثبيت Ghostscript أيضاً، نظراً لأن ليلي بوند يعتمد على Ghostscript. يجب تثبيت ImageMagick لاقتصاص الصور، وإلا فإنها ستحتوي على قدر مفرط من المساحات البيضاء.
لأسباب أمنية، يُنصح بشدة بتثبيت firejail لتقييد صلاحيات كل من ليلي بوند وGhostscript بشكل أكبر، وذلك في حال سُمح لمستخدمين غير موثوقين بتعديل الويكي الخاص بك.
تتمتع الإضافة أيضاً بالقدرة على إنشاء ملفات صوتية من ملفات MIDI التي يولدها برنامج ليلي بوند، وإذا كنت ترغب في الاستفادة من هذه الميزة، فيجب أن يكون Extension:TimedMediaHandler مثبتاً لديك.
تُعد FluidSynth الطريقة المفضلة لتحويل ملفات MIDI إلى ملفات صوتية، ومع ذلك فإن TiMidity++ مدعومة أيضاً.
المخاوف الأمنية

LilyPond files can run arbitrary code on the server. إذا كنت لا تثق ثقةً تامةً بجميع من يملكون صلاحيات التعديل على الويكي الخاصة بك، فيُوصى بشدة بإعداد آلية لعزل ليلي بوند باستخدام Shellbox. طالع Shellbox#Server setup لمعرفة تفاصيل إعداد الخادم المُحتوى، وانظر أدناه لمعرفة كيفية تهيئة ميدياويكي لاستخدامه. تأكد أيضًا من استخدام إصدار حديث من ليلي بوند (الإصدار 2.22.0 أو أحدث) أو حزمة توزيع (مثل تلك الخاصة بدبيان) تتضمن إصلاحات أمنية.
ملاحظات
تقوم هذه الإضافة بتشغيل ملفات تنفيذية متنوعة داخل بيئة Shellbox لتوفير قدر من الأمان. قد تحتاج إلى زيادة قيمة $wgMaxShellMemory إذا واجهت أخطاءً تتعلق بنفاد الذاكرة ("out of memory").
الإعداد
إليك بعض معاملات الإعداد العامة الخاصة بالامتداد.
$wgScoreLilyPond
عيّن المتغير $wgScoreLilyPond ليشير إلى مسار ملف LilyPond التنفيذي (عادةً ما يكون /usr/bin/lilypond أو /usr/local/bin/lilypond).
$wgScoreUseSvg
Set $wgScoreUseSvg to true to render scores as SVG in the browser.
Requires LilyPond version 2.24 or above, compiled with Cairo support (included by default since version 2.26).
$wgScoreTrim
المتغير $wgScoreTrim هو متغير منطقي (boolean) تكون قيمته الافتراضية مطابقة لقيمة $wgUseImageMagick. إذا كانت القيمة true، فسيتم قص صور PNG الناتجة عن النوتة الموسيقية باستخدام ImageMagick. أما إذا كنت لا ترغب في إجراء عملية القص أو لا تريد تثبيت ImageMagick، فقم بضبط $wgScoreTrim على القيمة false.
If true, the resulting score PNG images are trimmed with ImageMagick.
If you don't want trimming, or don't want to install ImageMagick, set $wgScoreTrim to false.
$wgScoreAbc2Ly
عيّن المتغير $wgScoreAbc2Ly ليشير إلى مسار الملف التنفيذي لمحوّل ABC إلى LilyPond (عادةً ما يكون /usr/bin/abc2ly أو /usr/local/bin/abc2ly).
$wgScoreFluidsynth
عيّن <$wgScoreFluidsynth ليشير إلى مسار الملف التنفيذي لبرنامج Fluidsynth (عادةً ما يكون /usr/bin/fluidsynth أو /usr/local/bin/fluidsynth).
$wgScoreSoundfont
عيّن $wgScoreSoundfont ليشير إلى مسار ملف الـ Soundfont الخاص بك (عادةً /usr/share/sounds/sf2/FluidR3_GM.sf2 أو /usr/share/sounds/sf2/FluidR3_GS.sf2).
$wgScoreLame
عيّن المتغير $wgScoreLame ليشير إلى مسار ملف تشغيل Lame (عادةً /usr/bin/lame أو /usr/local/bin/lame). هذا الإجراء مطلوب إذا كان الملف الصوتي المُنتَج بصيغة MP3.
الاستخدام
بعد الإعداد، يمكنك تضمين تدوين ليلي بوند بسيط في نص الويكي داخل وسم <score>...</score>. على سبيل المثال:
<score lang="lilypond">\relative c' { f d f a d f e d cis a cis e a g f e }</score>
ينتج:
يمكنك أيضاً تحديد سمات لوسوم score في النموذج العام.
<score attribute1="value1" attribute2="value2">…</score>.
على سبيل المثال
<score sound="1" lang="lilypond">\relative c' { \set Staff.midiInstrument = "tenor sax" f d f a d f e d cis a cis e a g f e }</score>
ينتج:
Attributes
السمات التالية متاحة:
| الصفة | القيم المسموح بها | التأثير |
|---|---|---|
| lang | ABC, lilypond (default) | يُحدد لغة النوتة الموسيقية. على سبيل المثال، لتقديم نوتة موسيقية بصيغة تدوين ABC، يمكنك استخدام: <score lang="ABC">
X:1
M:C
L:1/4
K:C
C, D, E, F,|G, A, B, C|D E F G|A B c d|
e f g a|b c' d' e'|f' g' a' b'|]
</score>
|
| line_width_inches | Positive non-zero number, can have decimal places | Sets the width of the lines in the rendered score, by setting the line-width directive in the LilyPond paper settings. |
| midi | (رفع) كان هذا يتحكم فيما إذا كانت صورة النوتة الموسيقية المعروضة ترتبط بملف MIDI. | |
| override_midi | اسم ملف معروف؛ أي أنه إذا تم توفير override_midi="name"، فإن [[File:name]] لا يُنتج رابطاً أحمر. |
(متقادم) بدلاً من ذلك، يمكنك إضافة رابط ويكي [[File:superior midi filename.mid]] بعد وسم الإغلاق </score>.يستخدم ملف MIDI المحدد بدلاً من إنشاء ملف باستخدام LilyPond. استخدم هذه السمة مع السمة midi (انظر أعلاه) أو السمة sound (انظر أدناه). تُعد هذه السمة مفيدة إذا كان لديك بالفعل ملف MIDI بجودة تفوق ما قد يُنتجه برنامج ليلي بوند. |
| override_audio | اسم ملف معروف؛ أي أنه إذا تم توفير override_audio="name"، فإن [[File:Name]] لا يُنتج رابطاً أحمر. |
(متقادم) بدلاً من ذلك، يمكنك إضافة رابط ويكي [[File:superior audio filename.oga]] بعد وسم الإغلاق </score>.يُدرج الوسائط المحددة باسم الملف في كود HTML بعد صورة (أو صور) النوتة الموسيقية. يُعد هذا بديلاً لسمة الصوت (انظر لاحقاً). على سبيل المثال، قد يكون الأمر مفيداً إذا كان لديك ملف صوتي مناسب يتميز بجودة فائقة مقارنةً بالملف الصوتي المُنشأ تلقائياً. بالطبع، لا يزال بإمكانك حذف كلتا السمتين في هذه الحالة وإضافة الملف إلى الصفحة يدوياً، إذا كنت تفضل ذلك. |
| override_ogg | (متقادم) اسم مستعار لـ override_audio مُلغى الاستخدام (مُهمل) مرتين. | |
| raw | 0 (default), 1 | إذا ضُبطت القيمة على 1، يُفسَّر كود النوتة الموسيقية على أنه ملف ليلي بوند متكامل. استخدم هذا الخيار إذا كنت ترغب في إنشاء نوتات موسيقية أكثر تعقيداً. إذا لم تكن لغة النوتة (السمة `lang`) مضبوطة على ليلي بوند، فسيتم تجاهل هذه السمة. بشكل افتراضي (عندما يكون raw=0)، يُدرج الكود المُقدَّم داخل كتلة \score{...}، إلى جانب كتلتي \layout{...} و\midi{...} الافتراضيتين، في حال لم تكن هذه الكتل مُقدَّمة بالفعل.
|
| sound | 0 (default), 1 | إذا تم ضبطه على 1، فسيتم إنشاء ملف صوتي للنوتة الموسيقية، شريطة أن تكون قد قمت بتثبيت Extension:TimedMediaHandler وإعداده. سيُضمن مشغل صوتي في كود HTML بعد صورة (أو صور) النوتة الموسيقية. |
| vorbis | 0 (default), 1 | (متقادم) اسم مستعار للصفة sound. |
- لغة برنامج ليلي بوند
يمكن إضافة كلمات الأغنية على النحو التالي:
<score lang="lilypond" sound="1">
\relative c'' { \time 4/4 \key c \major
c4 g8 g a4 g r b^> c^> r \bar "|." }
\addlyrics { Shave and a hair -- cut: two bits. }
</score>
بالنسبة للمستخدمين المتقدمين، يمكن استخدام الأمر \set Staff.midiInstrument لتغيير آلة MIDI الخاصة بالصوت.
Tracking category
Pages containing <score> tags are in the tracking category with message name score-use-category.
Visit Special:TrackingCategories to find the localized title of this category on your wiki and show the pages in it, for example w:Category:Pages using the Score extension on the English Wikipedia.
التعريفات
- كُتب Extension:LilyPond الأصلي بواسطة يوهانس إي. شيندلِين.
- تستند هذه الإضافة إلى مراجعة للكود الخاص بـ Extension:LilyPond أجراها تيم ستارلينغ.
- كُتب Extension:ABC الأصلي بواسطة ريفر تارنيل.
انظر أيضا
- تحتوي صفحة Help:Score في ويكيبيديا الإنجليزية وصفحة Help:Sheet music في ويكي مصدر على المزيد من الأمثلة حول صيغة LilyPond.
- تدوين LilyPond
- تدوين ABC
| هذا الامتداد يستخدم على واحد من مشاريع ويكيميديا أو أكثر من واحد. يعني هذا الأمر أن الامتداد مستقر ويعمل/تعمل جيدا بما فيه الكفاية ليستخدم/لتستخدم في مواقع تتمتع بمستوى زيارات مرتفع مثل هذه. ابحث عن اسم هذا الامتداد في ملفات الضبط CommonSettings.php وكذلك InitialiseSettings.php كي ترى أين تنصب. توجد قائمة كاملة بالامتدادات المنصبة على موقع ويكي بعينه على صفحة Special:Version الخاصة بموقع الويكي. |
- Stable extensions/ar
- Tag extensions/ar
- ParserFirstCallInit extensions/ar
- ResourceLoaderRegisterModules extensions/ar
- SoftwareInfo extensions/ar
- WikibaseClientDataTypes extensions/ar
- WikibaseRepoDataTypes extensions/ar
- WikibaseRepoWbui2025InitResourceDependenciesHook extensions/ar
- GPL licensed extensions/ar
- Extensions in Wikimedia version control/ar
- All extensions/ar
- Extensions used on Wikimedia/ar
- Music editor extensions/ar
- Extensions with VisualEditor support/ar
