To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / main / SmallSession.h

History | View | Annotate | Download (1.23 KB)

1
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*-  vi:set ts=8 sts=4 sw=4: */
2

    
3
/*
4
    Sonic Lineup
5
    Comparative visualisation and alignment of related audio recordings
6
    Centre for Digital Music, Queen Mary, University of London.
7
    
8
    This program is free software; you can redistribute it and/or
9
    modify it under the terms of the GNU General Public License as
10
    published by the Free Software Foundation; either version 2 of the
11
    License, or (at your option) any later version.  See the file
12
    COPYING included with this distribution for more information.
13
*/
14

    
15
#ifndef VECT_SMALL_SESSION_H
16
#define VECT_SMALL_SESSION_H
17

    
18
#include <vector>
19
#include <QString>
20

    
21
/**
22
 * Just a container for the origin URIs of the files in a session,
23
 * with load/save from/to XML.
24
 */
25
struct SmallSession
26
{
27
    QString mainFile;
28
    std::vector<QString> additionalFiles;
29

    
30
    /**
31
     * Save the given session to the given filename.
32
     * Throw std::runtime_error if the save fails.
33
     */
34
    static void save(const SmallSession &session, QString toSmallSessionFile);
35

    
36
    /**
37
     * Load a session from the given session file.
38
     * Throw std::runtime_error if the load fails.
39
     */
40
    static SmallSession load(QString fromSmallSessionFile);
41
};
42

    
43
#endif
44