Trax3 3.1.0
trax track library
Loading...
Searching...
No Matches
TrackSystemReader.h
1// trax track library
2// AD 2025
3//
4// "the resolution of all the fruitless searches"
5//
6// Peter Gabriel
7//
8// Copyright (c) 2025 Trend Redaktions- und Verlagsgesellschaft mbH
9// Copyright (c) 2019 Marc-Michael Horstmann
10//
11// Permission is hereby granted to any person obtaining a copy of this software
12// and associated source code (the "Software"), to use, view, and study the
13// Software for personal or internal business purposes, subject to the following
14// conditions:
15//
16// 1. Redistribution, modification, sublicensing, or commercial use of the
17// Software is NOT permitted without prior written consent from the copyright
18// holder.
19//
20// 2. The Software is provided "AS IS", without warranty of any kind, express
21// or implied.
22//
23// 3. All copies of the Software must retain this license notice.
24//
25// For further information, please contact: horstmann.marc@trendverlag.de
26
27#pragma once
28
29#include "trax/SocketRegistry.h"
30
31#include <filesystem>
32
33namespace trax{
34
35 struct TrackSystem;
36
37 class TrackSystemReader{
38 public:
39 dclspc TrackSystemReader( const char* pLocale = nullptr );
40 dclspc TrackSystemReader( SocketRegistry& socketRegistry, const char* pLocale = nullptr );
41
42
48
49 std::shared_ptr<TrackSystem> dclspc Read( const std::filesystem::path& fromPath, int atIdx = 1 ) const;
50
51 std::shared_ptr<TrackSystem> dclspc Read( const unsigned char* bufferStart, const unsigned char* bufferEnd, int atIdx = 1 ) const;
53 private:
54 std::unique_ptr<SocketRegistry> m_pSocketRegistry;
55 const char* m_pLocale = nullptr;
56 protected:
57 SocketRegistry& m_SocketRegistry;
58 };
59
60
61}
Namespace of all the trax track libraries classes and methods.
Definition Collection.h:17
Interface for a registry that reconnects Plugs and Jacks according to their IDs.
Definition SocketRegistry.h:40
A track system is the container for tracks.
Definition TrackSystem.h:56