Ingen  0.5.1
Public Types | Public Member Functions | List of all members
Ingen::Server::Events::Mark Class Reference

Delineate the start or end of a bundle of events. More...

#include <Mark.hpp>

+ Inheritance diagram for Ingen::Server::Events::Mark:
+ Collaboration diagram for Ingen::Server::Events::Mark:

Public Types

enum  Type {
  BUNDLE_START,
  BUNDLE_END
}
 
- Public Types inherited from Ingen::Server::Event
enum  Mode {
  NORMAL,
  UNDO,
  REDO
}
 Event mode to distinguish normal events from undo events. More...
 
enum  Execution {
  NORMAL,
  BLOCK,
  UNBLOCK
}
 Execution mode for events that block and unblock preprocessing. More...
 

Public Member Functions

 Mark (Engine &engine, SPtr< Interface > client, int32_t id, SampleCount timestamp, Type type)
 
bool pre_process (PreProcessContext &ctx)
 Pre-process event before execution (non-realtime). More...
 
void execute (RunContext &context)
 Execute this event in the audio thread (realtime). More...
 
void post_process ()
 Post-process event after execution (non-realtime). More...
 
Execution get_execution () const
 Return the blocking behaviour of this event (after pre_process())
 
- Public Member Functions inherited from Ingen::Server::Event
virtual void undo (Interface &target)
 Write the inverse of this event to sink. More...
 
bool is_prepared () const
 Return true iff this event has been pre-processed. More...
 
SampleCount time () const
 Return the time stamp of this event. More...
 
void set_time (SampleCount time)
 Set the time stamp of this event. More...
 
Eventnext () const
 Get the next event to be processed after this one. More...
 
void next (Event *ev)
 Set the next event to be processed after this one. More...
 
Status status () const
 Return the status (success or error code) of this event. More...
 
Mode get_mode () const
 Return undo mode of this event. More...
 
void set_mode (Mode mode)
 Set the undo mode of this event. More...
 
Engineengine ()
 

Additional Inherited Members

- Protected Member Functions inherited from Ingen::Server::Event
 Event (Engine &engine, SPtr< Interface > client, int32_t id, FrameTime time)
 
 Event (Engine &engine)
 Constructor for internal events only.
 
bool pre_process_done (Status st)
 
bool pre_process_done (Status st, const Raul::URI &subject)
 
bool pre_process_done (Status st, const Raul::Path &subject)
 
Status respond ()
 Respond to the originating client. More...
 
- Protected Attributes inherited from Ingen::Server::Event
Engine_engine
 
std::atomic< Event * > _next
 
SPtr< Interface_request_client
 
int32_t _request_id
 
FrameTime _time
 
Status _status
 
std::string _err_subject
 
Mode _mode
 

Detailed Description

Delineate the start or end of a bundle of events.

This is used to mark the ends of an undo transaction, so a single undo can undo the effects of many events (such as a paste or a graph load).

Member Function Documentation

§ pre_process()

bool Ingen::Server::Events::Mark::pre_process ( PreProcessContext ctx)
virtual

Pre-process event before execution (non-realtime).

Implements Ingen::Server::Event.

References Ingen::Server::PreProcessContext::dirty_graphs(), and Ingen::Server::PreProcessContext::set_in_bundle().

§ execute()

void Ingen::Server::Events::Mark::execute ( RunContext context)
virtual

Execute this event in the audio thread (realtime).

Implements Ingen::Server::Event.

§ post_process()

void Ingen::Server::Events::Mark::post_process ( )
virtual

Post-process event after execution (non-realtime).

Implements Ingen::Server::Event.


The documentation for this class was generated from the following files: