ืžื™ื ื™ืึทื•ื“ื™ืึธ 0.11.22

ืžื™ื ื™ืึทื•ื“ื™ืึธ 0.11.22

ืื•ื™ืฃ 24 ืคืขื‘ืจื•ืืจ, ื ืึธืš ืžืขืจ ื•ื•ื™ ืึท ื™ืึธืจ ืคื•ืŸ ืึทื ื˜ื•ื•ื™ืงืœื•ื ื’, 0.11.22 ืคื•ืŸ ื“ื™ ืงืจื™ื™ึทื–-ืคึผืœืึทื˜ืคืึธืจืžืข ืึทื•ื“ื™ืึธ ื›ืึทืคึผืŸ ืื•ืŸ ืคึผืœื™ื™ื‘ืึทืง ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืื™ื– ื‘ืืคืจื™ื™ื˜. ืžื™ื ื™ืึทื•ื“ื™ืึธ, ื’ืขืฉืจื™ื‘ืŸ ืื™ืŸ C ืื•ืŸ ืคื•ื ืื ื“ืขืจื’ืขื˜ื™ื™ืœื˜ ืื™ืŸ ื“ื™ ืฆื™ื‘ื•ืจ ืคืขืœื“.
ืžื™ื ื™ืึทื•ื“ื™ืึธ ืœื•ื™ืคื˜ ืื•ื™ืฃ ืึทืœืข ื”ื•ื™ืคึผื˜ ื“ืขืกืงื˜ืึทืคึผ ืื•ืŸ ืจื™ืจืขื•ื•ื“ื™ืง ืคึผืœืึทื˜ืคืึธืจืžืก, ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ Windows, macOS, Linux, BSD, iOS, Android ืื•ืŸ Web (via Emscripten) ืึธืŸ ื“ืจื™ื˜-ืคึผืึทืจื˜ื™ื™ ื“ื™ืคึผืขื ื“ืึทื ืกื™ื–.
ื“ื™ ื‘ื™ื‘ืœื™ืึธื˜ืขืง ื”ืื˜ ืึท ืคึผืฉื•ื˜, ืคืœืขืงืกืึทื‘ืึทืœ ืื•ืŸ ืžืึทื“ื–ืฉืึทืœืขืจ ืึทืคึผื™ ืžื™ื˜ ื’ืขื‘ื•ื™ื˜-ืื™ืŸ ื“ื™ืงืึธื•ืขืจื– (WAV, MP3 ืื•ืŸ FLAC), ืึทื•ื•ืึทื ืกื™ืจื˜ืข ืžื™ืงืกื™ื ื’ ืื•ืŸ ื™ืคืขืงืฅ ืคึผืจืึทืกืขืกื™ื ื’ (ืึทืจื™ื™ึทื ื’ืขืจืขื›ื ื˜ 3D), ืžื™ื˜ืœ ืคืึทืจื•ื•ืึทืœื˜ื•ื ื’, ืคื™ืœื˜ืขืจืก, ื“ืึทื˜ืŸ ืงืึทื ื•ื•ืขืจื–ืฉืึทืŸ ืื•ืŸ ืคื™ืœ ืžืขืจ.

ื”ื•ื™ืคึผื˜ ืขื ื“ืขืจื•ื ื’ืขืŸ:

  • ืกื˜ืึทืจื˜ื™ื ื’ ืžื™ื˜ ื•ื•ืขืจืกื™ืข 0.12, ืžื™ื ื™ืึทื•ื“ื™ืึธ ื•ื•ืขื˜ ืžืึทืš ืฆื• ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืคึผืึธืจ ืคื•ืŸ .c/h ื˜ืขืงืขืก, ืื•ืŸ ืคืึทืจืœืึธื–ืŸ ื“ื™ ืื™ื™ืŸ ื›ืขื“ืขืจ ื˜ืขืงืข. ืฆื• ืฆื•ื’ืจื™ื™ื˜ืŸ ืคึฟืึทืจ ื“ืขื, ืึท miniaudio.c ื˜ืขืงืข ืื™ื– ืฆื•ื’ืขื’ืขื‘ืŸ ืฆื• ื“ื™ ืจื™ืคึผืึทื–ืึทื˜ืึธืจื™. ืื™ืŸ ื“ืขื ืžืึธืžืขื ื˜ ืขืก ืื™ื– ื ืึธืจ ืึท ืจืึทืคึผืขืจ ืึทืจื•ื miniaudio.h ืื•ืŸ MINIAUDIO_IMPLEMENTATION. ื’ืึธืจื ื™ืฉื˜ ื”ืื˜ ื’ืขื‘ื™ื˜ืŸ ืื™ืŸ miniaudio.h, ืึธื‘ืขืจ ื•ื•ืขืŸ ื•ื•ืขืจืกื™ืข 0.12 ืงื•ืžื˜ ืื•ื™ืก, ืื™ืจ ื•ื•ืขื˜ ื“ืึทืจืคึฟืŸ ืฆื• ื ื•ืฆืŸ miniaudio.c ืคึฟืึทืจ ื–ืึทืžืœื•ื ื’. ืขืก ืื™ื– ืจืขืงืึทืžืขื ื“ื™ื“ ืฆื• ืึธื ื”ื™ื™ื‘ืŸ ืžื™ื’ืจื™ื™ื˜ื™ื ื’ ืคื•ืŸ ื ื™ืฆืŸ MINIAUDIO_IMPLEMENTATION ืฆื• ื ื™ืฆืŸ miniaudio.c. ืื•ื™ื‘ ืื™ืจ ื•ื•ื™ืœื˜ ืคืึธืจื–ืขืฆืŸ ืฆื• ื‘ื•ื™ืขืŸ ื“ื™ื™ืŸ ืคึผืจื•ื™ืขืงื˜ ื•ื•ื™ ืึท ืื™ื™ืŸ ื–ืึทืžืœื•ื ื’ ืึทืคึผืึทืจืึทื˜, ืื™ืจ ืงืขื ืขืŸ # ืึทืจื™ื™ึทื ื ืขืžืขืŸ "miniaudio.c". ื“ืขืจ ืื•ืคึฟืŸ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื’ืขืฉื˜ื™ืฆื˜ ืื™ืŸ ื•ื•ืขืจืกื™ืข 0.12 ืื•ืŸ ื•ื•ื™ื™ึทื˜ืขืจ.
  • ื“ื™ ื˜ืขืงืขืก miniaudio_libvorbis.h ืื•ืŸ miniaudio_libopus.h ืื™ืŸ ื“ื™ ืขืงืกื˜ืจืึทื– ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ื–ืขื ืขืŸ ื“ื™ืคึผืจื™ืฉื™ื™ื™ื˜ื™ื“. ื–ื™ื™ ื–ืขื ืขืŸ ืื™ืฆื˜ ืฉืคึผืึทืœื˜ืŸ ืื™ืŸ ื‘ืึทื–ื•ื ื“ืขืจ .c ืื•ืŸ .ื” ื˜ืขืงืขืก ืื™ืŸ ื“ื™ ืขืงืกื˜ืจืึทื– / ื“ื™ืงืึธื•ื“ืขืจ ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ. ื“ื™ ืึทืœื˜ ื˜ืขืงืขืก ื ืึธืš ืขืงืกื™ืกื˜ื™ืจืŸ ืคึฟืึทืจ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™, ืึธื‘ืขืจ ืื™ืจ ื•ื•ืขื˜ ื“ืึทืจืคึฟืŸ ืฆื• ืึทืคึผื’ืจื™ื™ื“ ืฆื• ื“ื™ ื ื™ื™ึทืข ื•ื•ืขืจืกื™ืขืก. ื“ื™ ื™ื‘ืขืจื’ืึทื ื’ ื–ืึธืœ ื–ื™ื™ืŸ ื ื™ืฉื˜ื™ืง.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืึธืคึผืฆื™ืขืก MA_SOUND_FLAG_LOOPING ืื•ืŸ MA_RESOURCE_MANAGER_DATA_SOURCE_FLAG_LOOPING. ื–ื™ื™ ืงืขื ืขืŸ ื–ื™ื™ืŸ ื’ืขื ื•ืฆื˜ ืฆื• ื™ื ื™ืฉืึทืœื™ื™ื– ืกืึธื•ื ื“ืก ืื•ืŸ ืžื™ื˜ืœ-ื’ืขื˜ืจื™ื‘ืŸ ื“ืึทื˜ืŸ ืงื•ื•ืืœืŸ ืฆื• ืฉืœื™ื™ืฃ ื“ื•ืจืš ืคืขืœื™ืงื™ื™ึทื˜. ื“ืึธืก ืื™ื– ื“ืขืจ ืจืขืงืึทืžืขื ื“ื™ื“ ื•ื•ืขื’ ืฆื• ื’ืขื‘ืŸ ืœื•ืคึผื™ื ื’ ืคึฟืึทืจ ืคึฟืขื“ืขื. ื“ื™ isLooping ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ืึธืคึผืฆื™ืขืก ืื™ืŸ ma_sound_config ืื•ืŸ ma_resource_manager_data_source_config ื–ืขื ืขืŸ ื“ื™ืคึผืจื™ืฉื™ื™ื™ื˜ื™ื“. ืื•ื™ื‘ ืื™ืจ ื ื•ืฆืŸ ื–ื™ื™, ืื™ืจ ื–ืึธืœ ืึทืคึผื’ืจื™ื™ื“ ืฆื• ื“ื™ ื ื™ื™ึทืข ืึธืคึผืฆื™ืขืก, ืึทื ื“ืขืจืฉ ืื™ืจ ื•ื•ืขื˜ ื‘ืึทืงื•ืžืขืŸ ืงืึทืžืคึผื™ื™ืœืขืจ ืขืจืจืึธืจืก ื•ื•ืขืŸ ืึทืคึผื’ืจื™ื™ื“ื™ื ื’ ืฆื• ืึท ืฆื•ืงื•ื ืคึฟื˜ ื•ื•ืขืจืกื™ืข.
  • ma_rb_commit_read(), ma_rb_commit_write(), ma_pcm_rb_commit_read(), ืื•ืŸ ma_pcm_rb_commit_write() ื ื™ื˜ ืžืขืจ ืฆื•ืจื™ืงืงื•ืžืขืŸ MA_AT_END. ื“ื™ ืกื™ื‘ื” ืคึฟืึทืจ ื“ืขื ืขื ื“ืขืจื•ื ื’ ืื™ื– ืึทื– ืขืก ืื™ื– ืงื™ื™ืŸ ื‘ืึทื’ืจื™ืฃ ืคื•ืŸ "ืกื•ืฃ" ืื™ืŸ ืึท ืจื™ื ื’ ื‘ืึทืคืขืจ, ื•ื•ืึธืก ื’ืขืžืื›ื˜ ื“ื™ ืจืขื–ื•ืœื˜ืึทื˜ ืงืึธื“ ื•ืžืงืœืึธืจ. ืึทื“ื“ื™ื˜ื™ืึธื ืึทืœืœื™, ื“ื™ ืคืึทื ื’ืงืฉืึทื ื– ืงืขืŸ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืขืคึผืขืก ืึทื ื“ืขืจืฉ ื•ื•ื™ MA_SUCCESS ืืคื™ืœื• ืื•ื™ื‘ ื“ื™ ืึธืคึผืขืจืึทืฆื™ืข ืื™ื– ื’ืขืขื ื“ื™ืงื˜ ื”ืฆืœื—ื”, ื•ื•ืึธืก ืฆื•ื’ืขื’ืขื‘ืŸ ืฆื• ื“ื™ ืฆืขืžื™ืฉื•ื ื’. ื“ืขืจ ืจื™ื›ื˜ื™ืงืขืจ ื•ื•ืขื’ ืฆื• ืงืึธื ื˜ืจืึธืœื™ืจืŸ ืื•ื™ื‘ ืขืก ืื™ื– ื ืึธืš ืคึผืœืึทืฅ ืื™ืŸ ื“ื™ ืจื™ื ื’ ื‘ืึทืคืขืจ ืื™ื– ืฆื• ืงื•ืงืŸ ืื™ืŸ ื“ื™ ืจืึทื ื˜ืึธืžื‘ืึทื ืง ืื•ืžื’ืขืงืขืจื˜ ื“ื•ืจืš ื“ื™ rb_acquire_read/write() ืคืึทื ื’ืงืฉืึทื ื–.
  • ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื“ื™ ma_pcm_rb ื“ืึทื˜ืŸ ืžืงื•ืจ ืื™ื– ืคืืจืขื ื“ืขืจื˜ ืึทื–ื•ื™ ืึทื– ื“ืขืจ ืจืขื–ื•ืœื˜ืึทื˜ ืื™ื– ืึธื ื’ืขืคื™ืœื˜ ืžื™ื˜ ืฉื˜ื™ืœืงื™ื™ึทื˜ ืื•ื™ื‘ ืขืก ืื™ื– ื ื™ืฉื˜ ื’ืขื ื•ื’ ื“ืึทื˜ืŸ ืื™ืŸ ื“ื™ ืจื™ื ื’ ื‘ืึทืคืขืจ ืฆื• ืžืงื™ื™ื ื“ื™ ื‘ืงืฉื”. ื“ืึธืก ืžื™ื™ื ื˜ ืึทื– ma_data_source_read_pcm_frames() ืคึฟืึทืจ ma_pcm_rb ื–ืึธืœ ื ื™ื˜ ืžืขืจ ืฆื•ืจื™ืงืงื•ืžืขืŸ ืึท ื ื•ืžืขืจ ืคื•ืŸ ืจืึธืžืขืŸ ื•ื•ื™ื™ื ื™ืงืขืจ ื•ื•ื™ ืื™ืจ ื’ืขื‘ืขื˜ืŸ, ืื•ืŸ ื•ื•ืขื˜ ื“ืขืจื™ื‘ืขืจ ืงื™ื™ื ืžืึธืœ ืฆื•ืจื™ืงืงื•ืžืขืŸ MA_AT_END, ื•ื•ืึธืก ืžืื›ื˜ ืงื™ื™ืŸ ื–ื™ื ืขืŸ ืคึฟืึทืจ ืึท ืจื™ื ื’ ื‘ืึทืคืขืจ ื–ื™ื ื˜ ืขืก ื”ืื˜ ืงื™ื™ืŸ ื‘ืึทื’ืจื™ืฃ ืคื•ืŸ ืึท ืกื•ืฃ. ื“ืขืจ ืขื ื“ืขืจื•ื ื’ ื–ืึธืœ ืžืึทื›ืŸ ืขืก ืคื™ืœ ื’ืจื™ื ื’ืขืจ ืฆื• ื ื•ืฆืŸ ืึท ืจื™ื ื’ ื‘ืึทืคืขืจ ื•ื•ื™ ืึท ื“ืึทื˜ืŸ ืžืงื•ืจ ืคึฟืึทืจ ma_sound.
  • ื ืงืœื™ื™ืŸ ืขื ื“ืขืจื•ื ื’ ืื™ื– ื’ืขืžืื›ื˜ ืฆื• ื“ื™ ma_calculate_buffer_size_in_milliseconds_from_frames() ืคึฟื•ื ืงืฆื™ืข ืึทื–ื•ื™ ืึทื– ืขืก ืงืขืจื˜ ืึท ื•ื•ืขืจื˜ ืจืึทื•ื ื“ื™ื“ ืฆื• ื“ื™ ื ื™ืจืึทืกื˜ ื’ืึทื ืฅ ื ื•ืžืขืจ.
  • ืื•ื™ื‘ ื“ื™ ื“ืขืงืึธื“ืขืจ ื™ื ื™ื˜ื™ืึทืœื™ื–ื™ื™ืฉืึทืŸ ืคื™ื™ืœื–, ื“ืขืจ ืขืจืฉื˜ืขืจ ื˜ืขื•ืช ืงืึธื“ ื’ืขืคึผืœืึธื ื˜ืขืจื˜ ืื™ื– ืื™ืฆื˜ ืื•ืžื’ืขืงืขืจื˜, ืืœื ื•ื•ื™ MA_NO_BACKEND ืจืึทื’ืึทืจื“ืœืึทืก ืคื•ืŸ ื“ื™ ื˜ืขื•ืช, ื•ื•ื™ ืคืจื™ืขืจ ื“ืขืจ ืคืึทืœ.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ma_device_id_equal() ืคึฟื•ื ืงืฆื™ืข ืคึฟืึทืจ ืงืึทืžืคึผืขืจื™ื ื’ ืžื™ื˜ืœ ื™ื“ืก.
  • ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ MA_NO_RUNTIME_LINKING ืฆื• ืึท ืึทื•ื“ื™ืึธ ื‘ืึทืงืขื ื“.
  • ื“ืึทืงื™ื•ืžืขื ื˜ื™ื™ืฉืึทืŸ ื“ืขืจื”ื™ื™ึทื ื˜ื™ืงื˜.
  • ื“ื™ ื“ื™ื˜ืขืงื˜ืึทื“ ืขืจืจืึธืจืก ื–ืขื ืขืŸ ืคืึทืจืคืขืกื˜ื™ืงื˜.

ืžืงื•ืจ: linux.org.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’