File: README.md

package info (click to toggle)
lsp-plugins 1.2.21-5
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 120,408 kB
  • sloc: cpp: 589,849; xml: 74,078; makefile: 13,396; php: 1,268; sh: 185
file content (141 lines) | stat: -rw-r--r-- 3,812 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# lsp-plugins-plugin-template

Summary
======

Template plugin repository.

This repository has all necessary information to start development of the plugin as a part of
[LSP Plugin Framework](https://github.com/lsp-plugins/lsp-plugin-fw).

The project can be renamed by applying the script from the root:

```
./rename.sh <package-name> <plugin-name> <PLUGIN_ARTIFACT_ID> <Plugin Description>
```

For example:

```
./rename.sh lsp-plugins comp-delay LSP_PLUGINS_COMP_DELAY "LSP Compensation Delay Plugin Series"
```

Creating a new project
======

Here are the following steps of creating new project using this template repository.
We will assume that the new project is called `lsp-plugins-example` and is created at the
same directory the `lsp-plugins-plugin-template` is placed.


* Create github repository.

  This can be done it two ways. The first one, just using `git init`:

      mkdir lsp-plugins-example
      cd lsp-plugins-example
      git init
      git checkout -b master
      git checkout -b devel

  The second way, you can create the repository on GitHub and clone it:

      git clone <project-base-url>/lsp-plugins-example.git
      cd lsp-plugins-example
      git checkout -b devel

* Copy contents of this template repository to the project folder.

      cd ../lsp-plugins-plugin-template/
      cp -r `ls -a | egrep -v '^\.$|^\.\.$|^\.git$'` ../lsp-plugins-example/

* Rename the project.

      cd ../lsp-plugins-example/
      ./rename.sh 'lsp-plugins' 'example' LSP_PLUGINS_EXAMPLE "LSP Example Plugin"
      rm rename.sh

* For Eclipse users, use `File -> Open Projects from File System...` menu to import the project.

Source code tree
======

The typical source code tree is the following:

* include - include files for the plugin
  * private - all headers related to the plugin should be placed here
    * meta - headers for plugin metadata
    * plugins - headers for plugin modules (DSP part)
    * ui - headers for UI modules (UI part)
* make - makefiles for configuration
* modules - folder for fetching the plugin dependencies
* res - different plugin resources
  * doc - different resources for documentation
    * configs - different configurations that can be applied for taking screenshots
    * screenshots - plugin UI screenshots, 1 per plugin
  * main - main resources that will be built-in into the plugin binary
    * i18n - different localization files
    * presets - plugin presets that can be used and loaded by the plugin
    * ui - XML files for instantiating the basic UI
  * xdg - different resources for XDG integration
    * apps - folder with directory files for launching standalone plugin binaries
* src - plugin source code
  * doc - documentation to the plugin in PHP format
  * main - the main plugin code
    * meta - plugin metadata
    * plug - the DSP code part of plugin
    * shared - the shared code between DSP part and UI part
    * ui - the UI code part of plugin
  * test - the code for testing
    * mtest - the code for manual testing
    * utest - the code for unit testing
    * ptest - the code for performance testing

Building
======

To build the library, perform the following commands:

```bash
make config # Configure the build
make fetch # Fetch dependencies from Git repository
make
sudo make install
```

To get more build options, run:

```bash
make help
```

To uninstall library, simply issue:

```bash
make uninstall
```

To clean all binary files, run:

```bash
make clean
```

To clean the whole project tree including configuration files, run:

```bash
make prune
```

To fetch all possible dependencies and make the source code tree portable between
different architectures and platforms, run:

```bash
make tree
```

To build source code archive with all possible dependencies, run:

```bash
make distsrc
```