Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

#66 - improve json effect #74

Merged
merged 11 commits into from Oct 19, 2017
Merged
3 changes: 2 additions & 1 deletion .gitignore
Expand Up @@ -5,4 +5,5 @@ htmlcov
docs/build
.eggs
dist/
build/
build/
test/autosaver_data
10 changes: 2 additions & 8 deletions .travis.yml
Expand Up @@ -19,13 +19,7 @@ install:

script:
- lv2ls
- cd ..
- mkdir data
- cd data
- mkdir autosaver_data
- cd ../PluginsManager
- coverage3 run --source=pluginsmanager setup.py test
- cd docs
- make html
- make test
- make docs
after_success:
- bash <(curl -s https://codecov.io/bash)
45 changes: 39 additions & 6 deletions CHANGES
@@ -1,15 +1,48 @@
Version 0.5.1 -- released 06//17
Version 0.6.0 -- released 10/?/17
**********************************
- `Issue #52`_ - :class:`Autosaver` - Change connection with :class:`SystemInput` and :class:`SystemOutput` causes error;
- `Issue #53`_ - :class:`Autosaver` - Remove effect with connections breaks.
- Add makefile. Now is possible run tests and generate docs easly (`make help`);
- Improve :class:`.SystemInput` and :class:`.SystemOutputs` documentation;
- `Issue #57`_ - Implementing midi support:
- Now :class:`.Effect` list yours `midi_inputs` and `midi_outputs`;
- :class:`.SystemEffect` now supports `midi_inputs` and `midi_outputs`;
- :class:`.Lv2Effect` now supports `midi_inputs` and `midi_outputs`;
- Created :class:`.MidiPort`, :class:`.MidiInput`, :class:`.MidiOutput`;
- Created :class:`.SystemMidiInput`, :class:`.SystemMidiOutput`;
- Created :class:`.Lv2MidiInput`, :class:`.Lv2MidiOutput`;
- :class:`.SystemEffectBuilder` now creates :class:`.SystemEffect` with your midi outputs and midi inputs;
- Fix autosaver_test creation folder. Now is more easily configure test workspace;
- Refactored :class:`.Input`, :class:`.Output`: Created :class:`.Port` for remove duplicated code;
- Refactored :class:`.SystemInput`, :class:`.SystemOutput`: Created :class:`.SystemPortMixing` for remove duplicated code;
- Refactored :class:`.Lv2Input`, :class:`.Lv2Output`: Created :class:`.Lv2PortMixing` for remove duplicated code;
- :class:`.JackClient` - Add attributes: `audio_inputs`, `audio_outputs`, `midi_inputs`, `midi_outputs`;
- Break change: Removed :meth:`Output.connect()` and :meth:`Output.disconnect()` :class:`.Output` methods.
Use instead :meth:`~pluginsmanager.model.pedalboard.Pedalboard.connect()`, :meth:`~pluginsmanager.model.pedalboard.Pedalboard.disconnect()` :class:`.Pedalboard` methods;
- `Issue #67`_ - Created :meth:`~pluginsmanager.model.pedalboard.Pedalboard.connect()`, :meth:`~pluginsmanager.model.pedalboard.Pedalboard.disconnect()` :class:`.Pedalboard` methods;
- Fixed Changelog: Now is possible see it in the documentation;
- `Issue #38`_ - Raise erros then add sys_effect in any Pedalboard;
- `Issue #65`_ - Fix documentation bug `SystemEffectBuilder(client).build()` instead `SystemEffectBuilder(client)`;
- `Issue #68`_ - Remove current mod-host pedalboard don't removes systems connection (system.output to system.input);
- `Issue #66`_ - JSON effect improviments: Add plugin version. Remove `min` and `max`;

.. _Issue #38: https://github.com/PedalPi/PluginsManager/issues/38
.. _Issue #57: https://github.com/PedalPi/PluginsManager/issues/57
.. _Issue #65: https://github.com/PedalPi/PluginsManager/issues/65
.. _Issue #66: https://github.com/PedalPi/PluginsManager/issues/66
.. _Issue #67: https://github.com/PedalPi/PluginsManager/issues/67
.. _Issue #68: https://github.com/PedalPi/PluginsManager/issues/68

Version 0.5.1 -- released 08/16/17
**********************************
- `Issue #52`_ - :class:`.Autosaver` - Change connection with :class:`.SystemInput` and :class:`.SystemOutput` causes error;
- `Issue #53`_ - :class:`.Autosaver` - Remove effect with connections breaks.
Disable connections removed notification when a effect with connections has removed;
- :class:`Autosaver` - Add :attr:`.Observable.real_list` attribute for access the list of :class:`ObservableList`.
- `Issue #54`_ - :class:`Mod-host` - Fix `feedback_socket optional`_ problem
- :class:`.Autosaver` - Add :attr:`.Observable.real_list` attribute for access the list of :class:`.ObservableList`;
- `Issue #54`_ - :class:`.Mod-host` - Fix `feedback_socket optional`_ problem.

.. _Issue #52: https://github.com/PedalPi/PluginsManager/issues/52
.. _Issue #53: https://github.com/PedalPi/PluginsManager/issues/53
.. _Issue #54: https://github.com/PedalPi/PluginsManager/issues/54
.. _default feedback_socket disabled: https://github.com/moddevices/mod-host/commit/31b1d04deb91c88420e1e0dd0cc4fad523f55712
.. _feedback_socket optional: https://github.com/moddevices/mod-host/commit/31b1d04deb91c88420e1e0dd0cc4fad523f55712

Version 0.5.0 -- released 05/29/17
**********************************
Expand Down
31 changes: 4 additions & 27 deletions README.rst
Expand Up @@ -157,7 +157,7 @@ It requires a `JackClient` instance, that uses `JACK-Client`_.
client = JackClient()

from pluginsmanager.model.system.system_effect_builder import SystemEffectBuilder
sys_effect = SystemEffectBuilder(client)
sys_effect = SystemEffectBuilder(client).build()

For manual input and output sound card definition, use:

Expand Down Expand Up @@ -261,43 +261,20 @@ library can be accessed in the `Observer section <observer.html>`__.

.. _Carla: https://github.com/falkTX/Carla

Changelog
---------

..include:: ../../CHANGES

Maintenance
-----------

Test
****

It is not necessary for the mod_host process to be running

.. code-block:: bash

coverage3 run --source=pluginsmanager setup.py test
Makefile
********

coverage3 report
coverage3 html
firefox htmlcov/index.html
Execute ``make help`` for see the options

Generate documentation
**********************

This project uses `Sphinx`_ + `Read the Docs`_.

You can generate the documentation in your local machine:

.. code-block:: bash

pip3 install sphinx

cd docs
make html

firefox build/html/index.html

.. _Sphinx: http://www.sphinx-doc.org/
.. _Read the Docs: http://readthedocs.org
.. _Calf: http://calf-studio-gear.org/
Expand Down
4 changes: 4 additions & 0 deletions docs/source/changelog.rst
@@ -0,0 +1,4 @@
Changelog
=========

.. include:: ../../CHANGES
1 change: 1 addition & 0 deletions docs/source/conf.py
Expand Up @@ -42,6 +42,7 @@
'sphinx.ext.viewcode',
'sphinx.ext.todo',
'sphinx.ext.graphviz',
#'sphinx.ext.inheritance_diagram',
# 'sphinx.ext.githubpages',
]

Expand Down
8 changes: 8 additions & 0 deletions docs/source/index.rst
@@ -1,5 +1,13 @@
.. include:: ../../README.rst

Changelog
---------

.. toctree::
:maxdepth: 2

changelog

API
---

Expand Down
116 changes: 97 additions & 19 deletions docs/source/model.rst
Expand Up @@ -39,24 +39,47 @@ This page contains the model classes.

.. graphviz::

digraph classes {
graph [rankdir=BT];
node [shape=rect, style=filled, color="#298029", fontname=Sans, fontcolor="#ffffff", fontsize=10];
digraph classes {
graph [rankdir=BT];
node [shape=rect, style=filled, color="#298029", fontname=Sans, fontcolor="#ffffff", fontsize=10];

Lv2Effect->Lv2Plugin[
dir="backward", arrowhead="diamond", arrowtail="normal"
];
Lv2Effect->Effect;
SystemEffect->Effect;
AudioPort->Port;

Lv2Input->Input;
SystemInput->Input;
Input->AudioPort;
Output->AudioPort;

Lv2Output->Output;
SystemOutput->Output;
MidiPort->Port;
MidiInput->MidiPort;
MidiOutput->MidiPort;

Lv2Param->Param;
}
Lv2Input->Input;
Lv2Output->Output;
Lv2MidiInput->MidiInput;
Lv2MidiOutput->MidiOutput;

SystemInput->Input;
SystemOutput->Output;
SystemMidiInput->MidiInput;
SystemMidiOutput->MidiOutput;

}

.. graphviz::

digraph classes {
graph [rankdir=BT];
node [shape=rect, style=filled, color="#298029", fontname=Sans, fontcolor="#ffffff", fontsize=10];

Lv2Effect->Lv2Plugin[
dir="backward", arrowhead="diamond", arrowtail="normal"
];
Lv2Effect->Effect;
SystemEffect->Effect;

Lv2Param->Param;

MidiConnection->Connection;
}

.. graphviz::

Expand All @@ -71,6 +94,11 @@ This page contains the model classes.
AutoSaver->UpdatesObserver
}

.. .. inheritance-diagram::
pluginsmanager.model.output.Output
pluginsmanager.model.input.Input


BanksManager
------------

Expand All @@ -87,6 +115,14 @@ Bank
:special-members:
:exclude-members: __weakref__

Pedalboard
----------

.. autoclass:: pluginsmanager.model.pedalboard.Pedalboard
:members:
:special-members:
:exclude-members: __weakref__

Connection
----------

Expand All @@ -95,6 +131,14 @@ Connection
:special-members:
:exclude-members: __weakref__

MidiConnection
--------------

.. autoclass:: pluginsmanager.model.midi_connection.MidiConnection
:members:
:special-members:
:exclude-members: __weakref__

Effect
------

Expand All @@ -103,6 +147,22 @@ Effect
:special-members:
:exclude-members: __weakref__

Port
----

.. autoclass:: pluginsmanager.model.port.Port
:members:
:special-members:
:exclude-members: __weakref__

AudioPort
---------

.. autoclass:: pluginsmanager.model.audio_port.AudioPort
:members:
:special-members:
:exclude-members: __weakref__

Input
-----

Expand All @@ -119,18 +179,36 @@ Output
:special-members:
:exclude-members: __weakref__

Param
-----
MidiPort
--------

.. autoclass:: pluginsmanager.model.param.Param
.. autoclass:: pluginsmanager.model.midi_port.MidiPort
:members:
:special-members:
:exclude-members: __weakref__

Pedalboard

MidiInput
---------

.. autoclass:: pluginsmanager.model.midi_input.MidiInput
:members:
:special-members:
:exclude-members: __weakref__

MidiOutput
----------

.. autoclass:: pluginsmanager.model.pedalboard.Pedalboard
.. autoclass:: pluginsmanager.model.midi_output.MidiOutput
:members:
:special-members:
:exclude-members: __weakref__

Param
-----

.. autoclass:: pluginsmanager.model.param.Param
:members:
:special-members:
:exclude-members: __weakref__

25 changes: 25 additions & 0 deletions docs/source/model_system.rst
Expand Up @@ -32,3 +32,28 @@ SystemOutput
:members:
:special-members:
:exclude-members: __weakref__


SystemMidiInput
---------------

.. autoclass:: pluginsmanager.model.system.system_midi_input.SystemMidiInput
:members:
:special-members:
:exclude-members: __weakref__

SystemMidiOutput
----------------

.. autoclass:: pluginsmanager.model.system.system_midi_output.SystemMidiOutput
:members:
:special-members:
:exclude-members: __weakref__

SystemPortMixing
----------------

.. autoclass:: pluginsmanager.model.system.system_port_mixing.SystemPortMixing
:members:
:special-members:
:exclude-members: __weakref__