 |
|
|
01-13-2019, 05:05 PM
|
#721
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,129
|
I would love to add my Ultraschall-API to ReaPack and I have some questions about adding my own github-repo to the ReaPack-Package-Manager and I hope, you can help.
First some general questions about it:
1. I intend to add at some point an extension-plugin, like the JS-plugin or SWS. As far as I understood, the JS-plugin can be installed via ReaPack. How does it do it? Can ReaPack unregister the plugin and runtime, install the new version and reregister it?
I tried to remove an old version of a plugin to install a new one while Reaper is running with a restart of Reaper after installation, but Reaper "blocks" the plugin by accessing it while it runs(which is logical, as Reaper is using it).
I wonder now, how ReaPack does this for the JS-Plugin?
2. I would need to install my API into the UserPlugins-folder, not the scripts-folder. Does the ReaPack-manager allow me to do that?
Now some questions about the process of adding my repo:
1. Is there a full explanation, how to do that? Some kind of manual? I just found one X-Raym wrote, but it is some time since he wrote it, so I guess, some information is outdated.
2. I read somewhere, that there's a tool, that creates the .xml-file needed by ReaPack, but where can I find it? I found on the ReaPack-site( https://reapack.com/upload) only a way to add files to the official ReaPack-repo.
Even though this would be possible to do, it would be too impractical, as I add bugfixes quite often and don't want to upload it every few days to the ReaPack-repo, but rather add my own repo instead.
Where can I find that tool and a manual to use it? And does it support a complex folder-structure with dozens of files as well?
Hope, you can help me with that.
Cheers and great work on the Package-Manager. It's one of the tools I thought "this is fantastic" the first time I ran it
|
|
|
01-13-2019, 10:39 PM
|
#722
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,381
|
Quote:
Originally Posted by mespotine
How does it do it? Can ReaPack unregister the plugin and runtime, install the new version and reregister it?
I tried to remove an old version of a plugin to install a new one while Reaper is running with a restart of Reaper after installation, but Reaper "blocks" the plugin by accessing it while it runs(which is logical, as Reaper is using it).
I wonder now, how ReaPack does this for the JS-Plugin?
|
REAPER must be restarted for the new version to be loaded, but I think you're referring to Windows' limitations disallowing writing to running executables. ReaPack works around that by moving the running .dll to a temporary location on that OS. (Overwriting or deleting running executables is allowed on Unix-like systems.)
Quote:
Originally Posted by mespotine
2. I would need to install my API into the UserPlugins-folder, not the scripts-folder. Does the ReaPack-manager allow me to do that?
|
Mark either entire packages or individual files to go in UserPlugins as being of the "extension" type. I find it odd to have Lua scripts outside of the Scripts directory, however ReaPack-installed script files must be in a subdirectory named after the repository (eg. "Scripts/Ultraschall/api.lua"). Extension files do not have this requirement.
Quote:
Originally Posted by mespotine
Now some questions about the process of adding my repo:
1. Is there a full explanation, how to do that? Some kind of manual? I just found one X-Raym wrote, but it is some time since he wrote it, so I guess, some information is outdated.
I read somewhere, that there's a tool, that creates the .xml-file needed by ReaPack, but where can I find it? Where can I find that tool and a manual to use it?
|
The tool is reapack-index. Its user guide is at https://github.com/cfillion/reapack-index/wiki. The XML index format itself is documented at https://github.com/cfillion/reapack/wiki/Index-Format.
https://reapack.com/upload, as a GUI editor, can help generate the metadata headers for reapack-index (just don't click on "Create pull request" if you want to use your own repository instead  ).
Quote:
Originally Posted by mespotine
And does it support a complex folder-structure with dozens of files as well?
|
I see your API .zip contains a few empty directories (eg. in 3rd_party_for_everyone). ReaPack, reapack-index, and git all only deals with actual files. Using an empty hidden file named ".gitkeep" or ".keep" is common.
Last edited by cfillion; 01-13-2019 at 10:47 PM.
|
|
|
01-16-2019, 08:15 AM
|
#723
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,129
|
@cfillion
Thanks for your answers
Quote:
Mark either entire packages or individual files to go in UserPlugins as being of the "extension" type. I find it odd to have Lua scripts outside of the Scripts directory, however ReaPack-installed script files must be in a subdirectory named after the repository (eg. "Scripts/Ultraschall/api.lua"). Extension files do not have this requirement.
|
So if I understood right, I can have ultraschall_api.lua in the UserPlugins-folder if I upload it as extension, while as script-upload, it must be in a subfolder, right?
Quote:
I see your API .zip contains a few empty directories (eg. in 3rd_party_for_everyone). ReaPack, reapack-index, and git all only deals with actual files. Using an empty hidden file named ".gitkeep" or ".keep" is common.
|
Thanks, added to my repo
Another question, how do you add JSFX-plugins into a running Reaper? Does Reaper need to be restarted for them to be added?
And a final question: what kinds of things can't be added using ReaPack-packagemanager? If I wanted to install the contents of a ReaperConfigZip-file from a repo using ReaPack rather than having to use ReaperConfigZip-file, what could I install and what would be missing?
e.g. could I add ini-files as well, that are stored in the RessourcesFolder?
I'm asking, as we think about using ReaPack for our Ultraschall-development.
We switched to managing the development-branch in git, however our betatesters are usually not that experienced with git to install the repo into a portable Reaper-version.
We would love to give betatesters an easy way of updating their beta-versions of Ultraschall using ReaPack.
Currently, we still would rely on building a ReaperConfigZip-file but this isn't flexible enough to represent the latest changes in the repo and slows down the pace of beta-testing...
Last edited by Meo-Ada Mespotine; 01-16-2019 at 08:23 AM.
|
|
|
01-16-2019, 08:57 AM
|
#724
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,381
|
Quote:
Originally Posted by mespotine
So if I understood right, I can have ultraschall_api.lua in the UserPlugins-folder if I upload it as extension, while as script-upload, it must be in a subfolder, right?
|
That's right. The type determines the root installation directory. You can choose the type of a package and optionally override it per-file (so, if you want it to be displayed as such, you could make a "Script" package install some "extension" files in UserPlugins).
Quote:
Originally Posted by mespotine
Another question, how do you add JSFX-plugins into a running Reaper? Does Reaper need to be restarted for them to be added?
|
Only extension plugins require a restart. REAPER detects newly added JSFX automatically.
Quote:
Originally Posted by mespotine
And a final question: what kinds of things can't be added using ReaPack-packagemanager? If I wanted to install the contents of a ReaperConfigZip-file from a repo using ReaPack rather than having to use ReaperConfigZip-file, what could I install and what would be missing?
e.g. could I add ini-files as well, that are stored in the RessourcesFolder?
|
ReaPack packages can currently write files into the AutomationItems, ColorThemes, Data, Effects, LangPack, MIDINoteNames, ProjectTemplates, reaper_www_root, Scripts, TrackTemplates and UserPlugins directories. Writing directly to the resource directory is not allowed (unsafe, especially considering many users choose to install everything).
I'm not sure how well externally overwriting an .ini while REAPER is running would work as some settings are kept in memory...
Last edited by cfillion; 01-16-2019 at 09:10 AM.
|
|
|
01-16-2019, 09:21 AM
|
#725
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,129
|
Ah, sounds good.
Would it be an option to add an API-function to ReaPack, that allows me programmatically install a ReaPack-package?
Like reaper.ReaPack_InstallPackage(string xml_file) ?
That way, I could install our git and do the rest with ini-files manually within one script, but I would need to know first, whether it was installed.
With such a function, I would be able to know that within my script.
|
|
|
01-16-2019, 09:29 AM
|
#726
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,381
|
There is no API to manage individual packages, however you can configure your repository to install every packages it contains and synchronize. GetOwner can detect whether a package is installed.
You can also open the package browser with a filter of your choice pre-filled (BrowsePackage(searchPattern)).
(Alternatively, maybe the .ini-copying script could be included along with the rest, only waiting to be manually run after installation?)
Last edited by cfillion; 01-16-2019 at 09:38 AM.
|
|
|
01-20-2019, 08:04 PM
|
#727
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,129
|
Is it mandatory to have a versions-tag in all my files? For instance, I have several .txt-files, whose functionality will break when I add a version-tag into it, as they are no MIDI-name-files.
As far as I understand, the version-tag is only necessary for the generating of the xml-file but once it is generated, it's not necessary anymore.
Meaning, I could add this version-information manually somehow into the xml-file instead leaving it out of the TXT-files, right?
And as far as I understood, I can put my files somewhere else too, like on localhost to experiment with it, right?
Edit:
The last answer I can give myself: Yes, I can put them somewhere else, even on a localhost, installation to test around before putting something into the net
Last edited by Meo-Ada Mespotine; 01-20-2019 at 08:54 PM.
|
|
|
01-21-2019, 01:17 AM
|
#728
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,381
|
@version is only required for the package files (files describing a package to reapack-index using metadata). If these .txt files are not packages themselves, but are instead part of some other package, they don't need anything (reapack-index will give a warning unless they have @noindex, but will ultimately ignore them nevertheless).
Yes, you can manually edit the .xml file. As for localhost: yes, and file:// URIs are also supported (on the ReaPack side).
|
|
|
01-22-2019, 10:14 AM
|
#729
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,129
|
Thanks for all your answers(and I hope you don't mind more questions from me  )
What element in the xml-file triggers the updating-process in the ReaPack-Manager? I suppose, a changed/added version-element tells the plugin "there's an update to consider"?
|
|
|
01-22-2019, 10:34 AM
|
#730
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,381
|
"Synchronize packages" updates when a version whose number is higher than the installed one is found in the XML index. Fox example:
Code:
> reaper.ReaPack_CompareVersions('1.0', '1.0.1')
{-1, ""} -- 1.0.1 is higher: update
> reaper.ReaPack_CompareVersions('2.0', '1.0.1')
{1, ""} -- lower: do nothing
> reaper.ReaPack_CompareVersions('1.2.3', '1.2.3.0')
{0, ""} -- same: do nothing
> reaper.ReaPack_CompareVersions('1.0beta', '1.0')
{-1, ""} -- 1.0 is higher: update
> reaper.ReaPack_CompareVersions('1.0', '2.0beta')
{-1, ""} -- 2.0beta is higher: see below
There are additional rules for handling pre-releases (versions containing alphabetical segments). Pre-releases are not automatically updated to unless the current version is also a pre-release and there are no stable releases in between.
Last edited by cfillion; 01-22-2019 at 10:44 AM.
|
|
|
01-28-2019, 10:41 AM
|
#731
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,129
|
So when in doubt, I should do a quick check for a versionstring using ReaPack_CompareVersions to be safe. Good to know
Another thing, is there a way to run the synchronize-procedure(including a possible auto-install) programmatically or is it only useable by the user, clicking the synchronize-button/menuentry?
And a little Feature-Request:
Would it be possible to add a way to automatically run a script after installing an extension?
For example, Lokasenna's Gui-Lib needs a script to be run before I can use his Gui-Lib, to store some of the paths needed by his Gui-Lib. I think, it would be better, if this could be done automatically by automatically running such a script, to make it more user-friendly.
I think a simple, register this startup-script, run it once and unregister it again would be the easiest way to do it.
For myself, I need it to automatically register some of my scripts into the reaper-kb.ini. I want to add it using proper ActionCommandIDs and description-texts, which can't be done in any other way than putting it into the ini-file and after that restarting Reaper. This would be in-line with the need of restarting Reaper after installing an extension.
This could also solve my problem I described in some posts above, where I wanted to replace the ini-files in the ressources-folder, which could be done by me then automatically, before restarting Reaper.
The other option, using __startup.lua in the Scripts-folder isn't an option, as I can't know, if a user has such a script already which would be overwritten by me that way...
|
|
|
02-09-2019, 02:01 PM
|
#732
|
Human being with feelings
Join Date: Jul 2009
Posts: 3,714
|
I would like to include mouse cursor files with some of my scripts, but I am not sure about the Provide syntax that I should use.
I have tried the following (intended to install the cur file from ReaTeam/ReaScripts/MIDI editor/ into the same directory as the script), but it doesn't seem to work:
Code:
Provides:
[main=midi_editor,midi_inlineeditor] .
"js_Mouse editing - Slice notes.cur"
|
|
|
02-09-2019, 07:52 PM
|
#733
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,381
|
Quote:
Originally Posted by mespotine
Another thing, is there a way to run the synchronize-procedure(including a possible auto-install) programmatically or is it only useable by the user, clicking the synchronize-button/menuentry?
|
Code:
reaper.Main_OnCommand(reaper.NamedCommandLookup('_REAPACK_SYNC'), 0)
Quote:
Originally Posted by juliansader
I would like to include mouse cursor files with some of my scripts, but I am not sure about the Provide syntax that I should use.
I have tried the following (intended to install the cur file from ReaTeam/ReaScripts/MIDI editor/ into the same directory as the script), but it doesn't seem to work:
Code:
Provides:
[main=midi_editor,midi_inlineeditor] .
"js_Mouse editing - Slice notes.cur"
|
Remove the quotes. You can use https://reapack.com/upload to upload the files and have the provides tag generated automatically for you.
Also it would be better to avoid putting js_ and .lua in the package display name (at some point in the future I'll do a repository-wide metadata cleanup).
Last edited by cfillion; 02-09-2019 at 08:29 PM.
|
|
|
02-14-2019, 10:58 PM
|
#734
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,381
|
ReaPack v1.2.2rc3
Should be released as stable in a few days.
Added: - implement SHA-256 checksum verification for downloaded files
- browser: add "Synchronize packages" to the menu [p=2084579]
- browser: add "Upload packages" action to the menu opening https://reapack.com/upload
- receipt: annotate installation type and previous version
Fixed: - import: fix possible crash after downloading indexes
|
|
|
02-20-2019, 06:39 AM
|
#735
|
Human being with feelings
Join Date: May 2017
Location: Leipzig
Posts: 6,129
|
Is there a way to tell the user, which requirements are there for a ReaPack in the index.xml-file?
Like "I need SWS version x.x.x to be installed" or "JS-Plugin version x.y.z" or something?
I haven't found something like that and would love to signal that during installation. Maybe including the possibility to open the websites(SWS)/add ReaPacks(JS-Extension) that holds the feature would be cool.
But at least a dialog that says needs feature x.y.z. to be installed to work properly..
|
|
|
02-20-2019, 09:30 PM
|
#736
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,381
|
There is no support for dependencies yet (there won't be a 1.3 until I do this–and much rewrites). For now scripts have to check themselves.
https://gist.github.com/cfillion/347...b9533204c765f3
Quote:
Originally Posted by mespotine
But at least a dialog that says needs feature x.y.z. to be installed to work properly..
|
This would be easier to do than a dependency system. (If you or someone know C++ and have time to spare, contributions are welcome.)
Last edited by cfillion; 02-20-2019 at 09:46 PM.
|
|
|
02-22-2019, 11:02 AM
|
#737
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 3,557
|
is there a way to use reapack index via visual studio code (not a big problem thru cmd just asking)?
EDIT1: it works out of the box...for some reason terminal would not recognize some cmd commands and git-bash also (unknown reapack-index bla bla bla), but know it somehow works
and more important question how can I link two scripts to be downloaded? I have GUI and core script,never uploaded like this before
EDIT2: I guess its @provide but nothing is happening
Code:
--[[
* eaScript Name: Sexan_Track_versions_v2_gui.lua
* About: Protools style playlist, track versions (Cubase)
* Author: SeXan
* Licence: GPL v3
* REAPER: 5.0
* Extensions: SWS, JS API
* Version: 0.0.1
* Provides
[nomain] Sexan_Track_versions_core.lua
--]]
whats wrong here?
Last edited by Sexan; 02-22-2019 at 01:55 PM.
|
|
|
02-22-2019, 04:53 PM
|
#738
|
Human being with feelings
Join Date: Jan 2010
Location: Just outside of Glacier National Park
Posts: 14,528
|
I had a problem with my main Reaper program, so first I exported my configuration file, then deleted the "Reaper.ini" file. Then started Reaper
and imported my configurations file.
Now I don't have ReaPack in my menu, although the reapack.dll is in my UserPlugins folder.
How do I get ReaPack back in my "Extensions" menu?
|
|
|
02-22-2019, 08:41 PM
|
#739
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,381
|
Quote:
Originally Posted by Sexan
whats wrong here?
|
The last line is not decorated the same way as the other lines. The parser allows the use of any decoration style, but it must be consistent (at least per-tag). You can also use https://reapack.com/upload/reascript as a way to generate and experiment with valid header tags.
Code:
-- @description Track versions v2
-- @author SeXan
-- @version 0.0.1
-- @provides Sexan_Track_versions_core.lua
-- @about Protools style playlist, track versions (Cubase)
--[[ (these are not reapack-index tags)
* Licence: GPL v3
* REAPER: 5.0
* Extensions: SWS, JS API
--]]
Quote:
Originally Posted by Tod
How do I get ReaPack back in my "Extensions" menu?
|
Are the ReaPack actions still present in the Action List? If so, the Extensions menu was likely customized. You can add ReaPack's actions back into it using REAPER's Customize menus/toolbars window. Otherwise, it may be a 32-bit vs 64-bit mismatch causing ReaPack to not be loaded?
Last edited by cfillion; 02-22-2019 at 08:49 PM.
|
|
|
02-23-2019, 02:04 AM
|
#740
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 3,557
|
It still does not download second/core script...its "Tracks versions v2" on reapack if you wanna test. Do I need to enter some path or something? right now its located on local repo my documents/git/repo/alpha
|
|
|
02-23-2019, 02:36 AM
|
#741
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,381
|
Version 0.0.1 was already released so reapack-index didn't modify it. You can use the --amend option to allow editing existing releases. To rescan the git commit that fixed the header (debc068) and replace the existing v0.0.1:
Code:
reapack-index --amend --scan debc068
https://i.imgur.com/oGHZzPB.png
Last edited by cfillion; 02-23-2019 at 02:44 AM.
|
|
|
02-23-2019, 04:08 AM
|
#742
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 3,557
|
Oh yeah,now it works thank you... I was using amend wrong way... One more question, how do I know which is that "ID" of the script (debc068)?
|
|
|
02-23-2019, 04:29 AM
|
#743
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,381
|
Usually it would be used as just "reapack-index --amend". "--scan commit-id-or-path" is only useful for re-scanning a commit, a file, or a whole directory that had already been indexed.
debc068 (shorthand for the full SHA-1 hash: debc068cf76ebd729475274825c77298dc58485a) represents the git commit that fixed the @provides tag. I got it using git log. If you're using a git client integrated into VSCode, it should be accessible with that too. It's also visible on GitHub.
https://git-scm.com/book/en/v2/Git-B...Commit-History
Last edited by cfillion; 02-23-2019 at 04:40 AM.
|
|
|
02-23-2019, 04:39 AM
|
#744
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 3,557
|
Thank you very much!
|
|
|
02-23-2019, 10:49 AM
|
#745
|
Human being with feelings
Join Date: Jan 2010
Location: Just outside of Glacier National Park
Posts: 14,528
|
Quote:
Originally Posted by cfillion
Are the ReaPack actions still present in the Action List? If so, the Extensions menu was likely customized. You can add ReaPack's actions back into it using REAPER's Customize menus/toolbars window. Otherwise, it may be a 32-bit vs 64-bit mismatch causing ReaPack to not be loaded?
|
Thanks cfillion, yes I still see some of the scripts in the Action list. There's aslo a "reaper_reapack64.dll" file sitting
in the "UserPlugins" folder, however there are no ".dylib" or ".so" files with it like the other dll files.
There's also a reapack.ini file in the main Reaper folder.
One thing I see missing is a "Reaper.ini" file, could that have something to do with it. I recently removed it because I thought
it was corrupted, but I thought Reaper would automatically rebuild it. I guess it doesn't.
What do you think?
|
|
|
02-23-2019, 08:39 PM
|
#746
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,381
|
I meant ReaPack's own actions, not the script themselves ( https://i.imgur.com/na1KYoT.png). .dylib are for macOS and .so are for Linux.
Are you sure you're looking at the right resource path (given reaper.ini isn't created there, I'm guessing it may be somewhere else)? Options > Show REAPER resource path in explorer/finder will open the current one (if you're not already opening it using that).
|
|
|
02-24-2019, 01:38 PM
|
#747
|
Human being with feelings
Join Date: Jan 2010
Location: Just outside of Glacier National Park
Posts: 14,528
|
Quote:
Originally Posted by cfillion
|
Thanks cfillion, good to know about the extensions.
Regarding ReaPack's own actions, those actions are not in the actions list for this install.
However, they are in the action list for another portable install that aslo has ReaPack in the menu. From the ones shown in that picture, I've got all
but "ReaPack: About..." and "ReaPack: Upload pachages" in the actions list. However, I can't find those actions in the folder for that portable install.
Where would they be located, I've searched the main folder but can't find them anywhere?
Also, I still can't find the Reaper.ini file in Reaper install I'm working with. Reaper seems to work fine without it.
Heh heh, I'm thoroughly confused cfillion.
|
|
|
02-24-2019, 04:51 PM
|
#748
|
Human being with feelings
Join Date: Jan 2010
Location: Just outside of Glacier National Park
Posts: 14,528
|
Just to let you know I managed to get things fixed and working.
What I did was update to the latest Reaper. Scared the heck out of me at first because it totally overwrote my
configuration, and put me back to a totally raw default Reaper. Luckily I had just saved/exported my config file
yesterday so no harm done. That's never happened to me before, what about you folks.
At any rate I'm good to go again.
|
|
|
02-24-2019, 10:43 PM
|
#749
|
Human being with feelings
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
|
Latest ReaPack crashes Reaper 5.97 (as well as the latest dev v5.97+dev0224a, I tried both) upon starting Reaper. (Moving the *.so file out of userplugins, Reaper starts fine.) Reaper for Linux. More info about my system in my signature.
|
|
|
02-24-2019, 11:53 PM
|
#750
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,381
|
Try running REAPER from gdb and get a backtrace. Please send me the entire output.
Code:
gdb reaper -ex 'set pagination off' -ex run -ex bt -ex quit
|
|
|
02-25-2019, 12:12 AM
|
#751
|
Human being with feelings
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
|
Output:
Code:
GNU gdb (Debian 7.12-6) 7.12.0.20161007-git
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from reaper...(no debugging symbols found)...done.
Starting program: /home/james/opt/REAPER/reaper
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffcdf61700 (LWP 9537)]
[New Thread 0x7fffcd760700 (LWP 9538)]
[New Thread 0x7fffccf5f700 (LWP 9539)]
swell: dlopen() failed: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /home/james/.config/REAPER/UserPlugins/reaper_reapack64.so)
Error loading /home/james/.config/REAPER/UserPlugins/reaper_reapack64.so: (null)
Thread 1 "reaper" received signal SIGSEGV, Segmentation fault.
0x00007ffff7de4c7c in ?? () from /lib64/ld-linux-x86-64.so.2
#0 0x00007ffff7de4c7c in ?? () from /lib64/ld-linux-x86-64.so.2
#1 0x00007ffff7decde1 in ?? () from /lib64/ld-linux-x86-64.so.2
#2 0x00007ffff7de8644 in ?? () from /lib64/ld-linux-x86-64.so.2
#3 0x00007ffff7dec609 in ?? () from /lib64/ld-linux-x86-64.so.2
#4 0x00007ffff79b8ee9 in ?? () from /lib/x86_64-linux-gnu/libdl.so.2
#5 0x00007ffff7de8644 in ?? () from /lib64/ld-linux-x86-64.so.2
#6 0x00007ffff79b9531 in ?? () from /lib/x86_64-linux-gnu/libdl.so.2
#7 0x00007ffff79b8f82 in dlopen () from /lib/x86_64-linux-gnu/libdl.so.2
#8 0x00007ffff76e57bb in snd_dlopen () from /usr/lib/x86_64-linux-gnu/libasound.so.2
#9 0x00007ffff76e0ced in ?? () from /usr/lib/x86_64-linux-gnu/libasound.so.2
#10 0x00007ffff76e138d in snd_config_update_r () from /usr/lib/x86_64-linux-gnu/libasound.so.2
#11 0x00007ffff76e187a in snd_config_update_ref () from /usr/lib/x86_64-linux-gnu/libasound.so.2
#12 0x00007ffff76feb6a in snd_pcm_open () from /usr/lib/x86_64-linux-gnu/libasound.so.2
#13 0x0000000000419f67 in ?? ()
#14 0x000000000041a650 in ?? ()
#15 0x000000000088474e in ?? ()
#16 0x00000000008867ae in ?? ()
#17 0x000000000071658a in ?? ()
#18 0x00007ffff65ff8b9 in ?? () from /home/james/opt/REAPER/libSwell.so
#19 0x00000000006ae981 in ?? ()
#20 0x00000000004136bf in ?? ()
#21 0x00007ffff6a8f2e1 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#22 0x00000000004187ea in _start ()
A debugging session is active.
Inferior 1 [process 9532] will be killed.
Quit anyway? (y or n) y
I checked and I have libstdc++-6-dev installed. Version 6.3.0-18+deb9u1 (That includes libstdc++.so.6, but I don't know what specific version.)
|
|
|
02-25-2019, 12:58 AM
|
#752
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,381
|
ReaPack 1.2.2 requires GCC 7.1's libstdc++ or newer. MX Linux 18 (Debian Stretch) only provides GCC 6.3's libstdc++. The crash appears to be unrelated.
You could try installing a newer libstdc++ from Debian Buster ( gcc-8-base then libstdc++6). Of course these are not officially supported by the distribution.
Last edited by cfillion; 02-25-2019 at 01:12 AM.
|
|
|
02-25-2019, 01:57 AM
|
#753
|
Human being with feelings
Join Date: Aug 2011
Location: Near a big lake
Posts: 3,943
|
Thanks for the info but I'd rather not mess with dependencies. I've learned my lesson on that already.
I browsed to your releases directory, put version 1.2.1 back in my userplugins folder, then "pinned" it for now (until my distro gets those particular libraries updated).
Last edited by JamesPeters; 02-25-2019 at 11:48 AM.
|
|
|
03-03-2019, 03:50 PM
|
#754
|
Human being with feelings
Join Date: Apr 2014
Posts: 4,150
|
The online upload system is a thing of beauty. Well done on that!
So a few basic questions to start.
From what I can gather having looked at it - all files end up in the ReaTeam Scripts/ folder.
My Stripper script requires a lot of resource files - a basic set provided in a zip file in github - and typically I keep everything in Scripts/LBX folder.
As far as I can see - it would not be possible using this tool to keep the files in my preferred folder?
Secondly - as mentioned - the resources are currently nicely wrapped up in a zip file on github - is there any way to have this unpack to a specific location - or would I need to add each file manually to github and then add one-by-one those required by the script and place them in their specific location?
I'm not overly fussed where the actual main Lua script file ends up - it's more the location of the resources I would ideally keep in their current location - otherwise current users who choose to install via Reapack will require that they move their current resource folder (not the end of the world though!).
Another question - users of Stripper add files manually to these resources (new control graphics files/background graphics/created strips etc) - but any update to the script via Reapack must obviously leave all these resources in place and only add (merge) anything new. Typically they would download the resources once - and then any further updates are *usually* just to the main script file. There are occasions when new resource files need to be added to the resources though (If I change the skins etc). Is it possible to manage all this?
I think I can see that if I say put my main script in ReaTeam Scripts/Various/LBX/ folder and the resources in ReaTeam Scripts/Various/LBX/LBXCS_resources/ it would be acceptable if I cannot use the current location I use.
So my main query is can the zip file be unpacked - or does each file need to be separate. And when updating via Reapack - will all current files in the resources folder remain there (as would be required) - with only new or updated files being added/overwritten?
Thanks!
|
|
|
03-04-2019, 12:41 AM
|
#755
|
Human being with feelings
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 13,173
|
IMHO, the uploads done to ReaPack in this way should be "there to stay". Hence they should completely be a in a "Reaper managed" repository.
-Michael
|
|
|
03-04-2019, 01:44 PM
|
#756
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,381
|
Quote:
Originally Posted by lb0
My Stripper script requires a lot of resource files - a basic set provided in a zip file in github - and typically I keep everything in Scripts/LBX folder.
As far as I can see - it would not be possible using this tool to keep the files in my preferred folder?
|
There's a few options for locating the resource files. It could be installed in the Data directory: reaper.GetResourcePath() .. '/Data/LBXCS resources/'. The script could look for it relative to itself: ({reaper.get_action_context()})[2]:match('^(.+)/') .. '/LBXCS resources'. The only way to get rid of the "ReaTeam Scripts" root directory in the Scripts folder would be to maintain your own repository ( XML index).
Quote:
Originally Posted by lb0
So my main query is can the zip file be unpacked - or does each file need to be separate.
|
The contents of the package must be explicitly set. (I see the archive has empty folders: because ReaPack–like git–deals with "real" files, these can be achieved by adding a hidden empty file inside–usually ".keep".).
The file hierarchy on the repository can differ from what is installed. https://i.imgur.com/l2EZ9BZ.gif
Quote:
Originally Posted by lb0
And when updating via Reapack - will all current files in the resources folder remain there (as would be required) - with only new or updated files being added/overwritten?
|
ReaPack only overwrites files that are explicitly listed as being part of an installed package. Files manually created alongside the package's files are kept, even after uninstalling it.
Last edited by cfillion; 03-04-2019 at 01:52 PM.
|
|
|
03-04-2019, 04:08 PM
|
#757
|
Human being with feelings
Join Date: Apr 2014
Posts: 4,150
|
Quote:
Originally Posted by cfillion
...
ReaPack only overwrites files that are explicitly listed as being part of an installed package. Files manually created alongside the package's files are kept, even after uninstalling it.
|
Thanks for your responses. I think the Data directory would be an obvious location for the resources, and still fit in with the ReaTeams setup.
And good to know any manually added files will stay put.
I shall look into further.
It would be easy to create empty folders when Stripper starts if necessary - that will prevent me needing to provide dummy files just to get the structure correct.
I'll just need to unpack the zip file into folders in github I guess and add each file in turn via your online tool. Fortunately the basic setup is only just over a hundred files - wouldn't want to be manually adding much more than that
|
|
|
04-03-2019, 09:24 AM
|
#758
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 11,824
|
This is sort of a cosmetic question...
Everytime I update or add a script in my local repo I
- first commit the script changes
- do reapack-index
- do a 'update index' commit - which clutters Git history a bit
- push
So, this time I've tried to squash both commits (script changes + update index) before pushing, but obviously it didn't work:
https://forum.cockos.com/showpost.ph...&postcount=606
Is there a correct way to do this or does it need to be two separate commits?
|
|
|
04-03-2019, 11:20 AM
|
#759
|
Human being with feelings
Join Date: May 2015
Location: Québec, Canada
Posts: 4,381
|
It needs to be separate commits because the download URLs must have the commit that last changed the script to allow downloading any indexed version. Then the index must also be committed to be released. The index can be hosted outside of the repository, in another repository or a secondary branch though.
|
|
|
04-03-2019, 11:42 AM
|
#760
|
Human being with feelings
Join Date: Oct 2007
Location: home is where the heart is
Posts: 11,824
|
Got it, thanks.
|
|
|
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 10:50 PM.
|