hydrogen 1.2.6
Files Class Reference

Files is in charge of writing and reading Patterns, Drumkits, Songs to the filesystem. More...

#include <Files.h>

Inheritance diagram for Files:
Object< Files > Base

Public Types

enum  SaveMode { SAVE_NEW , SAVE_OVERWRITE , SAVE_PATH , SAVE_TMP }
 

Static Public Member Functions

static QString savePatternNew (const QString &fileName, Pattern *pattern, std::shared_ptr< Song > song, const QString &drumkitName)
 save the given pattern to <user_data_path>/pattern/<drumkitName>/<fileName>.h2pattern will NOT overwrite an existing file
 
static QString savePatternOver (const QString &fileName, Pattern *pattern, std::shared_ptr< Song > song, const QString &drumkitName)
 save the given pattern to <user_data_path>/pattern/<drumkitName>/<fileName>.h2pattern will overwrite an existing file
 
static QString savePatternPath (const QString &filePath, Pattern *pattern, std::shared_ptr< Song > song, const QString &drumkitName)
 save the given pattern to filePath will overwrite an existing file
 
static QString savePatternTmp (const QString &fileName, Pattern *pattern, std::shared_ptr< Song > song, const QString &drumkitName)
 save the given pattern under <Tmp_directory> with a unique filename built from <fileName> will overwrite an existing file
 
static QString savePlaylistPath (const QString &filePath, Playlist *playlist, bool relativePaths)
 save the given playlist to filePath will overwrite an existing file
 
- Static Public Member Functions inherited from Base
static const char * _class_name ()
 return the class name
 
static QString base_clock (const QString &sMsg)
 Measures the current time and stores it in __last_clock.
 
static QString base_clock_in (const QString &sMsg)
 
static int bootstrap (Logger *logger, bool count=false)
 must be called before any Object instantiation !
 
static bool count_active ()
 
static int getAliveObjectCount ()
 
static object_map_t getObjectMap ()
 
static Loggerlogger ()
 return the logger instance
 
static int objects_count ()
 
static void printObjectMapDiff (object_map_t map)
 Creates the difference between a snapshot of the object map and its current state and prints it to std::cout.
 
static void set_count (bool flag)
 enable/disable class instances counting
 
static void write_objects_map_to (std::ostream &out, object_map_t *map=nullptr)
 output the full objects map to a given ostream
 
static void write_objects_map_to_cerr ()
 output objects map to stderr
 

Static Private Member Functions

static QString savePattern (SaveMode mode, const QString &fileName, const Pattern *pattern, std::shared_ptr< Song > song, const QString &drumkitName)
 
static QString savePlaylist (SaveMode mode, const QString &fileName, Playlist *playlist, bool relativePaths)
 

Additional Inherited Members

- Public Member Functions inherited from Object< Files >
 Object ()
 
 Object (const Object< Files > &other)
 
- Public Member Functions inherited from Base
 Base ()
 
 Base (const Base &other)
 
virtual const char * class_name () const
 
void logBacktrace () const
 Print the current stack at point into the debug log.
 
void Print (bool bShort=true) const
 Prints content of toQString() via DEBUGLOG.
 
virtual QString toQString (const QString &sPrefix="", bool bShort=true) const
 Formatted string version for debugging purposes.
 
- Static Public Attributes inherited from Base
static QString sPrintIndention = " "
 String used to format the debugging string output of some core classes.
 
- Protected Member Functions inherited from Object< Files >
 ~Object ()
 
- Protected Member Functions inherited from Base
 ~Base ()
 
- Static Protected Member Functions inherited from Base
static void registerClass (const char *name, const atomic_obj_cpt_t *counters)
 
- Static Protected Attributes inherited from Base
static bool __count = false
 should we count class instances
 
static timeval __last_clock = { 0, 0 }
 
static Logger__logger = nullptr
 
static bool bLogColors = true
 

Detailed Description

Files is in charge of writing and reading Patterns, Drumkits, Songs to the filesystem.

Definition at line 40 of file Files.h.

Member Enumeration Documentation

◆ SaveMode

enum SaveMode
Enumerator
SAVE_NEW 
SAVE_OVERWRITE 
SAVE_PATH 
SAVE_TMP 

Definition at line 44 of file Files.h.

Member Function Documentation

◆ savePattern()

QString savePattern ( SaveMode mode,
const QString & fileName,
const Pattern * pattern,
std::shared_ptr< Song > song,
const QString & drumkitName )
staticprivate

Definition at line 34 of file Files.cpp.

◆ savePatternNew()

static QString savePatternNew ( const QString & fileName,
Pattern * pattern,
std::shared_ptr< Song > song,
const QString & drumkitName )
inlinestatic

save the given pattern to <user_data_path>/pattern/<drumkitName>/<fileName>.h2pattern will NOT overwrite an existing file

Parameters
fileNameto build filePath from
patternthe one to be saved
songto access license, author info
drumkitNameto build filePath from and to access name info
Returns
filePath on success, NULL on failure

Definition at line 60 of file Files.h.

◆ savePatternOver()

static QString savePatternOver ( const QString & fileName,
Pattern * pattern,
std::shared_ptr< Song > song,
const QString & drumkitName )
inlinestatic

save the given pattern to <user_data_path>/pattern/<drumkitName>/<fileName>.h2pattern will overwrite an existing file

Parameters
fileNameto build filePath from
patternthe one to be saved
songto access license, author info
drumkitNameto build filePath from and to access name info
Returns
filePath on success, NULL on failure

Definition at line 74 of file Files.h.

◆ savePatternPath()

static QString savePatternPath ( const QString & filePath,
Pattern * pattern,
std::shared_ptr< Song > song,
const QString & drumkitName )
inlinestatic

save the given pattern to filePath will overwrite an existing file

Parameters
filePathto write the pattern to
patternthe one to be saved
songto access license, author info
drumkitNameto access name info
Returns
filePath on success, NULL on failure

Definition at line 88 of file Files.h.

◆ savePatternTmp()

static QString savePatternTmp ( const QString & fileName,
Pattern * pattern,
std::shared_ptr< Song > song,
const QString & drumkitName )
inlinestatic

save the given pattern under <Tmp_directory> with a unique filename built from <fileName> will overwrite an existing file

Parameters
fileNameto build filePath from
patternthe one to be saved
songto access license, author info
drumkitNameto access name info
Returns
filePath on success, NULL on failure

Definition at line 102 of file Files.h.

◆ savePlaylist()

QString savePlaylist ( SaveMode mode,
const QString & fileName,
Playlist * playlist,
bool relativePaths )
staticprivate

Definition at line 71 of file Files.cpp.

◆ savePlaylistPath()

static QString savePlaylistPath ( const QString & filePath,
Playlist * playlist,
bool relativePaths )
inlinestatic

save the given playlist to filePath will overwrite an existing file

Parameters
filePathto write the playlist to
playlistthe one to be saved
relativePathsshould the path to the songs be relative to the playlist instead of absolute
Returns
filePath on success, NULL on failure

Definition at line 115 of file Files.h.