diff --git a/lib/ffi/openmpt/api.rb b/lib/ffi/openmpt/api.rb index 5b48c8e..7140ab0 100644 --- a/lib/ffi/openmpt/api.rb +++ b/lib/ffi/openmpt/api.rb @@ -139,6 +139,10 @@ module API attach_function :openmpt_module_set_render_param, [:pointer, :int, :int], :int + # Repeat module calls + attach_function :openmpt_module_get_repeat_count, [:pointer], :int + attach_function :openmpt_module_set_repeat_count, [:pointer, :int], :void + # Read module calls attach_function :openmpt_module_read_mono, [:pointer, :int, :int, :pointer], diff --git a/test/openmpt_api_test.rb b/test/openmpt_api_test.rb index d7a12d3..4fc9a92 100644 --- a/test/openmpt_api_test.rb +++ b/test/openmpt_api_test.rb @@ -237,6 +237,17 @@ def test_probe_file_header assert_equal load, OPENMPT_PROBE_FILE_HEADER_RESULT_SUCCESS end + def test_module_get_and_set_repeat_count + module_test(MOD_LAST_SUN) do |mod| + assert_equal openmpt_module_get_repeat_count(mod), 0 + + [-1, 2, 0].each do |count| + openmpt_module_set_repeat_count(mod, count) + assert_equal openmpt_module_get_repeat_count(mod), count + end + end + end + def test_module_get_and_set_render_params module_test(MOD_LAST_SUN) do |mod| value = ::FFI::MemoryPointer.new(:int, 1)