2017/06/18

Fedora26でfaust2jaqt

Faust Quick ReferenceのChapter 6でfaust2jaqtが出てきますが、以下のようなエラーが出てうまく動きません。

$ cat noise.dsp
process = library("music.lib").noise * hslider("level", 0, 0, 1, 0.01);

$ faust2jaqt noise.dsp
In file included from /usr/include/c++/7/ext/string_conversions.h:41:0,
                 from /usr/include/c++/7/bits/basic_string.h:6159,
                 from /usr/include/c++/7/string:52,
                 from /usr/include/c++/7/bits/locale_classes.h:40,
                 from /usr/include/c++/7/bits/ios_base.h:41,
                 from /usr/include/c++/7/ios:42,
                 from /usr/include/c++/7/ostream:38,
                 from /usr/include/c++/7/iostream:39,
                 from noise.cpp:46:
/usr/include/c++/7/cstdlib:75:15: fatal error: stdlib.h: No such file or directory
 #include_next <stdlib.h>
               ^~~~~~~~~~
compilation terminated.
make: *** [Makefile:656: noise.o] Error 1

これはQt5.7.1のqmakeがgccのオプションに-isystem /usr/includeを付け加えるのが原因のようです。調べたところvoidlinuxのissue#5254に暫定的な解決策がありました。

Qt5のgcc-base.confを開きます。

sudo nano /usr/lib64/qt5/mkspecs/common/gcc-base.conf

QMAKE_CFLAGS_ISYSTEMの値を-Iに変更します。

#QMAKE_CFLAGS_ISYSTEM        = -isystem
QMAKE_CFLAGS_ISYSTEM        = -I

これでfaust2jaqtが通るようになりました。

faust2jaqt noise.dsp
./noise

2017/06/12

Fedora26でLMMSをコンパイル

LMMSはどことなくFL Studioに似たDAWです。以前はFLPのインポートもできたようですが、去年の今頃に機能が削除されています

この文章を書いている時点では、Fedora26の公式リポジトリからインストールできるLMMSはバージョン1.1.3です。GUIがかっこよくなったバージョン1.2.0にアップグレードするためにLMMSをコンパイルします。

コンパイル

LMMS Wikiにコンパイル方法と必要ライブラリが書いてあります。

LMMSをgit cloneしてインストールします。cmakeの出力にあるInstallation Summaryの項でnot foundになっているライブラリのパッケージ名はrpmfindRPM Searchで検索することができます。

git clone -b stable-1.2 https://github.com/LMMS/lmms.git
cd lmms
mkdir build; cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DWANT_QT5=ON
make
sudo make install

LibGig、Carla、libsoundio

LibGig、Carla、libsoundioはFedora向けのパッケージが見つからなかったのでコンパイルします。

LibGig

LibGigをgit cloneします。

git clone https://github.com/Neonking/LibGig.git
cd LibGig

autoconfでconfigureを作成してmakeしてインストールします。

libtoolize
aclocal
autoheader
automake --force-missing --add-missing
autoconf
./configure --prefix=/usr
make
sudo make install

Carla

CarlaのGUIにQt5を使う場合はPyQt5が必要です。Gtk3を使うこともできます。

# Qt5の場合。
pip3 install --user PyQt5

# Gtk3の場合。
sudo dnf install gtk3 gtk3-devel

Carlaをgit cloneしてインストールします。

git clone https://github.com/falkTX/Carla.git
cd Carla
make
sudo make install PREFIX=/usr

pkgconfigのファイルを/usr/lib64に移動します。

sudo mv /usr/lib/pkgconfig/carla-*.pc /usr/lib64/pkgconfig/

libsoundio

libsoundioをgit cloneしてインストールします

git clone https://github.com/andrewrk/libsoundio.git
mkdir build; cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
make
sudo make install

2017/06/10

Fedora26にFL Studioをインストール

Fedora26にFL Studioをインストールします。

wineをインストール

wineはWindowsアプリをLinuxやBSDなどの上でも動くようにしてくれるソフトウェアです。

dnfからwineをインストールします。

sudo dnf install wine

wineについてくるnotepadを起動して動作確認します。

wine notepad.exe

コンフィグはwinecfgで行うことができます。

winecfg

FL Studio 12.4をインストール

インストーラをダウンロードして起動します。

wine flstudio_12.4.2.exe

インストール先のパスはWindows形式のままで大丈夫でした。デフォルトでは~/.wine以下の適当なディレクトリに変換されるようです。私の環境ではC:が~/.wine/drive_cに変換されていました。

FL Studioを購入している場合はregexitを起動してレジストリを登録する必要があります。以下のコマンドでregeditを起動して、メニューから Registry -> Import Registry File… を選んでFLRegkey.Regをインポートします。

wine regedit

このままFL Studioを起動してもメニューなどの文字が表示されません。フォントが無いことが原因のようなのでwinetricksでcorefontsをインストールします。corefontsのインストールにはcabextractが要求されるので無ければdnfからインストールします。

# cabextractをインストール。
sudo dnf install cabextract

# corefontsをインストール。念のためwgetのリンク先を確認すること。
wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
chmod +x winetricks
./winetricks corefonts

FL Studioを起動します。

wine ~/.wine/drive_c/Program\ Files\ \(x86\)/Image-Line/FL\ Studio\ 12/FL.exe

Auto Scrollingが勝手にONになる場合はScroll Lockを有効にします。xorgを使っていてScroll Lockキーが効かない場合は~/.Xmodmapに以下の行を追加して再ログインすると有効になります。

add mod3 = Scroll_Lock