Old 11-04-2019, 08:18 AM   #1
Dragonetti
Human being with feelings
 
Join Date: Feb 2017
Location: Kiel
Posts: 206
Default Project Manager

Project Manager


------------------------------------------------------------------------
-------- The Project Manager is almost finished -------
------------------------------------------------------------------------


After 4 weeks the script was mainly completed by LB0. Thank you again. Thanks for the help to nofish and solger and the others from the community

------date modified is unfortunately not yet integrated
I have the "table" lying around, but I don't get it displayed in the GUI. Can someone help me again?

https://www.dropbox.com/sh/mkk741yvo...F7DTTTfOa?dl=0


Last edited by Dragonetti; 03-31-2020 at 06:08 AM.
Dragonetti is online now   Reply With Quote
Old 11-04-2019, 10:47 AM   #2
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 2,034
Default

Yes it is, but we need some more info on that. AND: you will not be able to see it in Explorer or something, only within Reaper.

What do you need the Project Manager for? For which usecase?
__________________
Pronounce me with she/her, when referencing me, please. Thanks :)
Ultraschall-API - 1111 ReaScript functions for Reaper
Reaper Internals - Developerdocs4Reaper
mespotine is offline   Reply With Quote
Old 11-05-2019, 05:07 AM   #3
Dragonetti
Human being with feelings
 
Join Date: Feb 2017
Location: Kiel
Posts: 206
Default

Only within Reaper is fine.
I would like to be able to open a Reaper project from this script.
Then I would like to create categories(Name,Composer etc) and be able to sort the files by those categories.

Composer (several musicians are working on this computer).
Date created
Date modified
Rating
*DEADLINE* (x days)
Status (unfinished, finished)
Tempo
Time Signature
Length
Comments1,2,
etc

The question is, what information could the script read from the project file?
(Name,Date,Tempo , Time Signature, Length,)

Thank you

Last edited by Dragonetti; 02-11-2020 at 04:39 AM.
Dragonetti is online now   Reply With Quote
Old 01-10-2020, 01:47 PM   #4
Dragonetti
Human being with feelings
 
Join Date: Feb 2017
Location: Kiel
Posts: 206
Default

bump
I will donate!!
Please

Or someone would have to explain (joke) to me how to create a table and read out the project name, tempo, length and time signature.
Script: edgemeal_Save project plugin info to text file.lua can do quite a bit.



Last edited by Dragonetti; 01-10-2020 at 01:54 PM.
Dragonetti is online now   Reply With Quote
Old 01-10-2020, 02:02 PM   #5
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 5,737
Default

I've been wanting to do a script for this for a long time... but not having the time. I did one that is half way there, for my internal usage, which is not ready to be published in general. But yes this is certainly possible to do. In my case I want also to group REAPER project files in Projects Sets. Like managing groups of RPP files for each project.
heda is offline   Reply With Quote
Old 01-10-2020, 02:58 PM   #6
Dragonetti
Human being with feelings
 
Join Date: Feb 2017
Location: Kiel
Posts: 206
Default

Yes, I've already thought of you.
The track template script has little resemblance.
Dragonetti is online now   Reply With Quote
Old 01-10-2020, 05:56 PM   #7
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,372
Default

There is some indows explorer alternative which allows to tag files, you should look into these.


https://www.xyplorer.com/tour.php?page=tags



https://www.tagspaces.org/
X-Raym is offline   Reply With Quote
Old 01-11-2020, 04:00 PM   #8
Dragonetti
Human being with feelings
 
Join Date: Feb 2017
Location: Kiel
Posts: 206
Default

Thank you X-Raym.
I will test this possibility
Dragonetti is online now   Reply With Quote
Old 01-11-2020, 04:32 PM   #9
Dragonetti
Human being with feelings
 
Join Date: Feb 2017
Location: Kiel
Posts: 206
Default

I can't start the alternative explorer from Reaper (Ctrl + O)
Does anyone have a hint?
Dragonetti is online now   Reply With Quote
Old 01-27-2020, 02:46 PM   #10
Dragonetti
Human being with feelings
 
Join Date: Feb 2017
Location: Kiel
Posts: 206
Default

Does none of the programmers have time?

I will donate.

Can you recommend a Lua course for beginners?(german)
Thank you
Dragonetti is online now   Reply With Quote
Old 02-07-2020, 07:48 AM   #11
Dragonetti
Human being with feelings
 
Join Date: Feb 2017
Location: Kiel
Posts: 206
Default

I found this little script. With this you can read out the project folder (REAPER Media). The lua script is in the same directory as the project folder.
All this would then have to be in a kind of tableGUI and only * .rpp files (without file extension) should be read out. Can someone help me there?
Thank you very much
Code:
function msg(m)
  return reaper.ShowConsoleMsg(tostring(m) .. "\n")
end

--p = reaper.GetExePath()
function get_script_path()
  local info = debug.getinfo(1,'S');
  local script_path = info.source:match[[^@?(.*[\/])[^\/]-$]]
  --msg(script_path)
  return script_path
end

-- get "script path"
script_path = get_script_path()
grooves_path = script_path .. "\\REAPER Media"

-- Lua implementation of PHP scandir function
function scandir(directory)
    local i, t, popen = 0, {}, io.popen
    for filename in popen('dir "'..directory..'" /b'):lines() do
        msg(filename)
        i = i + 1
        t[i] = filename
    end
    return t
end

--file_table = scandir(script_path)
file_table = scandir(grooves_path)
So far it still looks like this
Dragonetti is online now   Reply With Quote
Old 02-07-2020, 05:34 PM   #12
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,372
Default

Code:
scandir(directory)
REAPER as dedicated API for that, EnummerateFiles function, this would be a prefered method I think.
X-Raym is offline   Reply With Quote
Old 02-08-2020, 06:59 AM   #13
Dragonetti
Human being with feelings
 
Join Date: Feb 2017
Location: Kiel
Posts: 206
Default

Can you give me an example with this path?
C:\Users\m\Documents\REAPER Media
Dragonetti is online now   Reply With Quote
Old 02-08-2020, 03:41 PM   #14
MusoBob
Human being with feelings
 
MusoBob's Avatar
 
Join Date: Sep 2014
Posts: 1,360
Default

Maybe you could modify ReaLauncher
__________________
ReaTrakStudio Chord Track for Reaper forum
www.reatrak.com
MusoBob is offline   Reply With Quote
Old 02-09-2020, 12:02 PM   #15
Dragonetti
Human being with feelings
 
Join Date: Feb 2017
Location: Kiel
Posts: 206
Default

I can't do it myself
I just asked Solger if he could add a tagging and sorting function in ReaLauncher.

Last edited by Dragonetti; 02-14-2020 at 05:59 AM.
Dragonetti is online now   Reply With Quote
Old 02-14-2020, 07:56 AM   #16
Dragonetti
Human being with feelings
 
Join Date: Feb 2017
Location: Kiel
Posts: 206
Default

1.How do I get the names of the project files that I read with EnumerateFiles (path) into the GUI text buttons.

2.How can I sort the entries alphabetically(forward backward) using the Projectname button.
Thank you
https://stash.reaper.fm/38298/Simple...ectManager.lua

Dragonetti is online now   Reply With Quote
Old 02-23-2020, 05:17 PM   #17
Dragonetti
Human being with feelings
 
Join Date: Feb 2017
Location: Kiel
Posts: 206
Default

I have a new idea for a special project manager
I can't program it myself
Dragonetti is online now   Reply With Quote
Old 03-16-2020, 11:01 AM   #18
Dragonetti
Human being with feelings
 
Join Date: Feb 2017
Location: Kiel
Posts: 206
Default

The Project Manager is finished
https://forum.cockos.com/showthread....38#post2198938
https://forum.cockos.com/showthread.php?t=230840
Dragonetti is online now   Reply With Quote
Old 03-17-2020, 12:51 AM   #19
HoJo
Human being with feelings
 
Join Date: Dec 2007
Location: Germany
Posts: 246
Default Great first project

Hi Dragonetti.

Thanks! Wow, great first project with a nice result.
Will try it out later.

BR,
HoJo
HoJo is offline   Reply With Quote
Old 03-18-2020, 11:13 AM   #20
Dragonetti
Human being with feelings
 
Join Date: Feb 2017
Location: Kiel
Posts: 206
Default

With tempo, style and date created everything is fine.
The only problem is how you can automatically reduce the DEADLINE input every day by one day
Thanks

https://stash.reaper.fm/38595/ProjectManager.lua
Dragonetti is online now   Reply With Quote
Old 03-18-2020, 12:55 PM   #21
HoJo
Human being with feelings
 
Join Date: Dec 2007
Location: Germany
Posts: 246
Default

Hi Dragonetti.

That looks really wicked, but unfortunately I am OSX.
I always end up with the message:

cannot open /Users/diejopps/Library/Application Support/REAPER/Scripts/ProjectManager/spk77_Save table to file and load table from file_functions.lua: No such file or directory

being shown.
Can you help me with that?

BR
HoJo is offline   Reply With Quote
Old 03-18-2020, 01:34 PM   #22
solger
Human being with feelings
 
solger's Avatar
 
Join Date: Mar 2013
Posts: 4,153
Default

Quote:
Originally Posted by HoJo View Post
I always end up with the message:

cannot open /Users/diejopps/Library/Application Support/REAPER/Scripts/ProjectManager/spk77_Save table to file and load table from file_functions.lua: No such file or directory
Hi Holger,

Besides the ProjectManager.lua, did you already download and place the other two files from the Dropbox-Link into the same directory, as well?: https://forum.cockos.com/showpost.ph...15&postcount=7
__________________
ReaLauncher
solger is online now   Reply With Quote
Old 03-18-2020, 03:00 PM   #23
Dragonetti
Human being with feelings
 
Join Date: Feb 2017
Location: Kiel
Posts: 206
Default




This is the new version.
Deadline does not work yet.
function
For example, the input would be "60 days".
Now the script should subtract one day every day.


The buttons above to insert the current project file data do not work either.
Maybe someone can help me there.
This code (edgemeal) would have to be adjusted.

Thank you

Code:
function Main()
  local proj, projfn = reaper.EnumProjects(-1, "")
  if projfn ~= "" then
    t[#t+1]=""..reaper.GetProjectName(proj, "")
    t[#t+1]=""..reaper.GetProjectPath("")
    local line = get_line(projfn, 1)-- project time stamp, Unix format, last word in 1st line of project file.
    local unixTS = (GetLastWord(line))
    t[#t+1]='' ..(os.date("%Y-%m-%d, ")) -- convert to "month day, year  time"
    t[#t+1]='' .. reaper.format_timestr(reaper.GetProjectLength(proj), "")
  else
    t[#t+1]="Unknown project (not saved)"
  end
 
end
https://www.dropbox.com/sh/mkk741yvo...F7DTTTfOa?dl=0
Dragonetti is online now   Reply With Quote
Old 03-26-2020, 05:53 AM   #24
HoJo
Human being with feelings
 
Join Date: Dec 2007
Location: Germany
Posts: 246
Default

Hi All.

Thanks for your pointers and advices so far.
I did that even before, but still facing that error.

Maybe something else is missing on OSX 10.13??

BR,
Holger
HoJo is offline   Reply With Quote
Old 03-26-2020, 06:06 AM   #25
solger
Human being with feelings
 
solger's Avatar
 
Join Date: Mar 2013
Posts: 4,153
Default

Quote:
Originally Posted by HoJo View Post
Thanks for your pointers and advices so far. I did that even before, but still facing that error.
Maybe something else is missing on OSX 10.13??
The ProjectManager.lua script expects the necessary files to be in the .../Scripts/ProjectManager subfolder of the Reaper resource path (Options > Show REAPER resource path in explorer/finder), as shown in the Windows screenshot in post #23.
So in your example, on macOS this would be:
Quote:
/Users/diejopps/Library/Application Support/REAPER/Scripts/ProjectManager/ProjectManager.lua
/Users/diejopps/Library/Application Support/REAPER/Scripts/ProjectManager/spk77_Save table to file and load table from file_functions.lua **
...

** If you're still getting the 'No such file or directory' error message, then the spk77_Save table to file and load table from file_functions.lua is most likely still not present in the expected folder location (highlighted in bold):
Quote:
cannot open /Users/diejopps/Library/Application Support/REAPER/Scripts/ProjectManager/spk77_Save table to file and load table from file_functions.lua: No such file or directory

-----------------

EDIT:

As a side note: in case you can launch the ProjectManager.lua script, but are getting a ... attempt to call nil value (field 'CF_LocateInExplorer') error when clicking on a row in the 'Song' column: make sure that the SWS Extensions are installed (which this function requires)
__________________
ReaLauncher

Last edited by solger; 03-26-2020 at 07:21 AM.
solger is online now   Reply With Quote
Old 03-26-2020, 03:47 PM   #26
HoJo
Human being with feelings
 
Join Date: Dec 2007
Location: Germany
Posts: 246
Default

Hi solger.

Thx a lot. Working now.

BR,
HoJo
HoJo is offline   Reply With Quote
Old 03-26-2020, 03:48 PM   #27
HoJo
Human being with feelings
 
Join Date: Dec 2007
Location: Germany
Posts: 246
Default

Hi Dragonetti.

Looking great!
Thanks.

BR,
HOlger
HoJo is offline   Reply With Quote
Old 03-30-2020, 03:46 PM   #28
Dragonetti
Human being with feelings
 
Join Date: Feb 2017
Location: Kiel
Posts: 206
Default

hi
I need help with coding again.
"TIME_SEC_AFK_SESSION" worked with the code(nofish) below

Now I need "PROJECT_STARTED" only "26.03.2020"

if someone had time it would be nice.
Dragonetti


Code:
function restore_time() 
  local ret, saved_time_sec = reaper.GetProjExtState(0, "ARC_COUNTER_TIMER_IN_PROJ_WIN", "TIME_SEC_AFK_SESSION")
  if saved_time_sec ~= "" then
    return saved_time_sec
  else
    return 0
  end
end

-- convert restored time from sec. to dd:hh:mm
function sec_to_ddhhmm(time_sec)
  local days = math.floor(time_sec/(60*60*24))
  local hours = math.floor(time_sec/(60*60)%24)
  local minutes = math.floor(time_sec/60%60) 
  return string.format("%02d:%02d:%02d",days,hours,minutes)
end

restored_time_sec = restore_time()
restored_time_ddhhmm =  sec_to_ddhhmm(restored_time_sec)
Dragonetti is online now   Reply With Quote
Old 03-30-2020, 05:07 PM   #29
nofish
Human being with feelings
 
nofish's Avatar
 
Join Date: Oct 2007
Location: home is where the heart is
Posts: 9,499
Default

Can't test currently but I think something like this should work:

Code:
function restore_proj_started() 
  local ret, proj_started = reaper.GetProjExtState(0, "ARC_COUNTER_TIMER_IN_PROJ_WIN", "PROJECT_STARTED")
  return proj_started
end

proj_started = restore_proj_started()
if proj_started ~= "" then -- if not empty string
  -- only store date, discard the rest
  proj_started = string.sub(proj_started, 1, 10)) 
end
That would only work if the date substring is always in the form DD.MM.YYYY, otherwise a string match function should be used I think but that's not my field.

Last edited by nofish; 03-30-2020 at 05:14 PM.
nofish is offline   Reply With Quote
Old 03-31-2020, 12:52 AM   #30
Dragonetti
Human being with feelings
 
Join Date: Feb 2017
Location: Kiel
Posts: 206
Default

Küsschen
Dragonetti is online now   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 12:12 PM.


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