|
|
|
10-11-2018, 03:04 AM
|
#681
|
Human being with feelings
Join Date: Jul 2009
Posts: 3,714
|
I have uploaded the very first .ext to the ReaTeam repository!
* Should it go to the ReaTeam/Extensions/ base folder, or into a new subfolder of Extensions?
* The Extensions folder doesn't have any .travis.yml or index.xml files yet -- could you please initialize this folder for auto indexing and updating?
|
|
|
10-11-2018, 05:06 AM
|
#682
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,968
|
Done! What do you think of "API" for the category (== subdirectory)? There could be multiple API-related extensions in the future. I moved it there for now because files at the root are not indexed.
(Will add to the website later...)
Last edited by cfillion; 10-11-2018 at 09:45 AM.
|
|
|
10-12-2018, 02:57 AM
|
#683
|
Human being with feelings
Join Date: Jul 2009
Posts: 3,714
|
Quote:
Originally Posted by cfillion
Done! What do you think of "API" for the category (== subdirectory)? There could be multiple API-related extensions in the future. I moved it there for now because files at the root are not indexed.
|
Perhaps "ReaScript API"?
Quote:
(Will add to the website later...)
|
Could you please also add the Extensions folder to the default repositories for ReaPack?
|
|
|
10-12-2018, 03:30 AM
|
#684
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,968
|
The exported API functions are also accessible from other extensions (not sure but maybe from VSTs too?). On the other hand it may be clearer for users than just the three letter acronym.
Quote:
Originally Posted by juliansader
Could you please also add the Extensions folder to the default repositories for ReaPack?
|
It will be part of the 1.2.2 update. https://ci.appveyor.com/project/cfil...hy6u/artifacts
Last edited by cfillion; 10-12-2018 at 03:52 AM.
|
|
|
10-20-2018, 09:41 AM
|
#685
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,984
|
cfillion, seems I asked you already in Stash but cant access messages history. Can you share right here step-by-step how to make ReaPack bot (auto-indexing after pushing commit to the repository)? I guess it can be usefull not only for me.
|
|
|
10-20-2018, 10:58 AM
|
#686
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,968
|
This is how I do it on the ReaTeam repositories: (Alternatively you can do it locally using git hooks as Lokasenna suggested on Slack – this would run much faster).
1) Setup a continuous integration service that supports GitHub for the repository. Many are free for open-source (such as AppVeyor or Travis).
2) Generate a new SSH key pair (without passphrase) to give write access to the bot. Encrypt the private key with a strong, unique passphrase using GnuPG (command line: "gpg -c deploy_key" where deploy_key is the filename of the private key). Delete the original unencrypted private key file (deploy_key). Add deploy_key.gpg to the repository. Copy/paste the public key (deploy_key.pub) in Settings > Deploy keys on GitHub (warning: from this point on anybody with the original unencrypted private key or the passphrase has full write access to the repository).
3) Create a "secret" environment variable named "DEPLOY_KEY_PASSPHRASE" in the chosen CI service's settings with the private key's passphrase from the previous step as value. Make sure it is not created as a regular environment variable because those are often printed as plain-text in the CI service's public build logs! You won't need to know the passphrase again in the future. Also make sure the chosen CI service disables secret environment variables when building pull requests (AppVeyor and Travis does).
4) Setup the CI service to do this when building a commit (many are configured from a YAML file at the root of the repository): - Install step
- Ruby 2.3 or newer
- reapack-index: gem install reapack-index
- Pandoc
- No build step
- Test step
- Run: reapack-index --check
- Deploy step (this is what ReaTeam's deploy.sh does, see below):
- Decrypt the private key using the passphrase stored in the environment variable (without revealing it):
echo $DEPLOY_KEY_PASSPHRASE | gpg --batch --passphrase-fd 0 deploy_key.gpg
- Start the SSH Agent and add the decrypted private key to it
- Setup git credentials (username/email for the bot's commits – doesn't have to be real)
- Switch to the master branch (git checkout master)
- reapack-index --commit
- Add a remote with the repository's SSH URL
- Push the master branch to this new remote
The configuration files and scripts used on ReaTeam:
Last edited by cfillion; 10-21-2018 at 02:40 AM.
|
|
|
10-29-2018, 12:51 PM
|
#687
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,968
|
ReaPack v1.2.2rc2
- Add the public ReaTeam/Extensions repository to the default configuration
- Fix a memory corruption bug from v1.2.2rc when an operation completes on Windows 32-bit
|
|
|
11-16-2018, 06:05 AM
|
#688
|
Human being with feelings
Join Date: Nov 2015
Location: earth
Posts: 472
|
Is there some way to manually install the ReaPack packages? I am able to load the xml files when I visit the links in my web browser (Chrome). But when ReaPack tries to connect to download the packages when using "browse packages", I see the following error:
|
|
|
11-16-2018, 06:46 AM
|
#689
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,968
|
Does your network requires connections to go through a proxy server? You can tell ReaPack to use a proxy in Manage repositories > Options > Network settings.
Maybe try internet explorer or Edge since that's a bit closer than Chrome to how ReaPack connects to internet on Windows. (Otherwise yes you can still download the resources manually the old fashioned way by going to the various repositories' pages...)
Last edited by cfillion; 11-16-2018 at 08:02 AM.
|
|
|
11-16-2018, 06:49 AM
|
#690
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,984
|
Updated name of thread (it was renamed long time ago, but now seems it is possible to rename threads without moderator)
|
|
|
11-16-2018, 07:42 AM
|
#691
|
Human being with feelings
Join Date: Nov 2015
Location: earth
Posts: 472
|
Quote:
Originally Posted by cfillion
Does your network requires connections to go through a proxy server (and/or VPN)? You can tell ReaPack to use a proxy in Manage repositories > Options > Network settings.
Maybe try internet explorer or Edge since that's a bit closer than Chrome to how ReaPack connects to internet on Windows. (Otherwise yes you can still download the resources manually the old fashioned way by going to the various repositories' pages...)
|
Eureka! Yes, the organization uses a proxy server. Once I entered that in network settings, it worked! Thanks!
|
|
|
11-22-2018, 03:26 PM
|
#692
|
Human being with feelings
Join Date: Jun 2011
Posts: 610
|
Hi, when I syncronise packages I can install new scripts, jsfx... without any problems and after installing I can see what's added and changed. If I have time I go through the new stuff and see if something is good for my workflow. But sometimes I don't have time to check after installing. Is there a way to check later what is added after last syncronising?
|
|
|
11-22-2018, 08:52 PM
|
#693
|
Human being with feelings
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 3,984
|
Quote:
Originally Posted by mehmethan
Is there a way to check later what is added after last syncronising?
|
Action "browse packages", show "update" column, sort by update time.
|
|
|
11-22-2018, 11:12 PM
|
#694
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,785
|
Awesome !
-Michael
|
|
|
11-29-2018, 03:42 PM
|
#695
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,968
|
Sneak peek...
Last edited by cfillion; 11-29-2018 at 04:01 PM.
|
|
|
11-29-2018, 03:57 PM
|
#696
|
Human being with feelings
Join Date: Nov 2008
Location: London, UK
Posts: 2,583
|
Looks amazing. Is there protection to stop idiots from uploading junk/deliberately problematic scripts?
|
|
|
11-29-2018, 03:58 PM
|
#697
|
Human being with feelings
Join Date: Nov 2008
Location: London, UK
Posts: 2,583
|
Maybe a trusted authors thing in the REAPER part of the extension?
A bit like when installing a driver in Windows and it asks "Trust all drivers from RME Audio?"
|
|
|
11-29-2018, 04:16 PM
|
#698
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,968
|
Pull requests to the ReaTeam repositories must be approved before they're available in ReaPack.
Last edited by cfillion; 11-29-2018 at 04:24 PM.
|
|
|
11-29-2018, 04:22 PM
|
#699
|
Human being with feelings
Join Date: Nov 2008
Location: London, UK
Posts: 2,583
|
Awesome. I thought this might have been a step towards a completely automated system.
|
|
|
11-29-2018, 04:33 PM
|
#700
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,900
|
@cfillion
Reapack header generator ?
This will definitly help, a lot of people are still struggling with the documentation and are affraid it is too complex...
Even if the Pull requests to ReaTeam is optional it will already by handy for some people I guess. (they can still be optionnaly encouraged to create their own repo if they want total control).
|
|
|
11-29-2018, 10:34 PM
|
#701
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,785
|
GREAT !!!
Will there be an "@about" MarkDown Preview ?
Thanks a lot for your work !
-Michael
|
|
|
11-30-2018, 03:36 AM
|
#702
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,968
|
Quote:
Originally Posted by X-Raym
@cfillion
Reapack header generator ?
This will definitly help, a lot of people are still struggling with the documentation and are affraid it is too complex...
Even if the Pull requests to ReaTeam is optional it will already by handy for some people I guess. (they can still be optionnaly encouraged to create their own repo if they want total control).
|
That's the goal. It should provide an easier, more discoverable way to release content on ReaPack (through ReaTeam or just by helping generate the reapack-index header).
I don't want to push making new repositories too much as an alternative for the common "I want to release this one thing" use case because they're harder for users to get and can't be guaranteed to be safe. It's better to have a few large repositories maintained by trusted scripters than a myriad of tiny ones.
Quote:
Originally Posted by mschnell
Will there be an "@about" MarkDown Preview ?
|
Yup! I've briefly shown it previewing the default example markdown text at 0:12 in the gif.
Last edited by cfillion; 11-30-2018 at 04:01 AM.
|
|
|
11-30-2018, 03:45 AM
|
#703
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,900
|
@cfillion
This is exactly the case I faced few days ago with a forum member who wanted a single script to be shared via reapack.
My question is : what if the script need some discussion before release ? Would the discussion being handle on GitHub (aka, does creating a pull request via this interface require a GitHub user account, or should we reach the user by email if there is any discussion needed ?
|
|
|
11-30-2018, 04:29 AM
|
#704
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,968
|
I haven't done this part yet but, if all goes according to plan, clicking on "Create pull request" would open GitHub's app authorization/login page. Then the GUI takes care of creating the fork, the branch, pushing the commit and posting the pull request on your behalf.
Further discussion would happen on the pull requests. (While the GUI can already load released packages for updating, it probably won't be able to reconstruct the form from a pending PR – if changes are required a new PR would have to be made.)
Last edited by cfillion; 11-30-2018 at 04:37 AM.
|
|
|
11-30-2018, 05:57 AM
|
#705
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,785
|
Fantastic !!!
-Michael
|
|
|
12-04-2018, 08:45 AM
|
#706
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,968
|
The new upload GUI is now online at https://reapack.com/upload.
I tested on Firefox, Chrome, Safari and Edge. It won't work on Internet Explorer.
Last edited by cfillion; 12-04-2018 at 08:57 AM.
Reason: no IE
|
|
|
12-04-2018, 09:59 AM
|
#707
|
Human being with feelings
Join Date: Apr 2013
Location: France
Posts: 9,900
|
@cfillion
Very good !
|
|
|
12-04-2018, 12:55 PM
|
#708
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,785
|
Quote:
Originally Posted by cfillion
The new upload GUI is now online at https://reapack.com/upload.
I tested on Firefox, Chrome, Safari and Edge. It won't work on Internet Explorer.
|
OK. Just tried it (on Firefox/Linux) with a new upload I intended to do.
Did not find the Markdown preview.
In the code display I saw several red bars on blanks in the description. Are theses error messages ? Did I do wrong when trying to create paragraphs in the about : section ?
-Michael
|
|
|
12-04-2018, 01:01 PM
|
#709
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,968
|
Preview is on the right side, next to the Write tab:
Quote:
Originally Posted by mschnell
In the code display I saw several red bars on blanks in the description. Are theses error messages ? Did I do wrong when trying to create paragraphs in the about: section ?
|
Can you screenshot that? Never mind, fixed (I was using Javascript mode for the syntax highlighting of JSFX and EEL2–bad idea). The only red bars you should see now are the trailing whitespace indicators.
Last edited by cfillion; 12-04-2018 at 01:45 PM.
|
|
|
12-05-2018, 07:49 AM
|
#710
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,785
|
Great !
Anyway, silly me uploaded erroneous code.
But even if not, it will be necessary to modify existing content once and again. I found this extremely hard - or even impossible - using the GitHub web GUI. There seem to be completely different ways to find (or not to find ) and edit files regarding if they already are "committed" (by you) or if they are still "pending".
It would be great if the new tool would allow for editing files be they in whatever stage.
-Michael
Last edited by mschnell; 12-05-2018 at 10:59 AM.
|
|
|
12-06-2018, 07:52 AM
|
#711
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,785
|
Should I just more thoughtfully re-do the failed attempt to use the upload tool ?
-Michael
|
|
|
12-06-2018, 08:11 AM
|
#712
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,968
|
The issue was the JSFX already had a metadata header. The upload tool makes the header for you from the data entered on the page. The file need not to have another one (you can remove the existing header from the code display).
(In other words, cut/paste the content of the about tag in the Documentation field instead of putting it directly in the code display.)
Last edited by cfillion; 12-06-2018 at 08:35 AM.
|
|
|
12-06-2018, 10:40 AM
|
#713
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,785
|
Of course I do know this. The question was if I should just do a new upload and forget about the recent (closed) pull request ....
-Michael
|
|
|
12-06-2018, 10:48 AM
|
#714
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,968
|
Oh sorry, I misunderstood. Yes, restarting with a new PR is the way to go.
|
|
|
01-07-2019, 06:01 AM
|
#715
|
Human being with feelings
Join Date: Apr 2011
Posts: 3,458
|
@cfillion: Could you have a look here please? Thanks!
|
|
|
01-08-2019, 09:00 AM
|
#716
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,968
|
Quote:
Originally Posted by amagalma
|
A PackageEntry can be obtained by giving the .dll/.dylib/.so filename to GetOwner. This gives access to the installed version of js_ReaScriptAPI instead of the one currently loaded in REAPER.
I think what you're currently doing (testing whether a required function exists, then possibly checking the loaded version using JS_ReaScriptAPI_Version) is the best option currently (without automatic dependency tracking in ReaPack itself).
It's safer to check whether the repository exists before adding it to avoid overwriting user settings. A script can do this using GetRepositoryInfo. ReaPack v1.2.2rc2 has the ReaTeam Extensions repository configured by default (it can be installed from the package browser). https://gist.github.com/cfillion/347...b9533204c765f3
Side note (I don't know if you've already seen it): There's a new way to upload scripts (replacing manual GitHub upload) at https://reapack.com/upload/reascript.
Last edited by cfillion; 01-08-2019 at 09:41 AM.
|
|
|
01-09-2019, 07:54 AM
|
#717
|
Human being with feelings
Join Date: Apr 2011
Posts: 3,458
|
Quote:
Originally Posted by cfillion
A PackageEntry can be obtained by giving the .dll/.dylib/.so filename to GetOwner. This gives access to the installed version of js_ReaScriptAPI instead of the one currently loaded in REAPER.
|
Hmm, so what is a PackageEntry? I thought it meant an entry in the ReaPack Package Browser. Not all packages have dll's.. For example, if I want to check and get the info about your Song Switcher script, is this possible? Or I can get info only about dll's?
Quote:
I think what you're currently doing (testing whether a required function exists, then possibly checking the loaded version using JS_ReaScriptAPI_Version) is the best option currently (without automatic dependency tracking in ReaPack itself).
It's safer to check whether the repository exists before adding it to avoid overwriting user settings. A script can do this using GetRepositoryInfo. ReaPack v1.2.2rc2 has the ReaTeam Extensions repository configured by default (it can be installed from the package browser). https://gist.github.com/cfillion/347...b9533204c765f3
|
Will do that! Thanks!
No, I haven't seen it! This is great! Thanks! Question: submitting via Upload tools creates a pull request, meaning that I still have to log in to Github and merge the branch to master?
Last edited by amagalma; 01-09-2019 at 08:03 AM.
|
|
|
01-09-2019, 08:04 AM
|
#718
|
Human being with feelings
Join Date: Apr 2011
Posts: 3,458
|
Quote:
Originally Posted by amagalma
Will do that! Thanks!
|
Something simple like this is enough or should I do more checks?
Code:
ok = reaper.ReaPack_GetRepositoryInfo( "ReaTeam Extensions" )
if not ok then
reaper.ReaPack_AddSetRepository( "ReaTeam Extensions", url, true, 2 )
end
|
|
|
01-11-2019, 08:40 AM
|
#719
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,968
|
Quote:
Originally Posted by amagalma
Hmm, so what is a PackageEntry? I thought it meant an entry in the ReaPack Package Browser. Not all packages have dll's.. For example, if I want to check and get the info about your Song Switcher script, is this possible? Or I can get info only about dll's?
|
It represents an installed package. I meant dll in the context of js_ReaScriptAPI. The GetOwner API function takes a filename (either relative to the resource path or absolute) and returns a PackageEntry for the package which installed it. For example, any of these gives a PackageEntry for Song switcher if installed:
Code:
reaper.ReaPack_GetOwner('Scripts/ReaTeam Scripts/Various/cfillion_Song switcher.lua')
reaper.ReaPack_GetOwner('Scripts/ReaTeam Scripts/Various/cfillion_Song switcher/cfillion_Song switcher (next).lua')
reaper.ReaPack_GetOwner('reaper_www_root/song_switcher.html')
That API was meant mostly for this kind of usage:
Code:
function onHelpButtonClick()
local owner = reaper.ReaPack_GetOwner(({reaper.get_action_context()})[2])
if owner then
reaper.ReaPack_AboutInstalledPackage(owner)
reaper.ReaPack_FreeEntry(owner)
end
end
To get and check js_ReaScriptAPI's installed (not loaded!) version:
Code:
function getJSAPIVersion()
-- less usable because of the platform-dependent filename
local owner = reaper.ReaPack_GetOwner('UserPlugins/reaper_js_ReaScriptAPI64.dylib')
if owner then
local version = ({reaper.ReaPack_GetEntryInfo(owner)})[7]
reaper.ReaPack_FreeEntry(owner)
return version
end
end
if reaper.ReaPack_CompareVersion(getJSAPIVersion(), "1.0.4") < 0 then
reaper.ShowConsoleMsg("js_ReaScriptAPI is too old!\n")
end
Quote:
Originally Posted by amagalma
No, I haven't seen it! This is great! Thanks! Question: submitting via Upload tools creates a pull request, meaning that I still have to log in to Github and merge the branch to master?
|
Exactly, so that we (ReaTeam members) can check public submissions and have them tested by the bot first. Since you're a ReaTeam member, you can self-merge your PR once the indexing bot has finished its work.
Quote:
Originally Posted by amagalma
Something simple like this is enough or should I do more checks?
|
Like that, plus ProcessQueue(true) to immediately finish importing the repository and/or refresh opened windows (see the gist linked in my post above).
Last edited by cfillion; 01-11-2019 at 09:02 AM.
|
|
|
01-13-2019, 08:20 AM
|
#720
|
Human being with feelings
Join Date: Apr 2011
Posts: 3,458
|
Thank you so much for all the help!
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 12:48 AM.
|