Old 09-04-2018, 06:34 AM   #1
tompad
Human being with feelings
 
Join Date: Jan 2010
Location: Fjugesta, Sweden
Posts: 813
Default Script: ToDoList for Reaper

tompad_ToDoList



tompad_ToDOList is a reascript to save notes on what to do in a Reaperproject.

You can create new, edit, mark done, delete and set priority of the different ToDo-items.
The settings and ToDos is saved in the project folder as a file - todolist.txt.

The way to set priority on ToDos is by rightclicking the item and choose from dropdown menu.

|H| = High priority

|M| = Medium priority

|L| = Low priority

The ToDos in list is sorted in order High - Medium - Low - Done
To mark a ToDo done click button Done and priority changes to |X| (= Done).

Find script here:
https://bitbucket.org/TompaD/tompad_...d_ToDoList.lua

(I am trying to learn how to put it in ReaPack - but I am not there yet.)

If you like it, please consider making a donation ;-)

Any comments on coding, requests, bugs etc is welcome!
PM me (tompad) on Reaper Forum (https://forum.cockos.com/member.php?u=19103) or post something in this thread.

This script wouldn't exist without the help
from the Reaper community:

Lokasenna
XRayM
cfillion
mespotine

... and many more, thanks to you all!
__________________
ToDoList Obliques MusicMath Donation Some of mine and my friends music projects on Spotify

Last edited by tompad; 11-12-2019 at 12:00 PM.
tompad is offline   Reply With Quote
Old 09-04-2018, 07:21 AM   #2
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,630
Default

You're welcome and nice work

Some suggestions regarding priority,
I love using the so called Eisenhower-diagram, which categorizes tasks with:
urgent and not important
important and not urgent
urgent and important
not urgent and not important

This helps me deciding what to do immediately(urgent and important)and what can wait.
Just look at examples of the Eisenhower-diagram, maybe it's a cool additional view for your script.
Meo-Ada Mespotine is offline   Reply With Quote
Old 09-04-2018, 07:29 AM   #3
akademie
Human being with feelings
 
Join Date: Mar 2007
Posts: 4,018
Default

Quote:
Originally Posted by tompad View Post
...
The settings and ToDos is saved in the project folder as a file - todolist.txt.
...
Hi, tompad, it could be very useful script, but as above quoted - I think that it does mean, that if you have two RPP projects in the same folder, then their "ToDo" data will be replaced by each other on resaves. Could it be saved with some more project-specific/unique filename? (Maybe the same name as the RPP?)

Last edited by akademie; 09-04-2018 at 07:40 AM.
akademie is offline   Reply With Quote
Old 09-04-2018, 08:06 AM   #4
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,630
Default

Or saved using projextstates with the option to export them into the current projectdir as todo.txt

That way, the todolist is always part of the project and never gets lost...
Meo-Ada Mespotine is offline   Reply With Quote
Old 09-04-2018, 08:10 AM   #5
akademie
Human being with feelings
 
Join Date: Mar 2007
Posts: 4,018
Default

Also, I cannot get it to work right now. It seems like the script uses some new version of "Lokasenna_GUI v2" - in my installation I don't have a Modules/Window - GetUserInputs.lua which is required in the script, so I will have to look at it later.
akademie is offline   Reply With Quote
Old 09-04-2018, 08:14 AM   #6
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

Quote:
Originally Posted by akademie View Post
Also, I cannot get it to work right now. It seems like the script uses some new version of "Lokasenna_GUI v2" - in my installation I don't have a Modules/Window - GetUserInputs.lua which is required in the script, so I will have to look at it later.
Synchronize your ReaPack and it should update automatically.
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 09-04-2018, 08:20 AM   #7
akademie
Human being with feelings
 
Join Date: Mar 2007
Posts: 4,018
Default

Quote:
Originally Posted by Lokasenna View Post
Synchronize your ReaPack and it should update automatically.
Sure, but I am on Win XP right now, at work, so I cannot use ReaPack. I have offline installed set of scripts that I use on this XP machine. That's why "I'll have to look at it later" on my Win7 machine and synchronize :-)
akademie is offline   Reply With Quote
Old 09-04-2018, 08:34 AM   #8
tompad
Human being with feelings
 
Join Date: Jan 2010
Location: Fjugesta, Sweden
Posts: 813
Default

Quote:
Originally Posted by mespotine View Post
You're welcome and nice work

Some suggestions regarding priority,
I love using the so called Eisenhower-diagram, which categorizes tasks with:
urgent and not important
important and not urgent
urgent and important
not urgent and not important

This helps me deciding what to do immediately(urgent and important)and what can wait.
Just look at examples of the Eisenhower-diagram, maybe it's a cool additional view for your script.
Thanks!
Looked at Eisenhower-diagrams, but I am not sure how to
implement it, my GUI-knowledge is shallow for the moment. :-)
__________________
ToDoList Obliques MusicMath Donation Some of mine and my friends music projects on Spotify
tompad is offline   Reply With Quote
Old 09-04-2018, 08:38 AM   #9
tompad
Human being with feelings
 
Join Date: Jan 2010
Location: Fjugesta, Sweden
Posts: 813
Default

Quote:
Originally Posted by akademie View Post
Hi, tompad, it could be very useful script, but as above quoted - I think that it does mean, that if you have two RPP projects in the same folder, then their "ToDo" data will be replaced by each other on resaves. Could it be saved with some more project-specific/unique filename? (Maybe the same name as the RPP?)
Ooops, havn't thought in that direction. I usually use one folder for
every RPP....but I will look at it. Putting it in ToDo ;-)
__________________
ToDoList Obliques MusicMath Donation Some of mine and my friends music projects on Spotify
tompad is offline   Reply With Quote
Old 09-04-2018, 08:41 AM   #10
tompad
Human being with feelings
 
Join Date: Jan 2010
Location: Fjugesta, Sweden
Posts: 813
Default

Quote:
Originally Posted by mespotine View Post
Or saved using projextstates with the option to export them into the current projectdir as todo.txt

That way, the todolist is always part of the project and never gets lost...
I have had my thoughts on projextstates but went for txt-files, was not
sure how much I could save in projextstates.
__________________
ToDoList Obliques MusicMath Donation Some of mine and my friends music projects on Spotify
tompad is offline   Reply With Quote
Old 09-04-2018, 08:42 AM   #11
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

Quote:
Originally Posted by tompad View Post
was not
sure how much I could save in projextstates.
Basically whatever you want.
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 09-04-2018, 09:08 AM   #12
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,967
Default

Quote:
Originally Posted by tompad View Post
was not sure how much I could save in projextstates.
Up to 2^12-(key length)-2 bytes per project extstate. https://forum.cockos.com/showthread.php?p=1945880
cfillion is offline   Reply With Quote
Old 09-04-2018, 10:30 AM   #13
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,900
Default

Haha! Thanks for the screenshot TODO list :P



But I'm curious, how did I help make this script ?
X-Raym is offline   Reply With Quote
Old 09-04-2018, 12:19 PM   #14
tompad
Human being with feelings
 
Join Date: Jan 2010
Location: Fjugesta, Sweden
Posts: 813
Default

@Lokasenna and @cfillion - ok, maybe this is enough ;-),
will look into it again.


@XRayM - it all started after watching your Youtube-clips!
I think it was a link/article from ReaperBlog...
All in French and with English subtitles! Loved it! :-)
__________________
ToDoList Obliques MusicMath Donation Some of mine and my friends music projects on Spotify
tompad is offline   Reply With Quote
Old 09-06-2018, 05:10 AM   #15
tompad
Human being with feelings
 
Join Date: Jan 2010
Location: Fjugesta, Sweden
Posts: 813
Default

Regarding ProjExtState - hehehe now I know why I went to using
save to textfile instead :-) I found it easier to work with
because I cant see what is stored in ProjExtState, with the textfile
I just open and watch.

But I will give it a chance.....however I have some questions:

I am using 2 dimensional tables - do I have to "serialize"(?) them
before getting them in ProjExtState? And how the heck do I get table back?
__________________
ToDoList Obliques MusicMath Donation Some of mine and my friends music projects on Spotify
tompad is offline   Reply With Quote
Old 09-06-2018, 07:08 AM   #16
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

1. Yes, you have to serialize them.

2. Short answer: Turn them into a CSV or something. Or: http://lua-users.org/wiki/PickleTable
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna is offline   Reply With Quote
Old 09-06-2018, 01:57 PM   #17
Meo-Ada Mespotine
Human being with feelings
 
Meo-Ada Mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig
Posts: 6,630
Default

Or you use
Keyname_arrayidx

Todonote_001="who you gonna call"
Todonote_002="lokasenna"
Meo-Ada Mespotine is offline   Reply With Quote
Old 09-06-2018, 10:15 PM   #18
tompad
Human being with feelings
 
Join Date: Jan 2010
Location: Fjugesta, Sweden
Posts: 813
Default

Quote:
Originally Posted by Lokasenna View Post
1. Yes, you have to serialize them.

2. Short answer: Turn them into a CSV or something. Or: http://lua-users.org/wiki/PickleTable
Are looking at PickleTable and see "VersionNotice: table.getn is deprecated in Lua 5.1.". What Lua version is used in Reaper/Reascripts?
__________________
ToDoList Obliques MusicMath Donation Some of mine and my friends music projects on Spotify

Last edited by tompad; 09-07-2018 at 08:51 AM.
tompad is offline   Reply With Quote
Old 09-06-2018, 11:44 PM   #19
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,967
Default

The length operator: http://www.lua.org/manual/5.3/manual.html#3.4.7.
cfillion is offline   Reply With Quote
Old 09-07-2018, 08:51 AM   #20
tompad
Human being with feelings
 
Join Date: Jan 2010
Location: Fjugesta, Sweden
Posts: 813
Default

Quote:
Originally Posted by cfillion View Post
After reading link I feel like Manuel in Faulty Tower ....QUE?

...or....do you mean that table.getn is replaced by #table?

If so, can I use the PickleTable if I replace the code table.getn
in PickleTable with #table.....is it so simple easy?
Why isn't PickleTable updated with this?
__________________
ToDoList Obliques MusicMath Donation Some of mine and my friends music projects on Spotify
tompad is offline   Reply With Quote
Old 09-07-2018, 09:09 AM   #21
cfillion
Human being with feelings
 
cfillion's Avatar
 
Join Date: May 2015
Location: Québec, Canada
Posts: 4,967
Default

Quote:
Originally Posted by tompad View Post
do you mean that table.getn is replaced by #table?
Yes. As stated in the Lua 5.1 manual under "Incompatibilities with the Previous Version":

Quote:
Function table.setn was deprecated. Function table.getn corresponds to the new length operator (#); use the operator instead of the function.
cfillion is offline   Reply With Quote
Old 09-07-2018, 09:24 AM   #22
Lokasenna
Human being with feelings
 
Lokasenna's Avatar
 
Join Date: Sep 2008
Location: Calgary, AB, Canada
Posts: 6,551
Default

Be aware that # only works for contiguous indexed tables, like:
Code:
local t = {5, 8, 9, 10}
Msg(#t)

--> 4
You'll get weird and inconsistent values here:

Code:
local t = {a = 4, b = 8, [6] = 8, flag = true}
Msg(#t}

--> 0
To get a length for the latter, you have to loop through pairs(t) yourself and count them up.
__________________
I'm no longer using Reaper or working on scripts for it. Sorry. :(
Default 5.0 Nitpicky Edition / GUI library for Lua scripts / Theory Helper / Radial Menu / Donate
Lokasenna 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 08:30 PM.


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