pub fn root_source(&self) -> PcmSource {
        let mut source_ptr = self.0.as_ptr();
        loop {
            let source = unsafe { source_ptr.as_ref() };
            if let Some(parent) = source.get_source() {
                source_ptr = parent;
            } else {
                return source_ptr;
            }
        }
    }
// We return a medium-level source because at this point we don't know if the root is a
// REAPER-managed source or not.
We return a medium-level source because at this point we don't know if the root is a
REAPER-managed source or not.
We return a medium - level source because at this point we don ' t know if the root is a REAPER - managed source or not .
pub fn root_source(&self) -> PcmSource {
        let mut source_ptr = self.0.as_ptr();
        loop {
            let source = unsafe { source_ptr.as_ref() };
            if let Some(parent) = source.get_source() {
                source_ptr = parent;
            } else {
                return source_ptr;
            }
        }
    }
pub fn root_source ( & self ) -> PcmSource { let mut source_ptr = self . 0 . as_ptr ( ) ; loop { let source = unsafe { source_ptr . as_ref ( ) } ; if let Some ( parent ) = source . get_source ( ) { source_ptr = parent ; } else { return source_ptr ; } } }
We return a medium-level source because at this point we don't know if the root is a
REAPER-managed source or not.
We return a medium - level source because at this point we don ' t know if the root is a REAPER - managed source or not .
&self
&self