pub fn ext_get_pooled_midi_id(&self) -> ReaperFunctionResult<ExtGetPooledMidiIdResult> {
        let mut user_count: MaybeUninit<i32> = MaybeUninit::zeroed();
        let mut first_user: MaybeUninit<*mut raw::MediaItem_Take> = MaybeUninit::zeroed();
        let (id, supported) = with_string_buffer(40, |buffer, _| unsafe {
            self.0.Extended(
                raw::PCM_SOURCE_EXT_GETPOOLEDMIDIID as _,
                buffer as _,
                user_count.as_mut_ptr() as _,
                first_user.as_mut_ptr() as _,
            )
        });
        if supported == 0 {
            return Err(ReaperFunctionError::new(
                "PCM_SOURCE_EXT_GETPOOLEDMIDIID not supported by source",
            ));
        }
        Ok(ExtGetPooledMidiIdResult {
            id,
            // user_count: user_count.assume_init() as _,
            user_count: unsafe { user_count.assume_init() },
            first_user: {
                let ptr = unsafe { first_user.assume_init() };
                NonNull::new(ptr).unwrap()
            },
        })
    }
/// Unstable!!!
///
/// If this source represents pooled MIDI data, this will return information about it.
///
/// # Errors
///
/// Returns an error if not supported.
Unstable
If this source represents pooled MIDI data, this will return information about it.
Unstable If this source represents pooled MIDI data this will return information about it .
pub fn ext_get_pooled_midi_id(&self) -> ReaperFunctionResult<ExtGetPooledMidiIdResult> {
        let mut user_count: MaybeUninit<i32> = MaybeUninit::zeroed();
        let mut first_user: MaybeUninit<*mut raw::MediaItem_Take> = MaybeUninit::zeroed();
        let (id, supported) = with_string_buffer(40, |buffer, _| unsafe {
            self.0.Extended(
                raw::PCM_SOURCE_EXT_GETPOOLEDMIDIID as _,
                buffer as _,
                user_count.as_mut_ptr() as _,
                first_user.as_mut_ptr() as _,
            )
        });
        if supported == 0 {
            return Err(ReaperFunctionError::new(
                "PCM_SOURCE_EXT_GETPOOLEDMIDIID not supported by source",
            ));
        }
        Ok(ExtGetPooledMidiIdResult {
            id,
            // user_count: user_count.assume_init() as _,
            user_count: unsafe { user_count.assume_init() },
            first_user: {
                let ptr = unsafe { first_user.assume_init() };
                NonNull::new(ptr).unwrap()
            },
        })
    }
pub fn ext_get_pooled_midi_id ( & self ) -> ReaperFunctionResult < ExtGetPooledMidiIdResult > { let mut user_count : MaybeUninit < i32 > = MaybeUninit :: zeroed ( ) ; let mut first_user : MaybeUninit < * mut raw :: MediaItem_Take > = MaybeUninit :: zeroed ( ) ; let ( id , supported ) = with_string_buffer ( 40 , | buffer , _ | unsafe { self . 0 . Extended ( raw :: PCM_SOURCE_EXT_GETPOOLEDMIDIID as _ , buffer as _ , user_count . as_mut_ptr ( ) as _ , first_user . as_mut_ptr ( ) as _ , ) } ) ; if supported == 0 { return Err ( ReaperFunctionError :: new ( " " , ) ) ; } Ok ( ExtGetPooledMidiIdResult { id , // user_count: user_count.assume_init() as _, user_count : unsafe { user_count . assume_init ( ) } , first_user : { let ptr = unsafe { first_user . assume_init ( ) } ; NonNull :: new ( ptr ) . unwrap ( ) } , } ) }
Unstable!!!
Unstable!!!
&self
&self
errors
Returns an error if not supported.
Returns an error if not supported .