Home Studio with RecBox

What is RecBox:

RecBox is an OpenBox config focused on Audio Recording and daily usage without creating extra user account or installing it on separate partition. If you've used before "Studio" like operating systems, you probably know that there are major differences between distributions for daily usage and "Studio" ones. It's possible to use them as daily driver but it's not necessarily comfortable when you want to use full potential of Linux as a system for audio engineering.

Where is the trick and what make it special?

Technically RecBox is "one cofig" but with help of shell script replaces configuration files and enable/disable needed services between modes (Daily, Studio and Alternative). One of main goals is to keep RecBox lightweight and Studio mode even lighter to maximize performance on laptops and generally older hardware. From a work point of view you don't need all these visual fireworks and other daemonized stuff working in background when you spend 99% of your time in DAW. This is waste of resources imo.

For daily use there is "Daily Mode" which shares part of DE stuff with "Studio Mode" (no matter which mode u use, needs to be functional). Functionality is another goal I'm focused. Because RecBox is also for daily use and it needs DE stuff and this is that "tricky" part of the gig.
From the basics, RecBox is unified with Manjaro OpenBox regular version (sanity purposes) so there are not many differences in workflow in general. Besides, part of shell scripts uses XFCE resources for working (for example Dark Mode) and there is no reason to rid off everything and write it from the basics. Waste of time and good resources especially if you keep in mind I'm an amator.

So we have very good base made by linux-aarhus and ArchLabs Team expanded with POSIX scripts (if I'm not wrong) taking care of volume and brightness control, battery level monitoring, system suspend, all jgmenuses, night light, dark mode etc. Reason for creating all these scripts are resources. More working applets or processes = less resources to use. So idea is simple: if I'm not using something, it's not working.

Alternative Mode is for fun or testing. If you like to try something new from time to time and don't want to break your workflow jump to this mode, play a while and if you bored back to daily setup.

Mouse and keyboard:

RecBox uses both philosophies. Everything what you can do from keyboard, you're able to do with mouse. It's not because I want to target both groups. It is a practical aspect. Using mouse while recording is more practical especially when you're one man army. So RecBox is kind a mix of i3 and traditional desktop.

Philosophical aspect:

Goal for RecBox is not to be the best ever made "Studio" like OS. Main idea is to give opportunity for users with older hardware to create more advanced projects and help musicians to save money for better hardware for recording and/or be own music producers. Even if you prefer to leave album production for professionals but you've never work on music in studio there is great opportunity to cover this lack of knowledge.

Last but not least:

If you want to make some modifications, but you don't know where to start check out "How RecBox works" in documentation or Project Wiki.

Edit:
I always forget to mention it. If in RecBox is something you like but you don't want to drop your desktop environment I'll be happy to help you with "transplantation" :slight_smile:

Edit:
I've made Matcha color scheme based theme for Ardour.
If you enjoy it you can grab theme from separated repo or AUR if you don't want whole RecBox Stuff.



Color schemes for cmus, ranger, micro, vim and Xed

8 Likes

Looks nice, I like to try it :slight_smile:

1 Like

Thanks, sometimes I think that it’s look better than it works :joy:

1 Like

We almost always our own hardest judges. Great work :+1:

2 Likes

Thanks I’m trying my best :slight_smile:

For few last days I thought about maintaining package for Manjaro as a next step in RecBox developing (It is still missing something but I’m not sure what). I don’t want to provide extra work for you guys so package will be pretty safe for as all at the moment. I guess :smile: So if RecBox will be ready who I need to ask and how whole procedure looks, what are the criteria and so on? And is this will be possible at all?

get in touch with me :slight_smile:

1 Like

Cool :slight_smile: Thank You @linux-aarhus :kissing_heart: :heart_eyes: xoxo lol

If someone is interested about Ardour theme, AUR package can be found here.

1 Like

I’ve made separate repository for RecBox docs so if you interested check it out.

Repo contains:

  • List and description of Pro Audio plugins and extra form AUR
  • System setup
  • Ardour configuration and tips for beginners
  • list of youtube channels with tutorials and articles (at the moment only one)

In this week I’ll be focused on documenting stuff so expect frequent updates.

Happy Sunday :slight_smile:

2 Likes

just checking out the Ardour theme, v cool

not seen openbox look so nice before
been happy with XFCE for ages, but this would be good on my older backup system

good to see a different take on an audio setup to keep it simple with just one DAW

look forward to seeing updates

Thank you @nikgnomic :smiling_face_with_three_hearts:
I think you should feel like home. Open Box regular is working with xfce under hood and Rec Box is set to use xfce settings on Daily Mode and openbox settings on Studio.

If you want to make your custom color theme it’s relatively easy but time consuming. Just choose one of themes in Colors and change one color or more, then open my-theme-you-changing-ardour.colors in text editor (/.config/ardour5/) to find what you changing. This should be helpful too.

Once again Thank You :slight_smile:

1 Like

I know that isn’t most epic thing in the world but I customized
XFCE settings manager to be more useful with openbox.

Also I made scripts for system suspend and one for studio session backups :slight_smile:
Suspend is provided by betterlockscreen ( -s option) so we have locked screen by the way.

If you want to update RecBox please use Configure RecBox option from recbox-install.sh (touchpad script will be written so you need to configure it).

Regards :slight_smile:

4 Likes

Really nice work :+1:

1 Like

I pushed my laziness to a higher level today :smile: Now in Tools menu we have magic button called Update RecBox so we have repo package equivalent for now. Should be good enough before RecBox turn in to package.
Also no need to spam gitlab there is Show Updates option in Tools menu.

Regards :slight_smile:

3 Likes

I made Zenity calendar script with notes, snippet here

and GUI installer for extra plugins. Looks nice and have short plugins description. If somebody want I can make snippet for this too or you can grab it from here :slight_smile:
Script is using st terminal (st -e pamac build) so you need to modify it a little bit or install st-manjaro.

PS
Screenshots are updated.

Have a good day ladies and gents.
Regards :slight_smile:

4 Likes

Hi guys I have something that potentially can interest you. Yesterday I’d some exploration in rc.xml file and I learned that window tiling can be improved pretty much (I’m not a fan of random window positioning). Before I set everything to center

    <application type="normal">
      <position>
        <x>center</x>
        <y>center</y>
      </position>
    </application>

but it doesn’t satisfy my needs so I started to mess around with force positioning and setting up apps to corners. Some of apps need more work but in general it’s done the job. Don’t know why Firefox won’t cooperate maybe I figure out this later. For example browsers like Opera, Vivaldi and Yandex behave well with tilling to corner.

    <application name="vivaldi-stable">
      <position force="yes">
        <x>-0</x>
        <y>0</y>
      </position>
    </application>

For apps like Gimp or LibreOffice basic settings don’t work well. For example if you set tilling to left, welcome window will be also moved to left. Same behavior is with confirmation dialog windows. Don’t try yet but I think that openbox wm can do the same thing as KDE with widgets. What I mean is to setting apps in specific place on screen with determinate size and number of desktop. You only need to remember that file is read from top to bottom so for example centering for all apps need to be on top of the list and everything else under. This should be helpful. Here is my config file.

Second thing is Dexed . I found that synthesizer yesterday night and sounds promising. “Dexed is a multi platform, multi format plugin synth that is closely modeled on the Yamaha DX7.”
Dexxed (OSC74) | Hexed (OSC74)

In most cases you’ll probably choose Chelm and ZynAddSubFX like unfa but I think it’s worth to check it out.

Description and installation from Extra Plugins installer is available with new update.
recbox-dev | recbox-docs | extra plugins

Regards :slight_smile:

2 Likes

From last post I made some cosmetic work like changing rodiolists to normal lists. They are less frustrating and have keyboard support. Few icomoons and dunst notification here and there :smiley: Pretty much boring stuff in general. What is worth to mention is extra plugins list reach 40 items.

adlplug-git;;
opnplug-git;;
bitrot-git;;
creox-git;;
dexed;;
digitsvst-git;;
distrho-lv2-git;;
distrho-vst-git;;
distrho-extra-lv2-git;;
dpf-plugins-git;;
luftikus;;
tal-plugins;;
drmr-falktx-git;;
openav-fabla2-git;;
fluidplug-git;;
foo-yc20;;
ghostess;;
gxplugins-lv2;;
hexter;;
hybridreverb2-git;;
ingen-git;;
jackass-git;;
jackman-git;;
mustang-plug;;
ob-xd;;
oxefmsynth;;
rakarrack;;
rkr-lv2-git;;
rt_pvc;;
tunefish4;;
vcvrack;;
vcvrack-fundamental;;
vcvrack-audible-instruments;;
vcvrack-befaco;;
vcvrack-eseries;;
vlevel-git;;
vocoder-jack;;
vocoder-ladspa;;
whysynth;;
xsynth-dssi;;

Some plugins like DragonFly reverb and eq10q now are in M-repo (Pamac > Groups > pro-audio) (they are now in recbox-install script > Install Pro Audio Plugins) which is very cool. If you guys reading this thank you :blush:
PDF with Pro Audio and extra plugins are up to date and I wrote how to make twin pedal effect with AVL Drums. I write soon few more tutorials about AVL Drums and something about mixing and mastering. I need some time to Compress my thoughts.

What else I can say :thinking: No fancy images this time :smile:
Have a good day and Regards :slight_smile:

1 Like

I think I managed everything related to window tiling :slight_smile:
What I don’t thought before is plugins are treated as utilities and if you want to set them with “title” method it will be work only when it’s added first time. After next Ardour start they loose position.

    <!-- tile application window to center -->
    <application type="normal">
      <position>
        <x>center</x>
        <y>center</y>
      </position>
    </application>
    <!-- Ardour Plugins and other utilitis -->
    <application type="utility">
      <position force="yes">
        <x>-0</x>
        <y>0</y>
      </position>
    </application>
    <!-- Dialogs -->
    <application type="dialog">
      <position>
        <x>center</x>
        <y>center</y>
      </position>
    </application>
    <!-- Splash (Gimp, LibreOffice etc) -->
    <application type="splash">
      <position>
        <x>center</x>
        <y>center</y>
      </position>
    </application>
  <!-- applications tile to right top corner -->
    <application name="termite">
      <position force="yes">
        <x>-10</x>
        <y>10</y>
      </position>
    </application>
    <application title="*st">
      <position force="yes">
        <x>-10</x>
        <y>10</y>
      </position>
    </application>
    <application title="*micro">
      <position force="yes">
        <x>-10</x>
        <y>10</y>
      </position>
    </application>
    <application name="vivaldi-stable">
      <position force="yes">
        <x>-0</x>
        <y>0</y>
      </position>
    </application>
    <application name="chromium-browser">
      <position force="yes">
        <x>-0</x>
        <y>0</y>
      </position>
    </application>
    <application name="cantata">
      <position force="yes">
        <x>-0</x>
        <y>0</y>
      </position>
    </application>
    <application name="deadbeef">
      <position force="yes">
        <x>-10</x>
        <y>10</y>
      </position>
    </application>
    <application name="smplayer">
      <position force="yes">
        <x>-10</x>
        <y>10</y>
      </position>
    </application>
    <application name="qpdfview">
      <decor>no</decor>
      <position force="yes">
        <x>-0</x>
        <y>0</y>
      </position>
    </application>
    <application name="thunar">
      <position force="yes">
        <x>-10</x>
        <y>10</y>
      </position>
    </application>
    <application name="nitrogen">
      <position force="yes">
        <x>-10</x>
        <y>10</y>
      </position>
    </application>
    <application name="arandr">
      <position force="yes">
        <x>-10</x>
        <y>10</y>
      </position>
    </application>
    <application name="xfce4-display-settings">
      <position force="yes">
        <x>-10</x>
        <y>10</y>
      </position>
    </application>
    <application name="viewnior">
      <position force="yes">
        <x>-10</x>
        <y>10</y>
      </position>
    </application>
    <application name="transmission-gtk">
      <position force="yes">
        <x>-10</x>
        <y>10</y>
      </position>
    </application>
    <application name="syncthing-gtk">
      <position force="yes">
        <x>-10</x>
        <y>10</y>
      </position>
    </application>
    <application name="obkey">
      <position force="yes">
        <x>-10</x>
        <y>10</y>
      </position>
    </application>
    <application name="xfce4-settings-manager">
      <position force="yes">
        <x>-10</x>
        <y>10</y>
      </position>
    </application>
    <application name="xfce4-settings-editor">
      <position force="yes">
        <x>-10</x>
        <y>10</y>
      </position>
    </application>
    <application name="thunar-volman-settings">
      <position force="yes">
        <x>-10</x>
        <y>10</y>
      </position>
    </application>
  <!-- applications tile to left top corner -->
    <application name="keepassxc">
      <position force="yes">
        <x>0</x>
        <y>0</y>
      </position>
    </application>
    <application name="xfce4-keyboard-settings">
      <position force="yes">
        <x>60</x>
        <y>10</y>
      </position>
    </application>
    <application name="xfce4-mime-settings">
      <position force="yes">
        <x>60</x>
        <y>10</y>
      </position>
    </application>
  <!--  maximized applications without decoration -->
    <application title="Mozilla Firefox">
      <decor>no</decor>
      <maximized>yes</maximized>
    </application>
    <application name="libreoffice">
      <decor>no</decor>
      <maximized>yes</maximized>
    </application>
    <application title="GNU Image Manipulation Program">
      <decor>no</decor>
      <maximized>yes</maximized>
    </application>
    <application title="Open Image"> <!--  Gimp -->
      <decor>no</decor>
      <maximized>yes</maximized>
    </application>
    <application title="Open Image as Layers"> <!--  Gimp -->
      <decor>no</decor>
      <maximized>yes</maximized>
    </application>
    <application title="Export Image"> <!--  Gimp -->
      <decor>no</decor>
      <maximized>yes</maximized>
    </application>
    <application name="inkscape">
      <decor>no</decor>
      <maximized>yes</maximized>
    </application>
    <application title="*Ardour">
      <decor>no</decor>
      <maximized>yes</maximized>
    </application>
    <application name="audacity">
      <decor>no</decor>
      <maximized>yes</maximized>
    </application>
    <application name="lmms">
      <decor>no</decor>
      <maximized>yes</maximized>
    </application>
    <application title="New comparison"> <!-- Meld -->
      <decor>no</decor>
      <maximized>yes</maximized>
    </application>
    <application name="gitkraken">
      <decor>no</decor>
      <maximized>yes</maximized>
    </application>
  <!--  Zenity -->
    <application title="Zenity Backup">
      <decor>no</decor>
      <position force="yes">
        <x>400</x>
        <y>0</y>
      </position>
    </application>
    <application title="Calendar">
      <decor>no</decor>
      <position force="yes">
        <x>400</x>
        <y>0</y>
      </position>
    </application>
    <application title="Notes">
      <decor>no</decor>
      <position force="yes">
        <x>400</x>
        <y>0</y>
      </position>
    </application>
    <application title="Zenity Cleaning">
      <decor>no</decor>
      <position force="yes">
        <x>400</x>
        <y>0</y>
      </position>
    </application>
    <application title="RecBox Updates">
      <decor>no</decor>
      <position force="yes">
        <x>0</x>
        <y>0</y>
      </position>
    </application>
    <application title="Extra Plugins">
      <decor>no</decor>
    </application>
    <application title="Zenity Suspend">
      <decor>no</decor>
      <position force="yes">
        <x>-160</x>
        <y>0</y>
      </position>
    </application>
    <application title="Manjaro Stable Updates Announcements">
      <decor>no</decor>
      <position force="yes">
        <x>0</x>
        <y>0</y>
      </position>
    </application>

Update was pushed to repository :slight_smile:

4 Likes

Good evening ladies and gentlemen :slight_smile:
I’d added Alternative mode to RecBox. Literally it’s a playground separated from Daily and Studio modes using Polybar and Tint2 panel. You can switch from Daily or Studio to Alternative mode without changing system setup. It’s only changing Polybar and Tint2 session cofig files.

We’re one step closer to push RecBox to repository :blush:

Polybar modules here and here I am only using cmus module but there is more cool stuff there like RSS/Atom feed module. Can be useful to don’t miss any Updates Announcements :grin:

Tomorrow I have bass guitar recording session so it’s good opportunity to make notes and later write some useful tips :slight_smile:

Wallpaper here

Regards :slight_smile:

2 Likes

Hello boys and gals I have few new things today :slight_smile:

I made a little reconnaissance in jgmenu man and found cool option for menu separators:

   sep_markup = string (unset by default)

      If specified, <span $sep_markup>foo</span> will be passed to pango
      for ^sep(foo).  See the following link for pango attributes:
      https://developer.gnome.org/pango/stable/PangoMarkupFormat.html

        Keywords include (but are not limited to):
           font
           size (x-small, small, medium, large, x-large)
           style (normal, oblique, italic)
           weight (ultralight, light, normal, bold, ultrabold, heavy
           foreground (using format #rrggbb or a colour name)
           underline (none, single, double)

        Example:
          sep_markup = font="Sans Italic 12" foreground="blue"

RecBox:

sep_height         = 5
sep_halign         = left
sep_markup         = font="Noto Sans Music 10" foreground="#504e65"

color_sep_fg       = #282733 100  |  Normal separators are in the same color as background because
                                  |  I'm using them as spaces between items. 'height' flag don't work 
                                  |  for markups or I'm doing something wrong.

Also change a little bit obmenu separators padding and OSD borders:

...
menu.separator.padding.width: 50
menu.separator.padding.height: 10
...

...
osd.border.width: 5
...

Tint2 menu now have executor for cmus like polybar I’ve added also icomoons to player-cmus.sh

side-menu now have microfone mute/unmute item
I’ve added key binding also for it under Fn + F4 and Super + c for cmus

and last but not least PDFs now have bookmarks so we can easily jump for interested topics :slight_smile:

Regards :slight_smile:

2 Likes