Browse Source

Fix name of the whole project. Argodejo -> Agordejo

master
Nils 5 years ago
parent
commit
3213ec5f3d
  1. 3
      CHANGELOG
  2. 10
      Makefile.in
  3. 20
      README.md
  4. 0
      agordejo
  5. 2
      configure
  6. 6
      desktop/agordejo-continue.desktop
  7. 6
      desktop/desktop.desktop
  8. 26
      documentation/argodejo.1
  9. 2
      documentation/build.py
  10. 88
      documentation/english.adoc
  11. 60
      documentation/english.part.adoc
  12. 82
      documentation/german.adoc
  13. 60
      documentation/german.part.adoc
  14. 2
      documentation/index.adoc
  15. 18
      documentation/manpageinclude.h2m
  16. 2
      documentation/nsm-data.1
  17. 90
      documentation/out/english.html
  18. 84
      documentation/out/german.html
  19. 4
      documentation/out/index.html
  20. 2
      engine/api.py
  21. 12
      engine/config.py
  22. 32
      engine/findprograms.py
  23. 42
      engine/nsmservercontrol.py
  24. 2
      qtgui/designer/mainwindow.py
  25. 2
      qtgui/designer/mainwindow.ui
  26. 2
      qtgui/designer/settings.py
  27. 2
      qtgui/designer/settings.ui
  28. 16
      qtgui/mainwindow.py
  29. 18
      qtgui/opensessioncontroller.py
  30. 36
      qtgui/quickopensessioncontroller.py
  31. BIN
      qtgui/resources/translations/de.qm
  32. 28
      qtgui/resources/translations/de.ts
  33. 6
      qtgui/systemtray.py
  34. 48
      tools/nsm-data
  35. 1
      tools/nsmservercontrol.py
  36. 1730
      tools/nsmservercontrol.py

3
CHANGELOG

@ -1,3 +1,6 @@
2020-10-15 0.2
Correct typo in the name of the project :) Sorry.
2020-07-15 0.1 Proof of Concept
A lot is working already, single-computer session are working fine.
Network sessions of any form are not usable yet.

10
Makefile.in

@ -34,14 +34,14 @@ install:
#nsm-data
install -D -m 755 "nsm-data.bin" $(DESTDIR)$(PREFIX)/bin/nsm-data
#Argodejo
#Agordejo
install -D -m 755 $(PROGRAM).bin $(DESTDIR)$(PREFIX)/bin/$(PROGRAM)
install -D -m 644 documentation/out/* -t $(DESTDIR)$(PREFIX)/share/doc/$(PROGRAM)
install -D -m 644 README.md $(DESTDIR)$(PREFIX)/share/doc/$(PROGRAM)/README.md
install -D -m 644 LICENSE $(DESTDIR)$(PREFIX)/share/doc/$(PROGRAM)/LICENSE
install -D -m 644 desktop/desktop.desktop $(DESTDIR)$(PREFIX)/share/applications/org.laborejo.argodejo.desktop
install -D -m 644 desktop/argodejo-continue.desktop $(DESTDIR)$(PREFIX)/share/applications/org.laborejo.argodejo-continue.desktop
install -D -m 644 desktop/desktop.desktop $(DESTDIR)$(PREFIX)/share/applications/org.laborejo.agordejo.desktop
install -D -m 644 desktop/agordejo-continue.desktop $(DESTDIR)$(PREFIX)/share/applications/org.laborejo.agordejo-continue.desktop
install -d $(DESTDIR)$(PREFIX)/share/man/man1
gzip -c documentation/$(PROGRAM).1 > $(DESTDIR)$(PREFIX)/share/man/man1/$(PROGRAM).1.gz
@ -66,8 +66,8 @@ uninstall:
#Files
rm -f $(DESTDIR)$(PREFIX)/bin/$(PROGRAM)
rm -f $(DESTDIR)$(PREFIX)/bin/nsm-data
rm -f $(DESTDIR)$(PREFIX)/share/applications/org.laborejo.argodejo.desktop
rm -f $(DESTDIR)$(PREFIX)/share/applications/org.laborejo.argodejo-continue.desktop
rm -f $(DESTDIR)$(PREFIX)/share/applications/org.laborejo.agordejo.desktop
rm -f $(DESTDIR)$(PREFIX)/share/applications/org.laborejo.agordejo-continue.desktop
rm -f $(DESTDIR)$(PREFIX)/share/man/man1/$(PROGRAM).1.gz
#Icons

20
README.md

@ -1,11 +1,11 @@
[//]: # (Generated 2020-06-11T19:20:27.804895. Changes belong into template/documentation/readme.template)
#Argodejo
#Agordejo
Program version 0.1
Argodejo (Esperanto: 'place to set things up') is a music production session manager.
Agordejo (Esperanto: 'place to set things up') is a music production session manager.
It is used to start your programs, remember their (JACK) interconnections and make your life easier
in general.
@ -14,7 +14,7 @@ You can seamlessly change between two view modes to quickly start a few programs
control and a detailed overview.
Argodejo does not re-invent the wheel but instead uses the New-Session-Manager daemon and enhances
Agordejo does not re-invent the wheel but instead uses the New-Session-Manager daemon and enhances
it with some tricks of its own, that always remain 100% compatible with the original sessions.
@ -24,7 +24,7 @@ implemented, most prominently anything related to NSM over network. There is alw
break things when trying out corner cases and hacks.
That said, for single-computer sessions with just one daemon and one GUI at the same time Argodejo
That said, for single-computer sessions with just one daemon and one GUI at the same time Agordejo
should provide a good user experience.
@ -35,7 +35,7 @@ This README is just a short introduction. Consult the manual (see below) for mor
* Website https://www.laborejo.org
* Bugs and Issues: https://www.laborejo.org/bugs
* Git Repositories for all programs: https://git.laborejo.org
* Documentation and Manual https://www.laborejo.org/documentation/argodejo
* Documentation and Manual https://www.laborejo.org/documentation/agordejo
# Installation and Starting
@ -48,7 +48,7 @@ Download the latest code release on https://www.laborejo.org/downloads and extra
### Git Version
It is possible to clone a git repository.
`git clone https://git.laborejo.org/lss/argodejo.git`
`git clone https://git.laborejo.org/lss/agordejo.git`
## Dependencies
* Glibc
@ -73,11 +73,11 @@ It is possible to clone a git repository.
## Starting
If you installed Argodejo through a packager manager or yourself simple use your application launcher
or terminal to start the executable `argodejo`
If you installed Agordejo through a packager manager or yourself simple use your application launcher
or terminal to start the executable `agordejo`
You can also run Argodejo after extracting the release archive or cloning from git, without make or
You can also run Agordejo after extracting the release archive or cloning from git, without make or
installation. If you did so, for additional features please link tools/nsm-data to your executable PATH.
Use the manpage `man argodejo` or run `argodejo --help` (or local variant `./argodejo --help` )
Use the manpage `man agordejo` or run `agordejo --help` (or local variant `./agordejo --help` )
to see available command line parameters.

0
argodejo → agordejo

2
configure

@ -1,4 +1,4 @@
program=argodejo
program=agordejo
version=0.1
#debugsym=true

6
desktop/argodejo-continue.desktop → desktop/agordejo-continue.desktop

@ -1,9 +1,9 @@
[Desktop Entry]
Type=Application
Name=Argodejo Continue
Name=Agordejo Continue
Comment=Music and audio production session manager based on NSM. Continue last session, start as TrayIcon.
Exec=argodejo --continue --hide
Icon=argodejo
Exec=agordejo --continue --hide
Icon=agordejo
Terminal=false
StartupNotify=false
Version=1.0

6
desktop/desktop.desktop

@ -1,9 +1,9 @@
[Desktop Entry]
Type=Application
Name=Argodejo
Name=Agordejo
Comment=Music and audio production session manager based on NSM.
Exec=argodejo
Icon=argodejo
Exec=agordejo
Icon=agordejo
Terminal=false
StartupNotify=false
Version=1.0

26
documentation/argodejo.1

@ -1,14 +1,14 @@
.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.15.
.TH ARGODEJO "1" "June 2020" "Argodejo 0.1" "User Commands"
.TH ARGODEJO "1" "June 2020" "Agordejo 0.1" "User Commands"
.SH NAME
Argodejo - Music and audio production session manager based on NSM.
Agordejo - Music and audio production session manager based on NSM.
.SH DESCRIPTION
usage: argodejo [\-h] [\-v] [\-V] [\-u URL] [\-\-nsm\-url URL] [\-s SESSION] [\-c] [\-i]
usage: agordejo [\-h] [\-v] [\-V] [\-u URL] [\-\-nsm\-url URL] [\-s SESSION] [\-c] [\-i]
.IP
[\-\-session\-root SESSIONROOT]
.PP
Argodejo \- Version 0.1 \- Copyright 2020 by Laborejo Software Suite \-
https://www.laborejo.org/argodejo
Agordejo \- Version 0.1 \- Copyright 2020 by Laborejo Software Suite \-
https://www.laborejo.org/agordejo
.SS "optional arguments:"
.TP
\fB\-h\fR, \fB\-\-help\fR
@ -47,7 +47,7 @@ Root directory of all sessions. Defaults to '$HOME/NSM
Sessions'
.SH USAGE
Argodejo (Esperanto: 'place to set things up') is a music production session manager.
Agordejo (Esperanto: 'place to set things up') is a music production session manager.
It is used to start your programs, remember their (JACK) interconnections and make your life easier
in general.
@ -56,7 +56,7 @@ You can seamlessly change between two view modes to quickly start a few programs
control and a detailed overview.
Argodejo does not re-invent the wheel but instead uses the New-Session-Manager daemon and enhances
Agordejo does not re-invent the wheel but instead uses the New-Session-Manager daemon and enhances
it with some tricks of its own, that always remain 100% compatible with the original sessions.
@ -66,21 +66,21 @@ implemented, most prominently anything related to NSM over network. There is alw
break things when trying out corner cases and hacks.
That said, for single-computer sessions with just one daemon and one GUI at the same time Argodejo
That said, for single-computer sessions with just one daemon and one GUI at the same time Agordejo
should provide a good user experience.
.SH EXAMPLES
Run argodejo. You are now in the Quick View mode. Press New Session and add programs through a
Run agordejo. You are now in the Quick View mode. Press New Session and add programs through a
single click on available program-icons. You can switch to the Full View mode via the tab to
get more options. Try right-clicking on many things to get context menus.
.SH "REPORTING BUGS"
https://www.laborejo.org/bugs
.SH COPYRIGHT
Argodejo 0.1 - Copyright 2020
Agordejo 0.1 - Copyright 2020
Laborejo Software Suite
https://www.laborejo.org/
.SH "SEE ALSO"
The full documentation for Argodejo is maintained as a multi-lingual html site to your systems doc-dir.
The full documentation for Agordejo is maintained as a multi-lingual html site to your systems doc-dir.
For example:
xdg-open file:///usr/share/doc/argodejo/index.html
xdg-open file:///usr/share/doc/agordejo/index.html
The documentation can also be found online https://www.laborejo.org/documentation/argodejo
The documentation can also be found online https://www.laborejo.org/documentation/agordejo

2
documentation/build.py

@ -102,7 +102,7 @@ https://www.laborejo.org/bugs
https://www.laborejo.org/
[examples]
Run argodejo. You are now in the Quick View mode. Press New Session and add programs through a
Run agordejo. You are now in the Quick View mode. Press New Session and add programs through a
single click on available program-icons. You can switch to the Full View mode via the tab to
get more options. Try right-clicking on many things to get context menus.

88
documentation/english.adoc

@ -22,7 +22,7 @@ https://asciidoctor.org/docs/user-manual/
:toc-title: Table of Contents
:toclevels: 3
= Argodejo
= Agordejo
// Don't write in the empty line above line. It will be interpreted as author html tag
For program version 0.1
@ -30,7 +30,7 @@ For program version 0.1
== Introduction
Argodejo (Esperanto: 'place to set things up') is a music production session manager.
Agordejo (Esperanto: 'place to set things up') is a music production session manager.
It is used to start your programs, remember their (JACK) interconnections and make your life easier
in general.
@ -39,7 +39,7 @@ You can seamlessly change between two view modes to quickly start a few programs
control and a detailed overview.
Argodejo does not re-invent the wheel but instead uses the New-Session-Manager daemon and enhances
Agordejo does not re-invent the wheel but instead uses the New-Session-Manager daemon and enhances
it with some tricks of its own, that always remain 100% compatible with the original sessions.
@ -49,7 +49,7 @@ implemented, most prominently anything related to NSM over network. There is alw
break things when trying out corner cases and hacks.
That said, for single-computer sessions with just one daemon and one GUI at the same time Argodejo
That said, for single-computer sessions with just one daemon and one GUI at the same time Agordejo
should provide a good user experience.
@ -74,25 +74,25 @@ real time, have synchronized timelines and play in the same tempo.
What remains is the tedious work of always starting all programs, loading project files, connecting
audio channels etc. Session management in general (e.g. specifically written starter script files)
and Argodejo in particular do this work for you, or at the very least, greatly simplify it.
and Agordejo in particular do this work for you, or at the very least, greatly simplify it.
In contrast to the self-written script mentioned above, you don't have to decide in advance on a
setup, but everything is saved automatically as long as you manage everything through Argodejo.
setup, but everything is saved automatically as long as you manage everything through Agordejo.
=== Example
* Start Argodejo (Start menu, terminal etc.)
* Start Agordejo (Start menu, terminal etc.)
* You are now in the "Quick View" to start a session
* Press the big button "Start New Session"
* Now you get a choice of programs:
* A single click with the mouse starts a program
* Another click hides (or subsequently shows) its graphical interface
* If the program crashes you get a warning and can restart it.
* Audio and midi ports can now be connected together in a patchbay. The connections are stored in Argodejo.
* Audio and midi ports can now be connected together in a patchbay. The connections are stored in Agordejo.
* To get more programs and advanced features you can switch to the tab "Full View
* The name of the session so far is simply a date. By clicking on it you can enter a real name. Like "My song"
* If you are finished you can return to the session selection by pressing the button "Save and Close"
* Now Argodejo could be closed itself.
* Now Agordejo could be closed itself.
* All stored data is in a single directory on the hard disk (`~/NSM Sessions/My Song`)
* The session can be resumed: After clicking on the name, all programs start automatically and connect their JACK ports to among themselves.
@ -106,7 +106,7 @@ decisions as possible and start an old session or create a new one as quickly as
at least clicks).
For stability reasons, only programs are shown that are known to
work correctly with Argodejos session management.
work correctly with Agordejos session management.
The Quick View is only a view. There is no technical difference to the full view and you can switch
back and forth at any time.
@ -184,10 +184,10 @@ Each session has a context menu (e.g. right mouse button) with further options:
rename a session, delete it (including all associated files on the hard disk!) and more. These
functions are equivalent to your file manager. If you like, you can also use your file manager to
rename, move, or delete the session directories themselves (unless they are is currently open). You
don't need to restart Argodejo to do this, it will respond to the changes while running.
don't need to restart Agordejo to do this, it will respond to the changes while running.
There is also the possibility to remove a so-called "lock" file. This is a file which is created
when the session starts and deleted when it ends. This tells Argodejo which session is currently
when the session starts and deleted when it ends. This tells Agordejo which session is currently
running. If a lock file exists, the session cannot be opened! This should not happen during normal
operation. But if a power failure or similar occurs in the middle of a session, the lock file may
remain, although obviously no session is opened. In this case, unlock the session manually by
@ -221,7 +221,7 @@ The following information is available per program:
* The program status
* Stopped , not running
* Ready, running
* Launch, If the status halts here but the programs works, it is one that does not specifically support session mode. Argodejo cannot know if it is already running or not. Everything is fine! :)
* Launch, If the status halts here but the programs works, it is one that does not specifically support session mode. Agordejo cannot know if it is already running or not. Everything is fine! :)
* Other states are only transitions and usually only visible for a very short time, e.g. Open / Loading
* Visibility (A cross for visible, blank for invisible)
* Changes - Are there currently unsaved changes?
@ -250,12 +250,12 @@ In contrast to the quick view, full mode offers menus, which can also be accesse
* Abort ends the session without saving the programs
* Save As saves the session under a different name and closes the current session without saving. From now on you work under the new name.
* Add Client offers the option to add any program, whether it is in the program database or not.
* Any installed programs are suggested. Argodejo doesn't check them for usefulness for a music session, or even for runnability. You will find `ls` here as well as `argodejo` itself.
* Any installed programs are suggested. Agordejo doesn't check them for usefulness for a music session, or even for runnability. You will find `ls` here as well as `agordejo` itself.
== Program-Database
Argodejos launcher is based on a program database, which is partly self-generated, partly
maintained by hand. As in a start menu Argodejo will offer you only programs that are actually
Agordejos launcher is based on a program database, which is partly self-generated, partly
maintained by hand. As in a start menu Agordejo will offer you only programs that are actually
installed on your system.
The database is created at the first start. Depending on your system, this can take some moments to
@ -263,7 +263,7 @@ a few minutes.
If you are reinstalling or uninstalling audio programs, you will need to update the database via
the command in the control menu. Program installations and system changes are even possible while
Argodejo is running (even in a session). After a DB update you can immediately access all new
Agordejo is running (even in a session). After a DB update you can immediately access all new
programs.
If you do not see an installed program in our launcher, but you are sure that it supports session
@ -287,10 +287,10 @@ These search paths are not stored in the session, but locally in your `~/.config
== Tray
Argodejo has a tray icon, if your window manager supports it. A click on the trayicon shows or
hides Argodejo.
Agordejo has a tray icon, if your window manager supports it. A click on the trayicon shows or
hides Agordejo.
If you close Argodejo using the normal window manager function, such as a click on the [X], the
If you close Agordejo using the normal window manager function, such as a click on the [X], the
program and the session is not terminated, but minimized to the tray.
A right click on the icon gives you access to common functions:
@ -299,7 +299,7 @@ You can directly start the most recently used sessions.
If a session is already running you can save, cancel etc.
Argodejo can also be completely exited here.
Agordejo can also be completely exited here.
== Network Sessions
@ -310,26 +310,26 @@ version.
== Program parameters
As an advanced user, you can start Argodejo in the terminal and add some parameters.. For a
As an advanced user, you can start Agordejo in the terminal and add some parameters.. For a
complete list please use the --help parameter.
For example:
* `--session newAlbum/mySong` starts the given session.
* `--continue` starts the last active session.
* `--hide` starts Argodejo as TrayIcon.
* `--hide` starts Agordejo as TrayIcon.
* `--url osc.udp://myhost.localdomain:14294/` connects to this server, if available, or starts the internal session server at this address. This is a very technical option and probably not needed.
* `--session-root /home/user/production2030` sets the root directory. Only sessions in this directory are displayed, everything is stored here.
The combination of `--continue` and `--hide` is essentially what many people expect from Session
Management: Resuming at the previous state, without any extra windows in their way.
If your system uses a start menu you will find not only the normal Argodejo starter but also
"Argodejo Continue" to start this mode directly.
If your system uses a start menu you will find not only the normal Agordejo starter but also
"Agordejo Continue" to start this mode directly.
== Miscellaneous / Explanations / FAQ
*Session Save and Exit responds slowly*: Argodejo is not a standalone program like an word
*Session Save and Exit responds slowly*: Agordejo is not a standalone program like an word
processor. The participating programs in the session are not plugins either. When you end the
session a signal is sent to all participating client to save. This may take a few moments where
you are able to see "live" how individual programs terminate and disappear from the session.
@ -337,7 +337,7 @@ Everything is fine.
*I have added a program but it does not save with the session*: Does the program support session
management? If not, Argodejo cannot do much. But you can ask the program developers to contact us
management? If not, Agordejo cannot do much. But you can ask the program developers to contact us
(info@laborejo.org) and we can work together on support.
@ -346,13 +346,13 @@ we are also interested in improving the situation by offering at least an emerge
future.
*Argodejo won't start! I start the program but I can't see anything*: Most likely Argodejo is
*Agordejo won't start! I start the program but I can't see anything*: Most likely Agordejo is
running, but invisible, because you exited it from the tray last time. Is it in the tray? A
message should have popped up, maybe you missed it. If there is no tray in your window manager, the
program should always be visible. With all these special window managers in Linux it may be that
the tray detection did not work properly. Contingency plan is to delete
`~/.config/LaborejoSoftwareSuite/argodejo`. This will NOT remove any sessions, but only local
settings such as the visibility of the program window. At next start Argodejo will behave like the
`~/.config/LaborejoSoftwareSuite/agordejo`. This will NOT remove any sessions, but only local
settings such as the visibility of the program window. At next start Agordejo will behave like the
very first start.
@ -366,7 +366,7 @@ inevitable crashes).
*A program update broke my session because it can no longer load its files.* Unfortunately, this is
a problem that even Argodejo can't solve. It also happens with LV2 plugins and with all other
a problem that even Agordejo can't solve. It also happens with LV2 plugins and with all other
software, such as office programs. If you fear that a program becomes incompatible in the future,
write down its version number in the session notes, so that you can at least, in an emergency,
reinstall the old program version (even if this is very is cumbersome).
@ -376,7 +376,7 @@ reinstall the old program version (even if this is very is cumbersome).
management is worthwhile with two or more participating programs, which one needs almost always.
You should not feel compelled to suddenly make everything modular with individual programs, only
because you use a session manager. Argodejo is designed to make your music production easier. If it
because you use a session manager. Agordejo is designed to make your music production easier. If it
is faster and more comfortable to manage all plugins and effects e.g. in a single "Carla" instance
then you should do exactly that. If you basically want to do everything in Ardour, do that, but
start Ardour anyway in session management, because no program can do everything alone and the time
@ -393,7 +393,7 @@ directly do music production, but still is connected in the grander scheme: Ope
(OBS), music player, word processors and graphic programs etc.
*Argodejo contains functionality which is not within its scope*: Music production is very complex
*Agordejo contains functionality which is not within its scope*: Music production is very complex
and complexity is inevitable. It's like a waterbed: if you press down on one side, something
bounces up in another place. When you create a "clean and lean" program, which therefore implements
only a part of the complete workflow, then the missing part pops up somewhere else. A minimalistic
@ -402,23 +402,23 @@ session manager provokes plug-ins (not LV2), helper-scripts, workarounds and hac
E.g. not to include file management provokes user errors like deleting the wrong files. If the SM
knows what to do and it can do it, then let it do it. Or crashes: Technically, crashing programs
are not the "problem" of the session managers, but they are part of the software reality. Crashes
happen every day and need to be handled. Can Argodejo simplify the work and help to restore good
happen every day and need to be handled. Can Agordejo simplify the work and help to restore good
conditions again? Then that should be done. Session management is also an opportunity to simplify
even complex technical scenarios, e.g. distributing sessions over the network.
== Installation and Start
Argodejo is exclusive for Linux. The best way to install is to use your package manager.
Agordejo is exclusive for Linux. The best way to install is to use your package manager.
If it is not there, or only in an outdated version, please ask your Linux distribution to provide a recent version.
If not available in the package repository you can build Argodejo yourself.
If not available in the package repository you can build Agordejo yourself.
.Build and Install
* Please check the supplied README.md for dependencies.
* You can download a release or clone the git version
** Download the latest version from https://www.laborejo.org/downloads and extract it.
** git clone https://git.laborejo.org/lss/argodejo.git
** git clone https://git.laborejo.org/lss/agordejo.git
* Change into the new directory and use these commands:
* `./configure --prefix=/usr`
** The default prefix is /usr/local
@ -426,14 +426,14 @@ If not available in the package repository you can build Argodejo yourself.
* `sudo make install`
Now the program is available to run via your menu/launcher or `argodejo` in a terminal.
Now the program is available to run via your menu/launcher or `agordejo` in a terminal.
Please read README.md for other ways of starting argodejo, which are impractical for actual use but can
Please read README.md for other ways of starting agordejo, which are impractical for actual use but can
be helpful for testing and development.
== Help and Development
You can help Argodejo in several ways: Testing and reporting errors, translating, marketing, support, programming and more.
You can help Agordejo in several ways: Testing and reporting errors, translating, marketing, support, programming and more.
=== Testing and Reporting Errors
If you find a bug in the program (or it runs too slow) please contact us in a way that suits you best.
@ -450,7 +450,7 @@ If you want to do some programming and don't know where to start please get in c
The short version is: clone the git, change the code, create a git patch or point me to your public git.
=== Translations
Argodejo is very easy to translate with the help of the Qt-Toolchain, without any need for programming.
Agordejo is very easy to translate with the help of the Qt-Toolchain, without any need for programming.
The easiest way is to contact the developers and they will setup the new language.
However, here are the complete instructions for doing a translation completely on your own and integrating it into the program.
@ -468,7 +468,7 @@ You can add a new language like this:
* Select your "Target Language" and use the program to create a translation
* Send us the `.ts` file, such as by e-mail to info@laborejo.org
You can also incorporate the translation into Argodejo for testing purposes. This requires rudimentary Python knowledge.
You can also incorporate the translation into Agordejo for testing purposes. This requires rudimentary Python knowledge.
* Run the "Release" option in QtLinguists "File" menu. It creates a `.qm` file in the same directory as your `.ts` file.
* Edit `qtgui/resources/resources.qrc` and duplicate the line `<file>translations/de.qm</file>` but change it to your new .qm file.
@ -477,6 +477,6 @@ You can also incorporate the translation into Argodejo for testing purposes. Thi
** To find out your language string (German, Esperanto etc.) open the `python3` interpreter in a terminal and run the following command:
** `from PyQt5 import QtCore;QtCore.QLocale().languageToString(QtCore.QLocale().language())`
To test the new translation you can either run the program normally, if your system is set to that language. Alternatively start argodejo via the terminal:
To test the new translation you can either run the program normally, if your system is set to that language. Alternatively start agordejo via the terminal:
* `LANGUAGE=de_DE.UTF-8 ./argodejo -V --save /dev/null`
* `LANGUAGE=de_DE.UTF-8 ./agordejo -V --save /dev/null`

60
documentation/english.part.adoc

@ -19,25 +19,25 @@ real time, have synchronized timelines and play in the same tempo.
What remains is the tedious work of always starting all programs, loading project files, connecting
audio channels etc. Session management in general (e.g. specifically written starter script files)
and Argodejo in particular do this work for you, or at the very least, greatly simplify it.
and Agordejo in particular do this work for you, or at the very least, greatly simplify it.
In contrast to the self-written script mentioned above, you don't have to decide in advance on a
setup, but everything is saved automatically as long as you manage everything through Argodejo.
setup, but everything is saved automatically as long as you manage everything through Agordejo.
=== Example
* Start Argodejo (Start menu, terminal etc.)
* Start Agordejo (Start menu, terminal etc.)
* You are now in the "Quick View" to start a session
* Press the big button "Start New Session"
* Now you get a choice of programs:
* A single click with the mouse starts a program
* Another click hides (or subsequently shows) its graphical interface
* If the program crashes you get a warning and can restart it.
* Audio and midi ports can now be connected together in a patchbay. The connections are stored in Argodejo.
* Audio and midi ports can now be connected together in a patchbay. The connections are stored in Agordejo.
* To get more programs and advanced features you can switch to the tab "Full View
* The name of the session so far is simply a date. By clicking on it you can enter a real name. Like "My song"
* If you are finished you can return to the session selection by pressing the button "Save and Close"
* Now Argodejo could be closed itself.
* Now Agordejo could be closed itself.
* All stored data is in a single directory on the hard disk (`~/NSM Sessions/My Song`)
* The session can be resumed: After clicking on the name, all programs start automatically and connect their JACK ports to among themselves.
@ -51,7 +51,7 @@ decisions as possible and start an old session or create a new one as quickly as
at least clicks).
For stability reasons, only programs are shown that are known to
work correctly with Argodejos session management.
work correctly with Agordejos session management.
The Quick View is only a view. There is no technical difference to the full view and you can switch
back and forth at any time.
@ -129,10 +129,10 @@ Each session has a context menu (e.g. right mouse button) with further options:
rename a session, delete it (including all associated files on the hard disk!) and more. These
functions are equivalent to your file manager. If you like, you can also use your file manager to
rename, move, or delete the session directories themselves (unless they are is currently open). You
don't need to restart Argodejo to do this, it will respond to the changes while running.
don't need to restart Agordejo to do this, it will respond to the changes while running.
There is also the possibility to remove a so-called "lock" file. This is a file which is created
when the session starts and deleted when it ends. This tells Argodejo which session is currently
when the session starts and deleted when it ends. This tells Agordejo which session is currently
running. If a lock file exists, the session cannot be opened! This should not happen during normal
operation. But if a power failure or similar occurs in the middle of a session, the lock file may
remain, although obviously no session is opened. In this case, unlock the session manually by
@ -166,7 +166,7 @@ The following information is available per program:
* The program status
* Stopped , not running
* Ready, running
* Launch, If the status halts here but the programs works, it is one that does not specifically support session mode. Argodejo cannot know if it is already running or not. Everything is fine! :)
* Launch, If the status halts here but the programs works, it is one that does not specifically support session mode. Agordejo cannot know if it is already running or not. Everything is fine! :)
* Other states are only transitions and usually only visible for a very short time, e.g. Open / Loading
* Visibility (A cross for visible, blank for invisible)
* Changes - Are there currently unsaved changes?
@ -195,12 +195,12 @@ In contrast to the quick view, full mode offers menus, which can also be accesse
* Abort ends the session without saving the programs
* Save As saves the session under a different name and closes the current session without saving. From now on you work under the new name.
* Add Client offers the option to add any program, whether it is in the program database or not.
* Any installed programs are suggested. Argodejo doesn't check them for usefulness for a music session, or even for runnability. You will find `ls` here as well as `argodejo` itself.
* Any installed programs are suggested. Agordejo doesn't check them for usefulness for a music session, or even for runnability. You will find `ls` here as well as `agordejo` itself.
== Program-Database
Argodejos launcher is based on a program database, which is partly self-generated, partly
maintained by hand. As in a start menu Argodejo will offer you only programs that are actually
Agordejos launcher is based on a program database, which is partly self-generated, partly
maintained by hand. As in a start menu Agordejo will offer you only programs that are actually
installed on your system.
The database is created at the first start. Depending on your system, this can take some moments to
@ -208,7 +208,7 @@ a few minutes.
If you are reinstalling or uninstalling audio programs, you will need to update the database via
the command in the control menu. Program installations and system changes are even possible while
Argodejo is running (even in a session). After a DB update you can immediately access all new
Agordejo is running (even in a session). After a DB update you can immediately access all new
programs.
If you do not see an installed program in our launcher, but you are sure that it supports session
@ -232,10 +232,10 @@ These search paths are not stored in the session, but locally in your `~/.config
== Tray
Argodejo has a tray icon, if your window manager supports it. A click on the trayicon shows or
hides Argodejo.
Agordejo has a tray icon, if your window manager supports it. A click on the trayicon shows or
hides Agordejo.
If you close Argodejo using the normal window manager function, such as a click on the [X], the
If you close Agordejo using the normal window manager function, such as a click on the [X], the
program and the session is not terminated, but minimized to the tray.
A right click on the icon gives you access to common functions:
@ -244,7 +244,7 @@ You can directly start the most recently used sessions.
If a session is already running you can save, cancel etc.
Argodejo can also be completely exited here.
Agordejo can also be completely exited here.
== Network Sessions
@ -255,26 +255,26 @@ version.
== Program parameters
As an advanced user, you can start Argodejo in the terminal and add some parameters.. For a
As an advanced user, you can start Agordejo in the terminal and add some parameters.. For a
complete list please use the --help parameter.
For example:
* `--session newAlbum/mySong` starts the given session.
* `--continue` starts the last active session.
* `--hide` starts Argodejo as TrayIcon.
* `--hide` starts Agordejo as TrayIcon.
* `--url osc.udp://myhost.localdomain:14294/` connects to this server, if available, or starts the internal session server at this address. This is a very technical option and probably not needed.
* `--session-root /home/user/production2030` sets the root directory. Only sessions in this directory are displayed, everything is stored here.
The combination of `--continue` and `--hide` is essentially what many people expect from Session
Management: Resuming at the previous state, without any extra windows in their way.
If your system uses a start menu you will find not only the normal Argodejo starter but also
"Argodejo Continue" to start this mode directly.
If your system uses a start menu you will find not only the normal Agordejo starter but also
"Agordejo Continue" to start this mode directly.
== Miscellaneous / Explanations / FAQ
*Session Save and Exit responds slowly*: Argodejo is not a standalone program like an word
*Session Save and Exit responds slowly*: Agordejo is not a standalone program like an word
processor. The participating programs in the session are not plugins either. When you end the
session a signal is sent to all participating client to save. This may take a few moments where
you are able to see "live" how individual programs terminate and disappear from the session.
@ -282,7 +282,7 @@ Everything is fine.
*I have added a program but it does not save with the session*: Does the program support session
management? If not, Argodejo cannot do much. But you can ask the program developers to contact us
management? If not, Agordejo cannot do much. But you can ask the program developers to contact us
(info@laborejo.org) and we can work together on support.
@ -291,13 +291,13 @@ we are also interested in improving the situation by offering at least an emerge
future.
*Argodejo won't start! I start the program but I can't see anything*: Most likely Argodejo is
*Agordejo won't start! I start the program but I can't see anything*: Most likely Agordejo is
running, but invisible, because you exited it from the tray last time. Is it in the tray? A
message should have popped up, maybe you missed it. If there is no tray in your window manager, the
program should always be visible. With all these special window managers in Linux it may be that
the tray detection did not work properly. Contingency plan is to delete
`~/.config/LaborejoSoftwareSuite/argodejo`. This will NOT remove any sessions, but only local
settings such as the visibility of the program window. At next start Argodejo will behave like the
`~/.config/LaborejoSoftwareSuite/agordejo`. This will NOT remove any sessions, but only local
settings such as the visibility of the program window. At next start Agordejo will behave like the
very first start.
@ -311,7 +311,7 @@ inevitable crashes).
*A program update broke my session because it can no longer load its files.* Unfortunately, this is
a problem that even Argodejo can't solve. It also happens with LV2 plugins and with all other
a problem that even Agordejo can't solve. It also happens with LV2 plugins and with all other
software, such as office programs. If you fear that a program becomes incompatible in the future,
write down its version number in the session notes, so that you can at least, in an emergency,
reinstall the old program version (even if this is very is cumbersome).
@ -321,7 +321,7 @@ reinstall the old program version (even if this is very is cumbersome).
management is worthwhile with two or more participating programs, which one needs almost always.
You should not feel compelled to suddenly make everything modular with individual programs, only
because you use a session manager. Argodejo is designed to make your music production easier. If it
because you use a session manager. Agordejo is designed to make your music production easier. If it
is faster and more comfortable to manage all plugins and effects e.g. in a single "Carla" instance
then you should do exactly that. If you basically want to do everything in Ardour, do that, but
start Ardour anyway in session management, because no program can do everything alone and the time
@ -338,7 +338,7 @@ directly do music production, but still is connected in the grander scheme: Ope
(OBS), music player, word processors and graphic programs etc.
*Argodejo contains functionality which is not within its scope*: Music production is very complex
*Agordejo contains functionality which is not within its scope*: Music production is very complex
and complexity is inevitable. It's like a waterbed: if you press down on one side, something
bounces up in another place. When you create a "clean and lean" program, which therefore implements
only a part of the complete workflow, then the missing part pops up somewhere else. A minimalistic
@ -347,6 +347,6 @@ session manager provokes plug-ins (not LV2), helper-scripts, workarounds and hac
E.g. not to include file management provokes user errors like deleting the wrong files. If the SM
knows what to do and it can do it, then let it do it. Or crashes: Technically, crashing programs
are not the "problem" of the session managers, but they are part of the software reality. Crashes
happen every day and need to be handled. Can Argodejo simplify the work and help to restore good
happen every day and need to be handled. Can Agordejo simplify the work and help to restore good
conditions again? Then that should be done. Session management is also an opportunity to simplify
even complex technical scenarios, e.g. distributing sessions over the network.

82
documentation/german.adoc

@ -22,7 +22,7 @@ https://asciidoctor.org/docs/user-manual/
:toc-title: Inhaltsverzeichnis
:toclevels: 3
= Argodejo
= Agordejo
// Don't write in the empty line above line. It will be interpreted as author html tag
Für Programmversion 0.1
@ -50,28 +50,28 @@ Echtzeit teilen, verfügen über synchronisierte Timelines und spielen im gleich
Was übrig bleibt ist die leidige Arbeit jedesmal alle Programme zu starten, die Projektdateien zu
laden, alle Audiokanäle zu verbinden usw. Session Management im allgemeinen (z.B. extra
geschriebene Starter-Scriptdateien) und Argodejo im speziellen nehmen Ihnen diese Arbeit ab, oder
geschriebene Starter-Scriptdateien) und Agordejo im speziellen nehmen Ihnen diese Arbeit ab, oder
vereinfachen sie zumindest stark.
Im Gegensatz zum erwähnten selbstgeschriebenen Script müssen Sie sich nicht im Vorraus für ein
Setup entscheiden, sondern alles wird automatisch verwaltet, solange Sie alles durch den Session
Manager Argodejo starten.
Manager Agordejo starten.
=== Anwendungsbeispiel
* Argodejo starten (Startmenü, Terminal etc.)
* Agordejo starten (Startmenü, Terminal etc.)
* Man befindet sich nun in der "Schnellen Ansicht" um eine Session zu starten
* Der große Knopf: "Starte Neue Session"
* Nun bekommt man eine Auswahl an Programmen:
* Ein einfacher Klick mit der Maus startet ein Programm
* Ein weiterer Klick versteckt (oder zeigt anschließend) dessen grafische Oberfläche
* Sollte das Programm abstürzen bekommt man das signalisiert und kann es neustarten.
* Audio- und Midiports können nun in einer Patchbay miteinander verbunden werden. Die Verbindungen werden in Argodejo gespeichert.
* Audio- und Midiports können nun in einer Patchbay miteinander verbunden werden. Die Verbindungen werden in Agordejo gespeichert.
* Um andere Programme und erweiterte Funktionen zu bekommen kann man in den Tab "Volle Ansicht" wechseln
* Der Name der Session ist bisher einfach ein Datum. Durch Klick auf dieses kann man einen richtigen Namen eingeben. Etwa "Mein Lied"
* Ist man soweit fertig kommt man durch den Knopf "Speichern und Schließen" wieder in die Sessionauswahl zurück
* Nun könnte Argodejo geschlossen werden.
* Nun könnte Agordejo geschlossen werden.
* Alle gespeicherten Daten liegen in einem einzigen Verzeichnis auf der Festplatte (`~/NSM Sessions/Mein Lied`)
* Die Session kann weitergeführt werden: Nach dem Klick auf den Namen starten alle Programme automatisch und verbinden ihre JACK-Ports untereinander.
@ -87,7 +87,7 @@ Entscheidungen wie möglich zu treffen haben und so schnell wie möglich (mit de
eine alte Session starten oder eine neue erstellen können.
Aus Stabilitätsgründen werden nur Programme zum Starten angeboten, von denen bekannt ist, dass Sie
korrekt mit dem Session Management Argodejos zusammenarbeiten.
korrekt mit dem Session Management Agordejos zusammenarbeiten.
Die Schnelle Ansicht ist lediglich eine Ansicht. Es besteht kein technischer Unterschied zur vollen
Session und Sie können jederzeit hin- und herschalten.
@ -167,7 +167,7 @@ Jede Session verfügt über ein Kontextmenü (z.B. rechte Maustaste) mit weitere
eine Session umbennen, löschen (inkl. aller dazugehörigen Dateien auf der Festplatte!) und mehr.
Diese Funktionen sind gleichwertig zu ihrem Dateimanager. Falls Sie möchten, können Sie auch
einfach die Sessionverzeichnisse selbst umbennen, verschieben oder löschen (sofern diese nicht
gerade geöffnet ist). Dazu muss Argodejo nicht neugestartet werden, es reagiert selbst auf die
gerade geöffnet ist). Dazu muss Agordejo nicht neugestartet werden, es reagiert selbst auf die
Änderungen.
Hier gibt es auch die Möglichkeit eine sogenannte "Lock"-Datei zu entfernen. Das ist eine Datei,
@ -206,7 +206,7 @@ Pro Programm gibt es folgende Informationen:
* Den Programmstatus (auf Englisch, da es sich um definierte Schlüsselworte handelt).
* Stopped / Gestoppt, läuft nicht
* Ready / Läuft und Bereit
* Launch / Startet. Wenn das Programm hier stehen bleibt, aber funktioniert, handelt es sich um eins, dass nicht speziell den Sessionmodus unterstützt. Argodejo kann nicht wissen, ob es bereits läuft oder nicht. Alles ist in Ordnung! :)
* Launch / Startet. Wenn das Programm hier stehen bleibt, aber funktioniert, handelt es sich um eins, dass nicht speziell den Sessionmodus unterstützt. Agordejo kann nicht wissen, ob es bereits läuft oder nicht. Alles ist in Ordnung! :)
* Weitere Zustände sind nur Übergänge und meist nur sehr kurz zu sehen, z.B. Open / Läd gerade
* Sichtbarkeit (Ein Kreuz für sichtbar, Leer für unsichtbar)
* Änderungen - Gibt es momentan ungespeicherte Änderungen?
@ -237,13 +237,13 @@ Im Gegensatz zur schnellen Ansicht stehen hier weitere Menüs zur Verfügung, di
* Abbrechen beendet die Session, ohne dass die Programme abspeichern
* Speichern Unter speichert die Session unter einem anderen Namen und schließt die laufende ohne abzuspeichern. Ab nun arbeitet man in der neuen Session.
* Client Hinzufügen bietet die Option ein beliebiges Programm hinzuzufügen, egal ob es in der Programmdatenbank ist, oder nicht.
* Es werden alle installierten Programme vorgeschlagen. Argodejo überprüft diese nicht auf Sinnhaftigkeit für eine Musik-Session, oder auch nur auf Lauffähigkeit. Sie finden hier `ls` wie auch `argodejo` selbst.
* Es werden alle installierten Programme vorgeschlagen. Agordejo überprüft diese nicht auf Sinnhaftigkeit für eine Musik-Session, oder auch nur auf Lauffähigkeit. Sie finden hier `ls` wie auch `agordejo` selbst.
== Programm-Datenbank
Argodejos Programmstarter basiert auf einer Programmdatenbank, die sich teilweise selbst erstellt,
Agordejos Programmstarter basiert auf einer Programmdatenbank, die sich teilweise selbst erstellt,
teilweise von Hand eingepflegt wurde. Das bedeutet nichts anderes, als das alle installieren
Programme in ihrem System überprüft werden (wie ein Startmenü) und Ihnen im Argodejo-Starter nur
Programme in ihrem System überprüft werden (wie ein Startmenü) und Ihnen im Agordejo-Starter nur
das angeboten wird, was Sie auch tatsächlich installiert haben.
Beim ersten Start wird daher die Programmdatenbank erstellt. Je nach System kann dies einige
@ -251,7 +251,7 @@ Augenblicke bis einige Minuten dauern.
Wenn Sie Audio-Programme neu installieren, oder deinstallieren müssen Sie die Datenbank selbst
aktualisieren. Im Steuerungsmenü gibt es den Befehl. Programminstallationen sind sogar möglich
während Argodejo läuft (auch in einer Session). Nach einem DB-Update stehen Ihnen sofort alle
während Agordejo läuft (auch in einer Session). Nach einem DB-Update stehen Ihnen sofort alle
neuen Programme zur Verfügung.
Wenn Sie ein installiertes Programm nicht in unserer Liste sehen, aber von dem Sie sicher sind,
@ -279,10 +279,10 @@ Verzeichnis.
== Tray
Argodejo verfügt über ein Tray-Icon, sofern ihr Windowmanager das unterstüzt. Ein Klick auf das
Trayicon zeigt oder versteckt Argodejo.
Agordejo verfügt über ein Tray-Icon, sofern ihr Windowmanager das unterstüzt. Ein Klick auf das
Trayicon zeigt oder versteckt Agordejo.
Schließt man Argodejo über die normale Windowmanagerfunktion, etwa ein Klick auf das [X], wird das
Schließt man Agordejo über die normale Windowmanagerfunktion, etwa ein Klick auf das [X], wird das
Programm und die Session nicht beendet, sondern in den Tray minimiert.
Ein Rechtsklick auf das Icon bietet Schnellzugriff auf häufige Funktionen:
@ -291,7 +291,7 @@ Sie können hier die zuletzt benutzen Sessions direkt starten.
Läuft bereits eine Session können Sie speichern, abbrechen etc.
Argodejo kann hier auch komplett beendet werden.
Agordejo kann hier auch komplett beendet werden.
== Netzwerk-Sessions
@ -301,25 +301,25 @@ vorgesehen.
== Programmparameter
Als fortgeschrittener Benutzer können Sie Argodejo im Terminal starten und dort einige Parameter
Als fortgeschrittener Benutzer können Sie Agordejo im Terminal starten und dort einige Parameter
angeben. Für eine vollständige Liste benutzen Sie bitte den --help Parameter.
Eine Auswahl:
* `--session neuesAlbum/meinLied` startet direkt die angegebene Session.
* `--continue` startet die zuletzt benutzte Session
* `--hide` startet Argodejo als Trayicon.
* `--hide` startet Agordejo als Trayicon.
* `--url osc.udp://myhost.localdomain:14294/` verbindet sich zu diesem Server, falls vorhanden, oder startet den internen Session-Server unter dieser Adresse. Dies ist eine sehr technische Option und wird wahrscheinlich nicht benötigt.
* `--session-root /home/benutzer/produktion2020` setzt das Wurzelverzeichnis. Nur Sessions in diesem Verzeichnis werden angezeigt, alles wird dort gespeichert.
Die Kombination von `--continue` und `--hide` ergibt einen Modus, den viele Leute vom Session Management
erwarten: dort weiter machen wo man aufgehört hat, ohne dass Extrafenster angezeigt werden.
Falls Ihr System über ein Startmenü verfügt finden Sie daher neben dem normalen Argodejo-Starter
auch eine "Argodejo Continue"-Verknüpfung für genau diesen Modus.
Falls Ihr System über ein Startmenü verfügt finden Sie daher neben dem normalen Agordejo-Starter
auch eine "Agordejo Continue"-Verknüpfung für genau diesen Modus.
== Verschiedenes / Erklärungen / FAQ
*Session Speichern und Beenden reagiert langsam*: Argodejo ist kein Einzelprogramm wie ein
*Session Speichern und Beenden reagiert langsam*: Agordejo ist kein Einzelprogramm wie ein
Office-Writer. Die teilnehmenden Programme in der Session sind auch keine Plugins. Wenn Sie die
Session beenden wird ein Signal an alle teilnehmenden Programme gesendet, dass sie speichern
sollen. Das kann ein paar Momente dauern, in denen Sie "live" mitverfolgen, wie die einzelnen
@ -327,7 +327,7 @@ Programme sich beenden und aus der Session verschwinden. Es ist alles in Ordnung
*Ich habe ein Programm hinzugefügt aber es speichert nicht mit der Session*:
Unterstützt das Programm Session Management? Wenn nicht, kann Argodejo nichts tun.
Unterstützt das Programm Session Management? Wenn nicht, kann Agordejo nichts tun.
Aber Sie können die Programmentwickler bitten mit uns Kontakt aufzunehmen (info@laborejo.org)
und wir können zusammen an der Unterstützung arbeiten.
@ -337,14 +337,14 @@ Das tut uns leid. Eigentlich sind die Programme selbst schuld, aber auch wir sin
interessiert die Situation zu verbessen, indem wir in Zukunft zumindest eine Notlösung anbieten.
*Argodejo startet nicht mehr! Ich starte das Programm aber ich sehe nichts.*: Wahrscheinlich ist
Argodejo unsichtbar, weil Sie es aus dem Tray heraus beendet hatten. Ist es im Tray? Eigentlich
*Agordejo startet nicht mehr! Ich starte das Programm aber ich sehe nichts.*: Wahrscheinlich ist
Agordejo unsichtbar, weil Sie es aus dem Tray heraus beendet hatten. Ist es im Tray? Eigentlich
hätte ein kleines Nachrichtenfenster aufpoppen sollen. Falls in ihrem Window-Manager kein Tray
vorhanden ist sollte das Programm immer sichtbar sein. Bei besonderen Window-Managern (bei der
großen Auswahl in Linux) kann es sein, dass die Tray-Erkennung nicht richtig funktioniert hat.
Notfallplan ist es `~/.config/LaborejoSoftwareSuite/argodejo` zu löschen. Dabei werden KEINE
Notfallplan ist es `~/.config/LaborejoSoftwareSuite/agordejo` zu löschen. Dabei werden KEINE
Sessions gelöscht, sondern nur lokale Einstellungen wie die Sichtbarkeit des Programmfensters. Beim
nächsten Start wird Argodejo sich verhalten wie beim allerersten.
nächsten Start wird Agordejo sich verhalten wie beim allerersten.
*JACK ist abgestürzt. Viele Programme hängen. Was tun um Datenverlust zu vermeiden?*:
@ -357,7 +357,7 @@ manuell im Dateimanager eine Kopie des Session-Verzeichnisses machen.
*Ein Programmupdate hat meine Session kaputtgemacht, weil es seine Dateien nicht mehr laden kann.*:
Das ist leider ein Problem, dass auch Argodejo nicht lösen kann. Es passiert mit LV2-Plugins ebenso
Das ist leider ein Problem, dass auch Agordejo nicht lösen kann. Es passiert mit LV2-Plugins ebenso
wie mit alle anderen Software, etwa Officeprogramme. Falls Sie befürchten, dass ein Programm in
Zukunft inkompatibel wird notieren Sie sich dessen Versionsnummer in den Session-Notizen, damit Sie
zumindest zur Not die alte Programmversion wieder installieren können (auch wenn das sehr
@ -371,7 +371,7 @@ immer.
Sie sollten sich nicht genötigt fühlen plötzlich alles modular mit Einzelprogrammen zu machen, nur
weil Sie einen Session Manager benutzen.
Argodejo ist dafür da, ihre Musikproduktion einfacher zu machen. Wenn es schneller und bequemer ist
Agordejo ist dafür da, ihre Musikproduktion einfacher zu machen. Wenn es schneller und bequemer ist
alle Plugins und Effekte z.B. in einer einzelnen Carla-Instanz zu verwalten dann sollten Sie genau
das machen.
Wenn Sie prinzipiell alles in Ardour machen wollen, machen Sie das, aber starten Sie Ardour trotzdem
@ -390,7 +390,7 @@ aber trotzdem inhaltlich dazu gehört: Open Broadcast Studio (OBS), Musikplayer,
und Grafikprogramme etc.
*Argodejo beinhaltet Funktionalität, die nicht seine Aufgabe ist*: Musikproduktion ist sehr komplex
*Agordejo beinhaltet Funktionalität, die nicht seine Aufgabe ist*: Musikproduktion ist sehr komplex
und Komplexität ist unvermeidlich. Sie ist wie ein Wasserbett: Drückt man die auf der einen Seite
runter, muss etwas an einen anderen Stelle hochdrücken. Macht man ein programm "clean and lean",
und implementiert damit nur einen Teil des kompletten Arbeitsablaufs, dann kommt der fehlende Teil
@ -401,7 +401,7 @@ ist, und er es tun kann, dann soll er es machen.
Oder Abstürze: Technisch gesehen sind abstürzende Programme nicht das "Problem" des Session
Managers, aber sie sind Teil der Softwarewirklichkeit. Abstürze passieren jeden Tag und nun muss
man damit umgehen. Kann Argodejo die Arbeit vereinfachen und helfen den guten Zustand wieder
man damit umgehen. Kann Agordejo die Arbeit vereinfachen und helfen den guten Zustand wieder
herzustellen? Dann sollte das geschehen.
Session Management ist außerdem eine Chance auch komplexe technische Szenarios zu vereinfachen, z.B.
@ -411,30 +411,30 @@ Sessions über das Netzwerk zu verteilen.
== Installation und Start
Argodejo ist exklusiv für Linux. Am besten installieren Sie Argodejo über deinen Paketmanager.
Agordejo ist exklusiv für Linux. Am besten installieren Sie Agordejo über deinen Paketmanager.
Falls es dort nicht vorhanden ist, oder nur in einer veralteten Version, bitten sie ihre
Linuxdistribution Argodejo bereitzustellen.
Linuxdistribution Agordejo bereitzustellen.
Falls nicht in den Paketquellen vorhanden kann man Argodejo auch selbst "bauen".
Falls nicht in den Paketquellen vorhanden kann man Agordejo auch selbst "bauen".
.Abhängigkeiten*
* Eine Liste der Abhängigkeit befindet sich in der README.md
* Kompilieren und Installieren geht entweder mit einem Releasedownload oder mit der Git-Version:
** Laden Sie von https://www.laborejo.org/downloads die aktuelle Version herunter und entpacken Sie sie.
** `git clone https://git.laborejo.org/lss/argodejo.git`
** `git clone https://git.laborejo.org/lss/agordejo.git`
* Wechseln Sie in das neue Verzeichnis und benutzen diese Befehle:
*`./configure --prefix=/usr`
** Das Standardprefix is /usr/local
* `make`
* `sudo make install`
Nun ist das Programm durch `argodejo` in ihrem Terminal oder Programmstarter vorhanden.
Nun ist das Programm durch `agordejo` in ihrem Terminal oder Programmstarter vorhanden.
In der Datei README.md befinden sich weitere Möglichkeiten argodejo zu starten. Diese sind zum
In der Datei README.md befinden sich weitere Möglichkeiten agordejo zu starten. Diese sind zum
Musikmachen nicht praktikabel, aber nützlich für Tests und Entwicklung.
== Helfen und Entwicklung
Sie können Argodejo auf viele Arten und Weisen helfen: Testen und Fehler melden, übersetzen, marketing,
Sie können Agordejo auf viele Arten und Weisen helfen: Testen und Fehler melden, übersetzen, marketing,
anderen Nutzern helfen und schließlich programmieren.
=== Testen und Programmfehler
@ -452,7 +452,7 @@ Falls Sie an der Entwicklung interessiert sind, melden Sie sich am besten direkt
Kurzversion: clone git, programmieren, einen git-patch erstellen oder uns eine git URL zukommen lassen.
=== Übersetzungen
Argodejo ist mit Hilfe der Qt-Toolchain sehr einfach zu übersetzen, ohne, dass man dafür Programmieren muss.
Agordejo ist mit Hilfe der Qt-Toolchain sehr einfach zu übersetzen, ohne, dass man dafür Programmieren muss.
Die einfachste Variante ist es einfach die Entwickler anzusprechen und sie werden die neue Sprache einrichten.
Hier ist dennoch die komplette Anleitung, um eine Übersetzung komplett alleine anzufertigen und in
@ -482,6 +482,6 @@ Python Kentnisse nötig.
Um die neue Übersetzung zu testen starten Sie das Programm, falls ihr System bereits auf diese
Sprache eingstellt ist.
Ansonsten starten Sie argodejo mit diesem Befehl, Sprachcode ändern, vom Terminal aus:
Ansonsten starten Sie agordejo mit diesem Befehl, Sprachcode ändern, vom Terminal aus:
* `LANGUAGE=de_DE.UTF-8 ./argodejo -V`
* `LANGUAGE=de_DE.UTF-8 ./agordejo -V`

60
documentation/german.part.adoc

@ -21,28 +21,28 @@ Echtzeit teilen, verfügen über synchronisierte Timelines und spielen im gleich
Was übrig bleibt ist die leidige Arbeit jedesmal alle Programme zu starten, die Projektdateien zu
laden, alle Audiokanäle zu verbinden usw. Session Management im allgemeinen (z.B. extra
geschriebene Starter-Scriptdateien) und Argodejo im speziellen nehmen Ihnen diese Arbeit ab, oder
geschriebene Starter-Scriptdateien) und Agordejo im speziellen nehmen Ihnen diese Arbeit ab, oder
vereinfachen sie zumindest stark.
Im Gegensatz zum erwähnten selbstgeschriebenen Script müssen Sie sich nicht im Vorraus für ein
Setup entscheiden, sondern alles wird automatisch verwaltet, solange Sie alles durch den Session
Manager Argodejo starten.
Manager Agordejo starten.
=== Anwendungsbeispiel
* Argodejo starten (Startmenü, Terminal etc.)
* Agordejo starten (Startmenü, Terminal etc.)
* Man befindet sich nun in der "Schnellen Ansicht" um eine Session zu starten
* Der große Knopf: "Starte Neue Session"
* Nun bekommt man eine Auswahl an Programmen:
* Ein einfacher Klick mit der Maus startet ein Programm
* Ein weiterer Klick versteckt (oder zeigt anschließend) dessen grafische Oberfläche
* Sollte das Programm abstürzen bekommt man das signalisiert und kann es neustarten.
* Audio- und Midiports können nun in einer Patchbay miteinander verbunden werden. Die Verbindungen werden in Argodejo gespeichert.
* Audio- und Midiports können nun in einer Patchbay miteinander verbunden werden. Die Verbindungen werden in Agordejo gespeichert.
* Um andere Programme und erweiterte Funktionen zu bekommen kann man in den Tab "Volle Ansicht" wechseln
* Der Name der Session ist bisher einfach ein Datum. Durch Klick auf dieses kann man einen richtigen Namen eingeben. Etwa "Mein Lied"
* Ist man soweit fertig kommt man durch den Knopf "Speichern und Schließen" wieder in die Sessionauswahl zurück
* Nun könnte Argodejo geschlossen werden.
* Nun könnte Agordejo geschlossen werden.
* Alle gespeicherten Daten liegen in einem einzigen Verzeichnis auf der Festplatte (`~/NSM Sessions/Mein Lied`)
* Die Session kann weitergeführt werden: Nach dem Klick auf den Namen starten alle Programme automatisch und verbinden ihre JACK-Ports untereinander.
@ -58,7 +58,7 @@ Entscheidungen wie möglich zu treffen haben und so schnell wie möglich (mit de
eine alte Session starten oder eine neue erstellen können.
Aus Stabilitätsgründen werden nur Programme zum Starten angeboten, von denen bekannt ist, dass Sie
korrekt mit dem Session Management Argodejos zusammenarbeiten.
korrekt mit dem Session Management Agordejos zusammenarbeiten.
Die Schnelle Ansicht ist lediglich eine Ansicht. Es besteht kein technischer Unterschied zur vollen
Session und Sie können jederzeit hin- und herschalten.
@ -138,7 +138,7 @@ Jede Session verfügt über ein Kontextmenü (z.B. rechte Maustaste) mit weitere
eine Session umbennen, löschen (inkl. aller dazugehörigen Dateien auf der Festplatte!) und mehr.
Diese Funktionen sind gleichwertig zu ihrem Dateimanager. Falls Sie möchten, können Sie auch
einfach die Sessionverzeichnisse selbst umbennen, verschieben oder löschen (sofern diese nicht
gerade geöffnet ist). Dazu muss Argodejo nicht neugestartet werden, es reagiert selbst auf die
gerade geöffnet ist). Dazu muss Agordejo nicht neugestartet werden, es reagiert selbst auf die
Änderungen.
Hier gibt es auch die Möglichkeit eine sogenannte "Lock"-Datei zu entfernen. Das ist eine Datei,
@ -177,7 +177,7 @@ Pro Programm gibt es folgende Informationen:
* Den Programmstatus (auf Englisch, da es sich um definierte Schlüsselworte handelt).
* Stopped / Gestoppt, läuft nicht
* Ready / Läuft und Bereit
* Launch / Startet. Wenn das Programm hier stehen bleibt, aber funktioniert, handelt es sich um eins, dass nicht speziell den Sessionmodus unterstützt. Argodejo kann nicht wissen, ob es bereits läuft oder nicht. Alles ist in Ordnung! :)
* Launch / Startet. Wenn das Programm hier stehen bleibt, aber funktioniert, handelt es sich um eins, dass nicht speziell den Sessionmodus unterstützt. Agordejo kann nicht wissen, ob es bereits läuft oder nicht. Alles ist in Ordnung! :)
* Weitere Zustände sind nur Übergänge und meist nur sehr kurz zu sehen, z.B. Open / Läd gerade
* Sichtbarkeit (Ein Kreuz für sichtbar, Leer für unsichtbar)
* Änderungen - Gibt es momentan ungespeicherte Änderungen?
@ -208,13 +208,13 @@ Im Gegensatz zur schnellen Ansicht stehen hier weitere Menüs zur Verfügung, di
* Abbrechen beendet die Session, ohne dass die Programme abspeichern
* Speichern Unter speichert die Session unter einem anderen Namen und schließt die laufende ohne abzuspeichern. Ab nun arbeitet man in der neuen Session.
* Client Hinzufügen bietet die Option ein beliebiges Programm hinzuzufügen, egal ob es in der Programmdatenbank ist, oder nicht.
* Es werden alle installierten Programme vorgeschlagen. Argodejo überprüft diese nicht auf Sinnhaftigkeit für eine Musik-Session, oder auch nur auf Lauffähigkeit. Sie finden hier `ls` wie auch `argodejo` selbst.
* Es werden alle installierten Programme vorgeschlagen. Agordejo überprüft diese nicht auf Sinnhaftigkeit für eine Musik-Session, oder auch nur auf Lauffähigkeit. Sie finden hier `ls` wie auch `agordejo` selbst.
== Programm-Datenbank
Argodejos Programmstarter basiert auf einer Programmdatenbank, die sich teilweise selbst erstellt,
Agordejos Programmstarter basiert auf einer Programmdatenbank, die sich teilweise selbst erstellt,
teilweise von Hand eingepflegt wurde. Das bedeutet nichts anderes, als das alle installieren
Programme in ihrem System überprüft werden (wie ein Startmenü) und Ihnen im Argodejo-Starter nur
Programme in ihrem System überprüft werden (wie ein Startmenü) und Ihnen im Agordejo-Starter nur
das angeboten wird, was Sie auch tatsächlich installiert haben.
Beim ersten Start wird daher die Programmdatenbank erstellt. Je nach System kann dies einige
@ -222,7 +222,7 @@ Augenblicke bis einige Minuten dauern.
Wenn Sie Audio-Programme neu installieren, oder deinstallieren müssen Sie die Datenbank selbst
aktualisieren. Im Steuerungsmenü gibt es den Befehl. Programminstallationen sind sogar möglich
während Argodejo läuft (auch in einer Session). Nach einem DB-Update stehen Ihnen sofort alle
während Agordejo läuft (auch in einer Session). Nach einem DB-Update stehen Ihnen sofort alle
neuen Programme zur Verfügung.
Wenn Sie ein installiertes Programm nicht in unserer Liste sehen, aber von dem Sie sicher sind,
@ -250,10 +250,10 @@ Verzeichnis.
== Tray
Argodejo verfügt über ein Tray-Icon, sofern ihr Windowmanager das unterstüzt. Ein Klick auf das
Trayicon zeigt oder versteckt Argodejo.
Agordejo verfügt über ein Tray-Icon, sofern ihr Windowmanager das unterstüzt. Ein Klick auf das
Trayicon zeigt oder versteckt Agordejo.
Schließt man Argodejo über die normale Windowmanagerfunktion, etwa ein Klick auf das [X], wird das
Schließt man Agordejo über die normale Windowmanagerfunktion, etwa ein Klick auf das [X], wird das
Programm und die Session nicht beendet, sondern in den Tray minimiert.
Ein Rechtsklick auf das Icon bietet Schnellzugriff auf häufige Funktionen:
@ -262,7 +262,7 @@ Sie können hier die zuletzt benutzen Sessions direkt starten.
Läuft bereits eine Session können Sie speichern, abbrechen etc.
Argodejo kann hier auch komplett beendet werden.
Agordejo kann hier auch komplett beendet werden.
== Netzwerk-Sessions
@ -272,25 +272,25 @@ vorgesehen.
== Programmparameter
Als fortgeschrittener Benutzer können Sie Argodejo im Terminal starten und dort einige Parameter
Als fortgeschrittener Benutzer können Sie Agordejo im Terminal starten und dort einige Parameter
angeben. Für eine vollständige Liste benutzen Sie bitte den --help Parameter.
Eine Auswahl:
* `--session neuesAlbum/meinLied` startet direkt die angegebene Session.
* `--continue` startet die zuletzt benutzte Session
* `--hide` startet Argodejo als Trayicon.
* `--hide` startet Agordejo als Trayicon.
* `--url osc.udp://myhost.localdomain:14294/` verbindet sich zu diesem Server, falls vorhanden, oder startet den internen Session-Server unter dieser Adresse. Dies ist eine sehr technische Option und wird wahrscheinlich nicht benötigt.
* `--session-root /home/benutzer/produktion2020` setzt das Wurzelverzeichnis. Nur Sessions in diesem Verzeichnis werden angezeigt, alles wird dort gespeichert.
Die Kombination von `--continue` und `--hide` ergibt einen Modus, den viele Leute vom Session Management
erwarten: dort weiter machen wo man aufgehört hat, ohne dass Extrafenster angezeigt werden.
Falls Ihr System über ein Startmenü verfügt finden Sie daher neben dem normalen Argodejo-Starter
auch eine "Argodejo Continue"-Verknüpfung für genau diesen Modus.
Falls Ihr System über ein Startmenü verfügt finden Sie daher neben dem normalen Agordejo-Starter
auch eine "Agordejo Continue"-Verknüpfung für genau diesen Modus.
== Verschiedenes / Erklärungen / FAQ
*Session Speichern und Beenden reagiert langsam*: Argodejo ist kein Einzelprogramm wie ein
*Session Speichern und Beenden reagiert langsam*: Agordejo ist kein Einzelprogramm wie ein
Office-Writer. Die teilnehmenden Programme in der Session sind auch keine Plugins. Wenn Sie die
Session beenden wird ein Signal an alle teilnehmenden Programme gesendet, dass sie speichern
sollen. Das kann ein paar Momente dauern, in denen Sie "live" mitverfolgen, wie die einzelnen
@ -298,7 +298,7 @@ Programme sich beenden und aus der Session verschwinden. Es ist alles in Ordnung
*Ich habe ein Programm hinzugefügt aber es speichert nicht mit der Session*:
Unterstützt das Programm Session Management? Wenn nicht, kann Argodejo nichts tun.
Unterstützt das Programm Session Management? Wenn nicht, kann Agordejo nichts tun.
Aber Sie können die Programmentwickler bitten mit uns Kontakt aufzunehmen (info@laborejo.org)
und wir können zusammen an der Unterstützung arbeiten.
@ -308,14 +308,14 @@ Das tut uns leid. Eigentlich sind die Programme selbst schuld, aber auch wir sin
interessiert die Situation zu verbessen, indem wir in Zukunft zumindest eine Notlösung anbieten.
*Argodejo startet nicht mehr! Ich starte das Programm aber ich sehe nichts.*: Wahrscheinlich ist
Argodejo unsichtbar, weil Sie es aus dem Tray heraus beendet hatten. Ist es im Tray? Eigentlich
*Agordejo startet nicht mehr! Ich starte das Programm aber ich sehe nichts.*: Wahrscheinlich ist
Agordejo unsichtbar, weil Sie es aus dem Tray heraus beendet hatten. Ist es im Tray? Eigentlich
hätte ein kleines Nachrichtenfenster aufpoppen sollen. Falls in ihrem Window-Manager kein Tray
vorhanden ist sollte das Programm immer sichtbar sein. Bei besonderen Window-Managern (bei der
großen Auswahl in Linux) kann es sein, dass die Tray-Erkennung nicht richtig funktioniert hat.
Notfallplan ist es `~/.config/LaborejoSoftwareSuite/argodejo` zu löschen. Dabei werden KEINE
Notfallplan ist es `~/.config/LaborejoSoftwareSuite/agordejo` zu löschen. Dabei werden KEINE
Sessions gelöscht, sondern nur lokale Einstellungen wie die Sichtbarkeit des Programmfensters. Beim
nächsten Start wird Argodejo sich verhalten wie beim allerersten.
nächsten Start wird Agordejo sich verhalten wie beim allerersten.
*JACK ist abgestürzt. Viele Programme hängen. Was tun um Datenverlust zu vermeiden?*:
@ -328,7 +328,7 @@ manuell im Dateimanager eine Kopie des Session-Verzeichnisses machen.
*Ein Programmupdate hat meine Session kaputtgemacht, weil es seine Dateien nicht mehr laden kann.*:
Das ist leider ein Problem, dass auch Argodejo nicht lösen kann. Es passiert mit LV2-Plugins ebenso
Das ist leider ein Problem, dass auch Agordejo nicht lösen kann. Es passiert mit LV2-Plugins ebenso
wie mit alle anderen Software, etwa Officeprogramme. Falls Sie befürchten, dass ein Programm in
Zukunft inkompatibel wird notieren Sie sich dessen Versionsnummer in den Session-Notizen, damit Sie
zumindest zur Not die alte Programmversion wieder installieren können (auch wenn das sehr
@ -342,7 +342,7 @@ immer.
Sie sollten sich nicht genötigt fühlen plötzlich alles modular mit Einzelprogrammen zu machen, nur
weil Sie einen Session Manager benutzen.
Argodejo ist dafür da, ihre Musikproduktion einfacher zu machen. Wenn es schneller und bequemer ist
Agordejo ist dafür da, ihre Musikproduktion einfacher zu machen. Wenn es schneller und bequemer ist
alle Plugins und Effekte z.B. in einer einzelnen Carla-Instanz zu verwalten dann sollten Sie genau
das machen.
Wenn Sie prinzipiell alles in Ardour machen wollen, machen Sie das, aber starten Sie Ardour trotzdem
@ -361,7 +361,7 @@ aber trotzdem inhaltlich dazu gehört: Open Broadcast Studio (OBS), Musikplayer,
und Grafikprogramme etc.
*Argodejo beinhaltet Funktionalität, die nicht seine Aufgabe ist*: Musikproduktion ist sehr komplex
*Agordejo beinhaltet Funktionalität, die nicht seine Aufgabe ist*: Musikproduktion ist sehr komplex
und Komplexität ist unvermeidlich. Sie ist wie ein Wasserbett: Drückt man die auf der einen Seite
runter, muss etwas an einen anderen Stelle hochdrücken. Macht man ein programm "clean and lean",
und implementiert damit nur einen Teil des kompletten Arbeitsablaufs, dann kommt der fehlende Teil
@ -372,7 +372,7 @@ ist, und er es tun kann, dann soll er es machen.
Oder Abstürze: Technisch gesehen sind abstürzende Programme nicht das "Problem" des Session
Managers, aber sie sind Teil der Softwarewirklichkeit. Abstürze passieren jeden Tag und nun muss
man damit umgehen. Kann Argodejo die Arbeit vereinfachen und helfen den guten Zustand wieder
man damit umgehen. Kann Agordejo die Arbeit vereinfachen und helfen den guten Zustand wieder
herzustellen? Dann sollte das geschehen.
Session Management ist außerdem eine Chance auch komplexe technische Szenarios zu vereinfachen, z.B.

2
documentation/index.adoc

@ -18,7 +18,7 @@ https://asciidoctor.org/docs/user-manual/
:nofooter:
== Argodejo Multi-Language Documentation
== Agordejo Multi-Language Documentation
image::logo.png["logo", 320, 180]
For program version 0.1

18
documentation/manpageinclude.h2m

@ -1,10 +1,10 @@
[name]
Argodejo - Music and audio production session manager based on NSM.
Agordejo - Music and audio production session manager based on NSM.
[usage]
Argodejo (Esperanto: 'place to set things up') is a music production session manager.
Agordejo (Esperanto: 'place to set things up') is a music production session manager.
It is used to start your programs, remember their (JACK) interconnections and make your life easier
in general.
@ -13,7 +13,7 @@ You can seamlessly change between two view modes to quickly start a few programs
control and a detailed overview.
Argodejo does not re-invent the wheel but instead uses the New-Session-Manager daemon and enhances
Agordejo does not re-invent the wheel but instead uses the New-Session-Manager daemon and enhances
it with some tricks of its own, that always remain 100% compatible with the original sessions.
@ -23,7 +23,7 @@ implemented, most prominently anything related to NSM over network. There is alw
break things when trying out corner cases and hacks.
That said, for single-computer sessions with just one daemon and one GUI at the same time Argodejo
That said, for single-computer sessions with just one daemon and one GUI at the same time Agordejo
should provide a good user experience.
@ -31,18 +31,18 @@ should provide a good user experience.
https://www.laborejo.org/bugs
[copyright]
Argodejo 0.1 - Copyright 2020
Agordejo 0.1 - Copyright 2020
Laborejo Software Suite
https://www.laborejo.org/
[examples]
Run argodejo. You are now in the Quick View mode. Press New Session and add programs through a
Run agordejo. You are now in the Quick View mode. Press New Session and add programs through a
single click on available program-icons. You can switch to the Full View mode via the tab to
get more options. Try right-clicking on many things to get context menus.
[see also]
The full documentation for Argodejo is maintained as a multi-lingual html site to your systems doc-dir.
The full documentation for Agordejo is maintained as a multi-lingual html site to your systems doc-dir.
For example:
xdg-open file:///usr/share/doc/argodejo/index.html
xdg-open file:///usr/share/doc/agordejo/index.html
The documentation can also be found online https://www.laborejo.org/documentation/argodejo
The documentation can also be found online https://www.laborejo.org/documentation/agordejo

2
documentation/nsm-data.1

@ -5,7 +5,7 @@ nsm-data \- manual page for nsm-data 1.0
.SH DESCRIPTION
usage: nsm\-data [\-h] [\-v]
.PP
nsm\-data is a module for Argodejo. It only communicates over OSC in an NSMSession and has no standalone functionality.
nsm\-data is a module for Agordejo. It only communicates over OSC in an NSMSession and has no standalone functionality.
.SS "optional arguments:"
.TP
\fB\-h\fR, \fB\-\-help\fR

90
documentation/out/english.html

@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Asciidoctor 2.0.10">
<meta name="author" content="Laborejo Software Suite">
<title>Argodejo</title>
<title>Agordejo</title>
<style>
/* Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */
/* Uncomment @import statement to use as custom stylesheet */
@ -438,7 +438,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
</head>
<body class="article toc2 toc-left">
<div id="header">
<h1>Argodejo</h1>
<h1>Agordejo</h1>
<div class="details">
<span id="author" class="author">Laborejo Software Suite</span><br>
</div>
@ -500,7 +500,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
<h2 id="_introduction">1. Introduction</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Argodejo (Esperanto: 'place to set things up') is a music production session manager.
<p>Agordejo (Esperanto: 'place to set things up') is a music production session manager.
It is used to start your programs, remember their (JACK) interconnections and make your life easier
in general.</p>
</div>
@ -509,7 +509,7 @@ in general.</p>
control and a detailed overview.</p>
</div>
<div class="paragraph">
<p>Argodejo does not re-invent the wheel but instead uses the New-Session-Manager daemon and enhances
<p>Agordejo does not re-invent the wheel but instead uses the New-Session-Manager daemon and enhances
it with some tricks of its own, that always remain 100% compatible with the original sessions.</p>
</div>
<div class="paragraph">
@ -519,7 +519,7 @@ implemented, most prominently anything related to NSM over network. There is alw
break things when trying out corner cases and hacks.</p>
</div>
<div class="paragraph">
<p>That said, for single-computer sessions with just one daemon and one GUI at the same time Argodejo
<p>That said, for single-computer sessions with just one daemon and one GUI at the same time Agordejo
should provide a good user experience.</p>
</div>
</div>
@ -552,18 +552,18 @@ real time, have synchronized timelines and play in the same tempo.</p>
<div class="paragraph">
<p>What remains is the tedious work of always starting all programs, loading project files, connecting
audio channels etc. Session management in general (e.g. specifically written starter script files)
and Argodejo in particular do this work for you, or at the very least, greatly simplify it.</p>
and Agordejo in particular do this work for you, or at the very least, greatly simplify it.</p>
</div>
<div class="paragraph">
<p>In contrast to the self-written script mentioned above, you don&#8217;t have to decide in advance on a
setup, but everything is saved automatically as long as you manage everything through Argodejo.</p>
setup, but everything is saved automatically as long as you manage everything through Agordejo.</p>
</div>
<div class="sect2">
<h3 id="_example">2.1. Example</h3>
<div class="ulist">
<ul>
<li>
<p>Start Argodejo (Start menu, terminal etc.)</p>
<p>Start Agordejo (Start menu, terminal etc.)</p>
</li>
<li>
<p>You are now in the "Quick View" to start a session</p>
@ -584,7 +584,7 @@ setup, but everything is saved automatically as long as you manage everything th
<p>If the program crashes you get a warning and can restart it.</p>
</li>
<li>
<p>Audio and midi ports can now be connected together in a patchbay. The connections are stored in Argodejo.</p>
<p>Audio and midi ports can now be connected together in a patchbay. The connections are stored in Agordejo.</p>
</li>
<li>
<p>To get more programs and advanced features you can switch to the tab "Full View</p>
@ -596,7 +596,7 @@ setup, but everything is saved automatically as long as you manage everything th
<p>If you are finished you can return to the session selection by pressing the button "Save and Close"</p>
</li>
<li>
<p>Now Argodejo could be closed itself.</p>
<p>Now Agordejo could be closed itself.</p>
</li>
<li>
<p>All stored data is in a single directory on the hard disk (<code>~/NSM Sessions/My Song</code>)</p>
@ -623,7 +623,7 @@ at least clicks).</p>
</div>
<div class="paragraph">
<p>For stability reasons, only programs are shown that are known to
work correctly with Argodejos session management.</p>
work correctly with Agordejos session management.</p>
</div>
<div class="paragraph">
<p>The Quick View is only a view. There is no technical difference to the full view and you can switch
@ -720,11 +720,11 @@ just a view, your data remains untouched.</p>
rename a session, delete it (including all associated files on the hard disk!) and more. These
functions are equivalent to your file manager. If you like, you can also use your file manager to
rename, move, or delete the session directories themselves (unless they are is currently open). You
don&#8217;t need to restart Argodejo to do this, it will respond to the changes while running.</p>
don&#8217;t need to restart Agordejo to do this, it will respond to the changes while running.</p>
</div>
<div class="paragraph">
<p>There is also the possibility to remove a so-called "lock" file. This is a file which is created
when the session starts and deleted when it ends. This tells Argodejo which session is currently
when the session starts and deleted when it ends. This tells Agordejo which session is currently
running. If a lock file exists, the session cannot be opened! This should not happen during normal
operation. But if a power failure or similar occurs in the middle of a session, the lock file may
remain, although obviously no session is opened. In this case, unlock the session manually by
@ -778,7 +778,7 @@ to hide its window if the program supports it. If not, nothing happens.</p>
<p>Ready, running</p>
</li>
<li>
<p>Launch, If the status halts here but the programs works, it is one that does not specifically support session mode. Argodejo cannot know if it is already running or not. Everything is fine! :)</p>
<p>Launch, If the status halts here but the programs works, it is one that does not specifically support session mode. Agordejo cannot know if it is already running or not. Everything is fine! :)</p>
</li>
<li>
<p>Other states are only transitions and usually only visible for a very short time, e.g. Open / Loading</p>
@ -844,7 +844,7 @@ lyrics, credits and sources from external Samples etc.</p>
<p>Add Client offers the option to add any program, whether it is in the program database or not.</p>
</li>
<li>
<p>Any installed programs are suggested. Argodejo doesn&#8217;t check them for usefulness for a music session, or even for runnability. You will find <code>ls</code> here as well as <code>argodejo</code> itself.</p>
<p>Any installed programs are suggested. Agordejo doesn&#8217;t check them for usefulness for a music session, or even for runnability. You will find <code>ls</code> here as well as <code>agordejo</code> itself.</p>
</li>
</ul>
</div>
@ -856,8 +856,8 @@ lyrics, credits and sources from external Samples etc.</p>
<h2 id="_program_database">5. Program-Database</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Argodejos launcher is based on a program database, which is partly self-generated, partly
maintained by hand. As in a start menu Argodejo will offer you only programs that are actually
<p>Agordejos launcher is based on a program database, which is partly self-generated, partly
maintained by hand. As in a start menu Agordejo will offer you only programs that are actually
installed on your system.</p>
</div>
<div class="paragraph">
@ -867,7 +867,7 @@ a few minutes.</p>
<div class="paragraph">
<p>If you are reinstalling or uninstalling audio programs, you will need to update the database via
the command in the control menu. Program installations and system changes are even possible while
Argodejo is running (even in a session). After a DB update you can immediately access all new
Agordejo is running (even in a session). After a DB update you can immediately access all new
programs.</p>
</div>
<div class="paragraph">
@ -902,11 +902,11 @@ search paths. One absolute directory path per line, no wildcards, trailing slash
<h2 id="_tray">6. Tray</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Argodejo has a tray icon, if your window manager supports it. A click on the trayicon shows or
hides Argodejo.</p>
<p>Agordejo has a tray icon, if your window manager supports it. A click on the trayicon shows or
hides Agordejo.</p>
</div>
<div class="paragraph">
<p>If you close Argodejo using the normal window manager function, such as a click on the [X], the
<p>If you close Agordejo using the normal window manager function, such as a click on the [X], the
program and the session is not terminated, but minimized to the tray.</p>
</div>
<div class="paragraph">
@ -919,7 +919,7 @@ program and the session is not terminated, but minimized to the tray.</p>
<p>If a session is already running you can save, cancel etc.</p>
</div>
<div class="paragraph">
<p>Argodejo can also be completely exited here.</p>
<p>Agordejo can also be completely exited here.</p>
</div>
</div>
</div>
@ -936,7 +936,7 @@ version.</p>
<h2 id="_program_parameters">8. Program parameters</h2>
<div class="sectionbody">
<div class="paragraph">
<p>As an advanced user, you can start Argodejo in the terminal and add some parameters.. For a
<p>As an advanced user, you can start Agordejo in the terminal and add some parameters.. For a
complete list please use the --help parameter.</p>
</div>
<div class="paragraph">
@ -951,7 +951,7 @@ complete list please use the --help parameter.</p>
<p><code>--continue</code> starts the last active session.</p>
</li>
<li>
<p><code>--hide</code> starts Argodejo as TrayIcon.</p>
<p><code>--hide</code> starts Agordejo as TrayIcon.</p>
</li>
<li>
<p><code>--url osc.udp://myhost.localdomain:14294/</code> connects to this server, if available, or starts the internal session server at this address. This is a very technical option and probably not needed.</p>
@ -964,8 +964,8 @@ complete list please use the --help parameter.</p>
<div class="paragraph">
<p>The combination of <code>--continue</code> and <code>--hide</code> is essentially what many people expect from Session
Management: Resuming at the previous state, without any extra windows in their way.
If your system uses a start menu you will find not only the normal Argodejo starter but also
"Argodejo Continue" to start this mode directly.</p>
If your system uses a start menu you will find not only the normal Agordejo starter but also
"Agordejo Continue" to start this mode directly.</p>
</div>
</div>
</div>
@ -973,7 +973,7 @@ If your system uses a start menu you will find not only the normal Argodejo star
<h2 id="_miscellaneous_explanations_faq">9. Miscellaneous / Explanations / FAQ</h2>
<div class="sectionbody">
<div class="paragraph">
<p><strong>Session Save and Exit responds slowly</strong>: Argodejo is not a standalone program like an word
<p><strong>Session Save and Exit responds slowly</strong>: Agordejo is not a standalone program like an word
processor. The participating programs in the session are not plugins either. When you end the
session a signal is sent to all participating client to save. This may take a few moments where
you are able to see "live" how individual programs terminate and disappear from the session.
@ -981,7 +981,7 @@ Everything is fine.</p>
</div>
<div class="paragraph">
<p><strong>I have added a program but it does not save with the session</strong>: Does the program support session
management? If not, Argodejo cannot do much. But you can ask the program developers to contact us
management? If not, Agordejo cannot do much. But you can ask the program developers to contact us
(<a href="mailto:info@laborejo.org">info@laborejo.org</a>) and we can work together on support.</p>
</div>
<div class="paragraph">
@ -990,13 +990,13 @@ we are also interested in improving the situation by offering at least an emerge
future.</p>
</div>
<div class="paragraph">
<p><strong>Argodejo won&#8217;t start! I start the program but I can&#8217;t see anything</strong>: Most likely Argodejo is
<p><strong>Agordejo won&#8217;t start! I start the program but I can&#8217;t see anything</strong>: Most likely Agordejo is
running, but invisible, because you exited it from the tray last time. Is it in the tray? A
message should have popped up, maybe you missed it. If there is no tray in your window manager, the
program should always be visible. With all these special window managers in Linux it may be that
the tray detection did not work properly. Contingency plan is to delete
<code>~/.config/LaborejoSoftwareSuite/argodejo</code>. This will NOT remove any sessions, but only local
settings such as the visibility of the program window. At next start Argodejo will behave like the
<code>~/.config/LaborejoSoftwareSuite/agordejo</code>. This will NOT remove any sessions, but only local
settings such as the visibility of the program window. At next start Agordejo will behave like the
very first start.</p>
</div>
<div class="paragraph">
@ -1010,7 +1010,7 @@ inevitable crashes).</p>
</div>
<div class="paragraph">
<p><strong>A program update broke my session because it can no longer load its files.</strong> Unfortunately, this is
a problem that even Argodejo can&#8217;t solve. It also happens with LV2 plugins and with all other
a problem that even Agordejo can&#8217;t solve. It also happens with LV2 plugins and with all other
software, such as office programs. If you fear that a program becomes incompatible in the future,
write down its version number in the session notes, so that you can at least, in an emergency,
reinstall the old program version (even if this is very is cumbersome).</p>
@ -1021,7 +1021,7 @@ management is worthwhile with two or more participating programs, which one need
</div>
<div class="paragraph">
<p>You should not feel compelled to suddenly make everything modular with individual programs, only
because you use a session manager. Argodejo is designed to make your music production easier. If it
because you use a session manager. Agordejo is designed to make your music production easier. If it
is faster and more comfortable to manage all plugins and effects e.g. in a single "Carla" instance
then you should do exactly that. If you basically want to do everything in Ardour, do that, but
start Ardour anyway in session management, because no program can do everything alone and the time
@ -1040,7 +1040,7 @@ directly do music production, but still is connected in the grander scheme: Ope
(OBS), music player, word processors and graphic programs etc.</p>
</div>
<div class="paragraph">
<p><strong>Argodejo contains functionality which is not within its scope</strong>: Music production is very complex
<p><strong>Agordejo contains functionality which is not within its scope</strong>: Music production is very complex
and complexity is inevitable. It&#8217;s like a waterbed: if you press down on one side, something
bounces up in another place. When you create a "clean and lean" program, which therefore implements
only a part of the complete workflow, then the missing part pops up somewhere else. A minimalistic
@ -1050,7 +1050,7 @@ session manager provokes plug-ins (not LV2), helper-scripts, workarounds and hac
<p>E.g. not to include file management provokes user errors like deleting the wrong files. If the SM
knows what to do and it can do it, then let it do it. Or crashes: Technically, crashing programs
are not the "problem" of the session managers, but they are part of the software reality. Crashes
happen every day and need to be handled. Can Argodejo simplify the work and help to restore good
happen every day and need to be handled. Can Agordejo simplify the work and help to restore good
conditions again? Then that should be done. Session management is also an opportunity to simplify
even complex technical scenarios, e.g. distributing sessions over the network.</p>
</div>
@ -1060,11 +1060,11 @@ even complex technical scenarios, e.g. distributing sessions over the network.</
<h2 id="_installation_and_start">10. Installation and Start</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Argodejo is exclusive for Linux. The best way to install is to use your package manager.
<p>Agordejo is exclusive for Linux. The best way to install is to use your package manager.
If it is not there, or only in an outdated version, please ask your Linux distribution to provide a recent version.</p>
</div>
<div class="paragraph">
<p>If not available in the package repository you can build Argodejo yourself.</p>
<p>If not available in the package repository you can build Agordejo yourself.</p>
</div>
<div class="ulist">
<div class="title">Build and Install</div>
@ -1080,7 +1080,7 @@ If it is not there, or only in an outdated version, please ask your Linux distri
<p>Download the latest version from <a href="https://www.laborejo.org/downloads" class="bare">https://www.laborejo.org/downloads</a> and extract it.</p>
</li>
<li>
<p>git clone <a href="https://git.laborejo.org/lss/argodejo.git" class="bare">https://git.laborejo.org/lss/argodejo.git</a></p>
<p>git clone <a href="https://git.laborejo.org/lss/agordejo.git" class="bare">https://git.laborejo.org/lss/agordejo.git</a></p>
</li>
</ul>
</div>
@ -1107,10 +1107,10 @@ If it is not there, or only in an outdated version, please ask your Linux distri
</ul>
</div>
<div class="paragraph">
<p>Now the program is available to run via your menu/launcher or <code>argodejo</code> in a terminal.</p>
<p>Now the program is available to run via your menu/launcher or <code>agordejo</code> in a terminal.</p>
</div>
<div class="paragraph">
<p>Please read README.md for other ways of starting argodejo, which are impractical for actual use but can
<p>Please read README.md for other ways of starting agordejo, which are impractical for actual use but can
be helpful for testing and development.</p>
</div>
</div>
@ -1119,7 +1119,7 @@ be helpful for testing and development.</p>
<h2 id="_help_and_development">11. Help and Development</h2>
<div class="sectionbody">
<div class="paragraph">
<p>You can help Argodejo in several ways: Testing and reporting errors, translating, marketing, support, programming and more.</p>
<p>You can help Agordejo in several ways: Testing and reporting errors, translating, marketing, support, programming and more.</p>
</div>
<div class="sect2">
<h3 id="_testing_and_reporting_errors">11.1. Testing and Reporting Errors</h3>
@ -1155,7 +1155,7 @@ The short version is: clone the git, change the code, create a git patch or poin
<div class="sect2">
<h3 id="_translations">11.3. Translations</h3>
<div class="paragraph">
<p>Argodejo is very easy to translate with the help of the Qt-Toolchain, without any need for programming.
<p>Agordejo is very easy to translate with the help of the Qt-Toolchain, without any need for programming.
The easiest way is to contact the developers and they will setup the new language.</p>
</div>
<div class="paragraph">
@ -1204,7 +1204,7 @@ The easiest way is to contact the developers and they will setup the new languag
</ul>
</div>
<div class="paragraph">
<p>You can also incorporate the translation into Argodejo for testing purposes. This requires rudimentary Python knowledge.</p>
<p>You can also incorporate the translation into Agordejo for testing purposes. This requires rudimentary Python knowledge.</p>
</div>
<div class="ulist">
<ul>
@ -1233,12 +1233,12 @@ The easiest way is to contact the developers and they will setup the new languag
</ul>
</div>
<div class="paragraph">
<p>To test the new translation you can either run the program normally, if your system is set to that language. Alternatively start argodejo via the terminal:</p>
<p>To test the new translation you can either run the program normally, if your system is set to that language. Alternatively start agordejo via the terminal:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>LANGUAGE=de_DE.UTF-8 ./argodejo -V --save /dev/null</code></p>
<p><code>LANGUAGE=de_DE.UTF-8 ./agordejo -V --save /dev/null</code></p>
</li>
</ul>
</div>

84
documentation/out/german.html

@ -6,7 +6,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Asciidoctor 2.0.10">
<meta name="author" content="Laborejo Software Suite">
<title>Argodejo</title>
<title>Agordejo</title>
<style>
/* Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */
/* Uncomment @import statement to use as custom stylesheet */
@ -438,7 +438,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
</head>
<body class="article toc2 toc-left">
<div id="header">
<h1>Argodejo</h1>
<h1>Agordejo</h1>
<div class="details">
<span id="author" class="author">Laborejo Software Suite</span><br>
</div>
@ -528,20 +528,20 @@ Echtzeit teilen, verfügen über synchronisierte Timelines und spielen im gleich
<div class="paragraph">
<p>Was übrig bleibt ist die leidige Arbeit jedesmal alle Programme zu starten, die Projektdateien zu
laden, alle Audiokanäle zu verbinden usw. Session Management im allgemeinen (z.B. extra
geschriebene Starter-Scriptdateien) und Argodejo im speziellen nehmen Ihnen diese Arbeit ab, oder
geschriebene Starter-Scriptdateien) und Agordejo im speziellen nehmen Ihnen diese Arbeit ab, oder
vereinfachen sie zumindest stark.</p>
</div>
<div class="paragraph">
<p>Im Gegensatz zum erwähnten selbstgeschriebenen Script müssen Sie sich nicht im Vorraus für ein
Setup entscheiden, sondern alles wird automatisch verwaltet, solange Sie alles durch den Session
Manager Argodejo starten.</p>
Manager Agordejo starten.</p>
</div>
<div class="sect2">
<h3 id="_anwendungsbeispiel">1.1. Anwendungsbeispiel</h3>
<div class="ulist">
<ul>
<li>
<p>Argodejo starten (Startmenü, Terminal etc.)</p>
<p>Agordejo starten (Startmenü, Terminal etc.)</p>
</li>
<li>
<p>Man befindet sich nun in der "Schnellen Ansicht" um eine Session zu starten</p>
@ -562,7 +562,7 @@ Manager Argodejo starten.</p>
<p>Sollte das Programm abstürzen bekommt man das signalisiert und kann es neustarten.</p>
</li>
<li>
<p>Audio- und Midiports können nun in einer Patchbay miteinander verbunden werden. Die Verbindungen werden in Argodejo gespeichert.</p>
<p>Audio- und Midiports können nun in einer Patchbay miteinander verbunden werden. Die Verbindungen werden in Agordejo gespeichert.</p>
</li>
<li>
<p>Um andere Programme und erweiterte Funktionen zu bekommen kann man in den Tab "Volle Ansicht" wechseln</p>
@ -574,7 +574,7 @@ Manager Argodejo starten.</p>
<p>Ist man soweit fertig kommt man durch den Knopf "Speichern und Schließen" wieder in die Sessionauswahl zurück</p>
</li>
<li>
<p>Nun könnte Argodejo geschlossen werden.</p>
<p>Nun könnte Agordejo geschlossen werden.</p>
</li>
<li>
<p>Alle gespeicherten Daten liegen in einem einzigen Verzeichnis auf der Festplatte (<code>~/NSM Sessions/Mein Lied</code>)</p>
@ -602,7 +602,7 @@ eine alte Session starten oder eine neue erstellen können.</p>
</div>
<div class="paragraph">
<p>Aus Stabilitätsgründen werden nur Programme zum Starten angeboten, von denen bekannt ist, dass Sie
korrekt mit dem Session Management Argodejos zusammenarbeiten.</p>
korrekt mit dem Session Management Agordejos zusammenarbeiten.</p>
</div>
<div class="paragraph">
<p>Die Schnelle Ansicht ist lediglich eine Ansicht. Es besteht kein technischer Unterschied zur vollen
@ -702,7 +702,7 @@ sortieren zu können. Das ist nur eine Ansicht, ihre Daten bleiben unangetastet.
eine Session umbennen, löschen (inkl. aller dazugehörigen Dateien auf der Festplatte!) und mehr.
Diese Funktionen sind gleichwertig zu ihrem Dateimanager. Falls Sie möchten, können Sie auch
einfach die Sessionverzeichnisse selbst umbennen, verschieben oder löschen (sofern diese nicht
gerade geöffnet ist). Dazu muss Argodejo nicht neugestartet werden, es reagiert selbst auf die
gerade geöffnet ist). Dazu muss Agordejo nicht neugestartet werden, es reagiert selbst auf die
Änderungen.</p>
</div>
<div class="paragraph">
@ -762,7 +762,7 @@ um, sofern das Programm unterstüzt sein Fenster zu verstecken. Falls nicht pass
<p>Ready / Läuft und Bereit</p>
</li>
<li>
<p>Launch / Startet. Wenn das Programm hier stehen bleibt, aber funktioniert, handelt es sich um eins, dass nicht speziell den Sessionmodus unterstützt. Argodejo kann nicht wissen, ob es bereits läuft oder nicht. Alles ist in Ordnung! :)</p>
<p>Launch / Startet. Wenn das Programm hier stehen bleibt, aber funktioniert, handelt es sich um eins, dass nicht speziell den Sessionmodus unterstützt. Agordejo kann nicht wissen, ob es bereits läuft oder nicht. Alles ist in Ordnung! :)</p>
</li>
<li>
<p>Weitere Zustände sind nur Übergänge und meist nur sehr kurz zu sehen, z.B. Open / Läd gerade</p>
@ -830,7 +830,7 @@ Samples etc.</p>
<p>Client Hinzufügen bietet die Option ein beliebiges Programm hinzuzufügen, egal ob es in der Programmdatenbank ist, oder nicht.</p>
</li>
<li>
<p>Es werden alle installierten Programme vorgeschlagen. Argodejo überprüft diese nicht auf Sinnhaftigkeit für eine Musik-Session, oder auch nur auf Lauffähigkeit. Sie finden hier <code>ls</code> wie auch <code>argodejo</code> selbst.</p>
<p>Es werden alle installierten Programme vorgeschlagen. Agordejo überprüft diese nicht auf Sinnhaftigkeit für eine Musik-Session, oder auch nur auf Lauffähigkeit. Sie finden hier <code>ls</code> wie auch <code>agordejo</code> selbst.</p>
</li>
</ul>
</div>
@ -842,9 +842,9 @@ Samples etc.</p>
<h2 id="_programm_datenbank">4. Programm-Datenbank</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Argodejos Programmstarter basiert auf einer Programmdatenbank, die sich teilweise selbst erstellt,
<p>Agordejos Programmstarter basiert auf einer Programmdatenbank, die sich teilweise selbst erstellt,
teilweise von Hand eingepflegt wurde. Das bedeutet nichts anderes, als das alle installieren
Programme in ihrem System überprüft werden (wie ein Startmenü) und Ihnen im Argodejo-Starter nur
Programme in ihrem System überprüft werden (wie ein Startmenü) und Ihnen im Agordejo-Starter nur
das angeboten wird, was Sie auch tatsächlich installiert haben.</p>
</div>
<div class="paragraph">
@ -854,7 +854,7 @@ Augenblicke bis einige Minuten dauern.</p>
<div class="paragraph">
<p>Wenn Sie Audio-Programme neu installieren, oder deinstallieren müssen Sie die Datenbank selbst
aktualisieren. Im Steuerungsmenü gibt es den Befehl. Programminstallationen sind sogar möglich
während Argodejo läuft (auch in einer Session). Nach einem DB-Update stehen Ihnen sofort alle
während Agordejo läuft (auch in einer Session). Nach einem DB-Update stehen Ihnen sofort alle
neuen Programme zur Verfügung.</p>
</div>
<div class="paragraph">
@ -893,11 +893,11 @@ Verzeichnis.</p>
<h2 id="_tray">5. Tray</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Argodejo verfügt über ein Tray-Icon, sofern ihr Windowmanager das unterstüzt. Ein Klick auf das
Trayicon zeigt oder versteckt Argodejo.</p>
<p>Agordejo verfügt über ein Tray-Icon, sofern ihr Windowmanager das unterstüzt. Ein Klick auf das
Trayicon zeigt oder versteckt Agordejo.</p>
</div>
<div class="paragraph">
<p>Schließt man Argodejo über die normale Windowmanagerfunktion, etwa ein Klick auf das [X], wird das
<p>Schließt man Agordejo über die normale Windowmanagerfunktion, etwa ein Klick auf das [X], wird das
Programm und die Session nicht beendet, sondern in den Tray minimiert.</p>
</div>
<div class="paragraph">
@ -910,7 +910,7 @@ Programm und die Session nicht beendet, sondern in den Tray minimiert.</p>
<p>Läuft bereits eine Session können Sie speichern, abbrechen etc.</p>
</div>
<div class="paragraph">
<p>Argodejo kann hier auch komplett beendet werden.</p>
<p>Agordejo kann hier auch komplett beendet werden.</p>
</div>
</div>
</div>
@ -927,7 +927,7 @@ vorgesehen.</p>
<h2 id="_programmparameter">7. Programmparameter</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Als fortgeschrittener Benutzer können Sie Argodejo im Terminal starten und dort einige Parameter
<p>Als fortgeschrittener Benutzer können Sie Agordejo im Terminal starten und dort einige Parameter
angeben. Für eine vollständige Liste benutzen Sie bitte den --help Parameter.</p>
</div>
<div class="paragraph">
@ -942,7 +942,7 @@ angeben. Für eine vollständige Liste benutzen Sie bitte den --help Parameter.<
<p><code>--continue</code> startet die zuletzt benutzte Session</p>
</li>
<li>
<p><code>--hide</code> startet Argodejo als Trayicon.</p>
<p><code>--hide</code> startet Agordejo als Trayicon.</p>
</li>
<li>
<p><code>--url osc.udp://myhost.localdomain:14294/</code> verbindet sich zu diesem Server, falls vorhanden, oder startet den internen Session-Server unter dieser Adresse. Dies ist eine sehr technische Option und wird wahrscheinlich nicht benötigt.</p>
@ -955,8 +955,8 @@ angeben. Für eine vollständige Liste benutzen Sie bitte den --help Parameter.<
<div class="paragraph">
<p>Die Kombination von <code>--continue</code> und <code>--hide</code> ergibt einen Modus, den viele Leute vom Session Management
erwarten: dort weiter machen wo man aufgehört hat, ohne dass Extrafenster angezeigt werden.
Falls Ihr System über ein Startmenü verfügt finden Sie daher neben dem normalen Argodejo-Starter
auch eine "Argodejo Continue"-Verknüpfung für genau diesen Modus.</p>
Falls Ihr System über ein Startmenü verfügt finden Sie daher neben dem normalen Agordejo-Starter
auch eine "Agordejo Continue"-Verknüpfung für genau diesen Modus.</p>
</div>
</div>
</div>
@ -964,7 +964,7 @@ auch eine "Argodejo Continue"-Verknüpfung für genau diesen Modus.</p>
<h2 id="_verschiedenes_erklärungen_faq">8. Verschiedenes / Erklärungen / FAQ</h2>
<div class="sectionbody">
<div class="paragraph">
<p><strong>Session Speichern und Beenden reagiert langsam</strong>: Argodejo ist kein Einzelprogramm wie ein
<p><strong>Session Speichern und Beenden reagiert langsam</strong>: Agordejo ist kein Einzelprogramm wie ein
Office-Writer. Die teilnehmenden Programme in der Session sind auch keine Plugins. Wenn Sie die
Session beenden wird ein Signal an alle teilnehmenden Programme gesendet, dass sie speichern
sollen. Das kann ein paar Momente dauern, in denen Sie "live" mitverfolgen, wie die einzelnen
@ -972,7 +972,7 @@ Programme sich beenden und aus der Session verschwinden. Es ist alles in Ordnung
</div>
<div class="paragraph">
<p><strong>Ich habe ein Programm hinzugefügt aber es speichert nicht mit der Session</strong>:
Unterstützt das Programm Session Management? Wenn nicht, kann Argodejo nichts tun.
Unterstützt das Programm Session Management? Wenn nicht, kann Agordejo nichts tun.
Aber Sie können die Programmentwickler bitten mit uns Kontakt aufzunehmen (<a href="mailto:info@laborejo.org">info@laborejo.org</a>)
und wir können zusammen an der Unterstützung arbeiten.</p>
</div>
@ -982,14 +982,14 @@ Das tut uns leid. Eigentlich sind die Programme selbst schuld, aber auch wir sin
interessiert die Situation zu verbessen, indem wir in Zukunft zumindest eine Notlösung anbieten.</p>
</div>
<div class="paragraph">
<p><strong>Argodejo startet nicht mehr! Ich starte das Programm aber ich sehe nichts.</strong>: Wahrscheinlich ist
Argodejo unsichtbar, weil Sie es aus dem Tray heraus beendet hatten. Ist es im Tray? Eigentlich
<p><strong>Agordejo startet nicht mehr! Ich starte das Programm aber ich sehe nichts.</strong>: Wahrscheinlich ist
Agordejo unsichtbar, weil Sie es aus dem Tray heraus beendet hatten. Ist es im Tray? Eigentlich
hätte ein kleines Nachrichtenfenster aufpoppen sollen. Falls in ihrem Window-Manager kein Tray
vorhanden ist sollte das Programm immer sichtbar sein. Bei besonderen Window-Managern (bei der
großen Auswahl in Linux) kann es sein, dass die Tray-Erkennung nicht richtig funktioniert hat.
Notfallplan ist es <code>~/.config/LaborejoSoftwareSuite/argodejo</code> zu löschen. Dabei werden KEINE
Notfallplan ist es <code>~/.config/LaborejoSoftwareSuite/agordejo</code> zu löschen. Dabei werden KEINE
Sessions gelöscht, sondern nur lokale Einstellungen wie die Sichtbarkeit des Programmfensters. Beim
nächsten Start wird Argodejo sich verhalten wie beim allerersten.</p>
nächsten Start wird Agordejo sich verhalten wie beim allerersten.</p>
</div>
<div class="paragraph">
<p><strong>JACK ist abgestürzt. Viele Programme hängen. Was tun um Datenverlust zu vermeiden?</strong>:
@ -1002,7 +1002,7 @@ manuell im Dateimanager eine Kopie des Session-Verzeichnisses machen.</p>
</div>
<div class="paragraph">
<p><strong>Ein Programmupdate hat meine Session kaputtgemacht, weil es seine Dateien nicht mehr laden kann.</strong>:
Das ist leider ein Problem, dass auch Argodejo nicht lösen kann. Es passiert mit LV2-Plugins ebenso
Das ist leider ein Problem, dass auch Agordejo nicht lösen kann. Es passiert mit LV2-Plugins ebenso
wie mit alle anderen Software, etwa Officeprogramme. Falls Sie befürchten, dass ein Programm in
Zukunft inkompatibel wird notieren Sie sich dessen Versionsnummer in den Session-Notizen, damit Sie
zumindest zur Not die alte Programmversion wieder installieren können (auch wenn das sehr
@ -1017,7 +1017,7 @@ immer.</p>
<div class="paragraph">
<p>Sie sollten sich nicht genötigt fühlen plötzlich alles modular mit Einzelprogrammen zu machen, nur
weil Sie einen Session Manager benutzen.
Argodejo ist dafür da, ihre Musikproduktion einfacher zu machen. Wenn es schneller und bequemer ist
Agordejo ist dafür da, ihre Musikproduktion einfacher zu machen. Wenn es schneller und bequemer ist
alle Plugins und Effekte z.B. in einer einzelnen Carla-Instanz zu verwalten dann sollten Sie genau
das machen.
Wenn Sie prinzipiell alles in Ardour machen wollen, machen Sie das, aber starten Sie Ardour trotzdem
@ -1038,7 +1038,7 @@ aber trotzdem inhaltlich dazu gehört: Open Broadcast Studio (OBS), Musikplayer,
und Grafikprogramme etc.</p>
</div>
<div class="paragraph">
<p><strong>Argodejo beinhaltet Funktionalität, die nicht seine Aufgabe ist</strong>: Musikproduktion ist sehr komplex
<p><strong>Agordejo beinhaltet Funktionalität, die nicht seine Aufgabe ist</strong>: Musikproduktion ist sehr komplex
und Komplexität ist unvermeidlich. Sie ist wie ein Wasserbett: Drückt man die auf der einen Seite
runter, muss etwas an einen anderen Stelle hochdrücken. Macht man ein programm "clean and lean",
und implementiert damit nur einen Teil des kompletten Arbeitsablaufs, dann kommt der fehlende Teil
@ -1050,7 +1050,7 @@ ist, und er es tun kann, dann soll er es machen.</p>
<div class="paragraph">
<p>Oder Abstürze: Technisch gesehen sind abstürzende Programme nicht das "Problem" des Session
Managers, aber sie sind Teil der Softwarewirklichkeit. Abstürze passieren jeden Tag und nun muss
man damit umgehen. Kann Argodejo die Arbeit vereinfachen und helfen den guten Zustand wieder
man damit umgehen. Kann Agordejo die Arbeit vereinfachen und helfen den guten Zustand wieder
herzustellen? Dann sollte das geschehen.</p>
</div>
<div class="paragraph">
@ -1063,12 +1063,12 @@ Sessions über das Netzwerk zu verteilen.</p>
<h2 id="_installation_und_start">9. Installation und Start</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Argodejo ist exklusiv für Linux. Am besten installieren Sie Argodejo über deinen Paketmanager.
<p>Agordejo ist exklusiv für Linux. Am besten installieren Sie Agordejo über deinen Paketmanager.
Falls es dort nicht vorhanden ist, oder nur in einer veralteten Version, bitten sie ihre
Linuxdistribution Argodejo bereitzustellen.</p>
Linuxdistribution Agordejo bereitzustellen.</p>
</div>
<div class="paragraph">
<p>Falls nicht in den Paketquellen vorhanden kann man Argodejo auch selbst "bauen".</p>
<p>Falls nicht in den Paketquellen vorhanden kann man Agordejo auch selbst "bauen".</p>
</div>
<div class="ulist">
<div class="title">Abhängigkeiten*</div>
@ -1084,7 +1084,7 @@ Linuxdistribution Argodejo bereitzustellen.</p>
<p>Laden Sie von <a href="https://www.laborejo.org/downloads" class="bare">https://www.laborejo.org/downloads</a> die aktuelle Version herunter und entpacken Sie sie.</p>
</li>
<li>
<p><code>git clone <a href="https://git.laborejo.org/lss/argodejo.git" class="bare">https://git.laborejo.org/lss/argodejo.git</a></code></p>
<p><code>git clone <a href="https://git.laborejo.org/lss/agordejo.git" class="bare">https://git.laborejo.org/lss/agordejo.git</a></code></p>
</li>
</ul>
</div>
@ -1109,10 +1109,10 @@ Linuxdistribution Argodejo bereitzustellen.</p>
</ul>
</div>
<div class="paragraph">
<p>Nun ist das Programm durch <code>argodejo</code> in ihrem Terminal oder Programmstarter vorhanden.</p>
<p>Nun ist das Programm durch <code>agordejo</code> in ihrem Terminal oder Programmstarter vorhanden.</p>
</div>
<div class="paragraph">
<p>In der Datei README.md befinden sich weitere Möglichkeiten argodejo zu starten. Diese sind zum
<p>In der Datei README.md befinden sich weitere Möglichkeiten agordejo zu starten. Diese sind zum
Musikmachen nicht praktikabel, aber nützlich für Tests und Entwicklung.</p>
</div>
</div>
@ -1121,7 +1121,7 @@ Musikmachen nicht praktikabel, aber nützlich für Tests und Entwicklung.</p>
<h2 id="_helfen_und_entwicklung">10. Helfen und Entwicklung</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Sie können Argodejo auf viele Arten und Weisen helfen: Testen und Fehler melden, übersetzen, marketing,
<p>Sie können Agordejo auf viele Arten und Weisen helfen: Testen und Fehler melden, übersetzen, marketing,
anderen Nutzern helfen und schließlich programmieren.</p>
</div>
<div class="sect2">
@ -1160,7 +1160,7 @@ Kurzversion: clone git, programmieren, einen git-patch erstellen oder uns eine g
<div class="sect2">
<h3 id="_übersetzungen">11.1. Übersetzungen</h3>
<div class="paragraph">
<p>Argodejo ist mit Hilfe der Qt-Toolchain sehr einfach zu übersetzen, ohne, dass man dafür Programmieren muss.
<p>Agordejo ist mit Hilfe der Qt-Toolchain sehr einfach zu übersetzen, ohne, dass man dafür Programmieren muss.
Die einfachste Variante ist es einfach die Entwickler anzusprechen und sie werden die neue Sprache einrichten.</p>
</div>
<div class="paragraph">
@ -1239,12 +1239,12 @@ Python Kentnisse nötig.</p>
<div class="paragraph">
<p>Um die neue Übersetzung zu testen starten Sie das Programm, falls ihr System bereits auf diese
Sprache eingstellt ist.
Ansonsten starten Sie argodejo mit diesem Befehl, Sprachcode ändern, vom Terminal aus:</p>
Ansonsten starten Sie agordejo mit diesem Befehl, Sprachcode ändern, vom Terminal aus:</p>
</div>
<div class="ulist">
<ul>
<li>
<p><code>LANGUAGE=de_DE.UTF-8 ./argodejo -V</code></p>
<p><code>LANGUAGE=de_DE.UTF-8 ./agordejo -V</code></p>
</li>
</ul>
</div>

4
documentation/out/index.html

@ -5,7 +5,7 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="generator" content="Asciidoctor 2.0.10">
<title>Argodejo Multi-Language Documentation</title>
<title>Agordejo Multi-Language Documentation</title>
<style>
/* Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */
/* Uncomment @import statement to use as custom stylesheet */
@ -440,7 +440,7 @@ body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-b
</div>
<div id="content">
<div class="sect1">
<h2 id="_argodejo_multi_language_documentation">Argodejo Multi-Language Documentation</h2>
<h2 id="_agordejo_multi_language_documentation">Agordejo Multi-Language Documentation</h2>
<div class="sectionbody">
<div class="imageblock">
<div class="content">

2
engine/api.py

@ -337,7 +337,7 @@ def clientShowAll():
nsmServerControl.allClientsShow()
def clientNameOverride(clientId:str, name:str):
"""An argodejo-specific function that requires the client nsm-data in the session.
"""An agordejo-specific function that requires the client nsm-data in the session.
If nsm-data is not present this function will write nothing, not touch any data.
It will still send a callback to revert any GUI changes back to the original name.

12
engine/config.py

@ -7,7 +7,7 @@ METADATA={
#The pretty name of this program. Used for NSM display and Jack client name
#Can contain everything a linux file/path supports. Never change this or it will break the
#session, making your file unable to load and destroying saved Jack connections.
"name" : "Argodejo",
"name" : "Agordejo",
#Set this to the name the user types into a terminal.
#MUST be the same as the binary name as well as the name in configure.
@ -15,7 +15,7 @@ METADATA={
#Should not contain spaces or special characters. We use this as save file extension as well
#to distinguish between compatible program versions. In basic programs this will just be e.g.
#patroneo. But in complex programs with a bright future it will be "laborejo1" "laborejo2" etc.
"shortName" : "argodejo",
"shortName" : "agordejo",
#A very short description used in various places: Desktop file, overview on the website,
#release announcements, entries in software directories etc.
@ -24,7 +24,7 @@ METADATA={
"version" : "0.1",
"year" : "2020",
"author" : "Laborejo Software Suite",
"url" : "https://www.laborejo.org/argodejo",
"url" : "https://www.laborejo.org/agordejo",
#English is automatic.
"supportedLanguages" : {"German":"de.qm"},
@ -40,14 +40,14 @@ METADATA={
#Various strings for the README
#Extra whitespace will be stripped so we don't need to worry about docstring indentation
"description" : """
Argodejo (Esperanto: 'place to set things up') is a music production session manager.
Agordejo (Esperanto: 'place to set things up') is a music production session manager.
It is used to start your programs, remember their (JACK) interconnections and make your life easier
in general.
""" + "\n" + """
You can seamlessly change between two view modes to quickly start a few programs or have complete
control and a detailed overview.
""" + "\n" + """
Argodejo does not re-invent the wheel but instead uses the New-Session-Manager daemon and enhances
Agordejo does not re-invent the wheel but instead uses the New-Session-Manager daemon and enhances
it with some tricks of its own, that always remain 100% compatible with the original sessions.
""" + "\n" + """
This is a proof of concept version. It aims to show that session management with NSM can be quick
@ -55,7 +55,7 @@ and convenient and make the user feel in control. Some functionality has not yet
implemented, most prominently anything related to NSM over network. There is always the possibility to
break things when trying out corner cases and hacks.
""" + "\n" + """
That said, for single-computer sessions with just one daemon and one GUI at the same time Argodejo
That said, for single-computer sessions with just one daemon and one GUI at the same time Agordejo
should provide a good user experience.
""", #this is the dict-comma.

32
engine/findprograms.py

@ -34,8 +34,8 @@ def nothing(*args): pass
class SupportedProgramsDatabase(object):
"""Find all binaries with NSM support. Resources are:
* Argodejo internal program list of known working programs.
* Internal blacklist of known redundant programs (such as non-daw) or nonsense entries, like Argodejo itself
* Agordejo internal program list of known working programs.
* Internal blacklist of known redundant programs (such as non-daw) or nonsense entries, like Agordejo itself
* A search through the users path to find stray programs that contain NSM announce messages
* Finally, local to a users system: User whitelist for any program, user blacklist.
Those two have the highest priority.
@ -59,8 +59,8 @@ class SupportedProgramsDatabase(object):
missing data.
We add two keys ourselves:
"argodejoExec" : this is the one we will send to nsmd.
"argodejoIconPath" : absolute path as str if we found an icon, so that a GUI does need to search on its own
"agordejoExec" : this is the one we will send to nsmd.
"agordejoIconPath" : absolute path as str if we found an icon, so that a GUI does need to search on its own
"""
def __init__(self):
@ -68,7 +68,7 @@ class SupportedProgramsDatabase(object):
self.grepexcluded = (pathlib.Path(PATHS["share"], "grepexcluded.txt")) #created by hand. see docstring
#assert self.grepexcluded.exists()
self.blacklist = ("nsmd", "non-daw", "carla", "argodejo", "adljack", "argodejo.bin") #only programs that have to do with audio and music. There is another general blacklist that speeds up discovery
self.blacklist = ("nsmd", "non-daw", "carla", "agordejo", "adljack", "agordejo.bin") #only programs that have to do with audio and music. There is another general blacklist that speeds up discovery
self.whiteList = ("thisdoesnotexisttest", "patroneo", "vico",
"fluajho", "carla-rack", "carla-patchbay", "carla-jack-multi", "carla-jack-single",
"ardour5", "ardour6", "nsm-data", "jackpatch", "nsm-proxy", "ADLplug", "ams",
@ -89,7 +89,7 @@ class SupportedProgramsDatabase(object):
"amsynth" : "amsynth.desktop",
}
self._reverseKnownDesktopFiles = dict(zip(self.knownDesktopFiles.values(),self.knownDesktopFiles.keys())) #to lookup the exe by desktoip name
self.programs = [] #list of dicts. guaranteed keys: argodejoExec, name, argodejoFullPath. And probably others, like description and version.
self.programs = [] #list of dicts. guaranteed keys: agordejoExec, name, agordejoFullPath. And probably others, like description and version.
self.nsmExecutables = set() #set of executables for fast membership, if a GUI wants to know if they are available. Needs to be build "manually" with self.programs. no auto-property for a list. at least we don't want to do the work.
#.build needs to be called from the api/GUI.
#self.unfilteredExecutables = self.buildCache_unfilteredExecutables() #This doesn't take too long. we can start that every time. It will get updated in build as well.
@ -170,7 +170,7 @@ class SupportedProgramsDatabase(object):
self.programs = cache["programs"] #list of dicts
findicons.updateCache(cache["iconPaths"])
logger.info("Restoring program list from serialized cache")
self.nsmExecutables = set(d["argodejoExec"] for d in self.programs)
self.nsmExecutables = set(d["agordejoExec"] for d in self.programs)
def getCache(self)->dict:
"""To carry the DB over restarts. Saved by Qt Settings at the moment"""
@ -194,7 +194,7 @@ class SupportedProgramsDatabase(object):
self.progressHook("")
self.programs = self._build() #builds iconPaths as side-effect
self.unfilteredExecutables = self.buildCache_unfilteredExecutables()
self.nsmExecutables = set(d["argodejoExec"] for d in self.programs)
self.nsmExecutables = set(d["agordejoExec"] for d in self.programs)
self._buildWhitelist()
self.progressHook("")
self.progressHook = nothing
@ -226,18 +226,18 @@ class SupportedProgramsDatabase(object):
self.progressHook(f"{fullPath}")
entry = self._exeToDesktopEntry(exe)
if entry: #Found match!
entry["argodejoFullPath"] = fullPath
entry["agordejoFullPath"] = fullPath
#We don't want .desktop syntax like "qmidiarp %F"
entry["argodejoExec"] = exe
entry["agordejoExec"] = exe
if entry["icon"]:
foundIcon = findicons.findIconPath(entry["icon"])
else:
foundIcon = findicons.findIconPath(entry["argodejoExec"])
foundIcon = findicons.findIconPath(entry["agordejoExec"])
if foundIcon:
entry["argodejoIconPath"] = str(foundIcon[0]) #pick best resolution
entry["agordejoIconPath"] = str(foundIcon[0]) #pick best resolution
else:
entry["argodejoIconPath"] = None
entry["agordejoIconPath"] = None
matches.append(entry)
@ -247,7 +247,7 @@ class SupportedProgramsDatabase(object):
pass #Double entries like zyn-jack zyn-alsa etc.
for exe,fullPath in leftovers:
pseudoEntry = {"name": exe.title(), "argodejoExec":exe, "argodejoFullPath":fullPath}
pseudoEntry = {"name": exe.title(), "agordejoExec":exe, "agordejoFullPath":fullPath}
matches.append(pseudoEntry)
return matches
@ -270,7 +270,7 @@ class SupportedProgramsDatabase(object):
#Assumes to be called only from self.build
startexecutables = set(self.whiteList + self.userWhitelist)
for prog in self.programs:
prog["whitelist"] = prog["argodejoExec"] in startexecutables
prog["whitelist"] = prog["agordejoExec"] in startexecutables
"""
matches = []
@ -278,7 +278,7 @@ class SupportedProgramsDatabase(object):
entry = self._exeToDesktopEntry(exe)
if entry: #Found match!
#We don't want .desktop syntax like "qmidiarp %F"
entry["argodejoExec"] = exe
entry["agordejoExec"] = exe
matches.append(entry)
return matches
"""

42
engine/nsmservercontrol.py

@ -421,21 +421,21 @@ class NsmServerControl(object):
This socket is only
"""
self.singleInstanceSocket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
logger.info("Testing if another non-specific Argodejo is running.")
logger.info("Testing if another non-specific Agordejo is running.")
try:
## Create an abstract socket, by prefixing it with null.
# this relies on a feature only in linux, when current process quits, the
# socket will be deleted.
self.singleInstanceSocket.bind('\0' + "argodejo")
self.singleInstanceSocket.bind('\0' + "agordejo")
self.singleInstanceSocket.listen(1)
self.singleInstanceSocket.setblocking(False)
logger.info("No other non-specific Argodejo found. Starting GUI")
logger.info("No other non-specific Agordejo found. Starting GUI")
#Continue in self.processSingleInstance()
return True
except socket.error:
logger.error("GUI for this nsmd server already running. Informing the existing application to show itself.")
self.singleInstanceSocket.connect('\0' + "argodejo")
self.singleInstanceSocket.send("argodejoactivate".encode());
self.singleInstanceSocket.connect('\0' + "agordejo")
self.singleInstanceSocket.send("agordejoactivate".encode());
self.singleInstanceSocket.close()
sysexit(1) #triggers atexit
#print ("not executed")
@ -449,7 +449,7 @@ class NsmServerControl(object):
try:
connection, client_address = self.singleInstanceSocket.accept() #This blocks and waits for a message
incoming = connection.recv(1024)
if incoming and incoming == b"argodejoactivate":
if incoming and incoming == b"agordejoactivate":
self.singleInstanceActivateWindowHook()
except BlockingIOError: #happens while no data is received. Has nothing to do with blocking or not. In fact: this happens when in non-blocking mode.
pass
@ -990,7 +990,7 @@ class NsmServerControl(object):
the rest is a list of arguments.
Attention: a broadcast is not saved by the server. You either are in the session to receive
it or you will miss it. If we run Argodejo as attached GUI (incl. --load-session) a broadcast
it or you will miss it. If we run Agordejo as attached GUI (incl. --load-session) a broadcast
after the session was loaded, where programs announce themselves to all other clients,
will not be received here. Such is the case with our data-client.
"""
@ -1000,10 +1000,10 @@ class NsmServerControl(object):
#Our little trick. We know and like some clients better than others.
#If we detect our own data-storage we remember our friends.
#It is possible that another datastorage broadcasts, then we overwrite the URL.
if parameters and parameters[0] == "/argodejo/datastorage/announce":
if parameters and parameters[0] == "/agordejo/datastorage/announce":
path, clientId, messageSizeLimit, url = parameters
assert "osc.udp" in url
logger.info(f"Got announce from argodejo datastorage clientId {clientId} @ {url}")
logger.info(f"Got announce from agordejo datastorage clientId {clientId} @ {url}")
o = urlparse(url)
self.dataStorage = DataStorage(self, clientId, messageSizeLimit, (o.hostname, o.port), self.sock)
@ -1378,7 +1378,7 @@ class NsmServerControl(object):
#data-storage / nsm-data
def clientNameOverride(self, clientId:str, name:str):
"""An argodejo-specific function that requires the client nsm-data in the session.
"""An agordejo-specific function that requires the client nsm-data in the session.
If nsm-data is not present this function will write nothing, not touch any data.
It will still send a callback to revert any GUI changes back to the original name.
@ -1609,24 +1609,24 @@ class DataStorage(object):
def getAll(self):
"""Mirror everything from nsm-data"""
msg = _OutgoingMessage("/argodejo/datastorage/getall")
msg = _OutgoingMessage("/agordejo/datastorage/getall")
msg.add_arg(self.ip)
msg.add_arg(self.port)
self.sock.sendto(msg.build(), self.url)
jsonString = self._waitForMultipartMessage("/argodejo/datastorage/reply/getall")
jsonString = self._waitForMultipartMessage("/agordejo/datastorage/reply/getall")
return json.loads(jsonString)
def setClientOverrideName(self, clientId:str, value):
"""We accept empty string as a name to remove the name override"""
assert clientId in self.clients, self.clients
msg = _OutgoingMessage("/argodejo/datastorage/setclientoverridename")
msg = _OutgoingMessage("/agordejo/datastorage/setclientoverridename")
msg.add_arg(clientId)
msg.add_arg(json.dumps(value))
self.sock.sendto(msg.build(), self.url)
self.getClientOverrideName(clientId) #verifies data and triggers callback
def getClientOverrideName(self, clientId:str):
msg = _OutgoingMessage("/argodejo/datastorage/getclientoverridename")
msg = _OutgoingMessage("/agordejo/datastorage/getclientoverridename")
msg.add_arg(clientId)
msg.add_arg(self.ip)
msg.add_arg(self.port)
@ -1641,7 +1641,7 @@ class DataStorage(object):
break
msg = _IncomingMessage(data)
if msg.oscpath == "/argodejo/datastorage/reply/getclient":
if msg.oscpath == "/agordejo/datastorage/reply/getclient":
replyClientId, jsonName = msg.params
assert replyClientId == clientId, (replyClientId, clientId)
break
@ -1666,7 +1666,7 @@ class DataStorage(object):
chunks = self._chunkstring(text)
descriptionId = str(id(text))[:8]
for index, chunk in enumerate(chunks):
msg = _OutgoingMessage("/argodejo/datastorage/setdescription")
msg = _OutgoingMessage("/agordejo/datastorage/setdescription")
msg.add_arg(descriptionId)
msg.add_arg(index)
msg.add_arg(chunk)
@ -1696,7 +1696,7 @@ class DataStorage(object):
def read(self, key:str):
"""Request one value"""
msg = _OutgoingMessage("/argodejo/datastorage/read")
msg = _OutgoingMessage("/agordejo/datastorage/read")
msg.add_arg(key)
msg.add_arg(self.ip)
msg.add_arg(self.port)
@ -1704,27 +1704,27 @@ class DataStorage(object):
def readAll(self):
"""Request all data"""
msg = _OutgoingMessage("/argodejo/datastorage/readall")
msg = _OutgoingMessage("/agordejo/datastorage/readall")
msg.add_arg(self.ip)
msg.add_arg(self.port)
self.sock.sendto(msg.build(), self.url)
def create(self, key:str, value):
"""Write/Create one value."""
msg = _OutgoingMessage("/argodejo/datastorage/create")
msg = _OutgoingMessage("/agordejo/datastorage/create")
msg.add_arg(key)
msg.add_arg(json.dumps(value))
self.sock.sendto(msg.build(), self.url)
def update(self, key:str, value):
"""Update a value, but only if it exists"""
msg = _OutgoingMessage("/argodejo/datastorage/update")
msg = _OutgoingMessage("/agordejo/datastorage/update")
msg.add_arg(key)
msg.add_arg(json.dumps(value))
self.sock.sendto(msg.build(), self.url)
def delete(self, key:str):
"""Delete a key/value completely"""
msg = _OutgoingMessage("/argodejo/datastorage/delete")
msg = _OutgoingMessage("/agordejo/datastorage/delete")
msg.add_arg(key)
self.sock.sendto(msg.build(), self.url)

2
qtgui/designer/mainwindow.py

@ -347,7 +347,7 @@ class Ui_MainWindow(object):
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Argodejo"))
MainWindow.setWindowTitle(_translate("MainWindow", "Agordejo"))
self.quickNewSession.setText(_translate("MainWindow", "Start New Session"))
self.quickSessionNameLineEdit.setText(_translate("MainWindow", "Session Name Goes Here"))
self.quickSaveOpenSession.setText(_translate("MainWindow", "Save"))

2
qtgui/designer/mainwindow.ui

@ -11,7 +11,7 @@
</rect>
</property>
<property name="windowTitle">
<string>Argodejo</string>
<string>Agordejo</string>
</property>
<widget class="QWidget" name="centralwidget">
<layout class="QVBoxLayout" name="verticalLayout">

2
qtgui/designer/settings.py

@ -77,6 +77,6 @@ class Ui_Dialog(object):
self.label_help_launcher_whitelist.setText(_translate("Dialog", "Whitelist - Add executable names (not paths) to the program launcher. One executable per line."))
self.label_help_launcher_blacklist.setText(_translate("Dialog", "Blacklist - Exclude executable names (not paths) from the program launcher. One executable per line."))
self.SettingsTab.setTabText(self.SettingsTab.indexOf(self.tab_2), _translate("Dialog", "Launcher"))
self.label_help_programstart.setText(_translate("Dialog", "For advanced users only! Add executable paths to the environment, just for Argodejo and NSM. Changes need a program restart afterwards. If you want your programs in the application launcher use the launcher tab."))
self.label_help_programstart.setText(_translate("Dialog", "For advanced users only! Add executable paths to the environment, just for Agordejo and NSM. Changes need a program restart afterwards. If you want your programs in the application launcher use the launcher tab."))
self.label_help_path_rules.setText(_translate("Dialog", "Add one absolute path to a directory (e.g. /home/user/audio-bin) per line. No wildcards. Trailing slashes/ don\'t matter."))
self.SettingsTab.setTabText(self.SettingsTab.indexOf(self.tab), _translate("Dialog", "$PATH"))

2
qtgui/designer/settings.ui

@ -66,7 +66,7 @@
<item>
<widget class="QLabel" name="label_help_programstart">
<property name="text">
<string>For advanced users only! Add executable paths to the environment, just for Argodejo and NSM. Changes need a program restart afterwards. If you want your programs in the application launcher use the launcher tab.</string>
<string>For advanced users only! Add executable paths to the environment, just for Agordejo and NSM. Changes need a program restart afterwards. If you want your programs in the application launcher use the launcher tab.</string>
</property>
<property name="wordWrap">
<bool>true</bool>

16
qtgui/mainwindow.py

@ -55,7 +55,7 @@ from .settings import SettingsDialog
api.eventLoop = EventLoop()
#Setup the translator before classes are set up. Otherwise we can't use non-template translation.
#to test use LANGUAGE=de_DE.UTF-8 ./argodejo
#to test use LANGUAGE=de_DE.UTF-8 ./agordejo
language = QtCore.QLocale().languageToString(QtCore.QLocale().language())
logger.info("{}: Language set to {}".format(METADATA["name"], language))
if language in METADATA["supportedLanguages"]:
@ -205,8 +205,8 @@ class MainWindow(QtWidgets.QMainWindow):
if not self.isVisible():
text = QtCore.QCoreApplication.translate("mainWindow", "Argodejo ready")
self.systemTray.showMessage("Argodejo", text, QtWidgets.QSystemTrayIcon.Information, 2000) #title, message, icon, timeout. #has messageClicked() signal.
text = QtCore.QCoreApplication.translate("mainWindow", "Agordejo ready")
self.systemTray.showMessage("Agordejo", text, QtWidgets.QSystemTrayIcon.Information, 2000) #title, message, icon, timeout. #has messageClicked() signal.
logger.info("Ready for user input. Exec_ Qt.")
qtApp.exec_()
@ -241,7 +241,7 @@ class MainWindow(QtWidgets.QMainWindow):
getattr(self, "raise")() #raise is python syntax. Can't use that directly
self.activateWindow()
text = QtCore.QCoreApplication.translate("mainWindow", "Another GUI tried to launch.")
self.systemTray.showMessage("Argodejo", text, QtWidgets.QSystemTrayIcon.Information, 2000) #title, message, icon, timeout. #has messageClicked() signal.
self.systemTray.showMessage("Agordejo", text, QtWidgets.QSystemTrayIcon.Information, 2000) #title, message, icon, timeout. #has messageClicked() signal.
def _updateGUIWithCachedPrograms(self):
logger.info("Updating entire program with cached program lists")
@ -259,11 +259,11 @@ class MainWindow(QtWidgets.QMainWindow):
self.programIcons.clear()
for entry in programs:
exe = entry["argodejoExec"]
exe = entry["agordejoExec"]
icon = None
if "argodejoIconPath" in entry and entry["argodejoIconPath"]: #not null
icon = QtGui.QIcon(entry["argodejoIconPath"])
if "agordejoIconPath" in entry and entry["agordejoIconPath"]: #not null
icon = QtGui.QIcon(entry["agordejoIconPath"])
if not icon or icon.isNull(): #the DB cache could be wrong. Deinstalled a program and not updated the DB.
if "icon" in entry:
@ -450,7 +450,7 @@ class MainWindow(QtWidgets.QMainWindow):
actions[key](settings.value(key))
#Deprecated. Always open the GUI when started normally, saving minimzed has little value.
#Instead we introduced a command line options and .desktop option to auto-load the last session and start Argodejo GUI hidden.
#Instead we introduced a command line options and .desktop option to auto-load the last session and start Agordejo GUI hidden.
"""
if self.systemTray.available and settings.contains("visible") and settings.value("visible") == "false":
self.setVisible(False)

18
qtgui/opensessioncontroller.py

@ -291,7 +291,7 @@ class ClientTable(object):
else:
#Real data
#assert "origin" in data, data . Not in a fresh session, after adding!
#assert data["origin"] == "https://www.laborejo.org/argodejo/nsm-data", data["origin"]
#assert data["origin"] == "https://www.laborejo.org/agordejo/nsm-data", data["origin"]
self.clientOverrideNamesCache = clientOverrideNames #Can be empty dict as well
clients = ClientItem.allItems
for clientId, name in clientOverrideNames.items():
@ -398,18 +398,18 @@ class LauncherProgram(QtWidgets.QTreeWidgetItem):
'x-nsm-capable': 'true'}
Also:
'argodejoExec' : the actual nsm exe
'argodejoIconPath' : a priority path the engine found for us
'agordejoExec' : the actual nsm exe
'agordejoIconPath' : a priority path the engine found for us
"""
allItems = {} # clientId : ClientItem
def __init__(self, parentController, launcherDict:dict):
LauncherProgram.allItems[launcherDict["argodejoExec"]] = self
LauncherProgram.allItems[launcherDict["agordejoExec"]] = self
self.parentController = parentController
self.launcherDict = launcherDict
self.executable = launcherDict["argodejoExec"]
self.executable = launcherDict["agordejoExec"]
@ -430,8 +430,8 @@ class LauncherProgram(QtWidgets.QTreeWidgetItem):
programIcons = self.parentController.mainWindow.programIcons
assert programIcons
if launcherDict["argodejoExec"] in programIcons:
icon = programIcons[launcherDict["argodejoExec"]]
if launcherDict["agordejoExec"] in programIcons:
icon = programIcons[launcherDict["agordejoExec"]]
self.setIcon(self.parentController.columns.index("name"), icon) #name is correct here. this is just the column.
class LauncherTable(object):
@ -446,7 +446,7 @@ class LauncherTable(object):
self.launcherWidget = self.mainWindow.ui.loadedSessionsLauncher
self.launcherWidget.setIconSize(iconSize)
self.columns = ("name", "comment", "argodejoFullPath") #basically an enum
self.columns = ("name", "comment", "agordejoFullPath") #basically an enum
self.headerLables = [
QtCore.QCoreApplication.translate("Launcher", "Name"),
QtCore.QCoreApplication.translate("Launcher", "Description"),
@ -481,7 +481,7 @@ class LauncherTable(object):
Entry is a dict modelled after a .desktop file.
But not all entries have all data. Some are barebones executable name and path.
Only guaranteed keys are argodejoExec and argodejoFullPath, which in turn are files
Only guaranteed keys are agordejoExec and agordejoFullPath, which in turn are files
guaranteed to exist in the path.
"""
self.launcherWidget.clear()

36
qtgui/quickopensessioncontroller.py

@ -50,12 +50,12 @@ class StarterClientItem(QtWidgets.QListWidgetItem):
'startupnotify': 'false',
'categories': 'AudioVideo;Audio;X-Recorders;X-Multitrack;X-Jack;',
'x-nsm-capable': 'true', 'version': '1.0.1',
'argodejoFullPath': '/usr/bin/vico',
'argodejoExec': 'vico',
'agordejoFullPath': '/usr/bin/vico',
'agordejoExec': 'vico',
'whitelist': True}
This is the icon that is starter and status-indicator at once.
QuickSession has only one icon per argodejoExec.
QuickSession has only one icon per agordejoExec.
If at least one program is running as nsmClient in the session we switch ourselves on and
save the status as self.nsmClientDict
@ -63,12 +63,12 @@ class StarterClientItem(QtWidgets.QListWidgetItem):
We do not react to name overrides by nsm-data, nor do we react to labels or name changes
through reportedNames.
"""
allItems = {} #argodejoExec:StarterClientItem
allItems = {} #agordejoExec:StarterClientItem
def __init__(self, parentController, desktopEntry:dict):
self.parentController = parentController
self.desktopEntry = desktopEntry
self.argodejoExec = desktopEntry["argodejoExec"]
self.agordejoExec = desktopEntry["agordejoExec"]
super().__init__(desktopEntry["name"], type=1000) #type 0 is default qt type. 1000 is subclassed user type)
self.nsmClientDict = None #aka nsmStatusDict if this exists it means at least one instance of this application is running in the session
@ -79,9 +79,9 @@ class StarterClientItem(QtWidgets.QListWidgetItem):
self.setToolTip(desktopEntry["name"])
programIcons = self.parentController.mainWindow.programIcons
assert programIcons
assert "argodejoExec" in desktopEntry, desktopEntry
if desktopEntry["argodejoExec"] in programIcons:
icon = programIcons[desktopEntry["argodejoExec"]]
assert "agordejoExec" in desktopEntry, desktopEntry
if desktopEntry["agordejoExec"] in programIcons:
icon = programIcons[desktopEntry["agordejoExec"]]
self.setIcon(icon)
self.updateStatus(None) #removed/off
@ -127,7 +127,7 @@ class StarterClientItem(QtWidgets.QListWidgetItem):
painter.fillRect(overlayPixmap.rect(), QtGui.QColor("cyan"))
painter.end()
icon = self.parentController.mainWindow.programIcons[self.argodejoExec]
icon = self.parentController.mainWindow.programIcons[self.agordejoExec]
pixmap = icon.pixmap(QtCore.QSize(70,70))
p = QtGui.QPainter(pixmap)
@ -138,8 +138,8 @@ class StarterClientItem(QtWidgets.QListWidgetItem):
ico = QtGui.QIcon(pixmap)
self.setIcon(ico)
else:
if self.argodejoExec in self.parentController.mainWindow.programIcons: #there was a strange bug once where this happened exactly one, and then everything was fine, including this icon. Some DB backwards compatibility.
ico = self.parentController.mainWindow.programIcons[self.argodejoExec]
if self.agordejoExec in self.parentController.mainWindow.programIcons: #there was a strange bug once where this happened exactly one, and then everything was fine, including this icon. Some DB backwards compatibility.
ico = self.parentController.mainWindow.programIcons[self.agordejoExec]
self.setIcon(ico)
@ -164,7 +164,7 @@ class StarterClientItem(QtWidgets.QListWidgetItem):
self._setIconOverlay("stopped")
def handleClick(self):
alreadyInSession = api.executableInSession(self.argodejoExec)
alreadyInSession = api.executableInSession(self.agordejoExec)
#Paranoia Start
if self.nsmClientDict is None and alreadyInSession:
#Caught double-click. do nothing, this is a user-accident
@ -176,7 +176,7 @@ class StarterClientItem(QtWidgets.QListWidgetItem):
#Paranoia End
if not alreadyInSession:
api.clientAdd(self.argodejoExec) #triggers status update callback which activates our item.
api.clientAdd(self.agordejoExec) #triggers status update callback which activates our item.
elif self.nsmClientDict["lastStatus"] == "stopped":
api.clientResume(self.nsmClientDict["clientId"])
else:
@ -281,7 +281,7 @@ class QuickOpenSessionController(object):
programs = engineCache["programs"]
whitelist = [e for e in programs if e["whitelist"]]
leftovers = set(StarterClientItem.allItems.keys()) #"argodejoExec"
leftovers = set(StarterClientItem.allItems.keys()) #"agordejoExec"
notForQuickView = ("nsm-data", "jackpatch", "nsm-proxy", "non-midi-mapper", "non-mixer-noui", "ray-proxy", "ray-jackpatch", "carla-jack-single", "carla-jack-multi")
@ -289,16 +289,16 @@ class QuickOpenSessionController(object):
forIcon._setIconOverlay("") #empty initial state
for entry in whitelist:
exe = entry["argodejoExec"]
exe = entry["agordejoExec"]
if exe in StarterClientItem.allItems:
if entry["argodejoExec"] in leftovers: #It happened that it was not. Don't ask me...
leftovers.remove(entry["argodejoExec"])
if entry["agordejoExec"] in leftovers: #It happened that it was not. Don't ask me...
leftovers.remove(entry["agordejoExec"])
else:
#Create new. Item will be parented by Qt, so Python GC will not delete
if not exe in notForQuickView:
item = StarterClientItem(parentController=self, desktopEntry=entry)
self.listWidget.addItem(item)
StarterClientItem.allItems[entry["argodejoExec"]] = item
StarterClientItem.allItems[entry["agordejoExec"]] = item
#Remove starters that were available until they got removed in the last db update
for loexe in leftovers:

BIN
qtgui/resources/translations/de.qm

Binary file not shown.

28
qtgui/resources/translations/de.ts

@ -57,8 +57,8 @@
</message>
<message>
<location filename="../../designer/settings.py" line="80"/>
<source>For advanced users only! Add executable paths to the environment, just for Argodejo and NSM. Changes need a program restart afterwards. If you want your programs in the application launcher use the launcher tab.</source>
<translation>Nur für fortgeschrittene Benutzer! Hier absolute Pfade hinzufügen, in denen sich ausführbare Dateien befinden. Diese Einstellungen gelten nur für Argodejo/NSM. Änderungen benötigen einen kompletten Programmneustart. Um Programme zum Schnellstarter hinzuzufügen bitte den Tab &quot;Programmstarter&quot; benutzen.</translation>
<source>For advanced users only! Add executable paths to the environment, just for Agordejo and NSM. Changes need a program restart afterwards. If you want your programs in the application launcher use the launcher tab.</source>
<translation>Nur für fortgeschrittene Benutzer! Hier absolute Pfade hinzufügen, in denen sich ausführbare Dateien befinden. Diese Einstellungen gelten nur für Agordejo/NSM. Änderungen benötigen einen kompletten Programmneustart. Um Programme zum Schnellstarter hinzuzufügen bitte den Tab &quot;Programmstarter&quot; benutzen.</translation>
</message>
<message>
<location filename="../../designer/settings.py" line="81"/>
@ -103,8 +103,8 @@ Für Notizen, TODO, Referenzen, Quellen etc…</translation>
<name>MainWindow</name>
<message>
<location filename="../../designer/mainwindow.py" line="350"/>
<source>Argodejo</source>
<translation>Argodejo</translation>
<source>Agordejo</source>
<translation>Agordejo</translation>
</message>
<message>
<location filename="../../designer/mainwindow.py" line="351"/>
@ -649,18 +649,18 @@ Für Notizen, TODO, Referenzen, Quellen etc…</translation>
<name>TrayIcon</name>
<message>
<location filename="../../systemtray.py" line="65"/>
<source>Hide/Show Argodejo</source>
<translation>Verstecke/Zeige Argodejo</translation>
<source>Hide/Show Agordejo</source>
<translation>Verstecke/Zeige Agordejo</translation>
</message>
<message>
<location filename="../../systemtray.py" line="79"/>
<source>Save &amp;&amp; Quit Argodejo</source>
<translation>Speichern und Argodejo Beenden</translation>
<source>Save &amp;&amp; Quit Agordejo</source>
<translation>Speichern und Agordejo Beenden</translation>
</message>
<message>
<location filename="../../systemtray.py" line="78"/>
<source>Abort &amp;&amp; Quit Argodejo</source>
<translation type="obsolete">Abbrechen und Argodejo Beenden</translation>
<source>Abort &amp;&amp; Quit Agordejo</source>
<translation type="obsolete">Abbrechen und Agordejo Beenden</translation>
</message>
<message>
<location filename="../../systemtray.py" line="86"/>
@ -674,16 +674,16 @@ Für Notizen, TODO, Referenzen, Quellen etc…</translation>
</message>
<message>
<location filename="../../systemtray.py" line="80"/>
<source>Close without Saving &amp;&amp; Quit Argodejo</source>
<translation>Schließen ohne zu Speichern &amp;&amp; Argodejo beenden</translation>
<source>Close without Saving &amp;&amp; Quit Agordejo</source>
<translation>Schließen ohne zu Speichern &amp;&amp; Agordejo beenden</translation>
</message>
</context>
<context>
<name>mainWindow</name>
<message>
<location filename="../../mainwindow.py" line="208"/>
<source>Argodejo ready</source>
<translation>Argodejo ist bereit</translation>
<source>Agordejo ready</source>
<translation>Agordejo ist bereit</translation>
</message>
<message>
<location filename="../../mainwindow.py" line="243"/>

6
qtgui/systemtray.py

@ -61,7 +61,7 @@ class SystemTray(QtWidgets.QSystemTrayIcon):
nsmSessionName = api.currentSession()
_add(QtCore.QCoreApplication.translate("TrayIcon", "Hide/Show Argodejo"), lambda: self.mainWindow.toggleVisible(force=None)) #explicit force=None because the qt signal is sending a bool
_add(QtCore.QCoreApplication.translate("TrayIcon", "Hide/Show Agordejo"), lambda: self.mainWindow.toggleVisible(force=None)) #explicit force=None because the qt signal is sending a bool
menu.addSeparator()
#Add other pre-defined actions
@ -75,8 +75,8 @@ class SystemTray(QtWidgets.QSystemTrayIcon):
_add(QtCore.QCoreApplication.translate("TrayIcon", "Save && Close {}".format(nsmSessionName)), api.sessionClose)
_add(QtCore.QCoreApplication.translate("TrayIcon", "Close without Saving {}".format(nsmSessionName)), api.sessionAbort)
menu.addSeparator()
_add(QtCore.QCoreApplication.translate("TrayIcon", "Save && Quit Argodejo"), self.mainWindow.closeAndQuit)
_add(QtCore.QCoreApplication.translate("TrayIcon", "Close without Saving && Quit Argodejo"), self.mainWindow.abortAndQuit)
_add(QtCore.QCoreApplication.translate("TrayIcon", "Save && Quit Agordejo"), self.mainWindow.closeAndQuit)
_add(QtCore.QCoreApplication.translate("TrayIcon", "Close without Saving && Quit Agordejo"), self.mainWindow.abortAndQuit)
menu.addSeparator()
else:
for recentName in self.mainWindow.recentlyOpenedSessions.get():

48
tools/nsm-data

@ -22,13 +22,13 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging; logger = logging.getLogger("nsm-data"); logger.info("import")
URL="https://www.laborejo.org/argodejo/nsm-data"
URL="https://www.laborejo.org/agordejo/nsm-data"
HARD_LIMIT = 512 # no single message longer than this
VERSION= 1.0
#In case the user tries to run this standalone.
import argparse
parser = argparse.ArgumentParser(description="nsm-data is a module for Argodejo. It only communicates over OSC in an NSM-Session and has no standalone functionality.")
parser = argparse.ArgumentParser(description="nsm-data is a module for Agordejo. It only communicates over OSC in an NSM-Session and has no standalone functionality.")
parser.add_argument("-v", "--version", action='version', version=str(VERSION))
args = parser.parse_args()
@ -60,14 +60,14 @@ class DataClient(object):
In theory every application can read and write us (like a book!)
We listen to OSC paths and reply to the sender, which must give its address explicitly.
/argodejo/datastorage/readall s:request-host i:request-port #Request all data
/argodejo/datastorage/read s:key s:request-host i:request-port #Request one value
/agordejo/datastorage/readall s:request-host i:request-port #Request all data
/agordejo/datastorage/read s:key s:request-host i:request-port #Request one value
The write functions have no reply. They will print out to stdout/err but not send an error
message back.
/argodejo/datastorage/create s:key any:value #Write/Create one value
/argodejo/datastorage/update s:kecy any:value #Update a value, but only if it exists
/argodejo/datastorage/delete s:key #Remove a key/value completely
/agordejo/datastorage/create s:key any:value #Write/Create one value
/agordejo/datastorage/update s:kecy any:value #Update a value, but only if it exists
/agordejo/datastorage/delete s:key #Remove a key/value completely
"""
def __init__(self):
@ -91,19 +91,19 @@ class DataClient(object):
)
#Add custom callbacks. They all receive _IncomingMessage(data)
self.nsmClient.reactions["/argodejo/datastorage/setclientoverridename"] = self.setClientOverrideName
self.nsmClient.reactions["/argodejo/datastorage/getclientoverridename"] = self.getClientOverrideName
self.nsmClient.reactions["/argodejo/datastorage/getall"] = self.getAll
self.nsmClient.reactions["/argodejo/datastorage/getdescription"] = self.getDescription
self.nsmClient.reactions["/argodejo/datastorage/setdescription"] = self.setDescription
#self.nsmClient.reactions["/argodejo/datastorage/read"] = self.reactRead
#self.nsmClient.reactions["/argodejo/datastorage/readall"] = self.reactReadAll
#self.nsmClient.reactions["/argodejo/datastorage/create"] = self.reactCreate
#self.nsmClient.reactions["/argodejo/datastorage/update"] = self.reactUpdate
#self.nsmClient.reactions["/argodejo/datastorage/delete"] = self.reactDelete
self.nsmClient.reactions["/agordejo/datastorage/setclientoverridename"] = self.setClientOverrideName
self.nsmClient.reactions["/agordejo/datastorage/getclientoverridename"] = self.getClientOverrideName
self.nsmClient.reactions["/agordejo/datastorage/getall"] = self.getAll
self.nsmClient.reactions["/agordejo/datastorage/getdescription"] = self.getDescription
self.nsmClient.reactions["/agordejo/datastorage/setdescription"] = self.setDescription
#self.nsmClient.reactions["/agordejo/datastorage/read"] = self.reactRead
#self.nsmClient.reactions["/agordejo/datastorage/readall"] = self.reactReadAll
#self.nsmClient.reactions["/agordejo/datastorage/create"] = self.reactCreate
#self.nsmClient.reactions["/agordejo/datastorage/update"] = self.reactUpdate
#self.nsmClient.reactions["/agordejo/datastorage/delete"] = self.reactDelete
#NsmClients only returns from init when it has a connection, and on top (for us) when session is ready. It is safe to announce now.
self.nsmClient.broadcast("/argodejo/datastorage/announce", [self.nsmClient.ourClientId, HARD_LIMIT, self.nsmClient.ourOscUrl])
self.nsmClient.broadcast("/agordejo/datastorage/announce", [self.nsmClient.ourClientId, HARD_LIMIT, self.nsmClient.ourOscUrl])
while True:
self.nsmClient.reactToMessage()
@ -113,7 +113,7 @@ class DataClient(object):
"""A complete data dumb, intended to use once after startup.
Will split into multiple reply messages, if needed"""
senderHost, senderPort = msg.params
path = "/argodejo/datastorage/reply/getall"
path = "/agordejo/datastorage/reply/getall"
encoded = json.dumps(self.data)
chunks = chunkstring(encoded)
l = len(chunks)
@ -124,7 +124,7 @@ class DataClient(object):
def getDescription(self, msg)->str:
"""Returns a normal string, not json"""
senderHost, senderPort = msg.params
path = "/argodejo/datastorage/reply/getdescription"
path = "/agordejo/datastorage/reply/getdescription"
chunks = chunkstring(self.data["description"])
l = len(chunks)
for index, chunk in enumerate(chunks):
@ -157,7 +157,7 @@ class DataClient(object):
"""Answers with empty string if clientId does not exist or has not data. This is a signal
for the GUI/host to use the original name!"""
clientId, senderHost, senderPort = msg.params
path = "/argodejo/datastorage/reply/getclient"
path = "/agordejo/datastorage/reply/getclient"
if clientId in self.data["clientOverrideNames"]:
name = self.data["clientOverrideNames"][clientId]
else:
@ -183,7 +183,7 @@ class DataClient(object):
#Callback Reactions to OSC. They all receive _IncomingMessage(data)
def reactReadAll(self, msg):
senderHost, senderPort = msg.params
path = "/argodejo/datastorage/reply/readall"
path = "/agordejo/datastorage/reply/readall"
encoded = json.dumps("")
chunks = chunkstring(encoded, 512)
l = len(chunks)
@ -194,7 +194,7 @@ class DataClient(object):
def reactRead(self, msg):
key, senderHost, senderPort = msg.params
if key in self.data:
path = "/argodejo/datastorage/reply/read"
path = "/agordejo/datastorage/reply/read"
listOfParameters = [key, json.dumps(self.data[key])]
self.nsmClient.send(path, listOfParameters, host=senderHost, port=senderPort)
else:
@ -272,7 +272,7 @@ class DataClient(object):
logger.error(f"""{absoluteJsonFilePath} was saved with {result["version"]} but we need {VERSION}""")
sysexit()
else:
logger.error(f"""Error. {absoluteJsonFilePath} not loaded. Not a sane argodejo/nsm-data file in json format""")
logger.error(f"""Error. {absoluteJsonFilePath} not loaded. Not a sane agordejo/nsm-data file in json format""")
sysexit()

1
tools/nsmservercontrol.py

@ -1 +0,0 @@
../engine/nsmservercontrol.py

1730
tools/nsmservercontrol.py

File diff suppressed because it is too large
Loading…
Cancel
Save