kwave  18.07.70
SaveBlocksPlugin.h
Go to the documentation of this file.
1 /***************************************************************************
2  SaveBlocksPlugin.h - Plugin for saving blocks between labels
3  -------------------
4  begin : Thu Mar 01 2007
5  copyright : (C) 2007 by Thomas Eschenbacher
6  email : Thomas.Eschenbacher@gmx.de
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef SAVE_BLOCKS_PLUGIN_H
19 #define SAVE_BLOCKS_PLUGIN_H
20 
21 #include "config.h"
22 
23 #include <QObject>
24 #include <QString>
25 #include <QUrl>
26 
27 #include "libkwave/Plugin.h"
28 
29 class QStringList;
30 
31 namespace Kwave
32 {
34  {
35  Q_OBJECT
36 
37  public:
38 
44  SaveBlocksPlugin(QObject *parent, const QVariantList &args);
45 
47  virtual ~SaveBlocksPlugin() Q_DECL_OVERRIDE;
48 
54  virtual QStringList *setup(QStringList &previous_params)
55  Q_DECL_OVERRIDE;
56 
61  virtual int start(QStringList &params) Q_DECL_OVERRIDE;
62 
64  typedef enum {
65  CONTINUE = 0,
68 
69  protected:
70 
72  int interpreteParameters(QStringList &params);
73 
80  void scanBlocksToSave(const QString &base, bool selection_only);
81 
93  QString createFileName(const QString &base, const QString &ext,
94  const QString &pattern,
95  unsigned int index, int count, int total);
96 
108  unsigned int firstIndex(const QString &path, const QString &base,
109  const QString &ext, const QString &pattern,
111  unsigned int count);
112 
122  QString findBase(const QString &filename, const QString &pattern);
123 
133  QString firstFileName(const QString &filename, const QString &pattern,
134  numbering_mode_t mode, bool selection_only);
135 
136  signals:
137 
139  void sigNewExample(const QString &example);
140 
141  private slots:
142 
151  void updateExample(
152  const QString &filename,
153  const QString &pattern,
155  bool selection_only);
156 
157  private:
158 
159  typedef struct {
162  QString m_title;
163  } BlockInfo;
164 
165  private:
166 
174  QString createDisplayList(const QStringList &list,
175  unsigned int max_entries) const;
176 
177  private:
178 
180  QUrl m_url;
181 
183  QString m_pattern;
184 
187 
190 
192  QList<BlockInfo> m_block_info;
193 
194  };
195 }
196 
197 #endif /* SAVE_BLOCKS_PLUGIN_H */
198 
199 //***************************************************************************
200 //***************************************************************************
QString createFileName(const QString &base, const QString &ext, const QString &pattern, unsigned int index, int count, int total)
numbering_mode_t m_numbering_mode
QList< BlockInfo > m_block_info
Definition: App.h:33
QString findBase(const QString &filename, const QString &pattern)
virtual QStringList * setup(QStringList &previous_params) Q_DECL_OVERRIDE
void updateExample(const QString &filename, const QString &pattern, Kwave::SaveBlocksPlugin::numbering_mode_t mode, bool selection_only)
quint64 sample_index_t
Definition: Sample.h:28
QString firstFileName(const QString &filename, const QString &pattern, numbering_mode_t mode, bool selection_only)
QString createDisplayList(const QStringList &list, unsigned int max_entries) const
virtual ~SaveBlocksPlugin() Q_DECL_OVERRIDE
unsigned int firstIndex(const QString &path, const QString &base, const QString &ext, const QString &pattern, Kwave::SaveBlocksPlugin::numbering_mode_t mode, unsigned int count)
int interpreteParameters(QStringList &params)
SaveBlocksPlugin(QObject *parent, const QVariantList &args)
void sigNewExample(const QString &example)
void scanBlocksToSave(const QString &base, bool selection_only)
virtual int start(QStringList &params) Q_DECL_OVERRIDE