Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Thu 30 Oct 2014, 08:26
All times are UTC - 4
 Forum index » Off-Topic Area » Programming
Native Instruments Maschine
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 1 [3 Posts]  
Author Message
sc0ttman


Joined: 16 Sep 2009
Posts: 2386
Location: UK

PostPosted: Thu 18 Apr 2013, 16:03    Post subject:  Native Instruments Maschine
Subject description: ambitious, may go nowhere... music fans can help if they like!
 

As I dont have hundreds of pounds lying around for toys, I wanna make a Gtkdialog version of the Native Instruments Maschine, using sox, ecasound, listener, soundstretch, JACK, and any other recommended CLI multi-track audio progs...

(I cant get meterec to work Sad Sad ) ...

This is a Maschine: http://cachepe.zzounds.com/media/quality,85/NI-MASCHINE_topview-520877b51f0d9185e19cfac401d48c7b.jpg

Screenshot of my GUI attached below....

Video: http://www.youtube.com/watch?v=QYVQR-YdVJI

Firstly, I have no idea how to do this, and even worse, I have NO musical talent whatsoever...

I know nothing of MIDI and have only a built in sound card, so this may not even be possible without some external devices (let me know!)...

- How can i re-route audio from the sound card to a file?
- or from the kb to a file, while not including the audio being played by a separate process...? etc...

Anyway, here is the very first problem, and it's really basic.. I cannot theme the gtkdialog GUI as I would like...

Current Problem: I cannot get the unselected notebook tabs to be themed in any way, and I cannot get the headers of the <Tree> widget to be themed either...

Here is my gtkrc file:

Code:
  style "maschinebtn"
{
  engine "clearlooks" {
   menubarstyle    = 2
  }
  font_name="Ubuntu Light 12"
  bg[NORMAL]      = "#ff6600"
  bg[PRELIGHT]      = "#ff9900"
  bg[ACTIVE]      = "#ffcc00"
  bg[SELECTED]      = "#ffcc00"
  bg[INSENSITIVE]    = "#cc0000"
}
style "maschine-scale"
{
  font_name="Ubuntu Light 12"
  bg[NORMAL]      = "#ff6600"
  bg[PRELIGHT]      = "#ff9900"
  bg[ACTIVE]      = "#ffcc00"
  bg[SELECTED]      = "#ff6600"
  bg[INSENSITIVE]    = "#ff6600"
}
style "maschine-bg"
{
  font_name="Ubuntu Light 12"
  fg[NORMAL]      = "#ffffff"
  bg[NORMAL]      = "#333333"
  text[INSENSITIVE]= "#ffffff" #Un-selectable text
  text[NORMAL] = "#ffffff" #Foreground of selected text in a list when window is in foreground
  text[SELECTED] = "#ffffff" #Foreground of selected text in a list when window is in foreground
  text[ACTIVE] = "#000000" #Certain highlighted/selected things
}
style "maschine-tree"
{
  font_name="Ubuntu Light 12"
  fg[NORMAL]      = "#ffffff"
  bg[NORMAL]      = "#333333"
  base[NORMAL] = "#666666" #Background for just about everything (editor windows, Evolution's folders, etc.)
  base[SELECTED] = "#ff6600" #Background of selected text in a list when window is in foreground
  base[ACTIVE] = "#ff6600" #Background of selected text in a list when window not in foreground
}

widget_class "*Gtk*" style "maschine-bg"

widget_class "*Notebook*" style "maschine-tree"
widget_class "*Tree*" style "maschine-tree"

widget_class "*Separator*" style "maschine-scale"
widget_class "*Scale*" style "maschine-scale"
widget_class "*Scroll*" style "maschine-scale"

widget_class "*GtkButton*" style "maschinebtn"


Aside from the gtkrc issue above, here are the things I will have to solve at some point:

- each song is a project.. and will have a name, BPM,
- backend must have timer daemon thing that is fixed to the chosen BPM
- timer count bars, & time from start .. to bring in the sounds as needed
- assign numpad key presses to the big buttons (the pads)
- assign shortcuts for play, stop, rec, mute
- record all output into a single file (stuff played on pads PLUS all other playing sounds)
- record only the pads, not including any other audio that is being played
- track the time from clicking 'play', so that anything played on pads can be added to song at correct point
- auto sample slicing to pads - use ecasound to cut the sample into its beats, sounds stretch to fit with projects bpm
- add chain of effects in realtime to sounds, and have those altered sounds recorded after effects are added!
- beat sequencer (pads flash in order, timed, you highlight them to trigger the sounds at the chosen time)

I see this being impossible to do on my own, but if anyone is interested in helping, I will push it as far as I can... I am open to advice on how to handle the 'backend' ... Basically, anyone who knows a bit about playing/recording/combining multiple audio streams will be of help!

Experts in ecasound, sox and the like might wanna chip in if they can!!!

If I get anything at all usable or half-baked, I will upload a pet...
maschine-theme.png
 Description   PROBLEM - see the notebook tabs and <tree> headings!!
How can I fix that??
 Filesize   47.83 KB
 Viewed   331 Time(s)

maschine-theme.png


_________________
Akita Linux, VLC-GTK, Pup Search, Pup File Search
Back to top
View user's profile Send private message 
R-S-H

Joined: 18 Feb 2013
Posts: 490

PostPosted: Thu 18 Apr 2013, 19:59    Post subject:  

Hi scOttman.

I'm surely not able to be any help on the programming issues related to this project. But I'm looking forward to a first PET released! Smile

Also: I do own a complete home recording studio with all the external equipment like keyboards and synthesizers, guitar, bass, drums, mixers etc.pp. Yes, I'm a musician and also a composer and I really would like to do some tests and report the results to you.

So, would you please send me a pm, to make sure, I'm not missing your first PET released?

Thanks,

RSH

_________________
LazY Puppy Home
The new LazY Puppy Information Centre

Back to top
View user's profile Send private message 
sc0ttman


Joined: 16 Sep 2009
Posts: 2386
Location: UK

PostPosted: Sat 20 Apr 2013, 09:09    Post subject:  

Code:
for x in 1 2 3 4 5 6 7 8; do for q in 1 2 3 4; do [ "`echo "$x$q"| grep -E "^11$|^21$|^31$|^41$|51|61|^81$"`" != "" ] && aplay /usr/share/sounds/generic.wav; [ "`echo "$x$q"`" != "" ] && aplay /usr/share/audio/beep_high.wav; [ "`echo "$x$q"| grep -E "^13$|^14$|^23$|^24$|^33$|^34$|^43$|^44$|^53$|^54$|63|64|83|84"`" != "" ] && aplay /usr/share/audio/beep_low.wav; [ "`echo "$x$q"| grep -E "14|24|34|44|54|64|72|74|84"`" != "" ] && aplay /usr/share/audio/2barks.wav & sleep 0.16; done; done &>/dev/null


just for the hell of it.. requires the following files (should be in your pup):

/usr/share/audio/2barks.wav
/usr/share/audio/beep_low.wav
/usr/share/audio/beep_high.wav
/usr/share/sounds/generic.wav

_________________
Akita Linux, VLC-GTK, Pup Search, Pup File Search
Back to top
View user's profile Send private message 
Display posts from previous:   Sort by:   
Page 1 of 1 [3 Posts]  
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Off-Topic Area » Programming
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.0599s ][ Queries: 13 (0.0046s) ][ GZIP on ]