+ {% include footer.html %}
+
+
+
diff --git a/assets/css/blog.css b/assets/css/blog.css
new file mode 100644
index 000000000..0048a8982
--- /dev/null
+++ b/assets/css/blog.css
@@ -0,0 +1,9 @@
+.blogsite header h1 {
+ width: 100%;
+ color: #fff;
+ line-height: normal;
+}
+
+.blogsite header {
+ margin-bottom: auto;
+}
diff --git a/assets/css/fw.css b/assets/css/fw.css
index f0b4b7962..5f2f83924 100644
--- a/assets/css/fw.css
+++ b/assets/css/fw.css
@@ -177,6 +177,10 @@ nav {
list-style-type: none;
}
+#editsitecontent svg {
+ color: #1181a4;
+}
+
:target {
background-color: #ffceaf;
border-top: solid 2px #1181a4;
diff --git a/assets/css/wiki.css b/assets/css/wiki.css
index a79abbaaa..3810a262c 100644
--- a/assets/css/wiki.css
+++ b/assets/css/wiki.css
@@ -6,10 +6,6 @@
font-size: 2em;
}
-.wikisite #editsitecontent svg {
- color: #1181a4;
-}
-
.wikisite main h1 {
margin-top: 0;
line-height: 1.5em;
diff --git a/blog/2020-11-24-Multiple-Audio-Interfaces.md b/blog/2020-11-24-Multiple-Audio-Interfaces.md
new file mode 100644
index 000000000..81749dd5d
--- /dev/null
+++ b/blog/2020-11-24-Multiple-Audio-Interfaces.md
@@ -0,0 +1,55 @@
+---
+layout: blog
+title: "Using Multiple Audio Interfaces"
+heading: "Using multiple Audio interfaces"
+lang: "en"
+---
+
+It is possible to run Jamulus with multiple Audio Interfaces on all three operating systems. Useful when we need to output an instrument through external audio card for minimal latency and computer microphone for communication. Other use cases may apply.
+
+
+### Windows
+
+Under Windows, the best option to run multiple interfaces through Jamulus at the same time is by using a combination of JACK Audio Connection Kit with VoiceMeeter. It can be accomplished with just VoiceMeeter, but I've found that it introduces some undesirable latency and it wasn't supporting 64 frame buffer size correctly as it was producing some noises through my headphones.
+
+**Requirements:**
+* [JACK for Windows](https://jackaudio.org/downloads/);
+* [Voicemeeter](https://www.vb-audio.com/Voicemeeter/banana.htm) (any version will do).
+
+**Steps:**
+1. [Install and configure JACK on Windows](https://jackaudio.org/faq/jack_on_windows.html) - Make sure you select your best audio interface in the configuration steps, also add `-r 48000 -p ` to ensure JACK is outputting audio in the required sample rate for Jamulus (48.000Hz). If your frame buffer size is too low for your hardware, you'll need to change it to a higher value;
+2. Install and open Voicemeeter;
+3. Open configured Jack PortAudio shortcut, Jack Control and Jamulus software;
+4. On Voicemeeter, go to HARDWARE OUT and on A1 dropdown list, select JackRouter. On Hardware Input 1 select your computer microphone. You can make your computer microphone have the lowest latency possible by going into _Menu > System Settings/Options..._ and enabling _WDM Input Exclusive Mode_ (if you experience crackling noises while speaking, disable this) and changing the _Engine Mode_ to _Swift_;
+5. Make sure the Hardware Input where you selected your microphone is sending sound through A1 by enabling the corresponding button next to the fader;
+6. On Jamulus, under Settings, select JackRouter as your Soundcard Device;
+7. On Jack Control, if you click the _Connect_ button, you should now see three devices: portaudio (your external audio interface), voicemeeter and jamulus. If Jamulus doesn't appear, try connecting and disconnecting from any server to enable it;
+8. To test things out, on Jack Control, connect portaudio and voicemeeter output ports to jamulus input ports, then connect jamulus output ports to portaudio input ports (assuming you'll be using your external audio interface to listen, otherwise you can use voicemeeter to redirect the sound to another device, which I will not cover on this guide). Connect to a server on Jamulus and test it out by speaking into the microphone and playing your instrument. If everything went well you should hear yourself;
+9. To make JACK connections permanent, on Jack Control, open the _Patchbay_, add all inputs and outputs available (Add... > Select each Client > Click Add Plug until there's none left) and make the connections you wish to make permanent. This usually goes like connecting both _system_ and _voicemeeter_ outputs into _jamulus_ input, and _jamulus_ output into _system_ input. Once done, save the Patchbay definition and _Activate_ it. Now every time you start jamulus and connect to a server, the connections on JACK should automatically be done.
+
+**Bonus:**
+
+* The Microphone can be muted and it's volume adjusted on VoiceMeeter. Be sure to play with the _VOICE_ graph too (equalization), I find that my voice sounds better if I move it halfway into _Lo_;
+* If you're using VoiceMeeter Banana or Potato, you can apply Gate to your microphone (useful to cut undesirable noises when you're not speaking);
+* If you set your default playback device under Windows to one of VoiceMeeter's virtual inputs, you can route audio from your computer into JackRouter (and consequently, into Jamulus) by enabling the _A1_ button on the relevant input under _Virtual Inputs_. This is useful if you wish to play some audio through Jamulus (backing tracks, youtube, recordings, etc...)
+
+
+### MacOS X
+
+[Aggregate devices](https://support.apple.com/en-us/HT202000) lets you do this. Just make sure your Jamulus version is 3.5.3 or higher.
+
+
+### Linux
+
+On Linux, it is possible to route additional devices to Jack by using alsa_in.
+
+**Requirements:**
+
+* QJackCtl
+* alsa
+
+**Steps:**
+1. Follow [this tutorial](https://www.penguinproducer.com/Blog/2011/11/using-multiple-devices-with-jack/) to route the desired interface into Jack by using alsa_in.
+2. Jamulus should automatically route the JACK configured interface, adjustments can be made through the _Connect_ button.
+3. Connect the device configured on step 1 into jamulus input.
+4. Use Patchbay as described on Windows section to make connections permanent.
diff --git a/blog/2020-11-24-Software-Synth.md b/blog/2020-11-24-Software-Synth.md
new file mode 100644
index 000000000..cee6c4504
--- /dev/null
+++ b/blog/2020-11-24-Software-Synth.md
@@ -0,0 +1,43 @@
+---
+layout: blog
+title: "Software Synth in Jamulus"
+lang: "en"
+author: "Engelbert Niehaus"
+heading: "Software Synth in Jamulus"
+---
+
+## Linux
+We will elaborate the concept of playing a software synth on Linux as example and transfer that to other operating systems (e.g. Windows, MacOSX).
+* **(Hammond Organ Synth)** As an example we talk open source software synth [setBfree](https://github.com/pantherb/setBfree), which is a hammond organ emulator that outputs through JACK on Linux.
+* **(MIDI Keyboard)** The MIDI keyboard is used to generate the key pressed events, that are transmitted through a USB-MIDI interface to Linux system and the Synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding tone for the pressed key. In general the MIDI keyboard can also be replaced by a digital wind midi controller, that does the same but the tone is dependent on how the musician blows air into the digital wind controller.
+* **(Connector to Jamulus)** You may hear the audio output of your Linux system on your speakers but the audio output may not be use as input for your Jamulus session. So another step is to connect the audio out to Jamulus client (with QJackCtl).
+
+### General Information about ALSA, JACK and MIDI
+First of all we explain a few basic concepts on Linux to use MIDI and Audio together.
+* ALSA is the basic to connection to the hardware, i.e. the soundcard and the midi controller for the keyboard.
+* JACK is build on top of ALSA and uses ALSA for the audio output. It provides a adequat environment for music production on Linux.
+* Synthesizer like the [Hammond Organ emulator setBfree](https://github.com/pantherb/setBfree) connect to JACK for audio output.
+* Jamulus connects to JACK.
+
+### Requirements for Using Software Synths in Jamulus on Linux
+For ALSA2JACK MIDI (`a2jmidid`) connection it is necessary to install the a2j package. Furthermore we use in this example a simple Hammond organ emulator `setBfree` in this example. Replace `setBfree` by your favorite Linux synthesizer. Both packages `a2jmidid` and `setbfree` can be installed via your package manager or e.g. on Ubuntu/Mint with `apt-get` commands:
+```shell
+ sudo apt-get install a2jmidid
+ sudo apt-get install setbfree
+```
+
+### Connecting ALSA, JACK and MIDI for a Synth for Jamulus
+Now we look an the workflow to use the whole infrastructure in Jamulus.
+* **(Jamulus Installation and JACK)** Use the [install script](https://github.com/corrados/jamulus/wiki/Linux-Client-Install-Script) for Jamulus on Linux or [install Jamulus with the manual in the wiki](https://github.com/corrados/jamulus/wiki/Installation-for-Linux). With this installation we have JACK and QJackCtl installed for Jamulus.
+* **(ALSA to JACK - MIDI)** Next we must create a connection from ALSA to JACK to route the MIDI input from the keyboard to the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree).
+ * ***(Command Line: `qjackctl`)*** For this step you can start JACK-Control (QJackCtl) from the command line by `qjackctl`,
+ * ***(Command Line: `a2jmidid -e`)*** Then you launch the ALSA2JACK MIDI connector with command: `a2jmidid -e`. As long as this connector runs in the shell the `a2j` connection interface is visible in `QJackCtl`.
+ * ***(QJackCtl: `ALSA-MIDI`)*** Connect your USB MIDI as input to `MIDI through` in the ALSA-MIDI tab of QJackCtl. Now the midi events from your keyboard reach JACK and are ready to connect.
+ * ***(Start Synth)*** Start the Hammond Synthesizer too e.g. from the command line with `setBfree`. You will see the `setBfree` graphical user interface GUI (see http://setbfree.org/gui_3d). Press with your mouse on the visualised organ keyboard to test if the synth generates an organ sound on your speakers.
+ * ***(QJackCtl: `JACK-MIDI`)*** Now we can connect `a2j` in JACK-MIDI as input to the synth `setBfree`, that generates the sound as output for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible for QJackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to the `setbfree` if you also see the Hammond Synth SetBFree in QJackCtl.
+ * ***(Test Software Synth with MIDI Keyboard)*** If you have speakers attached to your Linux Computer you would hear the emulated Hammond sound on your Linux PC for all the keys your press on your MIDI keyboard. If you just want to play the software synth with your keyboard you are ready to play from here. The only remaining step is to connect the audio to Jamulus.
+* **(Synth to Jamulus - Audio)** In the previous step we connected the MIDI signals from your keyboard to the MIDI input of JACK via a2j - MIDI through connection. Now JACK the MIDI which tell JACK which keys are pressed on the keyboard. Now create an audio connection in JACK (i.e. the generated Hammond sound of the synth). We connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore Jamulus must be started so that you see also Jamulus in the audio connection of QJackCtl. Now you can the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK.
+
+In general `QJackCtrl` is used similar operations like for plugging in instruments in mixer and the mixer into an amplifier and the amplifier again to the speakers. Have fun with your other OpenSource synths like QSynth, [ZynAddSubFX](https://sourceforge.net/projects/zynaddsubfx/) than can be installed on your Linux system and/or used within LMMS.
+
+Have fun playing your synth within Jamulus.
diff --git a/blog/index.md b/blog/index.md
new file mode 100644
index 000000000..65c0b8b07
--- /dev/null
+++ b/blog/index.md
@@ -0,0 +1,7 @@
+---
+layout: blog
+title: "Overview"
+lang: "en"
+heading: "Jamulus blog"
+---
+## Welcome to the Jamulus blog
From 1da2aa877f7dfa294a4e65199f605f0197cdd9cb Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Thu, 26 Nov 2020 22:31:49 +0100
Subject: [PATCH 02/41] non working blog pagination
---
Gemfile | 1 +
Gemfile.lock | 7 +-
_config.yml | 28 +++++++
_data/en/general.yml | 3 +-
_includes/headtags.html | 1 +
_layouts/bloglist.html | 80 +++++++++++++++++++
_layouts/mainhomepage.html | 1 -
_layouts/{blog.html => post.html} | 24 ++++--
_layouts/wiki.html | 1 -
.../2020-11-24-Multiple-Audio-Interfaces.md | 4 +-
{blog => _posts}/2020-11-24-Software-Synth.md | 4 +-
assets/css/blog.css | 6 ++
blog/index.md | 8 +-
13 files changed, 149 insertions(+), 19 deletions(-)
create mode 100644 _layouts/bloglist.html
rename _layouts/{blog.html => post.html} (69%)
rename {blog => _posts}/2020-11-24-Multiple-Audio-Interfaces.md (99%)
rename {blog => _posts}/2020-11-24-Software-Synth.md (98%)
diff --git a/Gemfile b/Gemfile
index e8207c05e..5e3848c73 100644
--- a/Gemfile
+++ b/Gemfile
@@ -9,4 +9,5 @@ group :jekyll_plugins do
gem "jekyll-polyglot"
end
gem "jekyll-minifier"
+gem "jekyll-paginate-v2"
# gem "rails"
diff --git a/Gemfile.lock b/Gemfile.lock
index c4a1f9282..d6e27040b 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -38,6 +38,8 @@ GEM
jekyll (>= 3.5)
json-minify (~> 0.0.3)
uglifier (~> 4.1)
+ jekyll-paginate-v2 (3.0.0)
+ jekyll (>= 3.0, < 5.0)
jekyll-polyglot (1.3.3)
jekyll (>= 3.0)
jekyll-sass-converter (2.1.0)
@@ -52,7 +54,7 @@ GEM
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
- listen (3.2.1)
+ listen (3.3.1)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.4.0)
@@ -63,7 +65,7 @@ GEM
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.4)
- rouge (3.23.0)
+ rouge (3.25.0)
safe_yaml (1.0.5)
sassc (2.4.0)
ffi (~> 1.9)
@@ -79,6 +81,7 @@ PLATFORMS
DEPENDENCIES
jekyll
jekyll-minifier
+ jekyll-paginate-v2
jekyll-polyglot
BUNDLED WITH
diff --git a/_config.yml b/_config.yml
index d92a3e075..6846fbc72 100644
--- a/_config.yml
+++ b/_config.yml
@@ -15,3 +15,31 @@ jekyll-minifier:
remove_multi_spaces: true
compress_json: true
exclude: "sitemap.xml"
+excerpt_separator:
+pagination:
+ enabled: true
+ # Set to 'true' to enable pagination debugging. This can be enabled in the site config or only for individual pagination pages
+ debug: false
+ # The default document collection to paginate if nothing is specified ('posts' is default)
+ collection: 'posts'
+ # How many objects per paginated page, used to be `paginate` (default: 0, means all)
+ per_page: 10
+ # The permalink structure for the paginated pages (this can be any level deep)
+ permalink: '/page/:num/' # Pages are index.html inside this folder (default)
+ #permalink: '/page/:num.html' # Pages are simple html files
+ #permalink: '/page/:num' # Pages are html files, linked jekyll extensionless permalink style.
+
+ title: ':title - page :num'
+ # Limit how many pagenated pages to create (default: 0, means all)
+ limit: 0
+
+ # Optional, defines the field that the posts should be sorted on (omit to default to 'date')
+ sort_field: 'date'
+
+ # Optional, sorts the posts in reverse order (omit to default decending or sort_reverse: true)
+ sort_reverse: true
+ # Optional,omit or set both before and after to zero to disable.
+ # Controls how the pagination trail for the paginated pages look like.
+ trail:
+ before: 2
+ after: 2
diff --git a/_data/en/general.yml b/_data/en/general.yml
index 87732cdc3..0dee88e22 100644
--- a/_data/en/general.yml
+++ b/_data/en/general.yml
@@ -15,5 +15,6 @@ blog:
titleAdd: "– Jamulus Blog"
by: "by"
blogintro: "This is the official community blog of the Jamulus software. The community posts guides, tips and tricks here! Feel free to add your own!"
- moretiptrick: "More tips and tricks"
+ mainpage: "Blog main page"
newpage: "Add a new page via GitHub"
+ readmore: "Read more..."
diff --git a/_includes/headtags.html b/_includes/headtags.html
index b346045eb..f5ec205ba 100644
--- a/_includes/headtags.html
+++ b/_includes/headtags.html
@@ -13,6 +13,7 @@
+
diff --git a/_layouts/bloglist.html b/_layouts/bloglist.html
new file mode 100644
index 000000000..fa5ae3e12
--- /dev/null
+++ b/_layouts/bloglist.html
@@ -0,0 +1,80 @@
+---
+pagination:
+ enabled: true
+---
+
+
+
+
+
+ {{ page.title }} {{ site.data.general.blog.titleAdd }}
+ {% include headtags.html %}
+
+
+
+
+
+
{{ content }}
{% include footer.html %}
diff --git a/_layouts/wiki.html b/_layouts/wiki.html
index cea8387ff..3a4a232c6 100644
--- a/_layouts/wiki.html
+++ b/_layouts/wiki.html
@@ -6,7 +6,6 @@
{{ page.title }} {{ site.data.general.wiki.titleAdd }}
{% include headtags.html %}
-
diff --git a/blog/2020-11-24-Multiple-Audio-Interfaces.md b/_posts/2020-11-24-Multiple-Audio-Interfaces.md
similarity index 99%
rename from blog/2020-11-24-Multiple-Audio-Interfaces.md
rename to _posts/2020-11-24-Multiple-Audio-Interfaces.md
index 81749dd5d..c5a972909 100644
--- a/blog/2020-11-24-Multiple-Audio-Interfaces.md
+++ b/_posts/2020-11-24-Multiple-Audio-Interfaces.md
@@ -1,12 +1,12 @@
---
-layout: blog
+layout: post
title: "Using Multiple Audio Interfaces"
heading: "Using multiple Audio interfaces"
lang: "en"
---
It is possible to run Jamulus with multiple Audio Interfaces on all three operating systems. Useful when we need to output an instrument through external audio card for minimal latency and computer microphone for communication. Other use cases may apply.
-
+
### Windows
diff --git a/blog/2020-11-24-Software-Synth.md b/_posts/2020-11-24-Software-Synth.md
similarity index 98%
rename from blog/2020-11-24-Software-Synth.md
rename to _posts/2020-11-24-Software-Synth.md
index cee6c4504..abba0e95d 100644
--- a/blog/2020-11-24-Software-Synth.md
+++ b/_posts/2020-11-24-Software-Synth.md
@@ -1,10 +1,12 @@
---
-layout: blog
+layout: post
title: "Software Synth in Jamulus"
lang: "en"
author: "Engelbert Niehaus"
heading: "Software Synth in Jamulus"
---
+This post will discuss how to setup a software synth in Jamulus.
+
## Linux
We will elaborate the concept of playing a software synth on Linux as example and transfer that to other operating systems (e.g. Windows, MacOSX).
diff --git a/assets/css/blog.css b/assets/css/blog.css
index 0048a8982..554deedf0 100644
--- a/assets/css/blog.css
+++ b/assets/css/blog.css
@@ -7,3 +7,9 @@
.blogsite header {
margin-bottom: auto;
}
+
+#blogside {
+ margin: 0;
+ padding: 0;
+ list-style-type: none;
+}
diff --git a/blog/index.md b/blog/index.md
index 65c0b8b07..d27eb7763 100644
--- a/blog/index.md
+++ b/blog/index.md
@@ -1,7 +1,7 @@
---
-layout: blog
-title: "Overview"
+layout: bloglist
+pagination:
+ enabled: true
lang: "en"
-heading: "Jamulus blog"
+title: "Overview"
---
-## Welcome to the Jamulus blog
From d527efcb680becf7ddae19fccfda0e9937669e29 Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Thu, 26 Nov 2020 22:34:50 +0100
Subject: [PATCH 03/41] small fix
---
_layouts/bloglist.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_layouts/bloglist.html b/_layouts/bloglist.html
index fa5ae3e12..d155a5e7e 100644
--- a/_layouts/bloglist.html
+++ b/_layouts/bloglist.html
@@ -30,7 +30,7 @@
{{ page.title }}
{{ content }}
- {% for post in paginator.posts %}
+ {% for post in site.posts %}
diff --git a/_posts/2020-11-25-BeispBlog.md b/_posts/2020-11-25-BeispBlog.md
new file mode 100644
index 000000000..9b2e99149
--- /dev/null
+++ b/_posts/2020-11-25-BeispBlog.md
@@ -0,0 +1,14 @@
+---
+layout: post
+title: "A Blog post"
+heading: "Deutscher Post"
+lang: "de"
+---
+
+Hallo. Ich bin ein kleiner Blindtext. Und zwar schon so lange ich denken kann. Es war nicht leicht zu verstehen, was es bedeutet, ein blinder Text zu sein: Man ergibt keinen Sinn. Wirklich keinen Sinn. Man wird zusammenhangslos eingeschoben und rumgedreht – und oftmals gar nicht erst gelesen. Aber bin ich allein deshalb ein schlechterer Text als andere? Na gut, ich werde nie in den Bestsellerlisten stehen. Aber andere Texte schaffen das auch nicht. Und darum stört es mich nicht besonders blind zu sein. Und sollten Sie diese Zeilen noch immer lesen, so habe ich als kleiner Blindtext etwas geschafft, wovon all die richtigen und wichtigen Texte meist nur träumen.
+
+
+dieser text hat eigentlich gar keinen wirklichen inhalt. aber er hat auch keine relevanz, und deswegen ist das egal. er dient lediglich als platzhalter. um mal zu zeigen, wie diese stelle der seite aussieht, wenn ein paar zeilen vorhanden sind. ob sich der text dabei gut fühlt, weiß ich nicht. ich schätze, eher nicht, denn wer fühlt sich schon gut als platzhalter. aber irgendwer muss diesen job ja machen und deshalb kann ich es nicht ändern . ich könnte dem text höchstens ein bisschen gut zureden, dass er auch als platzhalter eine wichtige rolle spielt und durchaus gebraucht wird. könnte mir vorstellen, dass ihm das gut tut. denn das gefühl gebraucht zu werden tut doch jedem gut, oder? klar, er ist austauschbar. das darf ich ihm natürlich nicht verraten. denn austauschbar zu sein, dass ist schrecklich. austauschbar zu sein bedeutet ja eigentlich, dass nicht man selbst, sondern einfach irgendjemand oder irgendwas an der stelle gebraucht wird. somit würde mein erstes argument, man braucht dich, nicht mehr ziehen, und das zuvor erzeugte gute gefühl des textes wäre zunichte gemacht. das will ich nicht. also bitte nix verraten, ja? aber vielleicht merkt er es ja nicht. das wäre gut, denn wer hat schon lust einen deprimierten blindtext auf seiner seite zu platzieren. was würde denn das für einen eindruck machen. das will ja keiner lesen. somit wäre er dann ein für alle mal tatsächlich völlig nutzlos. das wäre sein todesurteil. soweit wollen wir es doch nicht kommen lassen, oder? es sei denn, und das ist möglich, er würde wiedergeboren und käme als, naja, sagen wir als witz, und ein textleben später vielleicht als bildzeitungsartikel auf die textwelt. irgendwann wäre er vielleicht sogar ein text im lexikon. dann hätten wir ihn ja sogar weitergebracht in seiner entwicklung. klingt gar nicht schlecht, oder? trotzdem bin ich der meinung, man sollte ihn nicht bewusst dort hin treiben. er hat ein recht darauf, sich selbst zu entwickeln. und zwar in genau dem tempo, das ihm gefällt. und bis es soweit ist, nehme ich ihn eben an, wie er ist. als einfachen blindtext ohne wirklichen inhalt.
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+Copyright (c) 2020 Copyright Holder All Rights Reserved.
diff --git a/_posts/2020-11-25-Exampleblog.md b/_posts/2020-11-25-Exampleblog.md
new file mode 100644
index 000000000..59764798a
--- /dev/null
+++ b/_posts/2020-11-25-Exampleblog.md
@@ -0,0 +1,15 @@
+---
+layout: post
+title: "Another post"
+heading: "English post"
+lang: "en"
+---
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
+Copyright (c) 2020 Copyright Holder All Rights Reserved.
diff --git a/_posts/2020-11-25-Examplog.md b/_posts/2020-11-25-Examplog.md
new file mode 100644
index 000000000..99e64f494
--- /dev/null
+++ b/_posts/2020-11-25-Examplog.md
@@ -0,0 +1,11 @@
+---
+layout: post
+title: "Blog"
+heading: "Blog"
+lang: "es"
+---
+
+Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn’t listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then
+
+
+Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn’t listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then
diff --git a/assets/css/blog.css b/assets/css/blog.css
index 554deedf0..1135faf66 100644
--- a/assets/css/blog.css
+++ b/assets/css/blog.css
@@ -1,10 +1,10 @@
-.blogsite header h1 {
+.blog header h1 {
width: 100%;
color: #fff;
line-height: normal;
}
-.blogsite header {
+.blog header {
margin-bottom: auto;
}
@@ -13,3 +13,11 @@
padding: 0;
list-style-type: none;
}
+
+.bloglist article {
+ padding: 2em;
+}
+
+.bloglist main {
+ margin-top: 16px;
+}
diff --git a/assets/css/fw.css b/assets/css/fw.css
index 5f2f83924..eefbeba2c 100644
--- a/assets/css/fw.css
+++ b/assets/css/fw.css
@@ -11,7 +11,9 @@ h1, h2, h3, h4, h5, h6 {
}
hr {
- border-color: #1181a4;
+ border: none;
+ height: 1px;
+ background-color: #1181a4;
}
a {
@@ -105,7 +107,7 @@ main li {
padding: 0;
}
-#langselect .selected, #gnav .selected {
+#langselect .selected, #gnav .selected, #paginator .selected {
font-weight: bold;
text-decoration: underline;
color: #2b7288;
@@ -148,7 +150,7 @@ nav {
padding: 10px 10px 10px 10px;
}
-#navaround, nav {
+#navaround, nav, .bloglist article {
background-color: #eaf8fd;
}
@@ -283,6 +285,16 @@ main>div {
margin: auto;
}
+#paginator {
+ padding: 0;
+ margin: 0;
+}
+
+#paginator li {
+ list-style-type: none;
+ display: inline-block;
+}
+
@media (min-width:940px) {
#langselect ul li {
margin: 0 0.3em 0 0;
@@ -323,7 +335,7 @@ main>div {
color: #3daed2;
}
- #langselect .selected {
+ #langselect .selected, #paginator .selected {
color: #1da3cc;
}
@@ -340,7 +352,7 @@ main>div {
color: #dbdbdb;
}
- #mnv, #navaround {
+ #mnv, #navaround, .bloglist article {
background-color: #262a2b;
}
@@ -375,7 +387,7 @@ main>div {
}
hr {
- border-color: #dbdbdb;
+ background-color: #dbdbdb;
}
code {
diff --git a/blog/de-index.md b/blog/de-index.md
new file mode 100644
index 000000000..54a90d77f
--- /dev/null
+++ b/blog/de-index.md
@@ -0,0 +1,8 @@
+---
+layout: bloglist
+lang: "de"
+title: "Übersicht"
+permalink: /blog
+pagination:
+ enabled: true
+---
diff --git a/blog/index.md b/blog/index.md
index d27eb7763..9d66eb830 100644
--- a/blog/index.md
+++ b/blog/index.md
@@ -1,7 +1,8 @@
---
layout: bloglist
-pagination:
- enabled: true
lang: "en"
title: "Overview"
+permalink: /blog
+pagination:
+ enabled: true
---
From 7debb2f90ab13130140f1fb694c483dc74f09014 Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Fri, 27 Nov 2020 21:50:41 +0100
Subject: [PATCH 06/41] clarify github
---
_config.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_config.yml b/_config.yml
index 5e6da32e2..ce5efeb1d 100644
--- a/_config.yml
+++ b/_config.yml
@@ -8,7 +8,7 @@ exclude_from_localization: ["assets", "images", "css", "README.md", "manifest.
parallel_localization: true
a_rootpage: "https://jamulus.io"
githubrepoeditbase: "https://github.com/jamulussoftware/jamulussoftware.github.io/edit/changes"
-blognewpage: 'https://github.com/jamulussoftware/jamuluswebsite/new/changes/_posts/?value=---%0Alayout%3A%20post%0Atitle%3A%20%22Your%20Title%22%0Alang%3A%20%22en%22%0Aauthor%3A%20%22YourName%22%0Aheading%3A%20%22Heading%22%0A---%0AEdit%20the%20parameters%20above%21&message=New%20blog%20post'
+blognewpage: 'https://github.com/jamulussoftware/jamuluswebsite/new/changes/_posts/?value=---%0Alayout%3A%20post%0Atitle%3A%20%22Your%20Title%22%0Alang%3A%20%22en%22%0Aauthor%3A%20%22YourName%22%0Aheading%3A%20%22Heading%22%0A---%0AName%20This%20File%20and%20edit%20the%20parameters%20above%21&message=New%20blog%20post'
exclude: ["README.md", "Gemfile.lock", "Gemfile", "CONTRIBUTING.md"]
jekyll-minifier:
remove_intertag_spaces: true
From c8527b1e476ba660fef91e1288990a0beaba82ed Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Fri, 27 Nov 2020 21:56:15 +0100
Subject: [PATCH 07/41] Fix heading
---
_layouts/post.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_layouts/post.html b/_layouts/post.html
index 0c8d4b9f9..8550757b4 100644
--- a/_layouts/post.html
+++ b/_layouts/post.html
@@ -21,7 +21,7 @@
{% include general/navbtn.html %}
-
{{ page.title }}
+
{{ page.heading }}
{% if page.author %}
{{ site.data.general.blog.by }} {{ page.author }}
{% endif %}
From 37044525b28100f3c93aeb071510a68fd25b9706 Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Fri, 27 Nov 2020 22:30:30 +0100
Subject: [PATCH 08/41] Add structured data
---
_layouts/post.html | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/_layouts/post.html b/_layouts/post.html
index 8550757b4..0b4d46f9b 100644
--- a/_layouts/post.html
+++ b/_layouts/post.html
@@ -10,6 +10,21 @@
{{ page.title }} {{ site.data.general.blog.titleAdd }}
{% include headtags.html %}
+
From 69cab9ba8453851a6cc7a51f9697de0ef5ef1902 Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Fri, 27 Nov 2020 22:55:19 +0100
Subject: [PATCH 09/41] add structured data
---
_layouts/post.html | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/_layouts/post.html b/_layouts/post.html
index 0b4d46f9b..3004d1a25 100644
--- a/_layouts/post.html
+++ b/_layouts/post.html
@@ -15,14 +15,17 @@
"@context":"https://schema.org",
"@type":"BlogPosting",
"headline": "{{ page.heading }}",
- "articleBody": "{{ content }}",
{% if page.author %}
+ "publisher": {
+ "@type": "Person",
+ "name": "{{ page.author }}"
+ },
"author": {
"@type": "Person",
"name": "{{ page.author }}"
},
{% endif %}
- "dateCreated": "{{ page.date | date_to_xmlschema }}"
+ "datePublished": "{{ page.date | date_to_xmlschema }}"
}
From 0ad04d8f38db4980534706ae0e811bba60285295 Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Fri, 27 Nov 2020 23:37:27 +0100
Subject: [PATCH 10/41] First try GH comment api
---
_config.yml | 2 ++
_includes/headtags.html | 1 +
_layouts/post.html | 2 ++
assets/js/fw.js | 9 +++++++++
assets/js/ghcomments.js | 24 ++++++++++++++++++++++++
5 files changed, 38 insertions(+)
create mode 100644 assets/js/fw.js
create mode 100644 assets/js/ghcomments.js
diff --git a/_config.yml b/_config.yml
index ce5efeb1d..b8273fcce 100644
--- a/_config.yml
+++ b/_config.yml
@@ -9,6 +9,8 @@ parallel_localization: true
a_rootpage: "https://jamulus.io"
githubrepoeditbase: "https://github.com/jamulussoftware/jamulussoftware.github.io/edit/changes"
blognewpage: 'https://github.com/jamulussoftware/jamuluswebsite/new/changes/_posts/?value=---%0Alayout%3A%20post%0Atitle%3A%20%22Your%20Title%22%0Alang%3A%20%22en%22%0Aauthor%3A%20%22YourName%22%0Aheading%3A%20%22Heading%22%0A---%0AName%20This%20File%20and%20edit%20the%20parameters%20above%21&message=New%20blog%20post'
+ghcommurl: "https://github.com/jamulussoftware/jamuluswebsite/issues/"
+ghapiurl: "https://api.github.com/repos/jamulussoftware/jamuluswebsite/issues/"
exclude: ["README.md", "Gemfile.lock", "Gemfile", "CONTRIBUTING.md"]
jekyll-minifier:
remove_intertag_spaces: true
diff --git a/_includes/headtags.html b/_includes/headtags.html
index f5ec205ba..06d1a14e0 100644
--- a/_includes/headtags.html
+++ b/_includes/headtags.html
@@ -33,4 +33,5 @@
+
diff --git a/_layouts/post.html b/_layouts/post.html
index 3004d1a25..32e5b76fa 100644
--- a/_layouts/post.html
+++ b/_layouts/post.html
@@ -28,6 +28,8 @@
"datePublished": "{{ page.date | date_to_xmlschema }}"
}
+
+
diff --git a/assets/js/fw.js b/assets/js/fw.js
new file mode 100644
index 000000000..e91dfbee1
--- /dev/null
+++ b/assets/js/fw.js
@@ -0,0 +1,9 @@
+function docReady(fn) { // https://stackoverflow.com/questions/9899372/pure-javascript-equivalent-of-jquerys-ready-how-to-call-a-function-when-t
+ // see if DOM is already available
+ if (document.readyState === "complete" || document.readyState === "interactive") {
+ // call on next available tick
+ setTimeout(fn, 1);
+ } else {
+ document.addEventListener("DOMContentLoaded", fn);
+ }
+}
diff --git a/assets/js/ghcomments.js b/assets/js/ghcomments.js
new file mode 100644
index 000000000..3eaa3404c
--- /dev/null
+++ b/assets/js/ghcomments.js
@@ -0,0 +1,24 @@
+---
+---
+function getComments(issueid) {
+ var api = "{{ site.ghapiurl }}" + issueid + "/comments";
+ var xhr = new XMLHttpRequest();
+ xhr.open('GET', api);
+ xhr.onload = function() {
+ if (xhr.status === 200) {
+ var apiResponse = JSON.parse(xhr.responseText);
+ if (apiResponse) {
+ return apiResponse;
+ } else {
+ //error
+ }
+ }
+ else {
+ // error
+ }
+ };
+ xhr.send();
+
+}
+
+docReady(getComments);
From f7c663e52147ec29844623b622cf6c136b31709a Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Sat, 28 Nov 2020 19:14:35 +0100
Subject: [PATCH 11/41] Revert "First try GH comment api"
This reverts commit 0ad04d8f38db4980534706ae0e811bba60285295.
---
_config.yml | 2 --
_includes/headtags.html | 1 -
_layouts/post.html | 2 --
assets/js/fw.js | 9 ---------
assets/js/ghcomments.js | 24 ------------------------
5 files changed, 38 deletions(-)
delete mode 100644 assets/js/fw.js
delete mode 100644 assets/js/ghcomments.js
diff --git a/_config.yml b/_config.yml
index b8273fcce..ce5efeb1d 100644
--- a/_config.yml
+++ b/_config.yml
@@ -9,8 +9,6 @@ parallel_localization: true
a_rootpage: "https://jamulus.io"
githubrepoeditbase: "https://github.com/jamulussoftware/jamulussoftware.github.io/edit/changes"
blognewpage: 'https://github.com/jamulussoftware/jamuluswebsite/new/changes/_posts/?value=---%0Alayout%3A%20post%0Atitle%3A%20%22Your%20Title%22%0Alang%3A%20%22en%22%0Aauthor%3A%20%22YourName%22%0Aheading%3A%20%22Heading%22%0A---%0AName%20This%20File%20and%20edit%20the%20parameters%20above%21&message=New%20blog%20post'
-ghcommurl: "https://github.com/jamulussoftware/jamuluswebsite/issues/"
-ghapiurl: "https://api.github.com/repos/jamulussoftware/jamuluswebsite/issues/"
exclude: ["README.md", "Gemfile.lock", "Gemfile", "CONTRIBUTING.md"]
jekyll-minifier:
remove_intertag_spaces: true
diff --git a/_includes/headtags.html b/_includes/headtags.html
index 06d1a14e0..f5ec205ba 100644
--- a/_includes/headtags.html
+++ b/_includes/headtags.html
@@ -33,5 +33,4 @@
-
diff --git a/_layouts/post.html b/_layouts/post.html
index 32e5b76fa..3004d1a25 100644
--- a/_layouts/post.html
+++ b/_layouts/post.html
@@ -28,8 +28,6 @@
"datePublished": "{{ page.date | date_to_xmlschema }}"
}
-
-
diff --git a/assets/js/fw.js b/assets/js/fw.js
deleted file mode 100644
index e91dfbee1..000000000
--- a/assets/js/fw.js
+++ /dev/null
@@ -1,9 +0,0 @@
-function docReady(fn) { // https://stackoverflow.com/questions/9899372/pure-javascript-equivalent-of-jquerys-ready-how-to-call-a-function-when-t
- // see if DOM is already available
- if (document.readyState === "complete" || document.readyState === "interactive") {
- // call on next available tick
- setTimeout(fn, 1);
- } else {
- document.addEventListener("DOMContentLoaded", fn);
- }
-}
diff --git a/assets/js/ghcomments.js b/assets/js/ghcomments.js
deleted file mode 100644
index 3eaa3404c..000000000
--- a/assets/js/ghcomments.js
+++ /dev/null
@@ -1,24 +0,0 @@
----
----
-function getComments(issueid) {
- var api = "{{ site.ghapiurl }}" + issueid + "/comments";
- var xhr = new XMLHttpRequest();
- xhr.open('GET', api);
- xhr.onload = function() {
- if (xhr.status === 200) {
- var apiResponse = JSON.parse(xhr.responseText);
- if (apiResponse) {
- return apiResponse;
- } else {
- //error
- }
- }
- else {
- // error
- }
- };
- xhr.send();
-
-}
-
-docReady(getComments);
From 545bda179eee15234f880127884c6a872efa24ab Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Thu, 3 Dec 2020 19:56:43 +0100
Subject: [PATCH 12/41] Remove blog posts
---
_posts/2020-11-25-BeispBlog.md | 14 --------------
_posts/2020-11-25-Exampleblog.md | 15 ---------------
_posts/2020-11-25-Examplog.md | 11 -----------
3 files changed, 40 deletions(-)
delete mode 100644 _posts/2020-11-25-BeispBlog.md
delete mode 100644 _posts/2020-11-25-Exampleblog.md
delete mode 100644 _posts/2020-11-25-Examplog.md
diff --git a/_posts/2020-11-25-BeispBlog.md b/_posts/2020-11-25-BeispBlog.md
deleted file mode 100644
index 9b2e99149..000000000
--- a/_posts/2020-11-25-BeispBlog.md
+++ /dev/null
@@ -1,14 +0,0 @@
----
-layout: post
-title: "A Blog post"
-heading: "Deutscher Post"
-lang: "de"
----
-
-Hallo. Ich bin ein kleiner Blindtext. Und zwar schon so lange ich denken kann. Es war nicht leicht zu verstehen, was es bedeutet, ein blinder Text zu sein: Man ergibt keinen Sinn. Wirklich keinen Sinn. Man wird zusammenhangslos eingeschoben und rumgedreht – und oftmals gar nicht erst gelesen. Aber bin ich allein deshalb ein schlechterer Text als andere? Na gut, ich werde nie in den Bestsellerlisten stehen. Aber andere Texte schaffen das auch nicht. Und darum stört es mich nicht besonders blind zu sein. Und sollten Sie diese Zeilen noch immer lesen, so habe ich als kleiner Blindtext etwas geschafft, wovon all die richtigen und wichtigen Texte meist nur träumen.
-
-
-dieser text hat eigentlich gar keinen wirklichen inhalt. aber er hat auch keine relevanz, und deswegen ist das egal. er dient lediglich als platzhalter. um mal zu zeigen, wie diese stelle der seite aussieht, wenn ein paar zeilen vorhanden sind. ob sich der text dabei gut fühlt, weiß ich nicht. ich schätze, eher nicht, denn wer fühlt sich schon gut als platzhalter. aber irgendwer muss diesen job ja machen und deshalb kann ich es nicht ändern . ich könnte dem text höchstens ein bisschen gut zureden, dass er auch als platzhalter eine wichtige rolle spielt und durchaus gebraucht wird. könnte mir vorstellen, dass ihm das gut tut. denn das gefühl gebraucht zu werden tut doch jedem gut, oder? klar, er ist austauschbar. das darf ich ihm natürlich nicht verraten. denn austauschbar zu sein, dass ist schrecklich. austauschbar zu sein bedeutet ja eigentlich, dass nicht man selbst, sondern einfach irgendjemand oder irgendwas an der stelle gebraucht wird. somit würde mein erstes argument, man braucht dich, nicht mehr ziehen, und das zuvor erzeugte gute gefühl des textes wäre zunichte gemacht. das will ich nicht. also bitte nix verraten, ja? aber vielleicht merkt er es ja nicht. das wäre gut, denn wer hat schon lust einen deprimierten blindtext auf seiner seite zu platzieren. was würde denn das für einen eindruck machen. das will ja keiner lesen. somit wäre er dann ein für alle mal tatsächlich völlig nutzlos. das wäre sein todesurteil. soweit wollen wir es doch nicht kommen lassen, oder? es sei denn, und das ist möglich, er würde wiedergeboren und käme als, naja, sagen wir als witz, und ein textleben später vielleicht als bildzeitungsartikel auf die textwelt. irgendwann wäre er vielleicht sogar ein text im lexikon. dann hätten wir ihn ja sogar weitergebracht in seiner entwicklung. klingt gar nicht schlecht, oder? trotzdem bin ich der meinung, man sollte ihn nicht bewusst dort hin treiben. er hat ein recht darauf, sich selbst zu entwickeln. und zwar in genau dem tempo, das ihm gefällt. und bis es soweit ist, nehme ich ihn eben an, wie er ist. als einfachen blindtext ohne wirklichen inhalt.
-Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-Copyright (c) 2020 Copyright Holder All Rights Reserved.
diff --git a/_posts/2020-11-25-Exampleblog.md b/_posts/2020-11-25-Exampleblog.md
deleted file mode 100644
index 59764798a..000000000
--- a/_posts/2020-11-25-Exampleblog.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-layout: post
-title: "Another post"
-heading: "English post"
-lang: "en"
----
-
-Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-
-Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-
-Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
-Copyright (c) 2020 Copyright Holder All Rights Reserved.
diff --git a/_posts/2020-11-25-Examplog.md b/_posts/2020-11-25-Examplog.md
deleted file mode 100644
index 99e64f494..000000000
--- a/_posts/2020-11-25-Examplog.md
+++ /dev/null
@@ -1,11 +0,0 @@
----
-layout: post
-title: "Blog"
-heading: "Blog"
-lang: "es"
----
-
-Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn’t listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then
-
-
-Far far away, behind the word mountains, far from the countries Vokalia and Consonantia, there live the blind texts. Separated they live in Bookmarksgrove right at the coast of the Semantics, a large language ocean. A small river named Duden flows by their place and supplies it with the necessary regelialia. It is a paradisematic country, in which roasted parts of sentences fly into your mouth. Even the all-powerful Pointing has no control about the blind texts it is an almost unorthographic life One day however a small line of blind text by the name of Lorem Ipsum decided to leave for the far World of Grammar. The Big Oxmox advised her not to do so, because there were thousands of bad Commas, wild Question Marks and devious Semikoli, but the Little Blind Text didn’t listen. She packed her seven versalia, put her initial into the belt and made herself on the way. When she reached the first hills of the Italic Mountains, she had a last view back on the skyline of her hometown Bookmarksgrove, the headline of Alphabet Village and the subline of her own road, the Line Lane. Pityful a rethoric question ran over her cheek, then
From 7d99270b7416629da082718ecce242c851fbf04a Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Thu, 3 Dec 2020 20:50:31 +0100
Subject: [PATCH 13/41] Add dates
---
_data/en/general.yml | 1 +
_layouts/post.html | 26 ++++++++++++++++++--------
2 files changed, 19 insertions(+), 8 deletions(-)
diff --git a/_data/en/general.yml b/_data/en/general.yml
index 025a44811..5ca9af104 100644
--- a/_data/en/general.yml
+++ b/_data/en/general.yml
@@ -18,3 +18,4 @@ blog:
mainpage: "Blog overview"
newpage: "Add a new page via GitHub"
readmore: "Read more..."
+ navpages: "More pages"
diff --git a/_layouts/post.html b/_layouts/post.html
index 3004d1a25..ba90bcb7e 100644
--- a/_layouts/post.html
+++ b/_layouts/post.html
@@ -41,7 +41,10 @@
diff --git a/_posts/2020-11-24-Software-Synth.md b/_posts/2020-11-24-Software-Synth.md
index abba0e95d..a6424d40a 100644
--- a/_posts/2020-11-24-Software-Synth.md
+++ b/_posts/2020-11-24-Software-Synth.md
@@ -2,7 +2,7 @@
layout: post
title: "Software Synth in Jamulus"
lang: "en"
-author: "Engelbert Niehaus"
+author: "niebert"
heading: "Software Synth in Jamulus"
---
This post will discuss how to setup a software synth in Jamulus.
diff --git a/assets/css/blog.css b/assets/css/blog.css
index 1135faf66..a3ff28243 100644
--- a/assets/css/blog.css
+++ b/assets/css/blog.css
@@ -8,6 +8,10 @@
margin-bottom: auto;
}
+.blog header a {
+ color: #fff;
+}
+
#blogside {
margin: 0;
padding: 0;
From 474b3ff26fa290e4112af80a37612282c0150b99 Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Thu, 3 Dec 2020 21:51:31 +0100
Subject: [PATCH 15/41] Add more pages
---
_posts/2020-09-20-Linux-Install-Script.md | 140 ++++++++++++++++++
...-Synth.md => 2020-10-19-Software-Synth.md} | 0
2 files changed, 140 insertions(+)
create mode 100644 _posts/2020-09-20-Linux-Install-Script.md
rename _posts/{2020-11-24-Software-Synth.md => 2020-10-19-Software-Synth.md} (100%)
diff --git a/_posts/2020-09-20-Linux-Install-Script.md b/_posts/2020-09-20-Linux-Install-Script.md
new file mode 100644
index 000000000..6e852888d
--- /dev/null
+++ b/_posts/2020-09-20-Linux-Install-Script.md
@@ -0,0 +1,140 @@
+---
+layout: post
+title: "Linux Bash Installation Script"
+heading: "Bash Installation Script"
+author: niebert
+lang: "en"
+---
+
+If you plan to be installing Jamulus on many Linux machines, you may want to try this script.
+
+
+The following example was tested on Linux Mint and combins all the commands above into one script for Ubuntu/Linux Mint. To incorporate the different command for different Linux distributions variables define the distribution and the release for which the installation script should be performed. Example focuses on Ubuntu with release 18.04 as example. So the suggested script name for the release is e.g. `install4ubuntu18_4.sh`. The script commands are generic so that the installation could also be modified so that they work on other linux distributions.
+
+### Installation dependent on Linux Distribution
+The following script call different installation commands dependent on the Linux distribution.
+The variable `DISTRO` defines which commands are executed. Set the variable dependent on your Linux distribution you are using.
+* `DISTRO="Ubuntu` for a Ubuntu or Linux Mint
+* `DISTRO="Debian` for a Debian or Raspian Linux
+* `DISTRO="Fedora` for a Fedora Linux
+Furthermore if the installation is dependent of the release the variable `LINVERSION` is introduced but is currently not used. In the Ubuntu if statement there is an example how version dependent installation calls can be performed.
+```bash
+if [ "$LINVERSION" = "18.4" ]
+then
+ echo "Perform Installation Specifics for $DISTRO Version $DISTRO"
+fi
+```
+The variable `LINVERSION` is currently not used in the following script but it is just a demo how to use the version specific installation commands.
+
+### Adaptation of the Installation Script
+If you want to create an installation script for Debian just copy the script `install4ubuntu18_4.sh` to `install4debian10_6.sh` and modify the distro variables to
+```bash
+#!/bin/sh
+# set DISTRO either to "Ubuntu", "Debian" or "Fedora"
+DISTRO="Debian"
+LINVERSION="10.6"
+```
+After that test the installation on Debian and modify the commands so that the installation script works on Debian. Please share working installation scripts in this Wiki. The maintainer of this repository might add a folder in this repository `/install_scripts` for working installation scripts. Create a pull request for new installation scripts or create an issue with a request to add a documented and tested installation script to this repository.
+
+### The Installation Script
+Copy the following installation script into a file and save it to the filename `install4ubuntu18_4.sh`. After saving the file e.g. in your `Download` directory change to the directory and call the following script with `sh install4ubuntu18_4.sh`.
+```bash
+#!/bin/sh
+# set DISTRO either to "Ubuntu", "Debian" or "Fedora"
+DISTRO="Ubuntu"
+LINVERSION="18.04"
+
+# Get Jamulus Release Name with "curl" and "grep"
+R=`curl -s https://api.github.com/repos/corrados/jamulus/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")'`
+echo "Jamulus Installation Script for $DISTRO $LINVERSION"
+echo "Release: $R"
+INSTALLJAMULUS="no"
+while true; do
+ read -p "Do you wish to install Jamulus on $DISTRO $LINVERSION? (y/n) " yn
+ case $yn in
+ [Yy]* )
+ echo "Start Installation $DISTRO $LINVERSION"
+ echo "(1) Fetch Release $R from GitHub"
+ wget https://github.com/corrados/jamulus/archive/$R.tar.gz
+ echo "(2) Extract Source Code for Jamulus Release $R from GitHub"
+ tar -xvf $R.tar.gz
+ echo "(3) Delete ${R}.tar.gz from GitHub"
+ rm $R.tar.gz
+ echo "(4) Update Repository"
+ sudo apt-get update
+ INSTALLJAMULUS="yes"
+ break;;
+ [Nn]* )
+ echo "Cancelled Jamulus Installation on $DISTRO $LINVERSION"
+ exit;;
+ * ) echo "Please answer yes or no.";;
+ esac
+done
+
+# echo "Check Variable: $INSTALLJAMULUS"
+
+if [ "$INSTALLJAMULUS" = "yes" ]; then
+ echo "(5) Install Build Essentials for $DISTRO"
+
+ if [ "$DISTRO" = "Ubuntu" ]
+ then
+ echo "Installation for $DISTRO"
+ sudo apt-get install cmake qmake gcc g++
+ sudo apt-get install build-essential qt5-qmake qtdeclarative5-dev qt5-default qttools5-dev-tools libjack-jackd2-dev
+ sudo apt-get install qjackctl
+ if [ "$LINVERSION" = "18.4" ]
+ then
+ echo "Perform Installation Specifics for $DISTRO Version $DISTRO"
+ fi
+
+ elif [ "$DISTRO" = "Debian" ]
+ then
+ sudo apt-get install build-essential qtdeclarative5-dev qt5-default qttools5-dev-tools libjack-jackd2-dev
+ sudo apt-get install qjackctl
+ elif [ "$DISTRO" = "Fedora" ]
+ then
+ sudo dnf install qt5-qtdeclarative-devel jack-audio-connection-kit-dbus jack-audio-connection-kit-devel
+ sudo dnf install qjackctl
+ fi
+
+ echo "(6) Compile Jamulus $R"
+ echo "Change to Directory jamulus-$R"
+ cd "jamulus-$R"
+ # ls
+ qmake Jamulus.pro
+ make clean
+ make
+ sudo make install
+ echo "Compilation DONE"
+ cd ..
+ echo "(6) Delete the Source Files after Installation"
+ rm -R "jamulus-$R"
+
+else
+
+ echo "Installation cancelled"
+
+fi
+
+```
+
+
+## Possible Improvements of the Installation Script for Jamulus
+The script can ask in the very beginning for which linux distribution the installation script should be called.
+This can be tested with the command `lsb_release`
+
+With the `lsb_release` command the command returns the distribution specific information about a Linux distro.
+With a `grep` command with regular expression the variable `DISTRO` and `LINVERSION`.
+E.g. the Ubuntu based systems return with the command the following information.
+```bash
+$ lsb_release -a
+No LSB modules are available.
+Distributor ID: Ubuntu
+Description: Ubuntu 11.04
+Release: 11.04
+Codename: natty
+```
+
+The challenge is, that `lsb_release` command must be available on Linux system. On CentOS/Fedora based systems `lsb_release` command is only available, if the `lsb` core packages are installed. So the automated Linux version detected might no work.
+
+So reading the `DISTRO` and `LINVERION` with the `read` command might be the better distribution dependent improvement than an automated setting with `lsb_release`.
diff --git a/_posts/2020-11-24-Software-Synth.md b/_posts/2020-10-19-Software-Synth.md
similarity index 100%
rename from _posts/2020-11-24-Software-Synth.md
rename to _posts/2020-10-19-Software-Synth.md
From a6a6bdc7cecda7736b4b4d7886dda4cbf2eb223f Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Thu, 3 Dec 2020 22:03:42 +0100
Subject: [PATCH 16/41] add pagination to bottom of posts
---
_layouts/post.html | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/_layouts/post.html b/_layouts/post.html
index 33d511478..1fdfd4d17 100644
--- a/_layouts/post.html
+++ b/_layouts/post.html
@@ -65,15 +65,17 @@
From 3374b21f80d42c01b799bfcae03452152c8e3a6e Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Tue, 8 Dec 2020 22:08:36 +0100
Subject: [PATCH 21/41] move some files
---
_data/en/authors.yml | 9 ++-
_data/en/navigation.yml | 2 +
_posts/2020-03-28-Example-Setup-Hardware.md | 36 ++++++++++++
_posts/2020-03-28-Server-Rpi.md | 56 +++++++++++++++++++
.../2020-11-24-Multiple-Audio-Interfaces.md | 1 -
5 files changed, 100 insertions(+), 4 deletions(-)
create mode 100644 _posts/2020-03-28-Example-Setup-Hardware.md
create mode 100644 _posts/2020-03-28-Server-Rpi.md
diff --git a/_data/en/authors.yml b/_data/en/authors.yml
index 5f9c39126..19da538f0 100644
--- a/_data/en/authors.yml
+++ b/_data/en/authors.yml
@@ -1,7 +1,10 @@
+corrados:
+ name: Volker Fischer
+ url: https://github.com/corrados
niebert:
name: Engelbert Niehaus
- url: https://github.com/niebert
+ url: https://github.com/niebert
ann0see:
- url: https://github.com/ann0see
+ url: https://github.com/ann0see
gilgongo:
- url: https://github.com/gilgongo
+ url: https://github.com/gilgongo
diff --git a/_data/en/navigation.yml b/_data/en/navigation.yml
index d3d25885c..dce0f42e7 100644
--- a/_data/en/navigation.yml
+++ b/_data/en/navigation.yml
@@ -24,6 +24,8 @@ nav:
url: /wiki/Command-Line-Options
- page: Tips & Tricks
url: /wiki/Tips-Tricks-More
+ - page: Community Knowledge Base
+ url: /kb
- page: Demos
url: /wiki/Demos
- page: Privacy Statement
diff --git a/_posts/2020-03-28-Example-Setup-Hardware.md b/_posts/2020-03-28-Example-Setup-Hardware.md
new file mode 100644
index 000000000..c02f792a0
--- /dev/null
+++ b/_posts/2020-03-28-Example-Setup-Hardware.md
@@ -0,0 +1,36 @@
+---
+layout: post
+title: "Example setup audio hardware"
+heading: "Example setup UCA202 Windows"
+author: "corrados"
+lang: "en"
+---
+
+This is an example Windows client installation with audio device [Behringer U-CONTROL UCA202](https://www.amazon.com/Behringer-U-Phono-UFO202-Audiophile-Interface/dp/B002GHBYZ0){: target="_blank" rel="noopener noreferrer"}.
+The following instructions might be similar with other audio devices.
+
+
+_**The exact method of connecting your instrument will of course vary depending on your hardware.**_
+
+## Windows: Audio interface connection - ASIO4All
+
+### 1. Plug the interface into a USB port on your computer
+
+In the future, always use the same USB port for the audio device.
+
+**Windows users**: If not already done: download and install the [free ASIO sound driver (ASIO4All)](https://www.asio4all.org){: target="_blank" rel="noopener noreferrer"}. Some people have also reported success using [this ASIO native driver](http://www.behringerdownload.de/_software/BEHRINGER_2902_X64_2.8.40.zip){: target="_blank" rel="noopener noreferrer"} __currently not available__, although it's not listed on Behringer's product pages as of April 2020.
+
+
+### 2. Start Jamulus
+
+Configure Jamulus to use the correct sound setup (see [this excellent guide](https://www.facebook.com/notes/jamulus-online-musicianssingers-jamming/idiots-guide-to-jamulus-app/510044532903831/) by [Simon Tomlinson](https://www.facebook.com/simon.james.tomlinson?eid=ARBQoY3KcZAtS3pGdLJuqvQTeRSOo4gHdQZT7nNzOt1oPMGgZ4_3GERe-rOyH5PxsSHVYYXjWwcqd71a) on Facebook).
+
+Make sure you have switched off the monitor button on your Behringer U-CONTROL UCA202 (otherwise you will hear both the original sound you are sending to the Jamulus server as well as the returning sound, and may get feedback).
+
+### 3. Plug in your instrument and headphones
+
+Connect your instrument to the input plugs of the Behringer U-CONTROL UCA202. Plug in your headphones into the Behringer U-CONTROL UCA202.
+
+### 4. Connect to a Jamulus server.
+
+You're done! Have fun!
diff --git a/_posts/2020-03-28-Server-Rpi.md b/_posts/2020-03-28-Server-Rpi.md
new file mode 100644
index 000000000..9d7523d4a
--- /dev/null
+++ b/_posts/2020-03-28-Server-Rpi.md
@@ -0,0 +1,56 @@
+---
+layout: post
+title: "Server Installation – Raspberry Pi"
+heading: "Install Jamulus Server on a Raspberry Pi"
+author: "fredsiva"
+lang: "en"
+---
+
+This guide shows you how to install Jamulus on a Raspberry Pi.
+
+
+## Server Installation - Raspberry Pi
+
+**_Please ensure you have read the [server overview](/wiki/Running-a-Server)_**
+
+_Jamulus has been tested on a Raspberry Pi 4 2Gb by Jamulus user [SIVA Frédéric](https://sourceforge.net/u/fredsiva/profile/)_
+
+1. Install Raspbian Buster (allow [VNC](https://www.raspberrypi.org/documentation/remote-access/vnc/) and [SSH](https://www.raspberrypi.org/documentation/remote-access/ssh/README.md) for comfort, but will ultimately run without VNC for higher speed)
+
+1. Edit [config.txt](https://www.raspberrypi.org/documentation/configuration/config-txt/) to enable boot without HDMI by adding `hdmi_force_hotplug=0`
+
+1. [Get the sources](/wiki/Installation-for-Linux#get-jamulus-sources), install the [dependent packages](/wiki/Installation-for-Linux#install-dependencies) according to the Linux client install guide **but do NOT install JACK package(s)** - you don't need them on a [headless server](/wiki/Server-Linux#running-a-headless-server). To run a client, install all listed dependencies.
+
+1. Compile the source code for a server as per [these instructions](/wiki/Server-Linux#compile-sources-create-a-user). Compile a client using the [default instructions](/wiki/Installation-for-Linux#compile-this-bad-boy).
+
+This will build Jamulus and put it in `/usr/local/bin/Jamulus`
+
+Connect Raspberry Pi with Ethernet cable to your router.
+
+If you are running a server, test by starting with the `--server` option, and watch GUI on VNC (or HDMI). When running as a client, you should see the GUI start.
+
+`Jamulus -s`
+
+If all is well, run in your chosen [server mode](Choosing-a-Server-Type) as follows (or use systemd unit script provided in the [Linux guide](Server-Linux#create-a-start-script)), for example a public server:
+
+`sudo chrt 99 ionice -c1 nice -n -20 Jamulus -s -n -e [yourCentralServer] -o "yourServerName;yourCity;[country ID]"&`
+
+**Please also see this [important note on Central Servers](/wiki/Central-Servers).**
+
+See also [Command Line Options](/wiki/Command-Line-Options) for other parameters you can set.
+***
+
+### To upgrade Jamulus
+
+Stop the server and simply repeat step 3 for obtaining the sources and installing above.
+
+If you want to install a specific release, you can do the following using git (where `[RELEASE]` is a release ID such as r3_5_8). See the [official tagged releases](https://github.com/corrados/jamulus/releases).
+
+First, `cd` inside the directory in which the Jamulus sources were unpacked/downloaded, then use the following commands:
+
+~~~
+git pull
+git checkout [RELEASE]
+~~~
+
+Then compile the sources as per a new install. Start Jamulus back up.
diff --git a/_posts/2020-11-24-Multiple-Audio-Interfaces.md b/_posts/2020-11-24-Multiple-Audio-Interfaces.md
index db703109a..c5a972909 100644
--- a/_posts/2020-11-24-Multiple-Audio-Interfaces.md
+++ b/_posts/2020-11-24-Multiple-Audio-Interfaces.md
@@ -2,7 +2,6 @@
layout: post
title: "Using Multiple Audio Interfaces"
heading: "Using multiple Audio interfaces"
-author: "gilgongo"
lang: "en"
---
From cc57f25df07c61a473af47b4d69a3b04bd75d330 Mon Sep 17 00:00:00 2001
From: Olivier Humbert
Date: Thu, 10 Dec 2020 00:02:49 +0100
Subject: [PATCH 22/41] Update 2020-03-28-Example-Setup-Hardware.md
---
_posts/2020-03-28-Example-Setup-Hardware.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_posts/2020-03-28-Example-Setup-Hardware.md b/_posts/2020-03-28-Example-Setup-Hardware.md
index c02f792a0..0b9a7f493 100644
--- a/_posts/2020-03-28-Example-Setup-Hardware.md
+++ b/_posts/2020-03-28-Example-Setup-Hardware.md
@@ -6,7 +6,7 @@ author: "corrados"
lang: "en"
---
-This is an example Windows client installation with audio device [Behringer U-CONTROL UCA202](https://www.amazon.com/Behringer-U-Phono-UFO202-Audiophile-Interface/dp/B002GHBYZ0){: target="_blank" rel="noopener noreferrer"}.
+This is an example Windows client installation with a [Behringer U-CONTROL UCA202](https://www.amazon.com/Behringer-U-Phono-UFO202-Audiophile-Interface/dp/B002GHBYZ0){: target="_blank" rel="noopener noreferrer"} audio device.
The following instructions might be similar with other audio devices.
From e4b30f6dd52ff4d4570fa335c769f761c877b25e Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Thu, 10 Dec 2020 09:08:32 +0100
Subject: [PATCH 23/41] Remove SW Synth to re-add it
---
_posts/2020-10-19-Software-Synth.md | 45 -----------------------------
1 file changed, 45 deletions(-)
delete mode 100644 _posts/2020-10-19-Software-Synth.md
diff --git a/_posts/2020-10-19-Software-Synth.md b/_posts/2020-10-19-Software-Synth.md
deleted file mode 100644
index d802a7ce3..000000000
--- a/_posts/2020-10-19-Software-Synth.md
+++ /dev/null
@@ -1,45 +0,0 @@
----
-layout: post
-title: "Software Synth in Jamulus"
-lang: "en"
-author: "niebert"
-heading: "Software Synth in Jamulus"
----
-This post will discuss how to setup a software synth in Jamulus.
-
-
-## Linux
-We will elaborate the concept of playing a software synth on Linux as example and transfer that to other operating systems (e.g. Windows, MacOSX).
-* **(Hammond Organ Synth)** As an example we talk open source software synth [setBfree](https://github.com/pantherb/setBfree), which is a hammond organ emulator that outputs through JACK on Linux.
-* **(MIDI Keyboard)** The MIDI keyboard is used to generate the key pressed events, that are transmitted through a USB-MIDI interface to Linux system and the Synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding tone for the pressed key. In general the MIDI keyboard can also be replaced by a digital wind midi controller, that does the same but the tone is dependent on how the musician blows air into the digital wind controller.
-* **(Connector to Jamulus)** You may hear the audio output of your Linux system on your speakers but the audio output may not be use as input for your Jamulus session. So another step is to connect the audio out to Jamulus client (with QJackCtl).
-
-### General Information about ALSA, JACK and MIDI
-First of all we explain a few basic concepts on Linux to use MIDI and Audio together.
-* ALSA is the basic to connection to the hardware, i.e. the soundcard and the midi controller for the keyboard.
-* JACK is build on top of ALSA and uses ALSA for the audio output. It provides a adequat environment for music production on Linux.
-* Synthesizer like the [Hammond Organ emulator setBfree](https://github.com/pantherb/setBfree) connect to JACK for audio output.
-* Jamulus connects to JACK.
-
-### Requirements for Using Software Synths in Jamulus on Linux
-For ALSA2JACK MIDI (`a2jmidid`) connection it is necessary to install the a2j package. Furthermore we use in this example a simple Hammond organ emulator `setBfree` in this example. Replace `setBfree` by your favorite Linux synthesizer. Both packages `a2jmidid` and `setbfree` can be installed via your package manager or e.g. on Ubuntu/Mint with `apt-get` commands:
-```shell
-sudo apt-get install a2jmidid
-sudo apt-get install setbfree
-```
-
-### Connecting ALSA, JACK and MIDI for a Synth for Jamulus
-Now we look an the workflow to use the whole infrastructure in Jamulus.
-* **(Jamulus Installation and JACK)** Use the [install script](https://github.com/corrados/jamulus/wiki/Linux-Client-Install-Script) for Jamulus on Linux or [install Jamulus with the manual in the wiki](https://github.com/corrados/jamulus/wiki/Installation-for-Linux). With this installation we have JACK and QJackCtl installed for Jamulus.
-* **(ALSA to JACK - MIDI)** Next we must create a connection from ALSA to JACK to route the MIDI input from the keyboard to the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree).
- * ***(Command Line: `qjackctl`)*** For this step you can start JACK-Control (QJackCtl) from the command line by `qjackctl`,
- * ***(Command Line: `a2jmidid -e`)*** Then you launch the ALSA2JACK MIDI connector with command: `a2jmidid -e`. As long as this connector runs in the shell the `a2j` connection interface is visible in `QJackCtl`.
- * ***(QJackCtl: `ALSA-MIDI`)*** Connect your USB MIDI as input to `MIDI through` in the ALSA-MIDI tab of QJackCtl. Now the midi events from your keyboard reach JACK and are ready to connect.
- * ***(Start Synth)*** Start the Hammond Synthesizer too e.g. from the command line with `setBfree`. You will see the `setBfree` graphical user interface GUI (see http://setbfree.org/gui_3d). Press with your mouse on the visualised organ keyboard to test if the synth generates an organ sound on your speakers.
- * ***(QJackCtl: `JACK-MIDI`)*** Now we can connect `a2j` in JACK-MIDI as input to the synth `setBfree`, that generates the sound as output for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible for QJackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to the `setbfree` if you also see the Hammond Synth SetBFree in QJackCtl.
- * ***(Test Software Synth with MIDI Keyboard)*** If you have speakers attached to your Linux Computer you would hear the emulated Hammond sound on your Linux PC for all the keys your press on your MIDI keyboard. If you just want to play the software synth with your keyboard you are ready to play from here. The only remaining step is to connect the audio to Jamulus.
-* **(Synth to Jamulus - Audio)** In the previous step we connected the MIDI signals from your keyboard to the MIDI input of JACK via a2j - MIDI through connection. Now JACK the MIDI which tell JACK which keys are pressed on the keyboard. Now create an audio connection in JACK (i.e. the generated Hammond sound of the synth). We connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore Jamulus must be started so that you see also Jamulus in the audio connection of QJackCtl. Now you can the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK.
-
-In general `QJackCtrl` is used similar operations like for plugging in instruments in mixer and the mixer into an amplifier and the amplifier again to the speakers. Have fun with your other OpenSource synths like QSynth, [ZynAddSubFX](https://sourceforge.net/projects/zynaddsubfx/) than can be installed on your Linux system and/or used within LMMS.
-
-Have fun playing your synth within Jamulus.
From 09fa846aaf152d72ade54ddc6bc8c2e45ff85532 Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Thu, 10 Dec 2020 09:09:32 +0100
Subject: [PATCH 24/41] Add Software Synth by @niebert
---
...{2020-10-19-Software-Synth.md => 2020-12-10-Software-Synth.md} | 0
1 file changed, 0 insertions(+), 0 deletions(-)
rename _posts/{2020-10-19-Software-Synth.md => 2020-12-10-Software-Synth.md} (100%)
diff --git a/_posts/2020-10-19-Software-Synth.md b/_posts/2020-12-10-Software-Synth.md
similarity index 100%
rename from _posts/2020-10-19-Software-Synth.md
rename to _posts/2020-12-10-Software-Synth.md
From ae451163205995d2d39838a36d23ed292bebd01c Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Thu, 10 Dec 2020 09:12:17 +0100
Subject: [PATCH 25/41] Update 2020-12-10-Software-Synth.md
---
_posts/2020-12-10-Software-Synth.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_posts/2020-12-10-Software-Synth.md b/_posts/2020-12-10-Software-Synth.md
index d802a7ce3..adf6b9a9e 100644
--- a/_posts/2020-12-10-Software-Synth.md
+++ b/_posts/2020-12-10-Software-Synth.md
@@ -5,7 +5,7 @@ lang: "en"
author: "niebert"
heading: "Software Synth in Jamulus"
---
-This post will discuss how to setup a software synth in Jamulus.
+This article will discuss how to setup a software synth in Jamulus.
## Linux
From a5c7e593a6c035b0b922435366b21e6daa414af6 Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Thu, 10 Dec 2020 21:17:00 +0100
Subject: [PATCH 26/41] First review
---
_posts/2020-12-10-Software-Synth.md | 58 +++++++++++++++--------------
1 file changed, 31 insertions(+), 27 deletions(-)
diff --git a/_posts/2020-12-10-Software-Synth.md b/_posts/2020-12-10-Software-Synth.md
index adf6b9a9e..fce295c2f 100644
--- a/_posts/2020-12-10-Software-Synth.md
+++ b/_posts/2020-12-10-Software-Synth.md
@@ -5,41 +5,45 @@ lang: "en"
author: "niebert"
heading: "Software Synth in Jamulus"
---
-This article will discuss how to setup a software synth in Jamulus.
+This article will show you how to use a software synth with Jamulus.
+
## Linux
-We will elaborate the concept of playing a software synth on Linux as example and transfer that to other operating systems (e.g. Windows, MacOSX).
-* **(Hammond Organ Synth)** As an example we talk open source software synth [setBfree](https://github.com/pantherb/setBfree), which is a hammond organ emulator that outputs through JACK on Linux.
-* **(MIDI Keyboard)** The MIDI keyboard is used to generate the key pressed events, that are transmitted through a USB-MIDI interface to Linux system and the Synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding tone for the pressed key. In general the MIDI keyboard can also be replaced by a digital wind midi controller, that does the same but the tone is dependent on how the musician blows air into the digital wind controller.
-* **(Connector to Jamulus)** You may hear the audio output of your Linux system on your speakers but the audio output may not be use as input for your Jamulus session. So another step is to connect the audio out to Jamulus client (with QJackCtl).
+We will look at the concept of playing a software synth on Linux but other operating systems should work similar.
+Let's have a look at what we need:
+1. A software synth like [setBfree](https://github.com/pantherb/setBfree) **(Hammond Organ Synth)** which in this example emulates an organ and outputs its audio to JACK on Linux.
+2. A **MIDI Keyboard**. The MIDI keyboard is used to generate the key pressed events, that are transmitted through a USB-MIDI interface to your Operating System. After that the synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding sound for the pressed key. The MIDI keyboard could also be replaced by a digital wind midi controller, which does the same (although the tone is dependent on how the musician blows air into the digital wind controller).
+3. A **connector to Jamulus**. You may hear the audio output of the synth on your speakers but the audio output may not be used as input for Jamulus. That's why we need to connect the audio output of the synth to the Jamulus client (this can be done with QJackCtl).
### General Information about ALSA, JACK and MIDI
-First of all we explain a few basic concepts on Linux to use MIDI and Audio together.
-* ALSA is the basic to connection to the hardware, i.e. the soundcard and the midi controller for the keyboard.
-* JACK is build on top of ALSA and uses ALSA for the audio output. It provides a adequat environment for music production on Linux.
-* Synthesizer like the [Hammond Organ emulator setBfree](https://github.com/pantherb/setBfree) connect to JACK for audio output.
-* Jamulus connects to JACK.
-
-### Requirements for Using Software Synths in Jamulus on Linux
-For ALSA2JACK MIDI (`a2jmidid`) connection it is necessary to install the a2j package. Furthermore we use in this example a simple Hammond organ emulator `setBfree` in this example. Replace `setBfree` by your favorite Linux synthesizer. Both packages `a2jmidid` and `setbfree` can be installed via your package manager or e.g. on Ubuntu/Mint with `apt-get` commands:
+This part is specific to Linux. Let's have a look at a few concepts how Linux handles Audio and MIDI.
+* **ALSA** is the basic layer to connect to the hardware, i.e. the soundcard and the midi controller for the keyboard.
+* **JACK** is built on top of ALSA and uses ALSA for the audio output. It provides an easy to use environment for music production on Linux.
+* A **synthesizer** like the [Hammond Organ emulator setBfree](https://github.com/pantherb/setBfree) connects to JACK and sends its audio there.
+* **Jamulus** connects to JACK too and can therefore receive and send audio to every application connected to JACK (including our synthesizer).
+
+### Requirements for using Software Synths in Jamulus on Linux
+If you use your MIDI keyboard, you might need ALSA2JACK MIDI (`a2jmidid`) from the `a2j` package. To connect it to JACK. Since we use `setBfree` in this example, you also need a software synth (of course, you can replace this by your favourite Linux synthesizer). Both packages `a2jmidid` and `setbfree` can be installed with your package manager e.g. on Ubuntu by using the `apt-get` commands:
```shell
sudo apt-get install a2jmidid
sudo apt-get install setbfree
```
### Connecting ALSA, JACK and MIDI for a Synth for Jamulus
-Now we look an the workflow to use the whole infrastructure in Jamulus.
-* **(Jamulus Installation and JACK)** Use the [install script](https://github.com/corrados/jamulus/wiki/Linux-Client-Install-Script) for Jamulus on Linux or [install Jamulus with the manual in the wiki](https://github.com/corrados/jamulus/wiki/Installation-for-Linux). With this installation we have JACK and QJackCtl installed for Jamulus.
-* **(ALSA to JACK - MIDI)** Next we must create a connection from ALSA to JACK to route the MIDI input from the keyboard to the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree).
- * ***(Command Line: `qjackctl`)*** For this step you can start JACK-Control (QJackCtl) from the command line by `qjackctl`,
- * ***(Command Line: `a2jmidid -e`)*** Then you launch the ALSA2JACK MIDI connector with command: `a2jmidid -e`. As long as this connector runs in the shell the `a2j` connection interface is visible in `QJackCtl`.
- * ***(QJackCtl: `ALSA-MIDI`)*** Connect your USB MIDI as input to `MIDI through` in the ALSA-MIDI tab of QJackCtl. Now the midi events from your keyboard reach JACK and are ready to connect.
- * ***(Start Synth)*** Start the Hammond Synthesizer too e.g. from the command line with `setBfree`. You will see the `setBfree` graphical user interface GUI (see http://setbfree.org/gui_3d). Press with your mouse on the visualised organ keyboard to test if the synth generates an organ sound on your speakers.
- * ***(QJackCtl: `JACK-MIDI`)*** Now we can connect `a2j` in JACK-MIDI as input to the synth `setBfree`, that generates the sound as output for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible for QJackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to the `setbfree` if you also see the Hammond Synth SetBFree in QJackCtl.
- * ***(Test Software Synth with MIDI Keyboard)*** If you have speakers attached to your Linux Computer you would hear the emulated Hammond sound on your Linux PC for all the keys your press on your MIDI keyboard. If you just want to play the software synth with your keyboard you are ready to play from here. The only remaining step is to connect the audio to Jamulus.
-* **(Synth to Jamulus - Audio)** In the previous step we connected the MIDI signals from your keyboard to the MIDI input of JACK via a2j - MIDI through connection. Now JACK the MIDI which tell JACK which keys are pressed on the keyboard. Now create an audio connection in JACK (i.e. the generated Hammond sound of the synth). We connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore Jamulus must be started so that you see also Jamulus in the audio connection of QJackCtl. Now you can the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK.
-
-In general `QJackCtrl` is used similar operations like for plugging in instruments in mixer and the mixer into an amplifier and the amplifier again to the speakers. Have fun with your other OpenSource synths like QSynth, [ZynAddSubFX](https://sourceforge.net/projects/zynaddsubfx/) than can be installed on your Linux system and/or used within LMMS.
-
-Have fun playing your synth within Jamulus.
+Let's have a look at the workflow and the infrastructure in Jamulus.
+1. Install Jamulus (You've probably already done that). If not, please have a look at the [installation page in the documentation](/wiki/Getting-Started). If you use Linux and have followed the instructions, JACK and QJackCtl should have been installed.
+2. **ALSA to JACK - MIDI** Next we must create a connection from ALSA to JACK to route the MIDI input from the keyboard to setBfree.
+ * Open Qjackctl e.g. from the command line by typing `qjackctl`
+ * Launch the ALSA2JACK MIDI connector with `a2jmidid -e`. While this connector runs, the `a2j` connection interface should be visible in `QJackCtl`.
+ * Now connect your USB MIDI device as input to `MIDI through` in the ALSA-MIDI tab of QJackCtl. MIDI events from your keyboard will now reach JACK.
+ * Start your synth e.g. from the command line with (in my case) `setBfree`. You will now see the `setBfree` graphical user interface (it could look like this: http://setbfree.org/gui_3d). You can now check if the synth generates sound by clicking on the visualised organ keyboard and listening for sound through your speakers.
+ * In Qjackctl we can now connect `a2j` in JACK-MIDI as input to the synth `setBfree`, that generates the sound as output for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible for QJackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to the `setbfree` if you also see the Hammond Synth SetBFree in QJackCtl.
+ * Let's test the software synth with our MIDI Keyboard! If you have speakers attached to your Linux Computer you should hear the emulated Hammond sound on your Linux PC for all the keys your press on your MIDI keyboard. If you just want to play the software synth with your keyboard, you're finished here. But if you want to connect the sound of the synth to Jamulus, the only remaining step is to connect the synths' audio to Jamulus.
+**Synth to Jamulus - Audio**: In the previous step we ensured that the MIDI signals from your keyboard get sent to to the MIDI input of JACK. Now we need to create an audio connection from JACK (i.e. the generated Hammond sound of the synth) to Jamulus. To do so, we connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore, start Jamulus so that you can see Jamulus in QJackCtl. Now connect the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK. Now you're done.
+
+`QJackCtrl` can be used for operations like plugging in instruments in mixer and the mixer into an amplifier and the amplifier again to the speakers.
+
+Have fun with other OpenSource synths like QSynth, [ZynAddSubFX](https://sourceforge.net/projects/zynaddsubfx/) which can be installed on your Linux system and/or used within LMMS.
+
+Have fun playing your synth within Jamulus!
From ce63438f0a6f1cd1b83db3c85f105f3ad03d7be1 Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Thu, 10 Dec 2020 21:33:26 +0100
Subject: [PATCH 27/41] Second review
---
_posts/2020-12-10-Software-Synth.md | 28 +++++++++++++++-------------
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/_posts/2020-12-10-Software-Synth.md b/_posts/2020-12-10-Software-Synth.md
index fce295c2f..655f3c8f0 100644
--- a/_posts/2020-12-10-Software-Synth.md
+++ b/_posts/2020-12-10-Software-Synth.md
@@ -12,38 +12,40 @@ This article will show you how to use a software synth with Jamulus.
## Linux
We will look at the concept of playing a software synth on Linux but other operating systems should work similar.
Let's have a look at what we need:
-1. A software synth like [setBfree](https://github.com/pantherb/setBfree) **(Hammond Organ Synth)** which in this example emulates an organ and outputs its audio to JACK on Linux.
-2. A **MIDI Keyboard**. The MIDI keyboard is used to generate the key pressed events, that are transmitted through a USB-MIDI interface to your Operating System. After that the synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding sound for the pressed key. The MIDI keyboard could also be replaced by a digital wind midi controller, which does the same (although the tone is dependent on how the musician blows air into the digital wind controller).
-3. A **connector to Jamulus**. You may hear the audio output of the synth on your speakers but the audio output may not be used as input for Jamulus. That's why we need to connect the audio output of the synth to the Jamulus client (this can be done with QJackCtl).
+1. A software synth like [setBfree](https://github.com/pantherb/setBfree) **(Hammond Organ Synth)** which we'll use in this example. It emulates an organ and outputs its audio to JACK on Linux.
+2. A **MIDI Keyboard**. The MIDI keyboard is used to generate the key pressed events, which are transmitted through a USB-MIDI interface to your operating system. After that the synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding sound for the pressed key. The MIDI keyboard could also be replaced by a digital wind midi controller, which does the same (although the tone is dependent on how the musician blows air into the digital wind controller).
+3. A **connector to Jamulus**. You may hear the audio output of the synth on your speakers but the audio output may not be used as input for Jamulus. That's why we need to connect the audio output of the synth to Jamulus (this can be done with QJackCtl on Linux).
### General Information about ALSA, JACK and MIDI
-This part is specific to Linux. Let's have a look at a few concepts how Linux handles Audio and MIDI.
-* **ALSA** is the basic layer to connect to the hardware, i.e. the soundcard and the midi controller for the keyboard.
+This part is specific to Linux. Let's have a look at a few concepts how Linux handles Audio and MIDI before actually looking at how to connect the synth.
+* **ALSA** This is the basic layer which connects to the hardware, i.e. the soundcard and the midi controller for the keyboard.
* **JACK** is built on top of ALSA and uses ALSA for the audio output. It provides an easy to use environment for music production on Linux.
-* A **synthesizer** like the [Hammond Organ emulator setBfree](https://github.com/pantherb/setBfree) connects to JACK and sends its audio there.
+* The **synthesizer** like the [Hammond Organ emulator setBfree](https://github.com/pantherb/setBfree) connects to JACK and sends its audio there.
* **Jamulus** connects to JACK too and can therefore receive and send audio to every application connected to JACK (including our synthesizer).
### Requirements for using Software Synths in Jamulus on Linux
-If you use your MIDI keyboard, you might need ALSA2JACK MIDI (`a2jmidid`) from the `a2j` package. To connect it to JACK. Since we use `setBfree` in this example, you also need a software synth (of course, you can replace this by your favourite Linux synthesizer). Both packages `a2jmidid` and `setbfree` can be installed with your package manager e.g. on Ubuntu by using the `apt-get` commands:
+If you use your MIDI keyboard, you might need ALSA2JACK MIDI (`a2jmidid`) from the `a2j` package to be able to connect it to JACK. Since we use `setBfree` in this example, you also need this software synth (of course, you can replace this by your favourite Linux synthesizer). Both packages `a2jmidid` and `setbfree` can be installed with your package manager e.g. on Ubuntu by using the `apt-get` commands:
+
```shell
sudo apt-get install a2jmidid
sudo apt-get install setbfree
```
### Connecting ALSA, JACK and MIDI for a Synth for Jamulus
-Let's have a look at the workflow and the infrastructure in Jamulus.
-1. Install Jamulus (You've probably already done that). If not, please have a look at the [installation page in the documentation](/wiki/Getting-Started). If you use Linux and have followed the instructions, JACK and QJackCtl should have been installed.
-2. **ALSA to JACK - MIDI** Next we must create a connection from ALSA to JACK to route the MIDI input from the keyboard to setBfree.
+Let's have a look at the workflow.
+
+1. Install Jamulus (you've probably already done that. If not, please have a look at the [installation page in the documentation](/wiki/Getting-Started)). If you followed these instructions, JACK and QJackCtl were already installed.
+2. **ALSA to JACK - MIDI** Next, we must create a connection from ALSA to JACK to route the MIDI input from the keyboard to setBfree. Let's have a look at how to do that:
* Open Qjackctl e.g. from the command line by typing `qjackctl`
* Launch the ALSA2JACK MIDI connector with `a2jmidid -e`. While this connector runs, the `a2j` connection interface should be visible in `QJackCtl`.
* Now connect your USB MIDI device as input to `MIDI through` in the ALSA-MIDI tab of QJackCtl. MIDI events from your keyboard will now reach JACK.
* Start your synth e.g. from the command line with (in my case) `setBfree`. You will now see the `setBfree` graphical user interface (it could look like this: http://setbfree.org/gui_3d). You can now check if the synth generates sound by clicking on the visualised organ keyboard and listening for sound through your speakers.
- * In Qjackctl we can now connect `a2j` in JACK-MIDI as input to the synth `setBfree`, that generates the sound as output for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible for QJackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to the `setbfree` if you also see the Hammond Synth SetBFree in QJackCtl.
- * Let's test the software synth with our MIDI Keyboard! If you have speakers attached to your Linux Computer you should hear the emulated Hammond sound on your Linux PC for all the keys your press on your MIDI keyboard. If you just want to play the software synth with your keyboard, you're finished here. But if you want to connect the sound of the synth to Jamulus, the only remaining step is to connect the synths' audio to Jamulus.
+ * In Qjackctl we can now connect `a2j` in JACK-MIDI as input to the synth, which generates sound as output for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible for QJackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to `setbfree` if you also see the Hammond Synth SetBFree in QJackCtl.
+ * Let's test the software synth with our MIDI Keyboard! If you have speakers attached to your device you should hear the emulated Hammond sound for all the keys your press on your MIDI keyboard. If you just want to play the software synth with your keyboard, you're finished here. But if you want to connect the sound of the synth to Jamulus, the only remaining step is to connect the synths' audio to Jamulus.
**Synth to Jamulus - Audio**: In the previous step we ensured that the MIDI signals from your keyboard get sent to to the MIDI input of JACK. Now we need to create an audio connection from JACK (i.e. the generated Hammond sound of the synth) to Jamulus. To do so, we connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore, start Jamulus so that you can see Jamulus in QJackCtl. Now connect the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK. Now you're done.
`QJackCtrl` can be used for operations like plugging in instruments in mixer and the mixer into an amplifier and the amplifier again to the speakers.
-Have fun with other OpenSource synths like QSynth, [ZynAddSubFX](https://sourceforge.net/projects/zynaddsubfx/) which can be installed on your Linux system and/or used within LMMS.
+There are also other Open Source synths like QSynth or [ZynAddSubFX](https://sourceforge.net/projects/zynaddsubfx/) which can be installed on your Linux system and/or used within LMMS.
Have fun playing your synth within Jamulus!
From e01ef159898d89ce1cae8b988b2cbb6b24cf1137 Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Thu, 10 Dec 2020 21:41:18 +0100
Subject: [PATCH 28/41] Remove install script to re add it via pr
---
_posts/2020-09-20-Linux-Install-Script.md | 140 ----------------------
1 file changed, 140 deletions(-)
delete mode 100644 _posts/2020-09-20-Linux-Install-Script.md
diff --git a/_posts/2020-09-20-Linux-Install-Script.md b/_posts/2020-09-20-Linux-Install-Script.md
deleted file mode 100644
index bf9dfc409..000000000
--- a/_posts/2020-09-20-Linux-Install-Script.md
+++ /dev/null
@@ -1,140 +0,0 @@
----
-layout: post
-title: "Linux Bash Installation Script"
-heading: "Bash Installation Script"
-author: "niebert"
-lang: "en"
----
-
-If you plan to be installing Jamulus on many Linux machines, you may want to try this script.
-
-
-The following example was tested on Linux Mint and combins all the commands above into one script for Ubuntu/Linux Mint. To incorporate the different command for different Linux distributions variables define the distribution and the release for which the installation script should be performed. Example focuses on Ubuntu with release 18.04 as example. So the suggested script name for the release is e.g. `install4ubuntu18_4.sh`. The script commands are generic so that the installation could also be modified so that they work on other linux distributions.
-
-### Installation dependent on Linux Distribution
-The following script call different installation commands dependent on the Linux distribution.
-The variable `DISTRO` defines which commands are executed. Set the variable dependent on your Linux distribution you are using.
-* `DISTRO="Ubuntu` for a Ubuntu or Linux Mint
-* `DISTRO="Debian` for a Debian or Raspian Linux
-* `DISTRO="Fedora` for a Fedora Linux
-Furthermore if the installation is dependent of the release the variable `LINVERSION` is introduced but is currently not used. In the Ubuntu if statement there is an example how version dependent installation calls can be performed.
-```bash
-if [ "$LINVERSION" = "18.4" ]
-then
- echo "Perform Installation Specifics for $DISTRO Version $DISTRO"
-fi
-```
-The variable `LINVERSION` is currently not used in the following script but it is just a demo how to use the version specific installation commands.
-
-### Adaptation of the Installation Script
-If you want to create an installation script for Debian just copy the script `install4ubuntu18_4.sh` to `install4debian10_6.sh` and modify the distro variables to
-```bash
-#!/bin/sh
-# set DISTRO either to "Ubuntu", "Debian" or "Fedora"
-DISTRO="Debian"
-LINVERSION="10.6"
-```
-After that test the installation on Debian and modify the commands so that the installation script works on Debian. Please share working installation scripts in this Wiki. The maintainer of this repository might add a folder in this repository `/install_scripts` for working installation scripts. Create a pull request for new installation scripts or create an issue with a request to add a documented and tested installation script to this repository.
-
-### The Installation Script
-Copy the following installation script into a file and save it to the filename `install4ubuntu18_4.sh`. After saving the file e.g. in your `Download` directory change to the directory and call the following script with `sh install4ubuntu18_4.sh`.
-```bash
-#!/bin/sh
-# set DISTRO either to "Ubuntu", "Debian" or "Fedora"
-DISTRO="Ubuntu"
-LINVERSION="18.04"
-
-# Get Jamulus Release Name with "curl" and "grep"
-R=`curl -s https://api.github.com/repos/corrados/jamulus/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")'`
-echo "Jamulus Installation Script for $DISTRO $LINVERSION"
-echo "Release: $R"
-INSTALLJAMULUS="no"
-while true; do
- read -p "Do you wish to install Jamulus on $DISTRO $LINVERSION? (y/n) " yn
- case $yn in
- [Yy]* )
- echo "Start Installation $DISTRO $LINVERSION"
- echo "(1) Fetch Release $R from GitHub"
- wget https://github.com/corrados/jamulus/archive/$R.tar.gz
- echo "(2) Extract Source Code for Jamulus Release $R from GitHub"
- tar -xvf $R.tar.gz
- echo "(3) Delete ${R}.tar.gz from GitHub"
- rm $R.tar.gz
- echo "(4) Update Repository"
- sudo apt-get update
- INSTALLJAMULUS="yes"
- break;;
- [Nn]* )
- echo "Cancelled Jamulus Installation on $DISTRO $LINVERSION"
- exit;;
- * ) echo "Please answer yes or no.";;
- esac
-done
-
-# echo "Check Variable: $INSTALLJAMULUS"
-
-if [ "$INSTALLJAMULUS" = "yes" ]; then
- echo "(5) Install Build Essentials for $DISTRO"
-
- if [ "$DISTRO" = "Ubuntu" ]
- then
- echo "Installation for $DISTRO"
- sudo apt-get install cmake qmake gcc g++
- sudo apt-get install build-essential qt5-qmake qtdeclarative5-dev qt5-default qttools5-dev-tools libjack-jackd2-dev
- sudo apt-get install qjackctl
- if [ "$LINVERSION" = "18.4" ]
- then
- echo "Perform Installation Specifics for $DISTRO Version $DISTRO"
- fi
-
- elif [ "$DISTRO" = "Debian" ]
- then
- sudo apt-get install build-essential qtdeclarative5-dev qt5-default qttools5-dev-tools libjack-jackd2-dev
- sudo apt-get install qjackctl
- elif [ "$DISTRO" = "Fedora" ]
- then
- sudo dnf install qt5-qtdeclarative-devel jack-audio-connection-kit-dbus jack-audio-connection-kit-devel
- sudo dnf install qjackctl
- fi
-
- echo "(6) Compile Jamulus $R"
- echo "Change to Directory jamulus-$R"
- cd "jamulus-$R"
- # ls
- qmake Jamulus.pro
- make clean
- make
- sudo make install
- echo "Compilation DONE"
- cd ..
- echo "(6) Delete the Source Files after Installation"
- rm -R "jamulus-$R"
-
-else
-
- echo "Installation cancelled"
-
-fi
-
-```
-
-
-## Possible Improvements of the Installation Script for Jamulus
-The script can ask in the very beginning for which linux distribution the installation script should be called.
-This can be tested with the command `lsb_release`
-
-With the `lsb_release` command the command returns the distribution specific information about a Linux distro.
-With a `grep` command with regular expression the variable `DISTRO` and `LINVERSION`.
-E.g. the Ubuntu based systems return with the command the following information.
-```bash
-$ lsb_release -a
-No LSB modules are available.
-Distributor ID: Ubuntu
-Description: Ubuntu 11.04
-Release: 11.04
-Codename: natty
-```
-
-The challenge is, that `lsb_release` command must be available on Linux system. On CentOS/Fedora based systems `lsb_release` command is only available, if the `lsb` core packages are installed. So the automated Linux version detected might no work.
-
-So reading the `DISTRO` and `LINVERION` with the `read` command might be the better distribution dependent improvement than an automated setting with `lsb_release`.
From 338549e6f5cef43de3695e3a0049fc5c96b3c4e0 Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Thu, 10 Dec 2020 21:50:09 +0100
Subject: [PATCH 29/41] Minor improvements
---
_posts/2020-09-20-Linux-Install-Script.md | 140 ++++++++++++++++++++++
1 file changed, 140 insertions(+)
create mode 100644 _posts/2020-09-20-Linux-Install-Script.md
diff --git a/_posts/2020-09-20-Linux-Install-Script.md b/_posts/2020-09-20-Linux-Install-Script.md
new file mode 100644
index 000000000..aa48796f0
--- /dev/null
+++ b/_posts/2020-09-20-Linux-Install-Script.md
@@ -0,0 +1,140 @@
+---
+layout: post
+title: "Linux Bash Installation Script"
+heading: "Bash Installation Script"
+author: "niebert"
+lang: "en"
+---
+
+If you plan to be installing Jamulus on many Linux machines, you may want to try this script.
+
+
+The following example was tested on Linux Mint and combines all the needed steps in one script for Ubuntu/Linux Mint. To incorporate the different command for different Linux distributions, variables define the distribution and the release for which the installation should be performed. This example focuses on Ubuntu release 18.04. The suggested script name for the release is e.g. `install4ubuntu18_4.sh`. The script commands are generic so that the installation could also be modified so that they work on other Linux distributions.
+
+### Installation dependent on Linux Distribution
+The following script calls different installation commands dependent on the Linux distribution.
+The variable `DISTRO` defines which commands are executed. Set the variable dependent on your Linux distribution you are using e.g.
+* `DISTRO="Ubuntu` for Ubuntu or Linux Mint
+* `DISTRO="Debian` for Debian or Raspbian Linux
+* `DISTRO="Fedora` for Fedora
+Furthermore if the installation is dependent on the release, the variable `LINVERSION` is introduced but currently not used. In Ubuntu the if statement is an example how version dependent installation calls can be performed:
+```bash
+if [ "$LINVERSION" = "18.4" ]
+then
+ echo "Perform Installation Specifics for $DISTRO Version $DISTRO"
+fi
+```
+The variable `LINVERSION` is currently not used and just a demo how to use the version specific installation commands.
+
+### Adaptation of the Installation Script
+If you want to create an installation script for Debian just copy the script `install4ubuntu18_4.sh` to `install4debian10_6.sh` and modify the distro variables to
+```bash
+#!/bin/sh
+# set DISTRO either to "Ubuntu", "Debian" or "Fedora"
+DISTRO="Debian"
+LINVERSION="10.6"
+```
+After that, test the installation on Debian and modify the commands so that the installation script works on Debian. You can share working installation scripts in this Wiki. The maintainer of the Jamulus Repository might add a folder in the repository `/install_scripts` for working installation scripts. Create a pull request for new installation scripts or create an issue with a request to add a documented and tested installation script.
+
+### The Installation Script
+Copy the following installation script into a file and save it to the filename `install4ubuntu18_4.sh`. After saving the file e.g. in your `Download` directory change to the directory (`cd`) and call the following script with `sh install4ubuntu18_4.sh`.
+```bash
+#!/bin/sh
+# set DISTRO either to "Ubuntu", "Debian" or "Fedora"
+DISTRO="Ubuntu"
+LINVERSION="18.04"
+
+# Get Jamulus Release Name with "curl" and "grep"
+R=`curl -s https://api.github.com/repos/corrados/jamulus/releases/latest | grep -oP '"tag_name": "\K(.*)(?=")'`
+echo "Jamulus Installation Script for $DISTRO $LINVERSION"
+echo "Release: $R"
+INSTALLJAMULUS="no"
+while true; do
+ read -p "Do you wish to install Jamulus on $DISTRO $LINVERSION? (y/n) " yn
+ case $yn in
+ [Yy]* )
+ echo "Start Installation $DISTRO $LINVERSION"
+ echo "(1) Fetch Release $R from GitHub"
+ wget https://github.com/corrados/jamulus/archive/$R.tar.gz
+ echo "(2) Extract Source Code for Jamulus Release $R from GitHub"
+ tar -xvf $R.tar.gz
+ echo "(3) Delete ${R}.tar.gz from GitHub"
+ rm $R.tar.gz
+ echo "(4) Update Repository"
+ sudo apt-get update
+ INSTALLJAMULUS="yes"
+ break;;
+ [Nn]* )
+ echo "Cancelled Jamulus Installation on $DISTRO $LINVERSION"
+ exit;;
+ * ) echo "Please answer yes or no.";;
+ esac
+done
+
+# echo "Check Variable: $INSTALLJAMULUS"
+
+if [ "$INSTALLJAMULUS" = "yes" ]; then
+ echo "(5) Install Build Essentials for $DISTRO"
+
+ if [ "$DISTRO" = "Ubuntu" ]
+ then
+ echo "Installation for $DISTRO"
+ sudo apt-get install cmake qmake gcc g++
+ sudo apt-get install build-essential qt5-qmake qtdeclarative5-dev qt5-default qttools5-dev-tools libjack-jackd2-dev
+ sudo apt-get install qjackctl
+ if [ "$LINVERSION" = "18.4" ]
+ then
+ echo "Perform Installation Specifics for $DISTRO Version $DISTRO"
+ fi
+
+ elif [ "$DISTRO" = "Debian" ]
+ then
+ sudo apt-get install build-essential qtdeclarative5-dev qt5-default qttools5-dev-tools libjack-jackd2-dev
+ sudo apt-get install qjackctl
+ elif [ "$DISTRO" = "Fedora" ]
+ then
+ sudo dnf install qt5-qtdeclarative-devel jack-audio-connection-kit-dbus jack-audio-connection-kit-devel
+ sudo dnf install qjackctl
+ fi
+
+ echo "(6) Compile Jamulus $R"
+ echo "Change to Directory jamulus-$R"
+ cd "jamulus-$R"
+ # ls
+ qmake Jamulus.pro
+ make clean
+ make
+ sudo make install
+ echo "Compilation DONE"
+ cd ..
+ echo "(6) Delete the Source Files after Installation"
+ rm -R "jamulus-$R"
+
+else
+
+ echo "Installation cancelled"
+
+fi
+
+```
+
+
+## Possible Improvements of the Installation Script for Jamulus
+This script checks in the very beginning for which linux distribution the installation should be called.
+This can be tested with the command `lsb_release`
+
+With the `lsb_release` command the command returns the distribution specific information about a Linux distro.
+With a `grep` command with regular expression the variable `DISTRO` and `LINVERSION`.
+E.g. the Ubuntu based systems return with the command the following information.
+```bash
+$ lsb_release -a
+No LSB modules are available.
+Distributor ID: Ubuntu
+Description: Ubuntu 11.04
+Release: 11.04
+Codename: natty
+```
+
+The challenge is, that `lsb_release` command must be available on your Linux system. On CentOS/Fedora based systems `lsb_release` command is only available, if the `lsb` core packages are installed. So the automated Linux version detected might no work.
+
+Reading the `DISTRO` and `LINVERION` with the `read` command might be the better distribution dependent improvement than an automated setting with `lsb_release`.
From 137597c6c2efee7b005a9cedc224740c37fddbb7 Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Thu, 10 Dec 2020 22:08:47 +0100
Subject: [PATCH 30/41] Use @trebmuh changes
---
_posts/2020-09-20-Linux-Install-Script.md | 30 ++++++++++++-----------
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/_posts/2020-09-20-Linux-Install-Script.md b/_posts/2020-09-20-Linux-Install-Script.md
index aa48796f0..d0d7301b0 100644
--- a/_posts/2020-09-20-Linux-Install-Script.md
+++ b/_posts/2020-09-20-Linux-Install-Script.md
@@ -9,22 +9,24 @@ lang: "en"
If you plan to be installing Jamulus on many Linux machines, you may want to try this script.
-The following example was tested on Linux Mint and combines all the needed steps in one script for Ubuntu/Linux Mint. To incorporate the different command for different Linux distributions, variables define the distribution and the release for which the installation should be performed. This example focuses on Ubuntu release 18.04. The suggested script name for the release is e.g. `install4ubuntu18_4.sh`. The script commands are generic so that the installation could also be modified so that they work on other Linux distributions.
+If you plan to be installing Jamulus on many Linux machines, you may want to try this script.
+
+The following example was tested on Linux Mint and combines all the commands above into one script for Ubuntu/Linux Mint. To incorporate the different commands for different Linux distributions, variables define the distribution and the release for which the installation script should be performed. The following focuses on Ubuntu with release 18.04 as example. So the suggested script name for the release is e.g. `install4ubuntu18_4.sh`. The script commands are generic so that the installation could also be modified so that they work on other linux distributions.
### Installation dependent on Linux Distribution
-The following script calls different installation commands dependent on the Linux distribution.
-The variable `DISTRO` defines which commands are executed. Set the variable dependent on your Linux distribution you are using e.g.
-* `DISTRO="Ubuntu` for Ubuntu or Linux Mint
-* `DISTRO="Debian` for Debian or Raspbian Linux
-* `DISTRO="Fedora` for Fedora
-Furthermore if the installation is dependent on the release, the variable `LINVERSION` is introduced but currently not used. In Ubuntu the if statement is an example how version dependent installation calls can be performed:
+The following script call different installation commands dependent on the Linux distribution.
+The variable `DISTRO` defines which commands are executed. Set the variable dependent on the Linux distribution you are using.
+* `DISTRO="Ubuntu"` for a Ubuntu or Linux Mint
+* `DISTRO="Debian"` for a Debian or Raspbian Linux
+* `DISTRO="Fedora"` for a Fedora Linux
+Furthermore if the installation is dependent of the release the variable `LINVERSION` is introduced but is currently not used. In the Ubuntu `if` statement there is an example how version dependent installation calls can be performed.
```bash
if [ "$LINVERSION" = "18.4" ]
then
echo "Perform Installation Specifics for $DISTRO Version $DISTRO"
fi
```
-The variable `LINVERSION` is currently not used and just a demo how to use the version specific installation commands.
+The variable `LINVERSION` is currently not used in the following script but it is just a demo how to use the version specific installation commands.
### Adaptation of the Installation Script
If you want to create an installation script for Debian just copy the script `install4ubuntu18_4.sh` to `install4debian10_6.sh` and modify the distro variables to
@@ -34,10 +36,10 @@ If you want to create an installation script for Debian just copy the script `in
DISTRO="Debian"
LINVERSION="10.6"
```
-After that, test the installation on Debian and modify the commands so that the installation script works on Debian. You can share working installation scripts in this Wiki. The maintainer of the Jamulus Repository might add a folder in the repository `/install_scripts` for working installation scripts. Create a pull request for new installation scripts or create an issue with a request to add a documented and tested installation script.
+After that test the installation on Debian and modify the commands so that the installation script works on Debian. Please share working installation scripts in this Wiki. The maintainer of this repository might add a folder in this repository `/install_scripts` for working installation scripts. Create a pull request for new installation scripts or create an issue with a request to add a documented and tested installation script to this repository.
### The Installation Script
-Copy the following installation script into a file and save it to the filename `install4ubuntu18_4.sh`. After saving the file e.g. in your `Download` directory change to the directory (`cd`) and call the following script with `sh install4ubuntu18_4.sh`.
+Copy the following installation script into a file and save it to the filename `install4ubuntu18_4.sh`. After saving the file e.g. in your `Download` directory change to the directory and call the following script with `sh install4ubuntu18_4.sh`.
```bash
#!/bin/sh
# set DISTRO either to "Ubuntu", "Debian" or "Fedora"
@@ -120,10 +122,10 @@ fi
## Possible Improvements of the Installation Script for Jamulus
-This script checks in the very beginning for which linux distribution the installation should be called.
+The script can ask in the very beginning for which linux distribution the installation script should be called.
This can be tested with the command `lsb_release`
-With the `lsb_release` command the command returns the distribution specific information about a Linux distro.
+The `lsb_release` command returns the distribution specific information about a Linux distro.
With a `grep` command with regular expression the variable `DISTRO` and `LINVERSION`.
E.g. the Ubuntu based systems return with the command the following information.
```bash
@@ -135,6 +137,6 @@ Release: 11.04
Codename: natty
```
-The challenge is, that `lsb_release` command must be available on your Linux system. On CentOS/Fedora based systems `lsb_release` command is only available, if the `lsb` core packages are installed. So the automated Linux version detected might no work.
+The challenge is, that `lsb_release` command must be available on Linux system. On CentOS/Fedora based systems `lsb_release` command is only available, if the `lsb` core packages are installed. So the automated Linux version detected might no work.
-Reading the `DISTRO` and `LINVERION` with the `read` command might be the better distribution dependent improvement than an automated setting with `lsb_release`.
+So reading the `DISTRO` and `LINVERION` with the `read` command might be the better distribution dependent improvement than an automated setting with `lsb_release`.
From 9e168be4cc27898e4c77b954690795ec01968dd7 Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Fri, 11 Dec 2020 17:52:21 +0100
Subject: [PATCH 31/41] Beautify
---
_posts/2020-12-10-Software-Synth.md | 38 +++++++++++++++++------------
1 file changed, 22 insertions(+), 16 deletions(-)
diff --git a/_posts/2020-12-10-Software-Synth.md b/_posts/2020-12-10-Software-Synth.md
index 655f3c8f0..a168b375d 100644
--- a/_posts/2020-12-10-Software-Synth.md
+++ b/_posts/2020-12-10-Software-Synth.md
@@ -5,25 +5,30 @@ lang: "en"
author: "niebert"
heading: "Software Synth in Jamulus"
---
+
This article will show you how to use a software synth with Jamulus.
## Linux
+
We will look at the concept of playing a software synth on Linux but other operating systems should work similar.
Let's have a look at what we need:
-1. A software synth like [setBfree](https://github.com/pantherb/setBfree) **(Hammond Organ Synth)** which we'll use in this example. It emulates an organ and outputs its audio to JACK on Linux.
-2. A **MIDI Keyboard**. The MIDI keyboard is used to generate the key pressed events, which are transmitted through a USB-MIDI interface to your operating system. After that the synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding sound for the pressed key. The MIDI keyboard could also be replaced by a digital wind midi controller, which does the same (although the tone is dependent on how the musician blows air into the digital wind controller).
-3. A **connector to Jamulus**. You may hear the audio output of the synth on your speakers but the audio output may not be used as input for Jamulus. That's why we need to connect the audio output of the synth to Jamulus (this can be done with QJackCtl on Linux).
+1\. A software synth like [setBfree](https://github.com/pantherb/setBfree) **(Hammond Organ Synth)** which we'll use in this example. It emulates an organ and outputs its audio to JACK on Linux.
+2\. A **MIDI Keyboard**. The MIDI keyboard is used to generate the key pressed events, which are transmitted through a USB-MIDI interface to your operating system. After that the synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding sound for the pressed key. The MIDI keyboard could also be replaced by a digital wind midi controller, which does the same (although the tone is dependent on how the musician blows air into the digital wind controller).
+3\. A **connector to Jamulus**. You may hear the audio output of the synth on your speakers but the audio output may not be used as input for Jamulus. That's why we need to connect the audio output of the synth to Jamulus (this can be done with QJackCtl on Linux).
### General Information about ALSA, JACK and MIDI
+
This part is specific to Linux. Let's have a look at a few concepts how Linux handles Audio and MIDI before actually looking at how to connect the synth.
-* **ALSA** This is the basic layer which connects to the hardware, i.e. the soundcard and the midi controller for the keyboard.
-* **JACK** is built on top of ALSA and uses ALSA for the audio output. It provides an easy to use environment for music production on Linux.
-* The **synthesizer** like the [Hammond Organ emulator setBfree](https://github.com/pantherb/setBfree) connects to JACK and sends its audio there.
-* **Jamulus** connects to JACK too and can therefore receive and send audio to every application connected to JACK (including our synthesizer).
+
+- **ALSA** This is the basic layer which connects to the hardware, i.e. the soundcard and the midi controller for the keyboard.
+- **JACK** is built on top of ALSA and uses ALSA for the audio output. It provides an easy to use environment for music production on Linux.
+- The **synthesizer** like the [Hammond Organ emulator setBfree](https://github.com/pantherb/setBfree) connects to JACK and sends its audio there.
+- **Jamulus** connects to JACK too and can therefore receive and send audio to every application connected to JACK (including our synthesizer).
### Requirements for using Software Synths in Jamulus on Linux
+
If you use your MIDI keyboard, you might need ALSA2JACK MIDI (`a2jmidid`) from the `a2j` package to be able to connect it to JACK. Since we use `setBfree` in this example, you also need this software synth (of course, you can replace this by your favourite Linux synthesizer). Both packages `a2jmidid` and `setbfree` can be installed with your package manager e.g. on Ubuntu by using the `apt-get` commands:
```shell
@@ -32,17 +37,18 @@ sudo apt-get install setbfree
```
### Connecting ALSA, JACK and MIDI for a Synth for Jamulus
+
Let's have a look at the workflow.
-1. Install Jamulus (you've probably already done that. If not, please have a look at the [installation page in the documentation](/wiki/Getting-Started)). If you followed these instructions, JACK and QJackCtl were already installed.
-2. **ALSA to JACK - MIDI** Next, we must create a connection from ALSA to JACK to route the MIDI input from the keyboard to setBfree. Let's have a look at how to do that:
- * Open Qjackctl e.g. from the command line by typing `qjackctl`
- * Launch the ALSA2JACK MIDI connector with `a2jmidid -e`. While this connector runs, the `a2j` connection interface should be visible in `QJackCtl`.
- * Now connect your USB MIDI device as input to `MIDI through` in the ALSA-MIDI tab of QJackCtl. MIDI events from your keyboard will now reach JACK.
- * Start your synth e.g. from the command line with (in my case) `setBfree`. You will now see the `setBfree` graphical user interface (it could look like this: http://setbfree.org/gui_3d). You can now check if the synth generates sound by clicking on the visualised organ keyboard and listening for sound through your speakers.
- * In Qjackctl we can now connect `a2j` in JACK-MIDI as input to the synth, which generates sound as output for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible for QJackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to `setbfree` if you also see the Hammond Synth SetBFree in QJackCtl.
- * Let's test the software synth with our MIDI Keyboard! If you have speakers attached to your device you should hear the emulated Hammond sound for all the keys your press on your MIDI keyboard. If you just want to play the software synth with your keyboard, you're finished here. But if you want to connect the sound of the synth to Jamulus, the only remaining step is to connect the synths' audio to Jamulus.
-**Synth to Jamulus - Audio**: In the previous step we ensured that the MIDI signals from your keyboard get sent to to the MIDI input of JACK. Now we need to create an audio connection from JACK (i.e. the generated Hammond sound of the synth) to Jamulus. To do so, we connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore, start Jamulus so that you can see Jamulus in QJackCtl. Now connect the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK. Now you're done.
+1. Install Jamulus (you've probably already done that. If not, please have a look at the [installation page in the documentation](/wiki/Getting-Started)). If you followed these instructions, JACK and QJackCtl were already installed.
+2. **ALSA to JACK - MIDI** Next, we must create a connection from ALSA to JACK to route the MIDI input from the keyboard to setBfree. Let's have a look at how to do that:
+ - Open Qjackctl e.g. from the command line by typing `qjackctl`
+ - Launch the ALSA2JACK MIDI connector with `a2jmidid -e`. While this connector runs, the `a2j` connection interface should be visible in `QJackCtl` in JACK-MIDI.
+ - Now connect your USB MIDI device as input to `MIDI through` in the ALSA-MIDI tab of QJackCtl. MIDI events from your keyboard will now reach JACK.
+ - Start your synth e.g. from the command line with (in my case) `setBfree`. You will now see the `setBfree` graphical user interface (it could look like this: ). You can now check if the synth generates sound by clicking on the visualised organ keyboard and listening for sound through your speakers.
+ - In Qjackctl we can now connect `a2j` in JACK-MIDI as input to the synth, which generates sound as output for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible for QJackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to `setbfree` if you also see the Hammond Synth SetBFree in QJackCtl.
+ - Let's test the software synth with our MIDI Keyboard! If you have speakers attached to your device you should hear the emulated Hammond sound for all the keys your press on your MIDI keyboard. If you just want to play the software synth with your keyboard, you're finished here. But if you want to connect the sound of the synth to Jamulus, the only remaining step is to connect the synths' audio to Jamulus.
+ **Synth to Jamulus - Audio**: In the previous step we ensured that the MIDI signals from your keyboard get sent to to the MIDI input of JACK. Now we need to create an audio connection from JACK (i.e. the generated Hammond sound of the synth) to Jamulus. To do so, we connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore, start Jamulus so that you can see Jamulus in QJackCtl. Now connect the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK. Now you're done.
`QJackCtrl` can be used for operations like plugging in instruments in mixer and the mixer into an amplifier and the amplifier again to the speakers.
From f39355548a6770c77a26c2ff3880af22727546b2 Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Fri, 11 Dec 2020 18:20:55 +0100
Subject: [PATCH 32/41] Added pictures
---
...-Synth.md => 2020-10-19-Software-Synth.md} | 36 ++++++++++++++-----
1 file changed, 27 insertions(+), 9 deletions(-)
rename _posts/{2020-12-10-Software-Synth.md => 2020-10-19-Software-Synth.md} (55%)
diff --git a/_posts/2020-12-10-Software-Synth.md b/_posts/2020-10-19-Software-Synth.md
similarity index 55%
rename from _posts/2020-12-10-Software-Synth.md
rename to _posts/2020-10-19-Software-Synth.md
index a168b375d..24b048ef2 100644
--- a/_posts/2020-12-10-Software-Synth.md
+++ b/_posts/2020-10-19-Software-Synth.md
@@ -14,9 +14,9 @@ This article will show you how to use a software synth with Jamulus.
We will look at the concept of playing a software synth on Linux but other operating systems should work similar.
Let's have a look at what we need:
-1\. A software synth like [setBfree](https://github.com/pantherb/setBfree) **(Hammond Organ Synth)** which we'll use in this example. It emulates an organ and outputs its audio to JACK on Linux.
-2\. A **MIDI Keyboard**. The MIDI keyboard is used to generate the key pressed events, which are transmitted through a USB-MIDI interface to your operating system. After that the synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding sound for the pressed key. The MIDI keyboard could also be replaced by a digital wind midi controller, which does the same (although the tone is dependent on how the musician blows air into the digital wind controller).
-3\. A **connector to Jamulus**. You may hear the audio output of the synth on your speakers but the audio output may not be used as input for Jamulus. That's why we need to connect the audio output of the synth to Jamulus (this can be done with QJackCtl on Linux).
+1. A software synth like [setBfree](https://github.com/pantherb/setBfree) **(Hammond Organ Synth)** which we'll use in this example. It emulates an organ and outputs its audio to JACK on Linux.
+2. A **MIDI Keyboard**. The MIDI keyboard is used to generate the key pressed events, which are transmitted through a USB-MIDI interface to your operating system. After that the synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding sound for the pressed key. The MIDI keyboard could also be replaced by a digital wind midi controller, which does the same (although the tone is dependent on how the musician blows air into the digital wind controller).
+3. A **connector to Jamulus**. You may hear the audio output of the synth on your speakers but the audio output may not be used as input for Jamulus. That's why we need to connect the audio output of the synth to Jamulus (this can be done with QJackCtl on Linux).
### General Information about ALSA, JACK and MIDI
@@ -29,7 +29,7 @@ This part is specific to Linux. Let's have a look at a few concepts how Linux ha
### Requirements for using Software Synths in Jamulus on Linux
-If you use your MIDI keyboard, you might need ALSA2JACK MIDI (`a2jmidid`) from the `a2j` package to be able to connect it to JACK. Since we use `setBfree` in this example, you also need this software synth (of course, you can replace this by your favourite Linux synthesizer). Both packages `a2jmidid` and `setbfree` can be installed with your package manager e.g. on Ubuntu by using the `apt-get` commands:
+If you use your MIDI keyboard, you might need ALSA2JACK MIDI (`a2jmidid`) from the `a2j` package to be able to connect it to JACK. We use the synth `setBfree` in this example, so I also need this software synth (of course, you can replace this by your favourite Linux synthesizer). Both packages `a2jmidid` and `setbfree` can be installed with your package manager e.g. on Debian/Ubuntu by using the `apt-get` commands:
```shell
sudo apt-get install a2jmidid
@@ -42,16 +42,34 @@ Let's have a look at the workflow.
1. Install Jamulus (you've probably already done that. If not, please have a look at the [installation page in the documentation](/wiki/Getting-Started)). If you followed these instructions, JACK and QJackCtl were already installed.
2. **ALSA to JACK - MIDI** Next, we must create a connection from ALSA to JACK to route the MIDI input from the keyboard to setBfree. Let's have a look at how to do that:
- - Open Qjackctl e.g. from the command line by typing `qjackctl`
+ - Open Qjackctl e.g. from the command line by typing `qjackctl` and start JACK by clicking on the play button
- Launch the ALSA2JACK MIDI connector with `a2jmidid -e`. While this connector runs, the `a2j` connection interface should be visible in `QJackCtl` in JACK-MIDI.
+
+ 
+
- Now connect your USB MIDI device as input to `MIDI through` in the ALSA-MIDI tab of QJackCtl. MIDI events from your keyboard will now reach JACK.
- - Start your synth e.g. from the command line with (in my case) `setBfree`. You will now see the `setBfree` graphical user interface (it could look like this: ). You can now check if the synth generates sound by clicking on the visualised organ keyboard and listening for sound through your speakers.
+
+ 
+
+ - Start your synth e.g. from the command line with (in my case) `setBfree`. You will now see the `setBfree` graphical user interface. It could look like this:
+
+ 
+
+ You can now check if the synth generates sound by clicking on the visualised organ keyboard and listening for sound through your speakers.
- In Qjackctl we can now connect `a2j` in JACK-MIDI as input to the synth, which generates sound as output for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible for QJackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to `setbfree` if you also see the Hammond Synth SetBFree in QJackCtl.
+
+ 
+
- Let's test the software synth with our MIDI Keyboard! If you have speakers attached to your device you should hear the emulated Hammond sound for all the keys your press on your MIDI keyboard. If you just want to play the software synth with your keyboard, you're finished here. But if you want to connect the sound of the synth to Jamulus, the only remaining step is to connect the synths' audio to Jamulus.
- **Synth to Jamulus - Audio**: In the previous step we ensured that the MIDI signals from your keyboard get sent to to the MIDI input of JACK. Now we need to create an audio connection from JACK (i.e. the generated Hammond sound of the synth) to Jamulus. To do so, we connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore, start Jamulus so that you can see Jamulus in QJackCtl. Now connect the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK. Now you're done.
-`QJackCtrl` can be used for operations like plugging in instruments in mixer and the mixer into an amplifier and the amplifier again to the speakers.
+**Synth to Jamulus - Audio**: In the previous step we ensured that the MIDI signals from your keyboard get sent to to the MIDI input of JACK. Now we need to create an audio connection from JACK (i.e. the generated Hammond sound of the synth) to Jamulus. To do so, we connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore, start Jamulus so that you can see Jamulus in QJackCtl. Now connect the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK.
+
+
+
+Now you're done.
+
+`QJackCtrl` can also be used for operations like plugging in instruments in mixer and the mixer into an amplifier and the amplifier again to the speakers.
-There are also other Open Source synths like QSynth or [ZynAddSubFX](https://sourceforge.net/projects/zynaddsubfx/) which can be installed on your Linux system and/or used within LMMS.
+There are also other Open Source synths like QSynth or [ZynAddSubFX](https://sourceforge.net/projects/zynaddsubfx/) which can be installed on your Linux system.
Have fun playing your synth within Jamulus!
From cfb285d969c36028f294e786011a3a96dd0a9760 Mon Sep 17 00:00:00 2001
From: ignotus
Date: Fri, 11 Dec 2020 22:46:28 +0100
Subject: [PATCH 33/41] Update 2020-10-19-Software-Synth.md
---
_posts/2020-10-19-Software-Synth.md | 30 +++++++++++++++--------------
1 file changed, 16 insertions(+), 14 deletions(-)
diff --git a/_posts/2020-10-19-Software-Synth.md b/_posts/2020-10-19-Software-Synth.md
index 24b048ef2..2e37d6317 100644
--- a/_posts/2020-10-19-Software-Synth.md
+++ b/_posts/2020-10-19-Software-Synth.md
@@ -12,18 +12,18 @@ This article will show you how to use a software synth with Jamulus.
## Linux
-We will look at the concept of playing a software synth on Linux but other operating systems should work similar.
+We will look at the concept of playing a software synth on Linux but other operating systems should work similarly.
Let's have a look at what we need:
1. A software synth like [setBfree](https://github.com/pantherb/setBfree) **(Hammond Organ Synth)** which we'll use in this example. It emulates an organ and outputs its audio to JACK on Linux.
2. A **MIDI Keyboard**. The MIDI keyboard is used to generate the key pressed events, which are transmitted through a USB-MIDI interface to your operating system. After that the synthesizer [setBfree](https://github.com/pantherb/setBfree) generates the corresponding sound for the pressed key. The MIDI keyboard could also be replaced by a digital wind midi controller, which does the same (although the tone is dependent on how the musician blows air into the digital wind controller).
-3. A **connector to Jamulus**. You may hear the audio output of the synth on your speakers but the audio output may not be used as input for Jamulus. That's why we need to connect the audio output of the synth to Jamulus (this can be done with QJackCtl on Linux).
+3. A **connector to Jamulus**. You may hear the audio output of the synth on your speakers but the audio output may not be used as input for Jamulus. That's why we need to connect the audio output of the synth to Jamulus (this can be done with QjackCtl on Linux).
### General Information about ALSA, JACK and MIDI
This part is specific to Linux. Let's have a look at a few concepts how Linux handles Audio and MIDI before actually looking at how to connect the synth.
-- **ALSA** This is the basic layer which connects to the hardware, i.e. the soundcard and the midi controller for the keyboard.
-- **JACK** is built on top of ALSA and uses ALSA for the audio output. It provides an easy to use environment for music production on Linux.
+- **ALSA** This is the basic layer which connects to the hardware, i.e. the sound card and the midi controller for the keyboard.
+- **JACK** is built on top of ALSA and uses ALSA for the audio output. It provides an easy-to-use environment for music production on Linux.
- The **synthesizer** like the [Hammond Organ emulator setBfree](https://github.com/pantherb/setBfree) connects to JACK and sends its audio there.
- **Jamulus** connects to JACK too and can therefore receive and send audio to every application connected to JACK (including our synthesizer).
@@ -40,35 +40,37 @@ sudo apt-get install setbfree
Let's have a look at the workflow.
-1. Install Jamulus (you've probably already done that. If not, please have a look at the [installation page in the documentation](/wiki/Getting-Started)). If you followed these instructions, JACK and QJackCtl were already installed.
+1. Install Jamulus (you've probably already done that. If not, please have a look at the [installation page in the documentation](/wiki/Getting-Started)). If you followed those instructions, JACK and QjackCtl were already installed.
2. **ALSA to JACK - MIDI** Next, we must create a connection from ALSA to JACK to route the MIDI input from the keyboard to setBfree. Let's have a look at how to do that:
- - Open Qjackctl e.g. from the command line by typing `qjackctl` and start JACK by clicking on the play button
- - Launch the ALSA2JACK MIDI connector with `a2jmidid -e`. While this connector runs, the `a2j` connection interface should be visible in `QJackCtl` in JACK-MIDI.
+ - Open QjackCtl e.g. from the command line by typing `qjackctl` and start JACK by clicking on the play button
+ - Launch the ALSA2JACK MIDI connector with `a2jmidid -e`. While this connector runs, the `a2j` connection interface should be visible in `QjackCtl` in the JACK-MIDI tab.

- - Now connect your USB MIDI device as input to `MIDI through` in the ALSA-MIDI tab of QJackCtl. MIDI events from your keyboard will now reach JACK.
+ - Now connect your USB MIDI device as an input to `MIDI through` in the ALSA-MIDI tab of QjackCtl. MIDI events from your keyboard will now reach JACK.

- - Start your synth e.g. from the command line with (in my case) `setBfree`. You will now see the `setBfree` graphical user interface. It could look like this:
+ - Start your synth e.g. from the command line with (in my case) `setBfree`. You will now see the `setBfree` graphical user interface. It should look like this:

- You can now check if the synth generates sound by clicking on the visualised organ keyboard and listening for sound through your speakers.
- - In Qjackctl we can now connect `a2j` in JACK-MIDI as input to the synth, which generates sound as output for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible for QJackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to `setbfree` if you also see the Hammond Synth SetBFree in QJackCtl.
+ You can now check if the synth generates sound by clicking on the displayed organ keyboard and listening for sound through your speakers.
+ - In QjackCtl we can now connect `a2j` in JACK-MIDI as an input to the synth, which generates sound for each key pressed on the keyboard. Keep in mind that you can connect synths if they are started and visible to QjackCtl. So you can connect after starting the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree), i.e. connect `a2j` to `setbfree` if you also see the Hammond Synth setBFree in QjackCtl.

- - Let's test the software synth with our MIDI Keyboard! If you have speakers attached to your device you should hear the emulated Hammond sound for all the keys your press on your MIDI keyboard. If you just want to play the software synth with your keyboard, you're finished here. But if you want to connect the sound of the synth to Jamulus, the only remaining step is to connect the synths' audio to Jamulus.
+ - Let's test the software synth with our MIDI Keyboard! If you have speakers attached to your device you should hear the emulated Hammond sound for all the keys you press on your MIDI keyboard. If you just want to play the software synth with your keyboard, you're finished here. But if you want to connect the sound of the synth to Jamulus, the only remaining step is to connect the synths' audio to Jamulus.
-**Synth to Jamulus - Audio**: In the previous step we ensured that the MIDI signals from your keyboard get sent to to the MIDI input of JACK. Now we need to create an audio connection from JACK (i.e. the generated Hammond sound of the synth) to Jamulus. To do so, we connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore, start Jamulus so that you can see Jamulus in QJackCtl. Now connect the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK.
+**Synth to Jamulus - Audio**: In the previous step we ensured that the MIDI signals from your keyboard got sent to to the MIDI input of JACK. Now we need to create an audio connection from JACK (i.e. the generated Hammond sound of the synth) to Jamulus. To do so, we connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore, start Jamulus so that you can see Jamulus in QjackCtl. Now connect the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK.

+There is one last step. In the above image you can see that the setBfree synth output (left) is not only connected to the Jamulus input (right), but also to `system`. "System" would be your speakers or headphones, but what you want to listen to is just the output from Jamulus, not the direct sound from setBfree also at the same time (not exactly - they'd be separated by a small time lag). So now you must disconnect setBfree from "system". That way you will hear the audio coming from the Jamulus server (yours and whoever you are playing with) and will avoid an echo or flanger effect.
+
Now you're done.
-`QJackCtrl` can also be used for operations like plugging in instruments in mixer and the mixer into an amplifier and the amplifier again to the speakers.
+`QjackCtl` can also be used for operations like plugging in instruments in mixer and the mixer into an amplifier and the amplifier again to the speakers.
There are also other Open Source synths like QSynth or [ZynAddSubFX](https://sourceforge.net/projects/zynaddsubfx/) which can be installed on your Linux system.
From 97a5009a43c390d4870a7a389257e4b7615e9e0d Mon Sep 17 00:00:00 2001
From: ignotus
Date: Fri, 11 Dec 2020 22:48:26 +0100
Subject: [PATCH 34/41] Update 2020-10-19-Software-Synth.md
---
_posts/2020-10-19-Software-Synth.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/_posts/2020-10-19-Software-Synth.md b/_posts/2020-10-19-Software-Synth.md
index 2e37d6317..cfbf8bc3c 100644
--- a/_posts/2020-10-19-Software-Synth.md
+++ b/_posts/2020-10-19-Software-Synth.md
@@ -66,7 +66,7 @@ Let's have a look at the workflow.

-There is one last step. In the above image you can see that the setBfree synth output (left) is not only connected to the Jamulus input (right), but also to `system`. "System" would be your speakers or headphones, but what you want to listen to is just the output from Jamulus, not the direct sound from setBfree also at the same time (not exactly - they'd be separated by a small time lag). So now you must disconnect setBfree from "system". That way you will hear the audio coming from the Jamulus server (yours and whoever you are playing with) and will avoid an echo or flanger effect.
+There is one last step. In the above image you can see that the setBfree synth output (left) is not only connected to the Jamulus input (right), but also to `system`. `System` would be your speakers or headphones, but what you want to listen to is just the output from Jamulus, not the direct sound from setBfree also at the same time (not exactly - they'd be separated by a small time lag). So now you must disconnect setBfree from "system". That way you will hear the audio coming from the Jamulus server (yours and that of whoever you are playing with) and will avoid an echo or flanger effect.
Now you're done.
From cdfa90c24b1e969b23c045bcd7a69cbcaf71b0fe Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Fri, 11 Dec 2020 23:02:40 +0100
Subject: [PATCH 35/41] Fixed screenshot
---
_posts/2020-10-19-Software-Synth.md | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/_posts/2020-10-19-Software-Synth.md b/_posts/2020-10-19-Software-Synth.md
index cfbf8bc3c..21dab87fb 100644
--- a/_posts/2020-10-19-Software-Synth.md
+++ b/_posts/2020-10-19-Software-Synth.md
@@ -64,9 +64,9 @@ Let's have a look at the workflow.
**Synth to Jamulus - Audio**: In the previous step we ensured that the MIDI signals from your keyboard got sent to to the MIDI input of JACK. Now we need to create an audio connection from JACK (i.e. the generated Hammond sound of the synth) to Jamulus. To do so, we connect the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) output to Jamulus. Therefore, start Jamulus so that you can see Jamulus in QjackCtl. Now connect the audio output of the [Hammond Emulator setBfree](https://github.com/pantherb/setBfree) to the audio input of Jamulus in JACK.
-
+)
-There is one last step. In the above image you can see that the setBfree synth output (left) is not only connected to the Jamulus input (right), but also to `system`. `System` would be your speakers or headphones, but what you want to listen to is just the output from Jamulus, not the direct sound from setBfree also at the same time (not exactly - they'd be separated by a small time lag). So now you must disconnect setBfree from "system". That way you will hear the audio coming from the Jamulus server (yours and that of whoever you are playing with) and will avoid an echo or flanger effect.
+There is one last step. In your local connection setup, you might see that the setBfree synth output (left) is not only connected to the Jamulus input (right), but also to `system`. `System` would be your speakers or headphones, but what you want to listen to is just the output from Jamulus, not the direct sound from setBfree also at the same time (not exactly - they'd be separated by a small time lag). So now you must disconnect setBfree from "system". That way you will hear the audio coming from the Jamulus server (yours and that of whoever you are playing with) and will avoid an echo or flanger effect.
Now you're done.
From 28de44c1c7a9e20c57d19d4e09577b422e260978 Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Sat, 12 Dec 2020 20:15:47 +0100
Subject: [PATCH 36/41] rename blog folder to kb
---
{blog => kb}/de-index.md | 0
{blog => kb}/index.md | 0
2 files changed, 0 insertions(+), 0 deletions(-)
rename {blog => kb}/de-index.md (100%)
rename {blog => kb}/index.md (100%)
diff --git a/blog/de-index.md b/kb/de-index.md
similarity index 100%
rename from blog/de-index.md
rename to kb/de-index.md
diff --git a/blog/index.md b/kb/index.md
similarity index 100%
rename from blog/index.md
rename to kb/index.md
From d593bfcee0956051139c67db0a31ba9431800c0f Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Sat, 12 Dec 2020 20:18:12 +0100
Subject: [PATCH 37/41] Update 2020-09-20-Linux-Install-Script.md
---
_posts/2020-09-20-Linux-Install-Script.md | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/_posts/2020-09-20-Linux-Install-Script.md b/_posts/2020-09-20-Linux-Install-Script.md
index d0d7301b0..a44a095fe 100644
--- a/_posts/2020-09-20-Linux-Install-Script.md
+++ b/_posts/2020-09-20-Linux-Install-Script.md
@@ -6,11 +6,9 @@ author: "niebert"
lang: "en"
---
-If you plan to be installing Jamulus on many Linux machines, you may want to try this script.
+IThanks to niebert, if you plan to install Jamulus on many Linux machines, you can try this script.
-If you plan to be installing Jamulus on many Linux machines, you may want to try this script.
-
The following example was tested on Linux Mint and combines all the commands above into one script for Ubuntu/Linux Mint. To incorporate the different commands for different Linux distributions, variables define the distribution and the release for which the installation script should be performed. The following focuses on Ubuntu with release 18.04 as example. So the suggested script name for the release is e.g. `install4ubuntu18_4.sh`. The script commands are generic so that the installation could also be modified so that they work on other linux distributions.
### Installation dependent on Linux Distribution
From 1aa91defa8af7e7428206d2fdd61e71a34ff4bb3 Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Mon, 14 Dec 2020 21:19:53 +0100
Subject: [PATCH 38/41] smaller bugfixes
---
_config.yml | 1 +
_data/en/general.yml | 2 +-
_data/en/navigation.yml | 2 +-
assets/css/fw.css | 1 +
kb/de-index.md | 8 --------
kb/index.md | 2 +-
6 files changed, 5 insertions(+), 11 deletions(-)
delete mode 100644 kb/de-index.md
diff --git a/_config.yml b/_config.yml
index f13350cab..95662eba3 100644
--- a/_config.yml
+++ b/_config.yml
@@ -17,6 +17,7 @@ jekyll-minifier:
compress_json: true
exclude: "sitemap.xml"
excerpt_separator:
+permalink: /kb/:categories/:year/:month/:day/:title:output_ext
pagination:
enabled: true
# Set to 'true' to enable pagination debugging. This can be enabled in the site config or only for individual pagination pages
diff --git a/_data/en/general.yml b/_data/en/general.yml
index f56ffa185..c53fba624 100644
--- a/_data/en/general.yml
+++ b/_data/en/general.yml
@@ -14,7 +14,7 @@ wiki:
kb:
titleAdd: "– Jamulus Knowledge Base"
by: "by"
- kbintro: "This is the official community knowledge base of the Jamulus software. The community posts guides, tips and tricks here! Feel free to add your own!"
+ kbintro: "Community knowledge base Feel free to add your own article!"
mainpage: "KB overview"
newpage: "Add a new page via GitHub"
readmore: "Read more..."
diff --git a/_data/en/navigation.yml b/_data/en/navigation.yml
index dce0f42e7..835fa1cbd 100644
--- a/_data/en/navigation.yml
+++ b/_data/en/navigation.yml
@@ -25,7 +25,7 @@ nav:
- page: Tips & Tricks
url: /wiki/Tips-Tricks-More
- page: Community Knowledge Base
- url: /kb
+ url: /kb/index.html
- page: Demos
url: /wiki/Demos
- page: Privacy Statement
diff --git a/assets/css/fw.css b/assets/css/fw.css
index c1394e35f..522641187 100644
--- a/assets/css/fw.css
+++ b/assets/css/fw.css
@@ -138,6 +138,7 @@ header #navbtn {
#gnav nav ul li>a {
margin-left: 0.5em;
+ display: inline-block;
}
#gnav nav>ul>li>ul>li>ul>li>a {
diff --git a/kb/de-index.md b/kb/de-index.md
deleted file mode 100644
index 1b6200853..000000000
--- a/kb/de-index.md
+++ /dev/null
@@ -1,8 +0,0 @@
----
-layout: kblist
-lang: "de"
-title: "Übersicht"
-permalink: /kb
-pagination:
- enabled: true
----
diff --git a/kb/index.md b/kb/index.md
index b78d25535..e81a3aa77 100644
--- a/kb/index.md
+++ b/kb/index.md
@@ -2,7 +2,7 @@
layout: kblist
lang: "en"
title: "Overview"
-permalink: /kb
+permalink: /kb/
pagination:
enabled: true
---
From 57db9d742e19db73df519e9e0b8a52dc0f79d85b Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Mon, 14 Dec 2020 21:39:25 +0100
Subject: [PATCH 39/41] Dirty fix for nav kb
---
_data/en/navigation.yml | 1 +
_includes/general/nav.html | 6 +++---
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/_data/en/navigation.yml b/_data/en/navigation.yml
index 835fa1cbd..8c875d423 100644
--- a/_data/en/navigation.yml
+++ b/_data/en/navigation.yml
@@ -26,6 +26,7 @@ nav:
url: /wiki/Tips-Tricks-More
- page: Community Knowledge Base
url: /kb/index.html
+ selectOnLayout: "post"
- page: Demos
url: /wiki/Demos
- page: Privacy Statement
diff --git a/_includes/general/nav.html b/_includes/general/nav.html
index 199d87524..34119f252 100644
--- a/_includes/general/nav.html
+++ b/_includes/general/nav.html
@@ -6,7 +6,7 @@
{% for item in site.data.navigation.nav %}
{% if item.url %}
{% endif %}
From fb5ac99d84ac1abd4ec9c11e79a554ed71bb3516 Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Mon, 14 Dec 2020 21:47:43 +0100
Subject: [PATCH 40/41] small changes
---
_posts/2020-09-20-Linux-Install-Script.md | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/_posts/2020-09-20-Linux-Install-Script.md b/_posts/2020-09-20-Linux-Install-Script.md
index a44a095fe..0d38b55ec 100644
--- a/_posts/2020-09-20-Linux-Install-Script.md
+++ b/_posts/2020-09-20-Linux-Install-Script.md
@@ -6,13 +6,17 @@ author: "niebert"
lang: "en"
---
-IThanks to niebert, if you plan to install Jamulus on many Linux machines, you can try this script.
+Thanks to niebert, if you plan to install Jamulus on many Linux machines, you can try this script.
-The following example was tested on Linux Mint and combines all the commands above into one script for Ubuntu/Linux Mint. To incorporate the different commands for different Linux distributions, variables define the distribution and the release for which the installation script should be performed. The following focuses on Ubuntu with release 18.04 as example. So the suggested script name for the release is e.g. `install4ubuntu18_4.sh`. The script commands are generic so that the installation could also be modified so that they work on other linux distributions.
+The following example was tested on Linux Mint and combines all the commands to install Jamulus on Linux into one script (currently for Ubuntu/Linux Mint).
+
+## How it works
+
+To incorporate the different commands for different Linux distributions, variables define the distribution and the release for which the installation script should be performed. The following focuses on Ubuntu with release 18.04 as example. So the suggested script name for the release is e.g. `install4ubuntu18_4.sh`. The script commands are generic so that the installation could also be modified so that they work on other Linux distributions.
### Installation dependent on Linux Distribution
-The following script call different installation commands dependent on the Linux distribution.
+The following script calls different installation commands dependent on the Linux distribution.
The variable `DISTRO` defines which commands are executed. Set the variable dependent on the Linux distribution you are using.
* `DISTRO="Ubuntu"` for a Ubuntu or Linux Mint
* `DISTRO="Debian"` for a Debian or Raspbian Linux
@@ -34,7 +38,7 @@ If you want to create an installation script for Debian just copy the script `in
DISTRO="Debian"
LINVERSION="10.6"
```
-After that test the installation on Debian and modify the commands so that the installation script works on Debian. Please share working installation scripts in this Wiki. The maintainer of this repository might add a folder in this repository `/install_scripts` for working installation scripts. Create a pull request for new installation scripts or create an issue with a request to add a documented and tested installation script to this repository.
+After that, test the installation on Debian and modify the commands so that the installation script works on Debian. You can share working scripts, if you like. **Edit by Jamulus-Website maintainers:** You should contact [niebert](https://github.com/niebert) if you want to share scripts.
### The Installation Script
Copy the following installation script into a file and save it to the filename `install4ubuntu18_4.sh`. After saving the file e.g. in your `Download` directory change to the directory and call the following script with `sh install4ubuntu18_4.sh`.
@@ -120,7 +124,7 @@ fi
## Possible Improvements of the Installation Script for Jamulus
-The script can ask in the very beginning for which linux distribution the installation script should be called.
+The script can ask in the very beginning for which Linux distribution the installation script should be called.
This can be tested with the command `lsb_release`
The `lsb_release` command returns the distribution specific information about a Linux distro.
From 876e27dfcacf415e48ec1f91e2710e2029aa3fd5 Mon Sep 17 00:00:00 2001
From: ann0see <20726856+ann0see@users.noreply.github.com>
Date: Mon, 14 Dec 2020 22:22:36 +0100
Subject: [PATCH 41/41] Add review changes
---
_posts/2020-09-20-Linux-Install-Script.md | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/_posts/2020-09-20-Linux-Install-Script.md b/_posts/2020-09-20-Linux-Install-Script.md
index 0d38b55ec..b50278962 100644
--- a/_posts/2020-09-20-Linux-Install-Script.md
+++ b/_posts/2020-09-20-Linux-Install-Script.md
@@ -6,7 +6,7 @@ author: "niebert"
lang: "en"
---
-Thanks to niebert, if you plan to install Jamulus on many Linux machines, you can try this script.
+Thanks to [niebert](https://github.com/niebert), if you plan to install Jamulus on many Linux machines, you can try this script.
The following example was tested on Linux Mint and combines all the commands to install Jamulus on Linux into one script (currently for Ubuntu/Linux Mint).
@@ -16,12 +16,12 @@ The following example was tested on Linux Mint and combines all the commands to
To incorporate the different commands for different Linux distributions, variables define the distribution and the release for which the installation script should be performed. The following focuses on Ubuntu with release 18.04 as example. So the suggested script name for the release is e.g. `install4ubuntu18_4.sh`. The script commands are generic so that the installation could also be modified so that they work on other Linux distributions.
### Installation dependent on Linux Distribution
-The following script calls different installation commands dependent on the Linux distribution.
-The variable `DISTRO` defines which commands are executed. Set the variable dependent on the Linux distribution you are using.
+The following script calls different installation commands depending on the Linux distribution.
+The variable `DISTRO` defines which commands are executed. Set the variable depending on the Linux distribution you are using.
* `DISTRO="Ubuntu"` for a Ubuntu or Linux Mint
* `DISTRO="Debian"` for a Debian or Raspbian Linux
* `DISTRO="Fedora"` for a Fedora Linux
-Furthermore if the installation is dependent of the release the variable `LINVERSION` is introduced but is currently not used. In the Ubuntu `if` statement there is an example how version dependent installation calls can be performed.
+Furthermore if the installation is dependent of the release the variable `LINVERSION` is introduced but is currently not used. In the Ubuntu `if` statement there is an example how version depending installation calls can be performed.
```bash
if [ "$LINVERSION" = "18.4" ]
then