pysynth/output/base.py
def abs_stop(self):

        """
        Absolute stop - Completely stops this control instance!

        When called, we remove ourselves from the OutputHandler,
        reset our state, and stop the synth chain.

        This function ignores time events and finish status!
        Thats great for immediately stopping this synth chain,
        but not that great if you are expecting modules to finish up,
        and it might interfear with the sequencer, 
        and it's ability to properly manage the notes attached to this object.

        This function is called by us automatically,
        when the synth chain is finished,
        and we don't have any more time events.
        So worry not! You do not have to call this function manually,
        as we will automatically do so.

        This removes us from the OutputHandler,
        meaning that this chain will NOT be in an event loop.
        This means that time events and the modules will NOT be sampled
        or worked with until our 'start()' method is called by an external entity.

        Point is - It is probably in your best intrest to NOT call this function!
        We should be able to automatically handle the process of stopping ourselves.
        It is better to politely stop this module chain by calling 'stop()',
        so we can ensure that the modules are completely ready to stop. 
        """

        if self.info.running:

            # Remove ourselves from the OutputHandler:

            print("Removing ourselves from output hand")

            self.OUT[0]._remove_synth(self)

            # Reset our values:

            self.item_written = 0
            self.time_events.clear()

            # Stop the chain:

            self.input.stop_modules()

            # Update our status:

            self.started = False
            self.finishing = False

        Absolute stop - Completely stops this control instance!

        When called, we remove ourselves from the OutputHandler,
        reset our state, and stop the synth chain.

        This function ignores time events and finish status!
        Thats great for immediately stopping this synth chain,
        but not that great if you are expecting modules to finish up,
        and it might interfear with the sequencer, 
        and it's ability to properly manage the notes attached to this object.

        This function is called by us automatically,
        when the synth chain is finished,
        and we don't have any more time events.
        So worry not! You do not have to call this function manually,
        as we will automatically do so.

        This removes us from the OutputHandler,
        meaning that this chain will NOT be in an event loop.
        This means that time events and the modules will NOT be sampled
        or worked with until our 'start()' method is called by an external entity.

        Point is - It is probably in your best intrest to NOT call this function!
        We should be able to automatically handle the process of stopping ourselves.
        It is better to politely stop this module chain by calling 'stop()',
        so we can ensure that the modules are completely ready to stop. 
        
Absolute stop - Completely stops this control instance.
When called, we remove ourselves from the OutputHandler,
reset our state, and stop the synth chain.

This function ignores time events and finish status.
Thats great for immediately stopping this synth chain,
but not that great if you are expecting modules to finish up,
and it might interfear with the sequencer,
and it's ability to properly manage the notes attached to this object.

This function is called by us automatically,
when the synth chain is finished,
and we don't have any more time events.
So worry not. You do not have to call this function manually,
as we will automatically do so.

This removes us from the OutputHandler,
meaning that this chain will NOT be in an event loop.
This means that time events and the modules will NOT be sampled
or worked with until our 'start()' method is called by an external entity.

Point is - It is probably in your best intrest to NOT call this function.
We should be able to automatically handle the process of stopping ourselves.
It is better to politely stop this module chain by calling 'stop()',
so we can ensure that the modules are completely ready to stop.
Absolute stop - Completely stops this control instance . When called we remove ourselves from the OutputHandler reset our state and stop the synth chain . This function ignores time events and finish status . Thats great for immediately stopping this synth chain but not that great if you are expecting modules to finish up and it might interfear with the sequencer and it ' s ability to properly manage the notes attached to this object . This function is called by us automatically when the synth chain is finished and we don ' t have any more time events . So worry not . You do not have to call this function manually as we will automatically do so . This removes us from the OutputHandler meaning that this chain will NOT be in an event loop . This means that time events and the modules will NOT be sampled or worked with until our ' start () ' method is called by an external entity . Point is - It is probably in your best intrest to NOT call this function . We should be able to automatically handle the process of stopping ourselves . It is better to politely stop this module chain by calling ' stop () ' so we can ensure that the modules are completely ready to stop .
def abs_stop(self):
        if self.info.running:
            print("Removing ourselves from output hand")
            self.OUT[0]._remove_synth(self)
            self.item_written = 0
            self.time_events.clear()
            self.input.stop_modules()
            self.started = False
            self.finishing = False
def abs_stop ( self ) : if self . info . running : print ( "Removing ourselves from output hand" ) self . OUT [ 0 ] . _remove_synth ( self ) self . item_written = 0 self . time_events . clear ( ) self . input . stop_modules ( ) self . started = False self . finishing = False
Absolute stop - Completely stops this control instance!
Absolute stop - Completely stops this control instance!
"""
        Absolute stop - Completely stops this control instance!

        When called, we remove ourselves from the OutputHandler,
        reset our state, and stop the synth chain.

        This function ignores time events and finish status!
        Thats great for immediately stopping this synth chain,
        but not that great if you are expecting modules to finish up,
        and it might interfear with the sequencer, 
        and it's ability to properly manage the notes attached to this object.

        This function is called by us automatically,
        when the synth chain is finished,
        and we don't have any more time events.
        So worry not! You do not have to call this function manually,
        as we will automatically do so.

        This removes us from the OutputHandler,
        meaning that this chain will NOT be in an event loop.
        This means that time events and the modules will NOT be sampled
        or worked with until our 'start()' method is called by an external entity.

        Point is - It is probably in your best intrest to NOT call this function!
        We should be able to automatically handle the process of stopping ourselves.
        It is better to politely stop this module chain by calling 'stop()',
        so we can ensure that the modules are completely ready to stop. 
        """ # Remove ourselves from the OutputHandler: # Reset our values: # Stop the chain: # Update our status:
self