2 Commits

Author SHA1 Message Date
aa87ad7538 WIP: Start implementing OAuth 2023-05-31 14:25:42 +02:00
918b075b62 WIP: Start writing a first post 2023-05-31 13:22:28 +02:00
45 changed files with 270 additions and 420 deletions

View File

@ -1,12 +1,15 @@
---
# ---------------------------------------------- # ----------------------------------------------
# -- Update the helm chart # -- Update the helm chart
# ---------------------------------------------- # ----------------------------------------------
kind: pipeline kind: pipeline
type: docker type: docker
name: Publish the helm chart name: Publish the helm chart
trigger: trigger:
event: event:
- push - push
steps: steps:
- name: Publish the Helm chart - name: Publish the Helm chart
image: alpine/helm image: alpine/helm
@ -25,14 +28,13 @@ steps:
kind: pipeline kind: pipeline
type: docker type: docker
name: Build badhouseplants.net name: Build badhouseplants.net
trigger: trigger:
event: event:
- push - push
builder: &builder
image: git.badhouseplants.net/badhouseplants/badhouseplants-builder:555262114ea81f6f286010474527f419b56d33a3
clone: clone:
disable: true disable: true
steps: steps:
- name: clone - name: clone
image: alpine/git image: alpine/git
@ -42,25 +44,27 @@ steps:
- git clone $DRONE_REMOTE_URL . - git clone $DRONE_REMOTE_URL .
- git checkout $DRONE_BRANCH - git checkout $DRONE_BRANCH
- git submodule update --init --recursive - git submodule update --init --recursive
- name: Test a build - name: Test a build
image: git.badhouseplants.net/badhouseplants/hugo-container image: git.badhouseplants.net/badhouseplants/hugo-builder
depends_on: depends_on:
- clone - clone
commands: commands:
- hugo -s ./src - hugo -s ./src
- <<: *builder
name: Build and push the docker image - name: Build and push the docker image
image: git.badhouseplants.net/badhouseplants/badhouseplants-builder:896dc589d44bfa3560ee8d0469d5ee6fc4559532
privileged: true privileged: true
depends_on: depends_on:
- Test a build - Test a build
environment: environment:
BUILDER_COMMIT: 2449b73b13a62ae916c6703778d096e5290157b3
GITEA_TOKEN: GITEA_TOKEN:
from_secret: GITEA_TOKEN from_secret: GITEA_TOKEN
commands: commands:
- ./scripts/build-container.pl - ./scripts/build-container.pl
- <<: *builder
name: Sync pictures from lfs to Minio - name: Sync pictures from lfs to Minio
image: git.badhouseplants.net/badhouseplants/badhouseplants-builder:896dc589d44bfa3560ee8d0469d5ee6fc4559532
depends_on: depends_on:
- Test a build - Test a build
environment: environment:
@ -70,8 +74,9 @@ steps:
commands: commands:
- echo "$RCLONE_CONFIG_CONTENT" > $RCLONE_CONFIG - echo "$RCLONE_CONFIG_CONTENT" > $RCLONE_CONFIG
- ./scripts/upload-media.pl - ./scripts/upload-media.pl
- <<: *builder
name: Deploy the application - name: Deploy the application
image: git.badhouseplants.net/badhouseplants/badhouseplants-builder:896dc589d44bfa3560ee8d0469d5ee6fc4559532
depends_on: depends_on:
- Build and push the docker image - Build and push the docker image
- Sync pictures from lfs to Minio - Sync pictures from lfs to Minio
@ -84,11 +89,11 @@ steps:
from_secret: GITHUB_OAUTH_KEY from_secret: GITHUB_OAUTH_KEY
ARGO_GOOGLE_OAUTH_KEY: ARGO_GOOGLE_OAUTH_KEY:
from_secret: GOOGLE_OAUTH_KEY from_secret: GOOGLE_OAUTH_KEY
DEPLOY_SCRIPT_DEBUG: true
commands: commands:
- ./scripts/deploy-app.pl - ./scripts/deploy-app.pl
- <<: *builder
name: Cleanup everything - name: Cleanup everything
image: git.badhouseplants.net/badhouseplants/badhouseplants-builder:896dc589d44bfa3560ee8d0469d5ee6fc4559532
depends_on: depends_on:
- Deploy the application - Deploy the application
environment: environment:
@ -108,11 +113,13 @@ steps:
kind: pipeline kind: pipeline
type: docker type: docker
name: Spell-Checker name: Spell-Checker
trigger: trigger:
event: event:
- push - push
clone: clone:
disable: true disable: true
steps: steps:
- name: clone - name: clone
image: alpine/git image: alpine/git
@ -121,8 +128,9 @@ steps:
commands: commands:
- git clone $DRONE_REMOTE_URL --recurse-submodules . - git clone $DRONE_REMOTE_URL --recurse-submodules .
- git checkout $DRONE_BRANCH - git checkout $DRONE_BRANCH
- name: Spell-Checker - name: Spell-Checker
image: node image: node
commands: commands:
- npm i markdown-spellcheck -g - npm i markdown-spellcheck -g
- mdspell "src/content/**/*.md" -n -r - mdspell "src/content/**/*.md" -n -r

0
.hugo_build.lock Normal file
View File

View File

@ -1,5 +0,0 @@
creation_rules:
- path_regex: .*secrets\.values.*
key_groups:
- age:
- age155dykdtnkw9fke45pxkygyyx2eal0hwpdm0zz8qa92z5ludjqe5sfakqgs

View File

@ -130,20 +130,6 @@ Ruina
VCV VCV
LFO LFO
beatmaker beatmaker
wavetables
OSC
YOUTUBE
Twelve50TV
Robotik
McRoy
brah
aw
shite
lowrider
mdma
nah
clubby
MGK
- src/themes/papermod/README.md - src/themes/papermod/README.md
PaperMod PaperMod
hugo-paper hugo-paper

View File

@ -1,4 +1,4 @@
FROM git.badhouseplants.net/badhouseplants/hugo-container:3daaf01c9811501f2b4c691f6910e3df285c2007 FROM git.badhouseplants.net/badhouseplants/hugo-container:451ffcefe9803644a65172b04e34392564ce8743
WORKDIR /src WORKDIR /src
COPY ./src /src COPY ./src /src
ENTRYPOINT ["hugo"] ENTRYPOINT ["hugo"]

View File

@ -1,21 +0,0 @@
values: ENC[AES256_GCM,data:qQTaz7Ab1+2udnxTNRfRKALV93SNBX1l+po11ZPV/RRstwuaBqkrp/zRMllPj6O6p62Y9N9BknSJsuavH62wqAOmN0qVP1XQtzHMLMKMIOe4ut29NtcR7XM54Cq1glqTk2LRfCaCdYSzOsXFscGI/x2bx7G8LjKXWEPtHGXVU+lU3OZFWZ7Ioz02lPl3FnidXBQrCQnY1Wc4qS0T/haCq0cXYk+SA4jMY5vxn3+WwaCfq//50EZOebNFCPnGHR5kRmMmG32u918lt/jv2GEu066Vjd0J67S8HGiykFi6RHZwIry0V65YH7X/L4LtEqKok+WAu3ssNRsgXaEhvWclpn0Jq30Z2qsaSFVItbSC7oiUEixlRc1oxOm0ytWZmlFJbzfpA9JdHw1Dpw0q8kIY2eqmAM/W3omZy+4tmPttHbnWyoKSPJi4CflDMToMkkujGqfnOx0OVQ85fXpr0cKkYJuyLz7YQtAyIGGqGyHtqqicWCqt9B25If1Cv+91gu1If0fpEb77ITIjRHaeEcLkBqb9cCGJnV+a6bdVTtDvH2sS9kBS+oWK+cgsAWD3BVDIpOlV0jwJyAB+++PwmsZuFc9MEkE8DSMK2P64J4ceyV6M4Eb8YNGljdxTRZAl9m6SaKLMC8KiggiHs3JPg69n1OsFWN7EcCKtErTq0+XbiHidkYbg+xnxnez3cCbMvTeNZvbKU2bVllqie4ZMe4q0TzQEnTlMeuqeGtVIgPn9an2N2foTHZUboAysM2MKKeWB2isABtv59SXyzhfQmvC08Cgf9Jj3cJpqWm2/Am3RIYcsXW8NwkxM+lPQ6+IYx87Wd3FvPDTTS+wSO700uzFWXfwsaE7AY1uQBXK7bL61jPQ3HpQYWDS11+1zX30iUaDm3m3u6t6gVlGeICAvxqoBxOiruX/jcAOzU/dSeSTjjPmvDO829kB6rFugAvRDYXetoI09EugdnPHTaC/xFejV,iv:/7k4rjpiuCJev6B/GJu9eyb/RMWJfyfjrRuVRTdybDM=,tag:G1eRy4i6+59wZuGqx9bDPQ==,type:str]
sops:
kms: []
gcp_kms: []
azure_kv: []
hc_vault: []
age:
- recipient: age155dykdtnkw9fke45pxkygyyx2eal0hwpdm0zz8qa92z5ludjqe5sfakqgs
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEMWthSXdncUI0U0tSdkk4
d1lyQWJ2M0NQSjRQRWViQ0RLVWlSK3FsczB3Cks1V1BaZmFlUVRCdUpBS2kzekxK
RlRlQ1daTGdMODlEenVUOVNDOVhNUWsKLS0tIERxeG1BRlh0T0hKSlNXeHI0eUVO
V1N2YWIvWXpDckhzampIVUx4YU50Q2cKRyx2G5ki4yhhzpTVjjCBPKvI1C208HJb
Qb9Kpd2HkJaVllL5mUsXOAWtugceaSvidK1t3Hz0NXrVvFVUxDh8Rg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2023-12-07T09:10:13Z"
mac: ENC[AES256_GCM,data:gsbIyJU7T6wRj5CFbG2nyeawvCzp/BtOSOIsapC0AF6a2IIqau1IaH+vd2O7mbT5ClurC0zfR5k5g/pRE8AWc85kbdBhzLBe4Kkx5DXy9N/JQaNh8RlJ1HKzvipVK46zF+6PZYjsrb1S+9WL9p/aV226XkhdcHWcMWrKUaAWVOg=,iv:H5YcSg5gVHNEt7gFLuF8OQtTMq88HdZwlMfMTxxL7iQ=,tag:66qP18m69BBEIuHKJMa1Cw==,type:str]
pgp: []
unencrypted_suffix: _unencrypted
version: 3.8.1

View File

@ -1,32 +1,33 @@
--- ---
namespace: values: |
name: badhouseplants-$BH_APP_BRANCH namespace:
labels: name: badhouseplants-$ARGO_APP_BRANCH
istio-injection: disabled labels:
istio: istio-injection: disabled
hosts:
- $BH_APP_HOSTNAME
annotations:
link.argocd.argoproj.io/env: https://$BH_APP_HOSTNAME/
link.argocd.argoproj.io/remark42: https://remark42-$BH_APP_HOSTNAME/web
link.argocd.argoproj.io/build: $DRONE_BUILD_LINK
hugo:
image:
tag: $BH_APP_IMAGE_TAG
baseURL: https://$BH_APP_HOSTNAME/
buildDrafts: true
env:
HUGO_PARAMS_GITBRANCH: $BH_APP_BRANCH
HUGO_PARAMS_REMARK42URL: https://remark42-$BH_APP_HOSTNAME
HUGO_PARAMS_GITCOMMIT: $BH_APP_IMAGE_TAG
remark42:
istio: istio:
hosts: hosts:
- remark42-$BH_APP_HOSTNAME - $ARGO_APP_HOSTNAME
settings: annotations:
url: https://remark42-$BH_APP_HOSTNAME/ link.argocd.argoproj.io/env: https://$ARGO_APP_HOSTNAME/
auth: link.argocd.argoproj.io/remark42: https://remark42-$ARGO_APP_HOSTNAME/web
anonymous: true link.argocd.argoproj.io/build: $DRONE_BUILD_LINK
secretKey: $BH_REMARK_SECRET hugo:
rclone: image:
command: 'rclone copy -P badhouseplants-public:/badhouseplants-net/$BH_APP_IMAGE_TAG /static' tag: $ARGO_APP_IMAGE_TAG
baseURL: https://$ARGO_APP_HOSTNAME/
buildDrafts: true
env:
HUGO_PARAMS_GITBRANCH: $ARGO_APP_BRANCH
HUGO_PARAMS_REMARK42URL: https://remark42-$ARGO_APP_HOSTNAME
HUGO_PARAMS_GITCOMMIT: $ARGO_APP_IMAGE_TAG
remark42:
istio:
hosts:
- remark42-$ARGO_APP_HOSTNAME
settings:
url: https://remark42-$ARGO_APP_HOSTNAME/
auth:
anonymous: true
secretKey: $ARGO_REMARK_SECRET
rclone:
command: 'rclone copy -P badhouseplants-public:/badhouseplants-net/$ARGO_APP_IMAGE_TAG /static'

View File

@ -15,11 +15,11 @@ my $values = "";
my $remark_secret = `openssl rand -hex 12`; my $remark_secret = `openssl rand -hex 12`;
chomp($remark_secret); chomp($remark_secret);
$ENV{'BH_APP_CHART_VERSION'} = $chart_version; $ENV{'ARGO_APP_CHART_VERSION'} = $chart_version;
$ENV{'BH_APP_BRANCH'} = $git_branch; $ENV{'ARGO_APP_BRANCH'} = $git_branch;
$ENV{'BH_APP_HOSTNAME'} = "$git_branch-dev.badhouseplants.net"; $ENV{'ARGO_APP_HOSTNAME'} = "$git_branch-dev.badhouseplants.net";
$ENV{'BH_APP_IMAGE_TAG'} = $git_commit_sha; $ENV{'ARGO_APP_IMAGE_TAG'} = $git_commit_sha;
$ENV{'BH_REMARK_SECRET'} = $remark_secret; $ENV{'ARGO_REMARK_SECRET'} = $remark_secret;
# ---------------------------------- # ----------------------------------
# -- Fill the Application manifest # -- Fill the Application manifest
@ -37,9 +37,8 @@ print `envsubst < ./kube/application.yaml > /tmp/application.yaml` or die $!;
print `yq -i '.spec.source.helm.values = load_str("/tmp/values.yaml")' /tmp/application.yaml` or die $!; print `yq -i '.spec.source.helm.values = load_str("/tmp/values.yaml")' /tmp/application.yaml` or die $!;
if(!defined $ENV{DEPLOY_SCRIPT_DEBUG}){ if(!defined $ENV{DEPLOY_SCRIPT_DEBUG}){
print `helm upgrade --install `
print `argocd app create -f /tmp/application.yaml --upsert` or die $!; print `argocd app create -f /tmp/application.yaml --upsert` or die $!;
print `argocd app sync --prune -l application=badhouseplants -l branch=$git_branch` or die $!; print `argocd app sync -l application=badhouseplants -l branch=$git_branch` or die $!;
print `argocd app wait -l application=badhouseplants -l branch=$git_branch` or die $!; print `argocd app wait -l application=badhouseplants -l branch=$git_branch` or die $!;
} }
# ---------------------------------- # ----------------------------------

View File

@ -46,10 +46,16 @@ params:
- name: Source - name: Source
url: "https://git.badhouseplants.net/badhouseplants/badhouseplants-net" url: "https://git.badhouseplants.net/badhouseplants/badhouseplants-net"
socialIcons: socialIcons:
- name: "telegram"
url: "https://t.me/allanger"
- name: "twitter"
url: "https://twitter.com/_allanger"
- name: "mastodon" - name: "mastodon"
url: "https://mastodon.social/@allanger" url: "https://mastodon.social/@allanger"
- name: github - name: github
url: 'https://github.com/allanger' url: 'https://github.com/allanger'
- name: instagram
url: "https://instagram.com/_allanger"
- name: email - name: email
url: 'mailto:allanger@zohomail.com' url: 'mailto:allanger@zohomail.com'
ShowShareButtons: true ShowShareButtons: true

View File

@ -2,123 +2,77 @@
title: Beats title: Beats
date: 2023-01-24T09:26:52+01:00 date: 2023-01-24T09:26:52+01:00
draft: false draft: false
---
>I don't lease my beats. If you happen to like anything, just shout me a message and we will come to an agreement. And if you decide to use any of my beats you'll be the only one using it (legally).
--- ---
--- ### Easy Money
### That's Rich
#### by allanger
[Listen on Funkwhale](https://funkwhale.badhouseplants.net/library/albums/36)
> I'm poor though, huh
Mainstream beats for dope rap about your luxury lifestyle, mate
{{< rawhtml >}} {{< rawhtml >}}
<iframe width="100%" height="300" scrolling="yes" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=album&amp;id=36"></iframe> <iframe width="100%" height="150" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=track&amp;id=18"></iframe>
{{< /rawhtml >}} {{< /rawhtml >}}
--- ### Monk
### Why So Serious?
#### by allanger
[Listen on Funkwhale](https://funkwhale.badhouseplants.net/library/albums/38)
> Don't be so suicidal, brah
Depressive and horror beats to show them all what's real suffering out there
{{< rawhtml >}} {{< rawhtml >}}
<iframe width="100%" height="300" scrolling="yes" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=album&amp;id=38"></iframe> <iframe width="100%" height="150" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=track&amp;id=27"></iframe>
{{< /rawhtml >}} {{< /rawhtml >}}
--- ### Phantom Limb
### Coke Queue
#### by allanger
[Listen on Funkwhale](https://funkwhale.badhouseplants.net/library/albums/39)
> Aw, shite, I've meant line
Need a track that will be screaming out of your lowrider? Check it out then
{{< rawhtml >}} {{< rawhtml >}}
<iframe width="100%" height="300" scrolling="yes" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=album&amp;id=39"></iframe> <iframe width="100%" height="150" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=track&amp;id=19"></iframe>
{{< /rawhtml >}} {{< /rawhtml >}}
--- ### Silk Road
### Meta Irony's Bastard
#### by allanger
[Listen on Funkwhale](https://funkwhale.badhouseplants.net/library/albums/40)
> Or just an unwanted child
Your track is supposed to make no freaking sense? Pick it up
{{< rawhtml >}} {{< rawhtml >}}
<iframe width="100%" height="300" scrolling="yes" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=album&amp;id=40"></iframe> <iframe width="100%" height="150" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=track&amp;id=34"></iframe>
{{< /rawhtml >}} {{< /rawhtml >}}
--- ### Tremor
### MDMA
#### by allanger
[Listen on Funkwhale](https://funkwhale.badhouseplants.net/library/albums/35)
> Nah, I'm not using
An album for four-on-the-floor or just clubby kinds of beats. If you want your track to be fitting in Berlin, this one is your choice.
{{< rawhtml >}} {{< rawhtml >}}
<iframe width="100%" height="300" scrolling="yes" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=album&amp;id=35"></iframe> <iframe width="100%" height="150" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=track&amp;id=30"></iframe>
{{< /rawhtml >}} {{< /rawhtml >}}
--- ### Silver Grenade
### Punk's Not Dead
#### by allanger
[Listen on Funkwhale](https://funkwhale.badhouseplants.net/library/albums/34)
> Unless it's MGK
Here I'll be uploading alternative beats that might not work for any track, but rather for something special.
{{< rawhtml >}} {{< rawhtml >}}
<iframe width="100%" height="300" scrolling="yes" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=album&amp;id=34"></iframe> <iframe width="100%" height="150" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=track&amp;id=31"></iframe>
{{< /rawhtml >}} {{< /rawhtml >}}
--- ### Spinal Cord
### Boys Don't Cry
#### by allanger
[Listen on Funkwhale](https://funkwhale.badhouseplants.net/library/albums/37)
> ... do they?
Looking for something sad and not really of a hip-hop kind? This is the place
{{< rawhtml >}} {{< rawhtml >}}
<iframe width="100%" height="300" scrolling="yes" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=album&amp;id=37"></iframe> <iframe width="100%" height="150" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=track&amp;id=32"></iframe>
{{< /rawhtml >}} {{< /rawhtml >}}
--- ### Empty Cubicles
### Trash Can
#### by allanger
[Listen on Funkwhale](https://funkwhale.badhouseplants.net/library/albums/33)
>It doesn't mean that beats are shitty, it just me not liking them too much
To this album, I will upload beats that I don't like, they all can be yours without any efforts of yours.
{{< rawhtml >}} {{< rawhtml >}}
<iframe width="100%" height="300" scrolling="yes" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=album&amp;id=33"></iframe> <iframe width="100%" height="150" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=track&amp;id=23"></iframe>
{{< /rawhtml >}}
### Petrol
{{< rawhtml >}}
<iframe width="100%" height="150" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=track&amp;id=35"></iframe>
{{< /rawhtml >}}
### PSY
{{< rawhtml >}}
<iframe width="100%" height="150" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=track&amp;id=28"></iframe>
{{< /rawhtml >}}
### Body Drop
{{< rawhtml >}}
<iframe width="100%" height="150" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=track&amp;id=20"></iframe>
{{< /rawhtml >}}
### Broken Piano
{{< rawhtml >}}
<iframe width="100%" height="150" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=track&amp;id=22"></iframe>
{{< /rawhtml >}}
### Dead Wings
{{< rawhtml >}}
<iframe width="100%" height="150" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=track&amp;id=25"></iframe>
{{< /rawhtml >}}
### Trapped
{{< rawhtml >}}
<iframe width="100%" height="150" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=track&amp;id=17"></iframe>
{{< /rawhtml >}} {{< /rawhtml >}}

View File

@ -20,7 +20,7 @@ tags:
--- ---
{{< rawhtml >}} {{< rawhtml >}}
<iframe width="100%" height="100%" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=album&amp;id=20"></iframe> <iframe width="100%" height="100%" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=album&amp;id=20"></iframe>
{{< /rawhtml >}} {{< /rawhtml >}}
*If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Anymore.zip)* *If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Anymore.zip)*

View File

@ -22,7 +22,7 @@ tags:
--- ---
{{< rawhtml >}} {{< rawhtml >}}
<iframe width="100%" height="" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=album&amp;id=26"></iframe> <iframe width="100%" height="" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=album&amp;id=26"></iframe>
{{< /rawhtml >}} {{< /rawhtml >}}
*If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Await.zip)* *If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Await.zip)*

View File

@ -21,7 +21,7 @@ tags:
--- ---
{{< rawhtml >}} {{< rawhtml >}}
<iframe width="100%" height="" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=album&amp;id=22"></iframe> <iframe width="100%" height="" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=album&amp;id=22"></iframe>
{{< /rawhtml >}} {{< /rawhtml >}}
*If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Desensitized.zip)* *If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Desensitized.zip)*

View File

@ -20,6 +20,6 @@ tags:
--- ---
{{< rawhtml >}} {{< rawhtml >}}
<iframe width="100%" height="" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=album&amp;id=27"></iframe>{{< /rawhtml >}} <iframe width="100%" height="" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=album&amp;id=27"></iframe>{{< /rawhtml >}}
*If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Under%20My%20Pillow.zip)* *If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Under%20My%20Pillow.zip)*

View File

@ -19,7 +19,7 @@ tags:
--- ---
{{< rawhtml >}} {{< rawhtml >}}
<iframe width="100%" height="350" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=album&amp;id=16"></iframe> <iframe width="100%" height="350" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=album&amp;id=16"></iframe>
{{< /rawhtml >}} {{< /rawhtml >}}
*If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Four%20Steps%20Behind.zip)* *If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Four%20Steps%20Behind.zip)*

View File

@ -21,7 +21,7 @@ tags:
--- ---
{{< rawhtml >}} {{< rawhtml >}}
<iframe width="100%" height="" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=album&amp;id=21"></iframe> <iframe width="100%" height="" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=album&amp;id=21"></iframe>
{{< /rawhtml >}} {{< /rawhtml >}}
*If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Let%20Me%20Kill.zip)* *If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Let%20Me%20Kill.zip)*

View File

@ -21,7 +21,7 @@ tags:
--- ---
{{< rawhtml >}} {{< rawhtml >}}
<iframe width="100%" height="" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=album&amp;id=23"></iframe> <iframe width="100%" height="" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=album&amp;id=23"></iframe>
{{< /rawhtml >}} {{< /rawhtml >}}
*If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Not%20Alone.zip)* *If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Not%20Alone.zip)*

View File

@ -20,7 +20,7 @@ tags:
--- ---
{{< rawhtml >}} {{< rawhtml >}}
<iframe width="100%" height="" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=album&amp;id=18"></iframe> <iframe width="100%" height="" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=album&amp;id=18"></iframe>
{{< /rawhtml >}} {{< /rawhtml >}}
*If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Out%20Of%20Law.zip)* *If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Out%20Of%20Law.zip)*

View File

@ -21,6 +21,6 @@ tags:
--- ---
{{< rawhtml >}} {{< rawhtml >}}
<iframe width="100%" height="" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=album&amp;id=17"></iframe>{{< /rawhtml >}} <iframe width="100%" height="" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=album&amp;id=17"></iframe>{{< /rawhtml >}}
*If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Trace.zip)* *If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Trace.zip)*

View File

@ -20,7 +20,7 @@ tags:
--- ---
{{< rawhtml >}} {{< rawhtml >}}
<iframe width="100%" height="" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=album&amp;id=19"></iframe> <iframe width="100%" height="" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/front/embed.html?&amp;type=album&amp;id=19"></iframe>
{{< /rawhtml >}} {{< /rawhtml >}}
*If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Wasted%20Time.zip)* *If you want to download lossless audio for free [follow this link](https://s3.badhouseplants.net/allanger-music/allanger%20-%20Wasted%20Time.zip)*

View File

@ -1,19 +0,0 @@
---
title: "allanger"
date: 2018-12-26T00:00:00+02:00
draft: false
ShowToc: false
cover:
image: "/music/allanger.png"
caption: "allanger"
relative: false
responsiveImages: false
hideSummary: true
tags:
- music
- release
- indie
- alternative
---
I'm allanger, the owner of Bad Houseplants.

View File

@ -1,83 +0,0 @@
---
title: "Creating a Sample Pack: Kick"
date: 2023-05-24T16:59:03+02:00
draft: false
ShowToc: true
cover:
image: "/posts/creating-a-sample-pack-kick/cover.png"
caption: "Creating a Sample Pack: Kick"
relative: false
responsiveImages: false
---
>Oi!
>I've decided to turn that blog more into the musical direction, because I've got enough of IT related stuff on my work. So most probably, I'll be posting about sound design, sound engineering and music more.
## Intro
I want to make a series of articles about sound design. I'll be learning as well during this process, and here I'll just post my findings. If you happen to read it and find mistakes, feel free to send me your thoughts.
I consider this cycle ready, when I have enough of samples, that I can create a beat or a song. After everything is done, I'll publish the sample pack, so anybody can download it for free. And the example of a track will be on my [funkwhale instance](https://funkwhale.badhouseplants.net/library)
## Let's go
I've decided to start with a drum kit. And the first element that I'm going to create is a **kick drum**. I'll be using Vital as a sound design instrument, if you don't know what it is you should check it out here: <https://vital.audio>.
First, we need to understand, what the kick actually is. What are components of that sound. I can identify three components of it:
- Click (that is produced by a pedal)
- Body (sound from inside a drum)
- Metal (vibrations of metal components of a drum kit) *This is optional, I'd say*
Let's open Vital
![Empty Vital](/posts/creating-a-sample-pack-kick/init_vital.png)
First of all, let's get rid of all non-persistent stuff (Things that are different on each key press)
![Unison and Phase](/posts/creating-a-sample-pack-kick/unison_phase.png)
*And we will do the same for all wavetables for kick and snare*
Now let's set wave types to `basic shapes`
![Basic Shape](/posts/creating-a-sample-pack-kick/kick_basic_shape.png)
Doesn't sound like a kick yet, but the main trick, as I think, is to map the pitch of that OSC to an LFO, that looks like that, and set the base value to something around **-12**.
![LFO 1](/posts/creating-a-sample-pack-kick/kick_lfo_1.png)
You can play around a bit and find a perfect spot that will make your kick awesome, but let's listen to what I've got now. I'll use one of defaults `Logic Pro` drum kits and replace a kick with the one I'm creating. Later I'll be replacing other drums as well, and in the end we will have a full drum kit.
Also, we don't need to change a pitch depending on which key is pressed, so let's disable the `Note Track` for all OSC in the `Advanced` tab
![Note Track disabled](/posts/creating-a-sample-pack-kick/disable_note_track.png)
*Also, after disabling the note tracking, I've set the pitch base value to -14, so it sounds like a kick*
Now, let's listen:
{{< audio "/posts/creating-a-sample-pack-kick/Kick_v1.mp3" >}}
Kick already sounds like a kick, but a lame one, doesn't it. Let's play a bit.
First, let's add a second LFO to control the volume level of the kick, it should be a short hit, so I'm adding a LFO like that and mapping it to the `level` of the first `OSD`
![LFO 2](/posts/creating-a-sample-pack-kick/kick_basic_shape.png)
And then enabling the `Filter 1` and mapping this LFO to the `Filter` as well,
It looks and sounds like that
{{< video "/posts/creating-a-sample-pack-kick/Kick_v2.mp4" "video-1">}}
With that filter setup I think, click sounds better. To make it even sharper, let's add some `White Noise` and an additional `LFO` for it.
{{< video "/posts/creating-a-sample-pack-kick/Kick_v3.mp4" "video-2">}}
And now let's add some effects. I've added a little bit of `EQ`, a `Distortion` which drive is mapped to a new `LFO`, and a `Compressor`, so now it looks like that:
{{< video "/posts/creating-a-sample-pack-kick/Kick_v4.mp4" "video-3">}}
The last step would be to add some more effects, but outside the `Vital` synth already. *And I'd like to change the pattern, because this one is driving me nuts*. So I've added a bit of additional `EQ`, `Distorition`, and `Compression`, and now it sounds like that. `
{{< audio "/posts/creating-a-sample-pack-kick/Kick_final_result.mp3" >}}

View File

@ -0,0 +1,144 @@
---
title: "Developing a Free Alternative for Splice"
date: 2023-05-31T12:05:44+02:00
draft: true
ShowToc: true
cover:
image: "cover.png"
caption: "Developing a Free Alternative for Splice"
relative: false
responsiveImages: false
---
## Intro
I think that almost everybody knows what **Splice** is. Basically, it's just a huge library of sounds and VST presets with some additional sweets. I can't say that I'm not satisfied by Splice, it's an applications that is doing pretty good, until you want to use it on Linux. That's something that I don't understand, (I'm almost sure that )it's an Electron application with and some binary running a gRPC server in a background, that I believe is written in **GO**. Both technologies are working on Linux, so basically, they could have just built a version without promising any real support for that. But they haven't. I've decided to try running it with WINE, but it didn't work. And then I though: There is awesome [freesound](https://freesound.org/), and why wouldn't I use it?
> Freesound is a collaborative database of Creative Commons Licensed sounds. Browse, download and share sounds.
But downloading samples using a browser it not something I'd like to do. I love Splice for their drag-n-drop app. And I've decided to develop one that will work with Freesound.
## Starting the project
I've decided to use Rust and try the [Iced](https://iced.rs/) for the UI.
Here you will find the project git repository: https://git.badhouseplants.net/allanger/frice
Basically, there are two things to do so the MVP is ready
- Make correct API requests to the Freesound
- Create a UI
So the very first thing that I'm doing, I'm initializing a project and creating a very simple **Iced** app using examples
```bh
cargo init
cargo add iced
```
```toml
# Cargo.toml
[package]
name = "frice"
version = "0.1.0"
edition = "2021"
[dependencies]
iced = "0.9.0"
```
```rust
// ./src/main.rs
use iced::{Sandbox, Settings, widget::Container};
fn main() -> Result<(), iced::Error> {
Frice::run(Settings::default())
}
struct Frice {}
impl Sandbox for Frice {
type Message = String;
fn new() -> Self {
Frice {}
}
fn title(&self) -> String {
"Frice".to_string()
}
fn update(&mut self, message: Self::Message) {
println!("Updating")
}
fn view(&self) -> iced::Element<'_, Self::Message> {
Container::new("frice").center_x().center_y().width(iced::Length::Fill).height(iced::Length::Fill).into() }
}
```
### API
And now I want to switch to the API, because the UI without API requests won't be able to do anything. As I see now, I'll need to implement two API calls for the MVP:
1. Search sounds
2. Download a sound
So let's start with the first one. They have a basic example of searching on their [documentation page](https://freesound.org/docs/api/overview.html)
```bash
curl "https://freesound.org/apiv2/search/text/?query=dogs&token=YOUR_API_KEY"
```
*API key can be created here: <https://freesound.org/apiv2/apply>*
So let's create a FreesoundAPI struct and add two methods there
```rust
struct FreesoundAPI {}
impl FreesoundAPI {
fn new() -> Self {
Self {}
}
fn search() {
todo!()
}
fn download() {
todo!()
}
}
```
To create an API call I'll need a token, so I need to add a new field to the `FreesoundAPI struct`
```rust
struct FreesoundAPI {
token: String
}
impl FreesoundAPI {
fn new(token: String) -> Self {
Self { token }
}
...
}
```
I also need a library for making API calls `cargo add reqwest`
```rust
pub(crate) fn search(&self) {
let client = reqwest::blocking::Client::builder().build().unwrap();
let res = client.get("https://freesound.org/apiv2/search/text")
.query(&[("token", self.token.as_str()), ("query", "dogs")])
.send().unwrap();
println!("{:?}", res.text());
}
```
Let's leave it like this for a moment, and try to implement the `download` method. Freesound API sais that we need to use `Oauth` to download sounds. Let's try.
```bash
cargo add oauth2
```

View File

@ -1,22 +0,0 @@
---
title: "Kid Robotik - I'm SO Sorry"
date: 2023-09-22T13:05:28+02:00
draft: true
ShowToc: true
cover:
image: "/posts/kid-robotik-im-so-sorry/cover.jpg"
caption: "Kid Robotik - I'm SO Sorry"
relative: true
responsiveImages: true
---
[OPEN ON SPOTIFY](https://open.spotify.com/album/6TTnfWZQyoZ8O1GuK8TtXf?si=cNchuEmfTAy52Z6jstnG2A) -- [OPEN ON DEEZER](https://deezer.page.link/D3M4JVdDYhmxXUUZ7) -- [OPEN ON YOUTUBE](https://youtube.com/playlist?list=OLAK5uy_l3BFAqPxAOkkzb-SByHbbvgBkdk3_idjg&si=bBo6cQE8jGWjLnsI)
It's not easy to find this album, to be honest. I think that I would never have listened to it unless I started trying to understand the Glaswegian accent. *I haven't succeeded really still*. While searching for artists from Scotland, I've bumped onto this YouTube channel: [Twelve50TV](https://www.youtube.com/@Twelve50TV). There are many rappers that I actually like, but they don't tend to publish their music on mainstream streaming platforms (read Spotify). So I couldn't really listen to them during my daily routine.
One of my favourites was that video: [Kid Robotik - War](https://youtu.be/LToW8CdBGOQ?si=-MgdWM1FvzGqKhnM). And this guy has his albums published on Spotify. I was listening to this song mostly because of other rappers performing on it: **Sherlock** and **McRoy**. And since this album is **Kid Robotik's** one, I wasn't trying to listen to it at all. I'm not saying that I didn't like his part there, but it didn't seem outstanding to me at all. Though, not so long ago I was bored by all the music I was listening to, and I've decided to check out the album finally. And after first listen I could already say that this guy, Kid Robotik is indeed one of favourite rappers. *Even though I still can't understand about 80% of what they're saying on that album, I freaking like beats, flow, voice and mixing.* And I think that it should gain a way more streams, than it has.
I can't even pick songs that I like the most, because they're all great in my opinion.
---
I want to build a completely non-profit independent public music library based on Funkwhale application, you can find it here: https://funkwhale.badhouseplants.net. At the moment of writing this post, I only have my music released there, but I hope that one day it will change. And I would really like to have this album there. So if you are Kid Robotik or someone who know him, please let me know if you'd be interested.

View File

@ -1,38 +0,0 @@
---
title: "Some old beats are out"
date: 2023-07-23T13:46:29+02:00
draft: false
ShowToc: true
cover:
image: "/posts/some-old-beats-are-out/Cover.png"
caption: "Some old beats are out"
relative: false
responsiveImages: false
tags:
- Music
- Beats
---
I've released some of my old beats that we pending for quite a time. You can check them out on my [Funkwhale](https://funkwhale.badhouseplants.net/channels/allanger_beats)
If you happen to like anything, just let me know, we will figure it out
### Dusted
{{< rawhtml >}}
<iframe width="100%" height="160" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=track&amp;id=157"></iframe>
{{< /rawhtml >}}
### Fallen Folk
{{< rawhtml >}}
<iframe width="100%" height="160" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=track&amp;id=154"></iframe>
{{< /rawhtml >}}
### Pillows
{{< rawhtml >}}
<iframe width="100%" height="160" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=track&amp;id=166"></iframe>
{{< /rawhtml >}}
### Swipe
{{< rawhtml >}}
<iframe width="100%" height="160" scrolling="no" frameborder="no" src="https://funkwhale.badhouseplants.net/embed.html?&amp;type=track&amp;id=159"></iframe>
{{< /rawhtml >}}

View File

@ -1,6 +0,0 @@
<figure class="{{ .Get 1 }}">
<audio controls preload="{{ .Get "preload" | default "metadata" }}">
<source src="{{ .Get 0 }}" type="audio/mpeg">
<figcaption>{{ .Get 0 }}</figcaption>
</audio>
</figure>

View File

@ -13,7 +13,7 @@
var player = new Clappr.Player({ var player = new Clappr.Player({
source: {{ .Get 0 }}, source: {{ .Get 0 }},
mute: false, mute: true,
height: 360, height: 360,
width: 640 width: 640
}); });

BIN
src/static/music/allanger.png (Stored with Git LFS)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7281dc2f93cfba5731b2bd0d38c6530ca84a33b05cf8a3ecacee583a073fb5be
size 376034

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.