منصوبے کے بارے میں

miniaudio ایک آڈیو پلے بیک اور کیپچر لائبریری ہے جو C میں لکھی گئی ہے اور ایک ہی سورس فائل کے طور پر تقسیم کی جاتی ہے۔ اس کے README کے مطابق، اس کا معیاری لائبریری کے علاوہ کوئی انحصار نہیں ہے اور اس کا مقصد بڑے کمپائلرز پر اضافی ڈیولپمنٹ پیکجز انسٹال کیے بغیر صاف طور پر کمپائل ہونا ہے۔ یہ بڑے ڈیسک ٹاپ اور موبائل پلیٹ فارمز کو نشانہ بناتی ہے۔ README میں بیان کردہ اہم صلاحیتیں: - سادہ بلڈ سسٹم جس میں کوئی بیرونی انحصار نہیں۔ - سادہ اور لچکدار API، جس میں خام آڈیو ڈیٹا تک براہ راست رسائی کے لیے لو-لیول API اور ساؤنڈ مینجمنٹ، مکسنگ، ایفیکٹس اور اختیاری 3D اسپیشلائزیشن کے لیے ہائی-لیول API دونوں شامل ہیں۔ - جدید مکسنگ اور ایفیکٹ پروسیسنگ کے لیے لچکدار نوڈ گراف سسٹم۔ - ساؤنڈ فائلیں لوڈ کرنے کے لیے ریسورس مینجمنٹ۔ - WAV، FLAC اور MP3 کے لیے بلٹ ان سپورٹ کے ساتھ ڈی کوڈنگ، نیز حسب ضرورت ڈی کوڈرز شامل کرنے کی صلاحیت۔ - انکوڈنگ، فی الحال صرف WAV۔ - ڈیٹا کنورژن، ری سیمپلنگ (بشمول حسب ضرورت ری سیمپلرز)، اور چینل میپنگ۔ - ویوفارمز اور شور کی بنیادی جنریشن، نیز بنیادی ایفیکٹس اور فلٹرز۔ README مزید مکمل فیچر کی تفصیل کے لیے پروگرامنگ مینوئل کی طرف اشارہ کرتا ہے۔ اس میں دو مختصر C مثالیں شامل ہیں: ایک ہائی-لیول انجن API استعمال کرتے ہوئے ساؤنڈ چلانے کے لیے، اور ایک لو-لیول ڈیوائس اور ڈی کوڈر APIs کو ڈیٹا کال بیک کے ساتھ استعمال کرنے کے لیے۔ بلڈنگ: miniaudio.c کو کسی بھی دوسری سورس فائل کی طرح کمپائل کریں اور miniaudio.h کو ایک عام ہیڈر کے طور پر شامل کریں۔ Windows اور macOS پر کسی اضافی لنکنگ کی ضرورت نہیں ہے؛ Linux اور BSD پر -lpthread اور -lm سے لنک کریں؛ iOS پر Objective-C کے طور پر کمپائل کریں؛ اگر dlopen کی خرابیاں آئیں تو -ldl لنک کریں، اور بعض ایٹامک بلٹ ان خرابیوں کے لیے -latomic۔ ورژنز کے درمیان ABI مطابقت کی ضمانت نہیں ہے، لہذا تجویز کردہ انضمام اسے براہ راست سورس ٹری میں شامل کرنا ہے۔ CMake بھی سپورٹڈ ہے۔ دستاویزات miniaud.io/docs پر اور miniaudio.h کے اوپری حصے میں موجود ہیں، جسے README سب سے تازہ ترین اور مستند ذریعہ قرار دیتا ہے؛ دیگر دستاویزات اسی سے تیار کی جاتی ہیں۔ سپورٹڈ پلیٹ فارمز کی فہرست: Windows؛ macOS اور iOS؛ Linux؛ FreeBSD، OpenBSD اور NetBSD؛ Android؛ Raspberry Pi؛ اور Emscripten/HTML5۔ دیگر پلیٹ فارمز کو miniaudio سورس میں ترمیم کیے بغیر حسب ضرورت بیک اینڈ کے ذریعے سپورٹ کیا جا سکتا ہے، جیسا کہ custom_backend مثال میں دکھایا گیا ہے۔ درج کردہ بیک اینڈز: WASAPI، DirectSound، WinMM، Core Audio، ALSA، PulseAudio، JACK، sndio، audio(4)، OSS، AAudio، OpenSL|ES، Web Audio، Null (خاموشی)، اور Custom۔ سیکیورٹی کی معلومات ایک علیحدہ سیکیورٹی پالیسی فائل میں شامل ہیں۔ لائسنسنگ پبلک ڈومین یا MIT No Attribution کا انتخاب ہے۔