Ar Chwefror 24, ar ôl mwy na blwyddyn o ddatblygiad, rhyddhawyd 0.11.22 o'r llyfrgell dal a chwarae sain traws-lwyfan. mini sain, wedi'i ysgrifennu yn C a'i ddosbarthu i'r cyhoedd.
Mae miniaudio yn rhedeg ar bob prif lwyfan bwrdd gwaith a symudol, gan gynnwys Windows, macOS, Linux, BSD, iOS, Android, a Web (trwy Emscripten) heb unrhyw ddibyniaethau trydydd parti.
Mae gan y llyfrgell API syml, hyblyg a modiwlaidd gyda datgodyddion adeiledig (WAV, MP3 a FLAC), cymysgu uwch a phrosesu effeithiau (gan gynnwys 3D), rheoli adnoddau, hidlwyr, trosi data a llawer mwy.
Newidiadau mawr:
- Gan ddechrau gyda fersiwn 0.12, bydd miniaudio yn symud i bâr o ffeiliau .c/h ar wahân, gan roi'r gorau i'r ffeil pennawd sengl. I baratoi ar gyfer hyn, mae ffeil miniaudio.c wedi'i hychwanegu at yr ystorfa. Ar hyn o bryd dim ond wrapper o gwmpas miniaudio.h a MINIAUDIO_IMPLEMENTATION ydyw. Nid oes unrhyw beth wedi newid yn miniaudio.h, fodd bynnag pan ddaw fersiwn 0.12 allan, bydd angen i chi ddefnyddio miniaudio.c ar gyfer llunio. Argymhellir dechrau mudo o ddefnyddio MINIAUDIO_IMPLEMENTATION i ddefnyddio miniaudio.c. Os ydych chi am barhau i adeiladu eich prosiect fel uned grynhoi sengl, gallwch chi #gynnwys "miniaudio.c". Bydd y dull hwn yn cael ei gefnogi yn fersiwn 0.12 a thu hwnt.
- Mae'r ffeiliau miniaudio_libvorbis.h a miniaudio_libopus.h yn y cyfeiriadur pethau ychwanegol wedi'u anghymeradwyo. Maent bellach wedi'u rhannu'n ffeiliau .c a .h ar wahân yn y cyfeiriadur pethau ychwanegol/datgodyddion. Mae'r hen ffeiliau yn dal i fodoli ar gyfer cydnawsedd, ond bydd angen i chi uwchraddio i'r fersiynau newydd. Dylai'r trawsnewid fod yn ddibwys.
- Ychwanegwyd opsiynau MA_SOUND_FLAG_LOOPING a MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_LOOPING. Gellir eu defnyddio i gychwyn synau a ffynonellau data a yrrir gan adnoddau i ddolennu yn ddiofyn. Dyma'r ffordd a argymhellir i alluogi dolennu ar gyfer edafedd. Mae'r opsiynau ffurfweddu isLooping yn ma_sound_config a ma_resource_manager_data_source_config wedi'u anghymeradwyo. Os ydych chi'n eu defnyddio, dylech uwchraddio i'r opsiynau newydd, fel arall fe gewch wallau casglwr wrth uwchraddio i fersiwn yn y dyfodol.
- ma_rb_commit_read(), ma_rb_commit_write(), ma_pcm_rb_commit_read(), a ma_pcm_rb_commit_write() ddim yn dychwelyd MA_AT_END bellach. Y rheswm dros y newid hwn yw nad oes unrhyw gysyniad o "ddiwedd" mewn byffer cylch, a wnaeth y cod canlyniad yn aneglur. Yn ogystal, gallai'r swyddogaethau hyn ddychwelyd rhywbeth heblaw MA_SUCCESS hyd yn oed pe bai'r gweithrediad wedi'i gwblhau'n llwyddiannus, a ychwanegodd at y dryswch. Y ffordd gywir i wirio a oes lle o hyd yn y byffer cylch yw edrych ar y cownter ffrâm a ddychwelwyd gan y swyddogaethau rb_acquire_read/write().
- Mae gweithrediad y ffynhonnell ddata ma_pcm_rb wedi'i newid fel bod yr allbwn yn cael ei lenwi â distawrwydd os nad oes digon o ddata yn y byffer cylch i gyflawni'r cais. Mae hyn yn golygu na ddylai ma_data_source_read_pcm_frames() ar gyfer ma_pcm_rb ddychwelyd nifer o fframiau yn llai na'r hyn a ofynnoch mwyach, ac felly ni fydd byth yn dychwelyd MA_AT_END, sydd ddim yn gwneud synnwyr i glustogfa gylch gan nad oes ganddo unrhyw gysyniad o ddiwedd. Dylai'r newid hwn ei gwneud hi'n llawer haws defnyddio byffer cylch fel ffynhonnell ddata ar gyfer ma_sound.
- Mae newid bach wedi'i wneud i'r ffwythiant ma_calculate_buffer_size_in_milliseconds_from_frames() fel ei fod yn dychwelyd gwerth wedi'i dalgrynnu i'r cyfanrif agosaf.
- Os bydd cychwyniad y datgodiwr yn methu, mae'r cod gwall cyntaf y daethpwyd ar ei draws bellach yn cael ei ddychwelyd, yn hytrach na MA_NO_BACKEND waeth beth fo'r gwall, fel yn flaenorol.
- Ychwanegwyd swyddogaeth ma_device_id_equal() ar gyfer cymharu IDau dyfeisiau.
- Ychwanegwyd cefnogaeth ar gyfer MA_NO_RUNTIME_LINKING i gefn AWudio.
- Dogfennaeth wedi'i diweddaru.
- Mae'r gwallau a ganfuwyd wedi'u trwsio.
Ffynhonnell: linux.org.ru
