@@ -12,6 +12,65 @@ include_once("includes/header.php"); | |||||
<a href="http://feeds.launchpad.net/kxstudio/announcements.atom"><img src="images/rss.png" alt="RSS"/></a> | <a href="http://feeds.launchpad.net/kxstudio/announcements.atom"><img src="images/rss.png" alt="RSS"/></a> | ||||
</div> | </div> | ||||
<p> | |||||
<span style="font-size: 20px">> Carla 2.0 development progress report</span><br/> | |||||
On <i>2013-12-17</i> by<i> falkTX</i> | |||||
</p> | |||||
<p> | |||||
This is a progress report for the new Carla, version 2.0.<br/> | |||||
It will take a while to get a release ready, but there are already a few things done and stuff to show. | |||||
</p> | |||||
<h3>Backend</h3> | |||||
<p> | |||||
First, <b>the backend is being rewritten to not use any system toolkit</b>.<br/> | |||||
In 1.x series I've used Qt4 to handle graphics, but that might be a problem soon with Qt5 (cannot mix Qt4 and Qt5 stuff together).<br/> | |||||
Plus I want the Carla backend to be toolkit agnostic, so that in the future it may be re-usable for others no matter what their main toolkit is.<br/> | |||||
The main backend header files are now ANSI C compatible, thus increasing the chances of re-usability (as some Linux developers have a weird aversion to C++...). | |||||
</p> | |||||
<p> | |||||
Because Qt is no longer used in the backend code, I needed something else to handle graphics and other advanced stuff - Juce was selected for this.<br/> | |||||
Juce is a C++ framework focused on audio applications and plugins, which suits Carla nicely.<br/> | |||||
There's a lot of useful things inside it that will make developing new features much easier (like the internal patchbay mode).<br/> | |||||
Other things like AU and VST3 plugin hosting will be possible too thanks to Juce, although they are not relevant to Linux. | |||||
</p> | |||||
<p> | |||||
Loading <b>Carla as a plugin</b> is also being worked on.<br/> | |||||
There target two main targets with this: | |||||
</p> | |||||
<ul> | |||||
<li>Load entire Carla projects - rack or patchbay - as a single plugin in the graph (avoiding clutter);</li> | |||||
<li>Carla itself as an LV2 plugin;</li> | |||||
</ul> | |||||
<p> | |||||
If you been following the LinuxMusicians forums you know that internal Carla plugins are already available as LV2 plugins (yes, that includes zynaddsubfx-lv2!).<br/> | |||||
Once the Carla internal plugin work is complete, you automatically get an LV2 version of it as well! :D | |||||
</p> | |||||
<h3>Front-end</h3> | |||||
<p> | |||||
There has been a few changes on the UI side as well.<br/> | |||||
For example, the <b>plugin edit dialog</b> now looks like this: | |||||
</p> | |||||
<p> | |||||
<img src="/screenshots/news/carla-2.0-report_edit-dialog.png" alt=""/> | |||||
</p> | |||||
<p> | |||||
As seen the image, the user will be able to use "Stereo Balance" or "Mono Panning".<br/> | |||||
The new layout also allows for a much <b>smaller window size</b>.<br/> | |||||
</p> | |||||
<p> | |||||
Lastly, there's plans to bring <b>custom skins to plugin "slots"</b>, in a similar way to Reason.<br/> | |||||
This is something I still have to investigate to find the best possible way to do it.<br/> | |||||
It should be expandable so that random plugins can also use skins, probably via a new LV2 extension.<br/> | |||||
</p> | |||||
<br/> | |||||
<p> | |||||
That's all for now.<br/> | |||||
Soon there will be a new DISTRHO release, so stay tuned! | |||||
</p> | |||||
<hr/> | |||||
<p> | <p> | ||||
<span style="font-size: 20px">> New releases and future plans</span><br/> | <span style="font-size: 20px">> New releases and future plans</span><br/> | ||||
On <i>2013-11-27</i> by<i> falkTX</i> | On <i>2013-11-27</i> by<i> falkTX</i> | ||||
@@ -47,8 +47,8 @@ include_once("includes/header.php"); | |||||
<pre class="code"> | <pre class="code"> | ||||
<span style="color: rgb(110, 110, 110);"># Install needed tools</span> | <span style="color: rgb(110, 110, 110);"># Install needed tools</span> | ||||
sudo apt-get install software-properties-common wget<br/> | sudo apt-get install software-properties-common wget<br/> | ||||
<span style="color: rgb(110, 110, 110);"># Enable KXStudio repo</span> | |||||
sudo /usr/bin/add-apt-repository -y ppa:kxstudio-debian/kxstudio<br/> | |||||
<span style="color: rgb(110, 110, 110);"># Enable KXStudio repo (press 'Enter' once asked)</span> | |||||
sudo add-apt-repository ppa:kxstudio-debian/kxstudio<br/> | |||||
<span style="color: rgb(110, 110, 110);"># Update software sources</span> | <span style="color: rgb(110, 110, 110);"># Update software sources</span> | ||||
sudo apt-get update<br/> | sudo apt-get update<br/> | ||||
<span style="color: rgb(110, 110, 110);"># Install kxstudio-repos</span> | <span style="color: rgb(110, 110, 110);"># Install kxstudio-repos</span> | ||||
@@ -432,6 +432,38 @@ fieldset table { | |||||
background:none repeat scroll 0 0 transparent; | background:none repeat scroll 0 0 transparent; | ||||
} | } | ||||
#div_menuSoftware { | |||||
position: absolute; | |||||
top: 30px; | |||||
left: 0px; | |||||
background-color: #111111; | |||||
border-top: 1px solid #222222; | |||||
padding: 0px; | |||||
visibility: hidden; | |||||
text-decoration: none; | |||||
z-index: 99; | |||||
} | |||||
#div_menuSoftware p { | |||||
color: #F0F0F0; | |||||
margin: 0 0 0 0; | |||||
padding-top: 4px; | |||||
padding-bottom: 4px; | |||||
padding-left: 16px; | |||||
padding-right: 16px; | |||||
border: 1px solid #222222; | |||||
border-top: 0px; | |||||
} | |||||
#div_menuSoftware a { | |||||
color: #F0F0F0; | |||||
text-decoration: none; | |||||
} | |||||
#div_menuSoftware a:hover, #div_menuSoftware a:focus { | |||||
color: #6464E6; | |||||
} | |||||
#donations_container { | #donations_container { | ||||
padding-left: 10px; | padding-left: 10px; | ||||
padding-right: 10px; | padding-right: 10px; | ||||
@@ -30,8 +30,10 @@ else*/ | |||||
<?php if ($PAGE_TYPE == "HOME") { ?> | <?php if ($PAGE_TYPE == "HOME") { ?> | ||||
<script type="text/javascript" src="includes/jquery-1.4.2.min.js"></script> | <script type="text/javascript" src="includes/jquery-1.4.2.min.js"></script> | ||||
<script type="text/javascript" src="includes/responsiveslides.min.js"></script> | <script type="text/javascript" src="includes/responsiveslides.min.js"></script> | ||||
<?php } ?> | |||||
<script type="text/javascript"> | <script type="text/javascript"> | ||||
$(window).load(function() { | |||||
<?php if ($PAGE_TYPE == "HOME") { ?> | |||||
$(window).load(function(){ | |||||
$(".rslides").responsiveSlides({ | $(".rslides").responsiveSlides({ | ||||
auto: true, | auto: true, | ||||
nav: true, | nav: true, | ||||
@@ -41,6 +43,46 @@ else*/ | |||||
namespace: "large-btns" | namespace: "large-btns" | ||||
}); | }); | ||||
}); | }); | ||||
<?php } ?> | |||||
function itemSoftwareClicked(event){ | |||||
event.stopPropagation(); | |||||
var objSoftwareMenu = document.getElementById("div_menuSoftware"); | |||||
if (objSoftwareMenu.style.visibility != "visible") | |||||
{ | |||||
var leftPos = document.getElementById("item-soft").getBoundingClientRect().left - 1; | |||||
objSoftwareMenu.style.left = "" + leftPos + "px"; | |||||
objSoftwareMenu.style.visibility = "visible"; | |||||
} | |||||
else | |||||
{ | |||||
objSoftwareMenu.style.visibility = "hidden"; | |||||
} | |||||
return false; | |||||
}; | |||||
function bodyClicked(){ | |||||
var objSoftwareMenu = document.getElementById("div_menuSoftware"); | |||||
if (objSoftwareMenu.style.visibility == "visible") | |||||
objSoftwareMenu.style.visibility = "hidden"; | |||||
return true; | |||||
}; | |||||
</script> | |||||
<?php if ($PAGE_TYPE == "DONATIONS") { ?> | |||||
<script type="text/javascript"> | |||||
/* <![CDATA[ */ | |||||
(function() { | |||||
var s = document.createElement('script'), t = document.getElementsByTagName('script')[0]; | |||||
s.type = 'text/javascript'; | |||||
s.async = true; | |||||
s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto'; | |||||
t.parentNode.insertBefore(s, t); | |||||
})(); | |||||
/* ]]> */ | |||||
</script> | </script> | ||||
<?php } else if ($PAGE_TYPE == "PASTE") { ?> | <?php } else if ($PAGE_TYPE == "PASTE") { ?> | ||||
<link rel="stylesheet" href="<?php echo $ROOT; ?>/paste/kxstudio.css" type="text/css" media="screen" /> | <link rel="stylesheet" href="<?php echo $ROOT; ?>/paste/kxstudio.css" type="text/css" media="screen" /> | ||||
@@ -72,26 +114,22 @@ else*/ | |||||
resize: none; | resize: none; | ||||
} | } | ||||
</style> | </style> | ||||
<?php } else if ($PAGE_TYPE == "DONATIONS") { ?> | |||||
<script type="text/javascript"> | |||||
/* <![CDATA[ */ | |||||
(function() { | |||||
var s = document.createElement('script'), t = document.getElementsByTagName('script')[0]; | |||||
s.type = 'text/javascript'; | |||||
s.async = true; | |||||
s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto'; | |||||
t.parentNode.insertBefore(s, t); | |||||
})(); | |||||
/* ]]> */ | |||||
</script> | |||||
<?php } ?> | <?php } ?> | ||||
</head> | </head> | ||||
<?php if ($PAGE_TYPE == "HOME") { ?> | <?php if ($PAGE_TYPE == "HOME") { ?> | ||||
<body class="mediawiki ltr ns-0 ns-subject skin-bentofluid" style="min-width:1076px"> | |||||
<body class="mediawiki ltr ns-0 ns-subject skin-bentofluid" style="min-width:1080px" onClick="return bodyClicked();"> | |||||
<?php } else { ?> | <?php } else { ?> | ||||
<body class="mediawiki ltr ns-0 ns-subject skin-bentofluid"> | |||||
<body class="mediawiki ltr ns-0 ns-subject skin-bentofluid" style="min-width:1080px" onClick="return bodyClicked();"> | |||||
<?php } ?> | <?php } ?> | ||||
<!-- Software sub menu --> | |||||
<div id="div_menuSoftware"> | |||||
<p><a href="<?php echo $ROOT; ?>/Applications"><img src="<?php echo $ROOT; ?>/images/ico_cadence.png" alt=""/> Applications</a></p> | |||||
<!-- <div></div> --> | |||||
<p><a href="<?php echo $ROOT; ?>/Plugins"><img src="<?php echo $ROOT; ?>/images/ico_distrho.png" alt=""/> Plugins</a></p> | |||||
</div> | |||||
<!-- Top link --> | |||||
<a name="Top" id="Top"></a> | <a name="Top" id="Top"></a> | ||||
<!-- Start: Header --> | <!-- Start: Header --> | ||||
@@ -102,10 +140,10 @@ else*/ | |||||
</a> | </a> | ||||
<a id="header-home" href="<?php echo $ROOT; ?>/" style="font-size:1.2em">Home</a> | <a id="header-home" href="<?php echo $ROOT; ?>/" style="font-size:1.2em">Home</a> | ||||
<ul id="global-navigation"> | <ul id="global-navigation"> | ||||
<li id="item-apps"><a href="<?php echo $ROOT; ?>/Applications">Applications</a></li> | |||||
<li id="item-plugins"><a href="<?php echo $ROOT; ?>/Plugins">Plugins</a></li> | |||||
<li id="item-news"><a href="<?php echo $ROOT; ?>/News">News</a></li> | |||||
<li id="item-soft"><a href="#" onClick="return itemSoftwareClicked(event);">Software ▼</a></li> | |||||
<li id="item-repos"><a href="<?php echo $ROOT; ?>/Repositories">Repositories</a></li> | <li id="item-repos"><a href="<?php echo $ROOT; ?>/Repositories">Repositories</a></li> | ||||
<li id="item-documentation"><a href="<?php echo $ROOT; ?>/Documentation">Documentation</a></li> | |||||
<li id="item-docs"><a href="<?php echo $ROOT; ?>/Documentation">Documentation</a></li> | |||||
<li id="item-donate"><a href="<?php echo $ROOT; ?>/Donations">Donations</a></li> | <li id="item-donate"><a href="<?php echo $ROOT; ?>/Donations">Donations</a></li> | ||||
<li id="item-downloads"><a href="<?php echo $ROOT; ?>/Downloads">Downloads</a></li> | <li id="item-downloads"><a href="<?php echo $ROOT; ?>/Downloads">Downloads</a></li> | ||||
<li id="item-paste"><a href="<?php echo $ROOT; ?>/Paste">Paste</a></li> | <li id="item-paste"><a href="<?php echo $ROOT; ?>/Paste">Paste</a></li> | ||||