Isomet Modular Synthesiser (iMS) API  v1.4.2
iMS API
List of all members
iMS::ImageGroup Class Reference

An ImageGroup collects together multiple associated images and a single ImageSequence for controlling Image playback order. More...

#include <include/Image.h>

Inheritance diagram for iMS::ImageGroup:
Inheritance graph
[legend]
Collaboration diagram for iMS::ImageGroup:
Collaboration graph
[legend]

Public Member Functions

Constructors & Destructor
 ImageGroup (const std::string &name="", const std::time_t &create_time=std::time(nullptr), const std::time_t &modified_time=std::time(nullptr))
 Create a default empty ImageGroup. More...
 
 ImageGroup (const ImageGroup &)
 Copy Constructor.
 
ImageGroupoperator= (const ImageGroup &)
 Assignment Constructor.
 
 ~ImageGroup ()
 Destructor.
 
ImageGroup collection modifiers
void AddImage (const Image &img)
 Adds a new Image to the back of the Image Queue. More...
 
iterator InsertImage (iterator it, const Image &img)
 Inserts a new Image before the specified element in the Image Queue. More...
 
iterator RemoveImage (iterator it)
 Removes an Image at the specified element in the Image Queue. More...
 
iterator RemoveImage (iterator first, iterator last)
 Removes a range of Image's from the specified range of elements in the Image Queue. More...
 
void Clear ()
 Clear ImageGroup. More...
 
int Size () const
 Returns the number of Images in the ImageGroup. More...
 
Timestamping
const std::time_t & CreatedTime () const
 Returns Time at which the Container was created. More...
 
std::string CreatedTimeFormat () const
 Returns Human-readable string for the time at which the ImageGroup was created. More...
 
User MetaData
std::string & Author ()
 Author Set Accessor. More...
 
const std::string & Author () const
 Author Get Accessor. More...
 
std::string & Company ()
 Company Set Accessor. More...
 
const std::string & Company () const
 Company Get Accessor. More...
 
std::string & Revision ()
 Revision Set Accessor. More...
 
const std::string & Revision () const
 Revision Get Accessor. More...
 
std::string & Description ()
 Description Set Accessor. More...
 
const std::string & Description () const
 Description Get Accessor. More...
 
ImageGroup Sequence
ImageSequenceSequence ()
 ImageSequence Set Accessor. More...
 
const ImageSequenceSequence () const
 ImageSequence Get Accesor. More...
 
- Public Member Functions inherited from iMS::DequeBase< Image >
void clear ()
 clears the contents More...
 
iterator insert (iterator pos, const Image &value)
 Inserts a single new element into the DequeBase. More...
 
iterator insert (const_iterator pos, size_t count, const Image &value)
 Inserts multiple copies of an element into the DequeBase.
 
iterator insert (iterator pos, const_iterator first, const_iterator last)
 Inserts a range of elements into the DequeBase.
 
void push_back (const Image &value)
 Appends the given element value to the end of the container.
 
void pop_back ()
 Removes the last element of the container.
 
void push_front (const Image &value)
 Prepends the given element value to the beginning of the container.
 
void pop_front ()
 Removes the first element of the container.
 
iterator erase (iterator pos)
 Removes the element at pos.
 
iterator erase (iterator first, iterator last)
 Removes the elements in the range [first; last].
 
std::size_t size () const
 Returns the number of elements in the container.
 
 DequeBase (const std::string &Name="[no name]", const std::time_t &modified_time=std::time(nullptr))
 Create a default empty List with optional name.
 
 DequeBase (size_t, const Image &, const std::string &Name="[no name]", const std::time_t &modified_time=std::time(nullptr))
 Fill Constructor.
 
 DequeBase (const_iterator first, const_iterator last, const std::string &Name="[no name]", const std::time_t &modified_time=std::time(nullptr))
 Range Constructor.
 
 DequeBase (const DequeBase &)
 Copy Constructor.
 
 ~DequeBase ()
 Destructor.
 
DequeBaseoperator= (const DequeBase &)
 Assignment Constructor.
 
Imageoperator[] (int idx)
 Random Write Access to an element in the Deque. More...
 
const Imageoperator[] (int idx) const
 Random Access to an element in the Deque. More...
 
bool operator== (DequeBase const &rhs) const
 Equality Operator checks Deque object UUID's for equivalence. More...
 
const std::array< std::uint8_t, 16 > GetUUID () const
 Returns a vector representing the Unique Identifier assigned to the DequeBase object. More...
 
const std::time_t & ModifiedTime () const
 Returns Time at which the Container was last modified. More...
 
std::string ModifiedTimeFormat () const
 Returns Human-readable string for the time at which the Container was last modified. More...
 
const std::string & Name () const
 A string stored with the Container to aid human users in identifying its purpose. More...
 
std::string & Name ()
 
iterator begin ()
 Returns an iterator pointing to the first element in the DequeBase container. More...
 
const_iterator begin () const
 Returns a const_iterator pointing to the first element in the DequeBase container. More...
 
iterator end ()
 Returns an iterator referring to the past-the-end element in the DequeBase container. More...
 
const_iterator end () const
 Returns a const_iterator referring to the past-the-end element in the DequeBase container. More...
 
const_iterator cbegin () const
 Returns a const_iterator pointing to the first element in the DequeBase container. More...
 
const_iterator cend () const
 Returns a const_iterator referring to the past-the-end element in the DequeBase container. More...
 

Additional Inherited Members

- Public Types inherited from iMS::DequeBase< Image >
typedef std::deque< Image >::iterator iterator
 Iterator defined for user manipulation of DequeBase.
 
typedef std::deque< Image >::const_iterator const_iterator
 Const Iterator defined for user readback of DequeBase.
 

Detailed Description

An ImageGroup collects together multiple associated images and a single ImageSequence for controlling Image playback order.

Individual Image's may be played back on an iMS System freely but to specify more complex behaviour, typically an ImageGroup is used. An ImageGroup can contain one or many images and always has exactly one sequence which may be used to define an order in which those Images are played back on the iMS Controller.

Additionally, user information may be supplied in the form of metadata (name, author, company, revision, description) to assist in identifying the purpose of an ImageGroup.

Date
2016-11-09
Since
1.3

Constructor & Destructor Documentation

iMS::ImageGroup::ImageGroup ( const std::string &  name = "",
const std::time_t &  create_time = std::time(nullptr),
const std::time_t &  modified_time = std::time(nullptr) 
)

Create a default empty ImageGroup.

The ImageGroup is created with zero Images in its list and a default ImageSequence with zero entries. Call as ImageGroup() or ImageGroup("My \c Group"). do not use the create_time or modified_time parameters.

Parameters
nameOptionally, the caller may specify a Name for the ImageGroup. If not specified, it defaults to an empty string.
create_timeSpecify the creation time for the ImageGroup. This is intended for use only when loading ImageGroup's from an ImageProject disk file and should not be used.
modified_timeSpecify the last modified time for the ImageGroup. This is intended for use only when loading ImageGroup's from an ImageProject disk file and should not be used.

Member Function Documentation

void iMS::ImageGroup::AddImage ( const Image img)

Adds a new Image to the back of the Image Queue.

Parameters
imga const reference to the Image to be added
std::string& iMS::ImageGroup::Author ( )

Author Set Accessor.

Sets the Author's name for the ImageGroup

Since
1.3
const std::string& iMS::ImageGroup::Author ( ) const

Author Get Accessor.

Gets the Author's name for the ImageGroup

Since
1.3
void iMS::ImageGroup::Clear ( )

Clear ImageGroup.

Remove all Images from the ImageGroup and all entries from the ImageSequence

std::string& iMS::ImageGroup::Company ( )

Company Set Accessor.

Sets the Company name for the ImageGroup

const std::string& iMS::ImageGroup::Company ( ) const

Company Get Accessor.

Gets the Company name for the ImageGroup

const std::time_t& iMS::ImageGroup::CreatedTime ( ) const

Returns Time at which the Container was created.

At the time the ImageGroup is first created, the system time is recorded. If a ImageGroup is copied or assigned to another object, the new object inherits the Creation time of the parent so the timestamp always refers to the time at which an ImageGroup was initially created.

Returns
a reference to a std::time_t representing the time at which the ImageGroup was created
Since
1.3
std::string iMS::ImageGroup::CreatedTimeFormat ( ) const

Returns Human-readable string for the time at which the ImageGroup was created.

Since
1.3
std::string& iMS::ImageGroup::Description ( )

Description Set Accessor.

Sets a Description field for the ImageGroup

const std::string& iMS::ImageGroup::Description ( ) const

Description Get Accessor.

Gets the Description field for the ImageGroup

iterator iMS::ImageGroup::InsertImage ( iterator  it,
const Image img 
)

Inserts a new Image before the specified element in the Image Queue.

Parameters
itThe queue element to insert the image before
imga const reference to the Image to be inserted
Returns
an iterator to the newly inserted Image
iterator iMS::ImageGroup::RemoveImage ( iterator  it)

Removes an Image at the specified element in the Image Queue.

Parameters
itthe queue element to remove
Returns
an iterator to the element following the element removed from the Image Queue
iterator iMS::ImageGroup::RemoveImage ( iterator  first,
iterator  last 
)

Removes a range of Image's from the specified range of elements in the Image Queue.

Parameters
firstthe initial queue element in the range to remove
lastthe final queue element in the range to remove
Returns
an iterator to the element following the last element removed from the Image Queue
std::string& iMS::ImageGroup::Revision ( )

Revision Set Accessor.

Sets the Revision number for the ImageGroup

Please note that this field is not handled internally by the ImageGroup class. It is left to the user application to modify, update or increment the Revision number as well as specifying a numbering scheme as best fits the application.

const std::string& iMS::ImageGroup::Revision ( ) const

Revision Get Accessor.

Gets the Revision number for the ImageGroup

ImageSequence& iMS::ImageGroup::Sequence ( )

ImageSequence Set Accessor.

Returns a reference to the ImageGroup sequence to allow user application code to modify the Sequence Table.

const ImageSequence& iMS::ImageGroup::Sequence ( ) const

ImageSequence Get Accesor.

Returns a const reference to the ImageGroup sequence to allow user application code to view the Sequence Table.

int iMS::ImageGroup::Size ( ) const

Returns the number of Images in the ImageGroup.

Returns the number of Images in the ImageGroup


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