Old 09-25-2013, 06:25 PM   #81
Smurf
Human being with feelings
 
Smurf's Avatar
 
Join Date: Jan 2006
Posts: 2,168
Default

This reminds me a lot of the koZong v1.1 free random chord generator I have had for years, only maybe a little more "correct"! LOL

I will watch this with a lot of interest!
__________________
Yep's First 3 Years in PDF's
HOW WIDE a difference is there between how you treat others when they make a mistake and how you would like them to treat you when you err?
Smurf is offline   Reply With Quote
Old 09-25-2013, 06:26 PM   #82
Lazarus
Human being with feelings
 
Join Date: Aug 2013
Posts: 1,355
Default

That's the new version uploaded in the stash.

https://stash.reaper.fm/v/17939/Rea-Chorder.zip

Drawing regions has been taken out, but will be added back in a much snazzier (under the hood) form soon.

Save/recall of previous settings (section channels) has been removed too. Will add back soon, I'm just (over) thinking about the best way to do it.

Apart from that it does the same thing as before, only with a tabbed interface. Settings window is gone, because the settings per section are now contained within the tabs.

It now stores the song from the Wizard tab (which was the main window before) so it's WYSIWYG in terms of the chords drawn in.
Lazarus is offline   Reply With Quote
Old 09-25-2013, 08:24 PM   #83
Sasje
Human being with feelings
 
Sasje's Avatar
 
Join Date: Sep 2013
Posts: 137
Default

Code-wise it looks really organized. Thank you.

I think we need to make some design decisions. Since most comboboxes have been replaced by tabs, I think we can make the height of the window a bit smaller. About 100/150px? the width can also be some 100px shorter. To make it somewhat more compact. I think we also can replace: relief="sunken" with relief=RAISED. This looks way better with a notebook. It needs an extra import though: from tkinter import RAISED.

Can you let me know if I can make a couple of changes, or are you still busy with it?
Sasje is offline   Reply With Quote
Old 09-25-2013, 11:17 PM   #84
Lazarus
Human being with feelings
 
Join Date: Aug 2013
Posts: 1,355
Default

Yes, of course you can!

I know what you mean about the size with the new layout and I know the layout of the tabs is not the most professinal layout the world has ever witnessed. It'll be easy enough to change around at any point. I think that the Song Editor might need quite a bit of room, but we'll cross that bridge when we come to it.

The one wee thing I'll say is that with the guitar chords, it would be better if you made them into a dictionary, like ChordDict so they are just a plug n play with the new song dict way of working.

Looking forward to it...
Lazarus is offline   Reply With Quote
Old 09-26-2013, 08:18 AM   #85
Sasje
Human being with feelings
 
Sasje's Avatar
 
Join Date: Sep 2013
Posts: 137
Default

Nice one! I'll be working on it, I think my next release is somewhere this weekend.

Btw, did you see the "Beyond Reaper" library? It would be really useful to use this library later on, because with this we can use Python and omit Reaper's. (A kind of a direct access to Python) This gives us more control, it also gives us multithreading

See this thread about Beyond Reaper: http://forum.cockos.com/showthread.php?t=106560
Sasje is offline   Reply With Quote
Old 09-26-2013, 10:01 AM   #86
Lazarus
Human being with feelings
 
Join Date: Aug 2013
Posts: 1,355
Default

@spk77: sorry, I completely missed your post about harmonies. That's very interesting. It would be good to get a ready made scales dictionary into the project. I actually want to do that to send the current scale to MidiLooper so that it conforms whatever phrases I put into it into the correct key.

I haven't forgot about the SNM_GetIntConfigVar("miditicksperbeat", -1) tip either. I'll stick that in with the next update.

@Sasje: Cool. I saw the thread, but haven't looked at the library. I was thinking about creating an RPR class to hold the few methods we are calling to eliminate the chance of mistakes and also to extend the functionality to writing directly to a MIDI file. It smells like it would be easy enough to switch back and forward from Beyond Python, Reaper's direct access, and generic MIDI file writing from then on by changing a couple of imports and it might be worth doing direct to a file or with BP if only for the proper console output and being able to run it straight from the IDE.
Lazarus is offline   Reply With Quote
Old 09-26-2013, 12:18 PM   #87
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,286
Default

Quote:
Originally Posted by Lazarus View Post
@spk77: sorry, I completely missed your post about harmonies. That's very interesting. It would be good to get a ready made scales dictionary into the project. I actually want to do that to send the current scale to MidiLooper so that it conforms whatever phrases I put into it into the correct key.

I haven't forgot about the SNM_GetIntConfigVar("miditicksperbeat", -1) tip either. I'll stick that in with the next update.

@Sasje: Cool. I saw the thread, but haven't looked at the library. I was thinking about creating an RPR class to hold the few methods we are calling to eliminate the chance of mistakes and also to extend the functionality to writing directly to a MIDI file. It smells like it would be easy enough to switch back and forward from Beyond Python, Reaper's direct access, and generic MIDI file writing from then on by changing a couple of imports and it might be worth doing direct to a file or with BP if only for the proper console output and being able to run it straight from the IDE.
Ok, currently the scales are in this format (complete txt file is attached):

Code:
Chromatic TriMirror = [0, 1, 2]
Do Re Mi = [0, 2, 4]
Flat 6 and 7 = [0, 10, 11]
Major Flat 6 = [0, 4, 8]
Major Triad 1 = [0, 3, 8]
Major Triad 2 = [0, 4, 7]
Major Triad 3 = [0, 5, 9]
Messiaen 3rd Mode = [0, 4, 8]
Minor Triad 1 = [0, 4, 9]
Minor Triad 2 = [0, 3, 7]
Minor Triad 3 = [0, 5, 8]
Minor TriChord = [0, 2, 3]
Phrygian TriChord = [0, 1, 3]
Sanagari 1 = [0, 5, 10]
Sharp 6 and 7 = [0, 10, 11]
Ute Tritone 1 = [0, 3, 10]
Alternating TetraMirror 1 = [0, 1, 3, 4]
Bi Yu = [0, 3, 7, 10]
Chromatic TetraMirror 1 = [0, 1, 2, 3]
Diminished 7th Chord = [0, 3, 6, 9]
Dorian TetraChord = [0, 2, 3, 5]
Eskimo Tetratonic = [0, 2, 4, 7]
Genus Primum Inverse = [0, 5, 7, 10]
Har Minor TetraChord 1 = [0, 2, 3, 6]
Major TetraChord 1 = [0, 4, 7, 10]
Major TetraChord 2 = [0, 4, 7, 11]
Do you have any suggestion for "formatting" of the scale dictionary?

e.g. for the "Minor Triad 2", the lists would look like this (1.st line = C, 2.nd line = C#....the last line = B):
Code:
[0, 3, 7, 12, 15, 19, 24, 27, 31, 36, 39, 43, 48, 51, 55, 60, 63, 67, 72, 75, 79, 84, 87, 91, 96, 99, 103, 108, 111, 115, 120, 123, 127]
[1, 4, 8, 13, 16, 20, 25, 28, 32, 37, 40, 44, 49, 52, 56, 61, 64, 68, 73, 76, 80, 85, 88, 92, 97, 100, 104, 109, 112, 116, 121, 124]
[2, 5, 9, 14, 17, 21, 26, 29, 33, 38, 41, 45, 50, 53, 57, 62, 65, 69, 74, 77, 81, 86, 89, 93, 98, 101, 105, 110, 113, 117, 122, 125]
[3, 6, 10, 15, 18, 22, 27, 30, 34, 39, 42, 46, 51, 54, 58, 63, 66, 70, 75, 78, 82, 87, 90, 94, 99, 102, 106, 111, 114, 118, 123, 126]
[4, 7, 11, 16, 19, 23, 28, 31, 35, 40, 43, 47, 52, 55, 59, 64, 67, 71, 76, 79, 83, 88, 91, 95, 100, 103, 107, 112, 115, 119, 124, 127]
[0, 5, 8, 12, 17, 20, 24, 29, 32, 36, 41, 44, 48, 53, 56, 60, 65, 68, 72, 77, 80, 84, 89, 92, 96, 101, 104, 108, 113, 116, 120, 125]
[1, 6, 9, 13, 18, 21, 25, 30, 33, 37, 42, 45, 49, 54, 57, 61, 66, 69, 73, 78, 81, 85, 90, 93, 97, 102, 105, 109, 114, 117, 121, 126]
[2, 7, 10, 14, 19, 22, 26, 31, 34, 38, 43, 46, 50, 55, 58, 62, 67, 70, 74, 79, 82, 86, 91, 94, 98, 103, 106, 110, 115, 118, 122, 127]
[3, 8, 11, 15, 20, 23, 27, 32, 35, 39, 44, 47, 51, 56, 59, 63, 68, 71, 75, 80, 83, 87, 92, 95, 99, 104, 107, 111, 116, 119, 123]
[0, 4, 9, 12, 16, 21, 24, 28, 33, 36, 40, 45, 48, 52, 57, 60, 64, 69, 72, 76, 81, 84, 88, 93, 96, 100, 105, 108, 112, 117, 120, 124]
[1, 5, 10, 13, 17, 22, 25, 29, 34, 37, 41, 46, 49, 53, 58, 61, 65, 70, 73, 77, 82, 85, 89, 94, 97, 101, 106, 109, 113, 118, 121, 125]
[2, 6, 11, 14, 18, 23, 26, 30, 35, 38, 42, 47, 50, 54, 59, 62, 66, 71, 74, 78, 83, 86, 90, 95, 98, 102, 107, 110, 114, 119, 122, 126]
Attached Files
File Type: txt Patterns.txt (13.7 KB, 138 views)

Last edited by spk77; 09-26-2013 at 12:55 PM. Reason: last line 'B' was missing
spk77 is offline   Reply With Quote
Old 09-26-2013, 04:56 PM   #88
Lazarus
Human being with feelings
 
Join Date: Aug 2013
Posts: 1,355
Default

That's okay, there's no need to do anything more than turning the original file into a dictionary of lists. We'll just need to look up a scale based a selection so the text can be used for selection. I've put the scales in a reusable class containing a sole dictionary so all that's needed now is adding the current scale to the song dict.

We're only using major/minor at the moment in the Wizard, but more could be added there and any can be used by any other section.

Thanks!
Lazarus is offline   Reply With Quote
Old 09-26-2013, 10:07 PM   #89
Sasje
Human being with feelings
 
Sasje's Avatar
 
Join Date: Sep 2013
Posts: 137
Default

I got my VMware environment ready, but I cannot run Mac OS. My processor doesn't support Intel Vt-X / AMD-V. So I'm unable to test for Mac.
Sasje is offline   Reply With Quote
Old 09-27-2013, 01:19 AM   #90
reapertribal
Human being with feelings
 
reapertribal's Avatar
 
Join Date: Apr 2013
Location: Spain
Posts: 274
Default

Quote:
Originally Posted by Sasje View Post
I got my VMware environment ready, but I cannot run Mac OS. My processor doesn't support Intel Vt-X / AMD-V. So I'm unable to test for Mac.
Hi
Oh my god,today is a tragic day for mac user
We will continue with honey on the lips
Anyway, thank you very much for trying Sasje
Regards
reapertribal is offline   Reply With Quote
Old 09-27-2013, 01:28 AM   #91
Lazarus
Human being with feelings
 
Join Date: Aug 2013
Posts: 1,355
Default

Here's a live output of reachorder hooked up to a few synths n a couple of drum loops....

https://soundcloud.com/cartesiancirc...n-a-few-synths

... just a bit of muting n voluming going on. Reachorder is going to be great when there are section triggers n stuff in it.
Lazarus is offline   Reply With Quote
Old 09-27-2013, 03:57 AM   #92
Sasje
Human being with feelings
 
Sasje's Avatar
 
Join Date: Sep 2013
Posts: 137
Default

Quote:
Originally Posted by reapertribal View Post
Hi
Oh my god,today is a tragic day for mac user
We will continue with honey on the lips
Anyway, thank you very much for trying Sasje
Regards
I actually wonder where the issue lies... I'm not even sure if It's Reaper, MacOS, Tkinter, tkinter, Python version, Tcl/ttk.. or just our coding...

Can you try this basic test file? it has all the basics needed for ReaChorder. Also attached in zip. If this doesn't work then it's not the code...

Code:
from reaper_python import *
import sys
sys.argv=["Main"]

import tkinter
from tkinter import ttk
    
from sws_python import *

class Test:

    def __init__(self, root):
                 
        self.root = root
        self.root.title('Test')
        self.root.wm_attributes("-topmost", 1)
        self.mainFrame = ttk.Frame(self.root, width=200, borderwidth=0, height=100)
        self.mainFrame.pack(expand=1)
        self.initWidgets()
		
    def initWidgets(self):
        self.hello = ttk.Entry(self.mainFrame,width=22)
        self.hello.place(x=10, y=10)
        
        self.btns1 = ttk.Button(self.mainFrame, text='Hi', width='25')
        self.btns1.place(x=10, y=40) 
        self.btns1.bind('<Button-1>', lambda event: self.getVals())  
        
    def getVals(self):
        self.hello.insert(tkinter.INSERT, 'Oh, hello!')
    
if __name__ == '__main__':
    root = tkinter.Tk()
    Test(root)
    root.mainloop()
Attached Files
File Type: zip Test.zip (581 Bytes, 52 views)
Sasje is offline   Reply With Quote
Old 09-27-2013, 05:24 AM   #93
reapertribal
Human being with feelings
 
reapertribal's Avatar
 
Join Date: Apr 2013
Location: Spain
Posts: 274
Default

Hi
Sasje thanks following with your help
I have tested your script in Reaper and when i run it nothing happens,any window is opened
Please see the gif video

https://stash.reaper.fm/v/17966/Test.gif

Regards
reapertribal is offline   Reply With Quote
Old 09-27-2013, 05:33 AM   #94
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,286
Default

Quote:
Originally Posted by reapertribal View Post
Hi
Sasje thanks following with your help
I have tested your script in Reaper and when i run it nothing happens,any window is opened
Please see the gif video

https://stash.reaper.fm/v/17966/Test.gif

Regards
This is the same test code without ttk - please try it:
Code:
from reaper_python import *
import sys
sys.argv=["Main"]

import tkinter
##from tkinter import ttk

from sws_python import *

class Test:

    def __init__(self, root):

        self.root = root
        self.root.title('Test')
        self.root.wm_attributes("-topmost", 1)
        self.mainFrame = tkinter.Frame(self.root, width=200, borderwidth=0, height=100)
        self.mainFrame.pack(expand=1)
        self.initWidgets()

    def initWidgets(self):
        self.hello = tkinter.Entry(self.mainFrame,width=22)
        self.hello.place(x=10, y=10)

        self.btns1 = tkinter.Button(self.mainFrame, text='Hi', width='25')
        self.btns1.place(x=10, y=40)
        self.btns1.bind('<Button-1>', lambda event: self.getVals())

    def getVals(self):
        self.hello.insert(tkinter.INSERT, 'Oh, hello!')

if __name__ == '__main__':
    root = tkinter.Tk()
    Test(root)
    root.mainloop()
(ttk widgets need tcl/tk v.8.5)

Last edited by spk77; 09-27-2013 at 06:10 AM.
spk77 is offline   Reply With Quote
Old 09-27-2013, 08:44 AM   #95
reapertribal
Human being with feelings
 
reapertribal's Avatar
 
Join Date: Apr 2013
Location: Spain
Posts: 274
Default

Hi
Spk77 ok now i will try it and i will inform
Sasje,spk77 and and whoever wants to investigate,to find a solution:
I have done three gif video with my Python and Tkinter setup
With these Gif You can see if is necessary to activate something or disable in preferences of Tkinter and Python to reaper can launch it successfully :

https://stash.reaper.fm/v/17968/Python%20Mac.gif

https://stash.reaper.fm/v/17969/Pytho...cher%20Mac.gif

https://stash.reaper.fm/v/17970/Tkinter%20Mac.gif

I think it would be interesting also another user mac do the Sasje & Spk77´s Test to see if them give the same resulted as me

Regards

Hi
Spk77 i have tried your test and nothing happens,no window appears

https://stash.reaper.fm/v/17971/Test-Spk77.gif

Last edited by reapertribal; 09-27-2013 at 08:55 AM.
reapertribal is offline   Reply With Quote
Old 09-27-2013, 09:05 AM   #96
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,286
Default

Quote:
Originally Posted by reapertribal View Post
Hi
Spk77 ok now i will try it and i will inform
Sasje,spk77 and and whoever wants to investigate,to find a solution:
I have done three gif video with my Python and Tkinter setup
With these Gif You can see if is necessary to activate something or disable in preferences of Tkinter and Python to reaper can launch it successfully :

https://stash.reaper.fm/v/17968/Python%20Mac.gif

https://stash.reaper.fm/v/17969/Pytho...cher%20Mac.gif

https://stash.reaper.fm/v/17970/Tkinter%20Mac.gif

I think it would be interesting also another user mac do the Sasje & Spk77´s Test to see if them give the same resulted as me

Regards

Hi
Spk77 i have tried your test and nothing happens,no window appears

https://stash.reaper.fm/v/17971/Test-Spk77.gif
Ok, what happens if you try to run these scripts from IDLE?:

Test(no ttk widgets).py
Code:
import sys
sys.argv=["Main"]

import tkinter

class Test:

    def __init__(self, root):

        self.root = root
        self.root.title('Test')
        self.root.wm_attributes("-topmost", 1)
        self.mainFrame = tkinter.Frame(self.root, width=200, borderwidth=0, height=100)
        self.mainFrame.pack(expand=1)
        self.initWidgets()

    def initWidgets(self):
        self.hello = tkinter.Entry(self.mainFrame,width=22)
        self.hello.place(x=10, y=10)

        self.btns1 = tkinter.Button(self.mainFrame, text='Hi', width='25')
        self.btns1.place(x=10, y=40)
        self.btns1.bind('<Button-1>', lambda event: self.getVals())

    def getVals(self):
        self.hello.insert(tkinter.INSERT, 'Oh, hello!')

if __name__ == '__main__':
    root = tkinter.Tk()
    Test(root)
    root.mainloop()
Test(ttk widgets).py
Code:
import sys
sys.argv=["Main"]

import tkinter
from tkinter import ttk

class Test:

    def __init__(self, root):

        self.root = root
        self.root.title('Test')
        self.root.wm_attributes("-topmost", 1)
        self.mainFrame = ttk.Frame(self.root, width=200, borderwidth=0, height=100)
        self.mainFrame.pack(expand=1)
        self.initWidgets()

    def initWidgets(self):
        self.hello = ttk.Entry(self.mainFrame,width=22)
        self.hello.place(x=10, y=10)

        self.btns1 = ttk.Button(self.mainFrame, text='Hi', width='25')
        self.btns1.place(x=10, y=40)
        self.btns1.bind('<Button-1>', lambda event: self.getVals())

    def getVals(self):
        self.hello.insert(tkinter.INSERT, 'Oh, hello!')

if __name__ == '__main__':
    root = tkinter.Tk()
    Test(root)
    root.mainloop()
spk77 is offline   Reply With Quote
Old 09-27-2013, 09:30 AM   #97
reapertribal
Human being with feelings
 
reapertribal's Avatar
 
Join Date: Apr 2013
Location: Spain
Posts: 274
Default

Hi
Spk77 They open normally as you can see in the gif video
I don,t know if i do well or bad saving your test code;i think yes:
1-i copy your test code, i open IDLE i paste the code in the blank window and i save it with .py

https://stash.reaper.fm/v/17972/Test%20IDLE.gif

Regards
reapertribal is offline   Reply With Quote
Old 09-27-2013, 09:45 AM   #98
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,286
Default

Quote:
Originally Posted by reapertribal View Post
Hi
Spk77 They open normally as you can see in the gif video
I don,t know if i do well or bad saving your test code;i think yes:
1-i copy your test code, i open IDLE i paste the code in the blank window and i save it with .py

https://stash.reaper.fm/v/17972/Test%20IDLE.gif

Regards
Go to file -> new window -> paste the code/save to file -> run module
spk77 is offline   Reply With Quote
Old 09-27-2013, 09:53 AM   #99
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,286
Default

Sasje/Lazarus - this seems to work for centering the window (Reachord class):

Code:
        self.root.withdraw()    # have to use withdraw()/deiconify()- otherwise the tk window flashes
        self.root.update_idletasks()
        # center the window
        w = self.root.winfo_width()
        h = self.root.winfo_height()
        sw = self.root.winfo_screenwidth()
        sh = self.root.winfo_screenheight()       #TODO:  get this working -need to check this out.....
        x = (sw - w)/2
        y = (sh - h)/2
        self.root.geometry('%dx%d+%d+%d' % (w, h, x, y))
        self.root.deiconify()
spk77 is offline   Reply With Quote
Old 09-27-2013, 09:59 AM   #100
Sasje
Human being with feelings
 
Sasje's Avatar
 
Join Date: Sep 2013
Posts: 137
Default

Here's the latest version. Made quite a bit of layout adjustments.

+ added centering of window again
+ chords, melody, bass uses a new grid/geometry layout (easier to maintain)
+ added a textbox to insert your own chord formula/progression in a comma separated format. (cannot use both formula and your own)

Download: https://stash.reaper.fm/v/17939/Rea-Chorder.zip



Last edited by Sasje; 09-27-2013 at 11:02 AM.
Sasje is offline   Reply With Quote
Old 09-27-2013, 10:52 AM   #101
Sasje
Human being with feelings
 
Sasje's Avatar
 
Join Date: Sep 2013
Posts: 137
Default

Quote:
Originally Posted by Lazarus View Post
Here's a live output of reachorder hooked up to a few synths n a couple of drum loops....

https://soundcloud.com/cartesiancirc...n-a-few-synths

... just a bit of muting n voluming going on. Reachorder is going to be great when there are section triggers n stuff in it.
Sounds nice!

btw I've uploaded my latest version, made some big adjustment on the GUI. If you want to work on it, feel free to do so. I'm currently figuring out the Markov chain (prepared it the latest version, but not active yet) so I won't work on ReaChorder for a while.
Sasje is offline   Reply With Quote
Old 09-27-2013, 11:09 AM   #102
Sasje
Human being with feelings
 
Sasje's Avatar
 
Join Date: Sep 2013
Posts: 137
Default

Quote:
Originally Posted by reapertribal View Post
Hi
Spk77 They open normally as you can see in the gif video
I don,t know if i do well or bad saving your test code;i think yes:
1-i copy your test code, i open IDLE i paste the code in the blank window and i save it with .py

https://stash.reaper.fm/v/17972/Test%20IDLE.gif

Regards
I wish I could test it, but I can't. I've Googled alot lately to find some causes, but cannot find any information on MacOS's tkinter/ttk issues/fixes. But if you can't run a simple tkinter/ttk script, can you run any Python GUI's at all? The code posted above is a very rudimentary and should at least show a button and a textbox. If that doesn't work at all, I guess it must be due to your setup? Maybe something is missing or is conflicting?

This page: http://www.python.org/download/mac/tcltk/

...talks about conflicting libraries.

Last edited by Sasje; 09-27-2013 at 11:23 AM.
Sasje is offline   Reply With Quote
Old 09-27-2013, 11:41 AM   #103
reapertribal
Human being with feelings
 
reapertribal's Avatar
 
Join Date: Apr 2013
Location: Spain
Posts: 274
Default

Hi
Spk77 & Sasje & All
Excuse me,in the previous test i forgot to active run module (F5)
Here is the gif about the test using Run module (F5):

https://stash.reaper.fm/v/17975/Test%20IDLE%20Run.gif

Regards

Last edited by reapertribal; 09-27-2013 at 11:59 AM.
reapertribal is offline   Reply With Quote
Old 09-27-2013, 12:08 PM   #104
reapertribal
Human being with feelings
 
reapertribal's Avatar
 
Join Date: Apr 2013
Location: Spain
Posts: 274
Default

Hi again
I have applied Run Module (F5) in ReaChorder.py file :

https://stash.reaper.fm/v/17976/ReaCh...n%20Module.gif
reapertribal is offline   Reply With Quote
Old 09-27-2013, 02:10 PM   #105
Sasje
Human being with feelings
 
Sasje's Avatar
 
Join Date: Sep 2013
Posts: 137
Default

Quote:
Originally Posted by reapertribal View Post
Hi again
I have applied Run Module (F5) in ReaChorder.py file :

https://stash.reaper.fm/v/17976/ReaCh...n%20Module.gif
Seems like reaper_python is missing..

Do you have this file: REAPER\Plugins\reaper_python.py ?
Sasje is offline   Reply With Quote
Old 09-27-2013, 03:27 PM   #106
Lazarus
Human being with feelings
 
Join Date: Aug 2013
Posts: 1,355
Default

Quote:
Originally Posted by Sasje View Post
Sounds nice!

btw I've uploaded my latest version, made some big adjustment on the GUI. If you want to work on it, feel free to do so. I'm currently figuring out the Markov chain (prepared it the latest version, but not active yet) so I won't work on ReaChorder for a while.
Cheers, and the new layout looks more tidy. I'm tinkering around with a state manager parent class/system at the mo, so will only have to check the code out for a smidge whenever I finish it.
Lazarus is offline   Reply With Quote
Old 09-27-2013, 04:41 PM   #107
reapertribal
Human being with feelings
 
reapertribal's Avatar
 
Join Date: Apr 2013
Location: Spain
Posts: 274
Default

Quote:
Originally Posted by Sasje View Post
Seems like reaper_python is missing..

Do you have this file: REAPER\Plugins\reaper_python.py ?
Hi
Sasje i have searched in my computer and is missing,is not exist reaper_python.py
Please can you upload the file?
In mac,or in my mac,there is not the folder REAPER\Plugins\reaper_python.py
I don,t know which is its corresponding,see the picture
Thanks
Attached Images
File Type: jpg Reaper.jpg (30.5 KB, 96 views)
reapertribal is offline   Reply With Quote
Old 09-27-2013, 05:15 PM   #108
axel_ef
Human being with feelings
 
axel_ef's Avatar
 
Join Date: Jan 2007
Location: Erfurt
Posts: 596
Default

Quote:
Originally Posted by reapertribal View Post
In mac,or in my mac,there is not the folder REAPER\Plugins\reaper_python.py
I don,t know which is its corresponding,see the picture
Thanks

reaper_python.py is inside the reaper app bundle.

go to finder and make a right click on Reaper - show package contents

in the folder Contents/Plugins you find it, copy it to

Users/xxx/Library/Application Support/Reaper/Scripts
axel_ef is offline   Reply With Quote
Old 09-27-2013, 05:55 PM   #109
reapertribal
Human being with feelings
 
reapertribal's Avatar
 
Join Date: Apr 2013
Location: Spain
Posts: 274
Default

Quote:
Originally Posted by axel_ef View Post
reaper_python.py is inside the reaper app bundle.

go to finder and make a right click on Reaper - show package contents

in the folder Contents/Plugins you find it, copy it to

Users/xxx/Library/Application Support/Reaper/Scripts
Hi Axel GREAT!!!!!!!!!! I have found it and copied it to Scripts folder
I will test in Reaper the ReaChorder.py what will occur?
A LOT OF THANKS AXEL
reapertribal is offline   Reply With Quote
Old 09-27-2013, 06:19 PM   #110
reapertribal
Human being with feelings
 
reapertribal's Avatar
 
Join Date: Apr 2013
Location: Spain
Posts: 274
Default

Hi
Ok,i have opened ReaChorder.py with IDLE and apply Run Module (F5) and now appear these three windows: See the picture please

Axel,it would be interesting if you try the same and see what happens

Regards

Is difficult to read in the picture;i copy here:

Traceback (most recent call last):
File "/Users/mariopagolagarcia/Library/Application Support/REAPER/Scripts/ReaChorder.py", line 163, in <module>
ReaChord(root)
File "/Users/mariopagolagarcia/Library/Application Support/REAPER/Scripts/ReaChorder.py", line 64, in __init__
self.rc = RC() #init this b4 widgets so they can get tuples from it
File "/Users/mariopagolagarcia/Library/Application Support/REAPER/Scripts/reaChord_data.py", line 259, in __init__
p, bpm, bpi = RPR_GetProjectTimeSignature2(0, 0, 0)
File "/Users/mariopagolagarcia/Library/Application Support/REAPER/Scripts/reaper_python.py", line 1280, in RPR_GetProjectTimeSignature2
a=_ft['GetProjectTimeSignature2']
KeyError: 'GetProjectTimeSignature2'
>>>
Attached Images
File Type: jpg Reachorder.jpg (35.2 KB, 120 views)
reapertribal is offline   Reply With Quote
Old 09-27-2013, 06:42 PM   #111
axel_ef
Human being with feelings
 
axel_ef's Avatar
 
Join Date: Jan 2007
Location: Erfurt
Posts: 596
Default

the same result, a blank window
axel_ef is offline   Reply With Quote
Old 09-27-2013, 10:39 PM   #112
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,286
Default

Quote:
Originally Posted by reapertribal View Post
Hi
Ok,i have opened ReaChorder.py with IDLE and apply Run Module (F5) and now appear these three windows: See the picture please

Axel,it would be interesting if you try the same and see what happens

Regards

Is difficult to read in the picture;i copy here:

Traceback (most recent call last):
File "/Users/mariopagolagarcia/Library/Application Support/REAPER/Scripts/ReaChorder.py", line 163, in <module>
ReaChord(root)
File "/Users/mariopagolagarcia/Library/Application Support/REAPER/Scripts/ReaChorder.py", line 64, in __init__
self.rc = RC() #init this b4 widgets so they can get tuples from it
File "/Users/mariopagolagarcia/Library/Application Support/REAPER/Scripts/reaChord_data.py", line 259, in __init__
p, bpm, bpi = RPR_GetProjectTimeSignature2(0, 0, 0)
File "/Users/mariopagolagarcia/Library/Application Support/REAPER/Scripts/reaper_python.py", line 1280, in RPR_GetProjectTimeSignature2
a=_ft['GetProjectTimeSignature2']
KeyError: 'GetProjectTimeSignature2'
>>>
Hmm...actually it cannot work outside Reaper, I get the same error.

Quote:
Originally Posted by axel_ef View Post
the same result, a blank window
Axel_ef, can you test the scripts from post #97 in Reaper? If "Test(ttk widgets).py" works - Reachorder should work also.
spk77 is offline   Reply With Quote
Old 09-27-2013, 11:26 PM   #113
Sasje
Human being with feelings
 
Sasje's Avatar
 
Join Date: Sep 2013
Posts: 137
Default

Be sure that both these two files: sws_python.py and reaper_python.py exists. They should have been installed with SWS.

According to SWS:

But due to some OS constraints: First, when installing the SWS extension, you need to drag-drop the optional file(s) sws_python.py and/or sws_python64.py into "Scripts" (drag-drop both files in doubt!), i.e.:



Scripts using SWS/S&M functions must reside in ~/Library/Application Support/REAPER/Scripts

Last edited by Sasje; 09-27-2013 at 11:34 PM.
Sasje is offline   Reply With Quote
Old 09-28-2013, 12:17 AM   #114
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,286
Default

I'm making item/take functions for ReaChorder:

- an option to automatically add a track/item if track count = 0 (and an option to add a new item to last touched or selected track?)
- resize item to content size (where do I get the song size in MIDI ticks? Maybe there should be a counter for it somewhere?)
- an option to draw chords/melody/bass etc. to separate takes in item. (and set the item setting "play all takes" to 1)

spk77 is offline   Reply With Quote
Old 09-28-2013, 01:31 AM   #115
reapertribal
Human being with feelings
 
reapertribal's Avatar
 
Join Date: Apr 2013
Location: Spain
Posts: 274
Default

Quote:
Originally Posted by Sasje View Post
Be sure that both these two files: sws_python.py and reaper_python.py exists. They should have been installed with SWS.

According to SWS:

But due to some OS constraints: First, when installing the SWS extension, you need to drag-drop the optional file(s) sws_python.py and/or sws_python64.py into "Scripts" (drag-drop both files in doubt!), i.e.:



Scripts using SWS/S&M functions must reside in ~/Library/Application Support/REAPER/Scripts
Hi
Sasje yes,i had installed sws_python.py sws_python32.py and sws_python64.py and now reaper_python.py but the problem follows,when run ReaChorder.py inside Reaper nothing happens,no window appear

Regards
reapertribal is offline   Reply With Quote
Old 09-28-2013, 04:46 AM   #116
JHA
Human being with feelings
 
JHA's Avatar
 
Join Date: May 2008
Location: Europe
Posts: 574
Default

Does this work from a mobile phone while I'm lying in my bed so I don't have to stand up and walk to the computer (which is so exhausting)?
JHA is offline   Reply With Quote
Old 09-28-2013, 06:46 AM   #117
Sasje
Human being with feelings
 
Sasje's Avatar
 
Join Date: Sep 2013
Posts: 137
Default

Meanwhile...

I've updated Guitar Chorder (it's a different plugin than ReaChorder)

Now it's possible to control the attack of the chords. It also has 8 strum & 12 different finger-picking patterns. The finger picking patterns can be edited in the Python file (if you wish to do so.)

Download: https://stash.reaper.fm/v/17940/GuitarChorder.zip




-

Last edited by Sasje; 09-28-2013 at 08:12 AM.
Sasje is offline   Reply With Quote
Old 09-28-2013, 07:06 AM   #118
Sasje
Human being with feelings
 
Sasje's Avatar
 
Join Date: Sep 2013
Posts: 137
Default

Quote:
Originally Posted by spk77 View Post
I'm making item/take functions for ReaChorder:
- an option to automatically add a track/item if track count = 0 (and an option to add a new item to last touched or selected track?)
- resize item to content size (where do I get the song size in MIDI ticks? Maybe there should be a counter for it somewhere?)
- an option to draw chords/melody/bass etc. to separate takes in item. (and set the item setting "play all takes" to 1)
Sounds like a great idea.
Sasje is offline   Reply With Quote
Old 09-28-2013, 10:03 AM   #119
Sasje
Human being with feelings
 
Sasje's Avatar
 
Join Date: Sep 2013
Posts: 137
Default

Here's a quick demo of Guitar Chorder: https://soundcloud.com/sasha-sandbox...r-chorder-demo

It showcases a bunch of strum and fingerpicking patterns. It's not a "song".

To draw all the chords took a few minutes. Attaching a sampler to each track to it and rendering it, about 15 minutes.

-

Last edited by Sasje; 09-28-2013 at 10:09 AM.
Sasje is offline   Reply With Quote
Old 09-28-2013, 10:55 AM   #120
axel_ef
Human being with feelings
 
axel_ef's Avatar
 
Join Date: Jan 2007
Location: Erfurt
Posts: 596
Default

Quote:
Originally Posted by spk77 View Post
Axel_ef, can you test the scripts from post #97 in Reaper? If "Test(ttk widgets).py" works - Reachorder should work also.
the same, nothing happens, no error message

The problem must be inside Reaper...
axel_ef is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 10:43 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2017, vBulletin Solutions Inc.