Loading...
Searching...
No Matches
PdLibrary.hpp
1#pragma once
2#include <Process/Drop/ProcessDropHandler.hpp>
3
4#include <Library/LibraryInterface.hpp>
5#include <Library/LibrarySettings.hpp>
6#include <Library/ProcessesItemModel.hpp>
7#include <Pd/PdProcess.hpp>
8
9#include <QFileInfo>
10#include <QTimer>
11
12namespace Pd
13{
14class LibraryHandler final
15 : public QObject
17{
18 SCORE_CONCRETE("01ffc109-9cb3-4c5a-9cdd-d9fd38fe5e17")
19
20 QSet<QString> acceptedFiles() const noexcept override { return {"pd"}; }
21
22 Library::CategoryPaths categories;
23
25 override
26 {
27 categories.init(
29 }
30
31 std::optional<Library::ProcessEntry> scanPath(std::string_view path) override
32 {
33 score::PathInfo file{path};
35 pdata.prettyName
36 = QString::fromUtf8(file.completeBaseName.data(), file.completeBaseName.size());
38 pdata.customData
39 = QString::fromUtf8(file.absoluteFilePath.data(), file.absoluteFilePath.size());
40
41 return Library::ProcessEntry{pdata.key, categories(file), {std::move(pdata), {}}};
42 }
43};
44
46{
47 SCORE_CONCRETE("3c4379ce-a5b9-456f-b1d6-09f3f02cc67e")
48
49 QSet<QString> fileExtensions() const noexcept override { return {"pd"}; }
50
51 void dropPath(
52 std::vector<ProcessDrop>& vec, const score::FilePath& filename,
53 const score::DocumentContext& ctx) const noexcept override
54 {
57 p.creation.prettyName = filename.basename;
58 p.creation.customData = filename.relative;
59
60 vec.push_back(std::move(p));
61 }
62};
63
64}
Definition ProcessEntry.hpp:64
void init(std::string processName, const score::ApplicationContext &ctx)
GUI thread (setup). processName is the process's pretty name.
Definition LibraryInterface.cpp:32
Definition LibraryInterface.hpp:26
Definition ProcessesItemModel.hpp:38
Definition PdLibrary.hpp:46
Definition PdLibrary.hpp:17
Definition ProcessDropHandler.hpp:25
Definition ProcessEntry.hpp:25
Definition ProcessEntry.hpp:40
Static metadata implementation.
Definition lib/score/tools/Metadata.hpp:36
Definition ProcessDropHandler.hpp:29
Definition DocumentContext.hpp:18
Definition FilePath.hpp:43
Specializes ApplicationContext with the QMainWindow.
Definition GUIApplicationContext.hpp:15
Definition lib/score/tools/File.hpp:20