mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
Minor URL additions and introjucer work.
This commit is contained in:
parent
64ee6d54d9
commit
8aa60b9361
27 changed files with 279 additions and 91 deletions
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "juce_audio_basics",
|
||||
"name": "JUCE audio and midi data classes",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.2",
|
||||
"description": "Classes for audio buffer manipulation, midi message handling, synthesis, etc",
|
||||
"website": "http://www.juce.com/juce",
|
||||
"license": "GPL/Commercial",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "juce_audio_devices",
|
||||
"name": "JUCE audio and midi I/O device classes",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.2",
|
||||
"description": "Classes to play and record from audio and midi i/o devices.",
|
||||
"website": "http://www.juce.com/juce",
|
||||
"license": "GPL/Commercial",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "juce_audio_formats",
|
||||
"name": "JUCE audio file format codecs",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.2",
|
||||
"description": "Classes for reading and writing various audio file formats.",
|
||||
"website": "http://www.juce.com/juce",
|
||||
"license": "GPL/Commercial",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "juce_audio_plugin_client",
|
||||
"name": "JUCE audio plugin wrapper classes",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.2",
|
||||
"description": "Classes for building VST, RTAS and AU plugins.",
|
||||
"website": "http://www.juce.com/juce",
|
||||
"license": "GPL/Commercial",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "juce_audio_processors",
|
||||
"name": "JUCE audio plugin hosting classes",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.2",
|
||||
"description": "Classes for loading and playing VST, AU, or internally-generated audio processors.",
|
||||
"website": "http://www.juce.com/juce",
|
||||
"license": "GPL/Commercial",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "juce_audio_utils",
|
||||
"name": "JUCE extra audio utility classes",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.2",
|
||||
"description": "Classes for audio-related GUI and miscellaneous tasks.",
|
||||
"website": "http://www.juce.com/juce",
|
||||
"license": "GPL/Commercial",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "juce_browser_plugin_client",
|
||||
"name": "JUCE browser plugin wrapper classes",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.2",
|
||||
"description": "Classes for building NPAPI and ActiveX browser plugins.",
|
||||
"website": "http://www.juce.com/juce",
|
||||
"license": "GPL/Commercial",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "juce_core",
|
||||
"name": "JUCE core classes",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.2",
|
||||
"description": "The essential set of basic JUCE classes, as required by all the other JUCE modules. Includes text, container, memory, threading and i/o functionality.",
|
||||
"website": "http://www.juce.com/juce",
|
||||
"license": "GPL/Commercial",
|
||||
|
|
|
|||
|
|
@ -173,6 +173,17 @@ namespace URLHelpers
|
|||
<< (int) postData.getSize() << "\r\n";
|
||||
}
|
||||
}
|
||||
|
||||
void concatenatePaths (String& path, const String& suffix)
|
||||
{
|
||||
if (! path.endsWithChar ('/'))
|
||||
path << '/';
|
||||
|
||||
if (suffix.startsWithChar ('/'))
|
||||
path += suffix.substring (1);
|
||||
else
|
||||
path += suffix;
|
||||
}
|
||||
}
|
||||
|
||||
String URL::toString (const bool includeGetParameters) const
|
||||
|
|
@ -221,7 +232,7 @@ String URL::getScheme() const
|
|||
return url.substring (0, URLHelpers::findStartOfDomain (url) - 1);
|
||||
}
|
||||
|
||||
const URL URL::withNewSubPath (const String& newPath) const
|
||||
URL URL::withNewSubPath (const String& newPath) const
|
||||
{
|
||||
int start = URLHelpers::findStartOfDomain (url);
|
||||
while (url[start] == '/')
|
||||
|
|
@ -234,14 +245,14 @@ const URL URL::withNewSubPath (const String& newPath) const
|
|||
if (startOfPath > 0)
|
||||
u.url = url.substring (0, startOfPath);
|
||||
|
||||
if (! u.url.endsWithChar ('/'))
|
||||
u.url << '/';
|
||||
|
||||
if (newPath.startsWithChar ('/'))
|
||||
u.url << newPath.substring (1);
|
||||
else
|
||||
u.url << newPath;
|
||||
URLHelpers::concatenatePaths (u.url, newPath);
|
||||
return u;
|
||||
}
|
||||
|
||||
URL URL::getChildURL (const String& subPath) const
|
||||
{
|
||||
URL u (*this);
|
||||
URLHelpers::concatenatePaths (u.url, subPath);
|
||||
return u;
|
||||
}
|
||||
|
||||
|
|
@ -328,17 +339,17 @@ XmlElement* URL::readEntireXmlStream (const bool usePostCommand) const
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
const URL URL::withParameter (const String& parameterName,
|
||||
const String& parameterValue) const
|
||||
URL URL::withParameter (const String& parameterName,
|
||||
const String& parameterValue) const
|
||||
{
|
||||
URL u (*this);
|
||||
u.parameters.set (parameterName, parameterValue);
|
||||
return u;
|
||||
}
|
||||
|
||||
const URL URL::withFileToUpload (const String& parameterName,
|
||||
const File& fileToUpload,
|
||||
const String& mimeType) const
|
||||
URL URL::withFileToUpload (const String& parameterName,
|
||||
const File& fileToUpload,
|
||||
const String& mimeType) const
|
||||
{
|
||||
jassert (mimeType.isNotEmpty()); // You need to supply a mime type!
|
||||
|
||||
|
|
@ -348,7 +359,7 @@ const URL URL::withFileToUpload (const String& parameterName,
|
|||
return u;
|
||||
}
|
||||
|
||||
const URL URL::withPOSTData (const String& postData_) const
|
||||
URL URL::withPOSTData (const String& postData_) const
|
||||
{
|
||||
URL u (*this);
|
||||
u.postData = postData_;
|
||||
|
|
|
|||
|
|
@ -94,7 +94,20 @@ public:
|
|||
E.g. if the URL is "http://www.xyz.com/foo?x=1" and you call this with
|
||||
"bar", it'll return "http://www.xyz.com/bar?x=1".
|
||||
*/
|
||||
const URL withNewSubPath (const String& newPath) const;
|
||||
URL withNewSubPath (const String& newPath) const;
|
||||
|
||||
/** Returns a new URL that refers to a sub-path relative to this one.
|
||||
|
||||
E.g. if the URL is "http://www.xyz.com/foo" and you call this with
|
||||
"bar", it'll return "http://www.xyz.com/foo/bar". Note that there's no way for
|
||||
this method to know whether the original URL is a file or directory, so it's
|
||||
up to you to make sure it's a directory. It also won't attempt to be smart about
|
||||
the content of the childPath string, so if this string is an absolute URL, it'll
|
||||
still just get bolted onto the end of the path.
|
||||
|
||||
@see File::getChildFile
|
||||
*/
|
||||
URL getChildURL (const String& subPath) const;
|
||||
|
||||
//==============================================================================
|
||||
/** Returns a copy of this URL, with a GET or POST parameter added to the end.
|
||||
|
|
@ -105,8 +118,8 @@ public:
|
|||
would produce a new url whose toString(true) method would return
|
||||
"www.fish.com?amount=some+fish".
|
||||
*/
|
||||
const URL withParameter (const String& parameterName,
|
||||
const String& parameterValue) const;
|
||||
URL withParameter (const String& parameterName,
|
||||
const String& parameterValue) const;
|
||||
|
||||
/** Returns a copy of this URl, with a file-upload type parameter added to it.
|
||||
|
||||
|
|
@ -116,9 +129,9 @@ public:
|
|||
Note that the filename is stored, but the file itself won't actually be read
|
||||
until this URL is later used to create a network input stream.
|
||||
*/
|
||||
const URL withFileToUpload (const String& parameterName,
|
||||
const File& fileToUpload,
|
||||
const String& mimeType) const;
|
||||
URL withFileToUpload (const String& parameterName,
|
||||
const File& fileToUpload,
|
||||
const String& mimeType) const;
|
||||
|
||||
/** Returns a set of all the parameters encoded into the url.
|
||||
|
||||
|
|
@ -154,7 +167,7 @@ public:
|
|||
This data will only be used if you specify a post operation when you call
|
||||
createInputStream().
|
||||
*/
|
||||
const URL withPOSTData (const String& postData) const;
|
||||
URL withPOSTData (const String& postData) const;
|
||||
|
||||
/** Returns the data that was set using withPOSTData().
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
*/
|
||||
#define JUCE_MAJOR_VERSION 2
|
||||
#define JUCE_MINOR_VERSION 0
|
||||
#define JUCE_BUILDNUMBER 1
|
||||
#define JUCE_BUILDNUMBER 2
|
||||
|
||||
/** Current Juce version number.
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,6 @@ public:
|
|||
class ZipFile::ZipInputStream : public InputStream
|
||||
{
|
||||
public:
|
||||
//==============================================================================
|
||||
ZipInputStream (ZipFile& file_, ZipFile::ZipEntryInfo& zei)
|
||||
: file (file_),
|
||||
zipEntryInfo (zei),
|
||||
|
|
@ -127,9 +126,7 @@ public:
|
|||
return true;
|
||||
}
|
||||
|
||||
|
||||
private:
|
||||
//==============================================================================
|
||||
ZipFile& file;
|
||||
ZipEntryInfo zipEntryInfo;
|
||||
int64 pos;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "juce_cryptography",
|
||||
"name": "JUCE cryptography classes",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.2",
|
||||
"description": "Classes for various basic cryptography functions, including RSA, Blowfish, MD5, SHA, etc.",
|
||||
"website": "http://www.juce.com/juce",
|
||||
"license": "GPL/Commercial",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "juce_data_structures",
|
||||
"name": "JUCE data model helper classes",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.2",
|
||||
"description": "Classes for undo/redo management, and smart data structures.",
|
||||
"website": "http://www.juce.com/juce",
|
||||
"license": "GPL/Commercial",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "juce_events",
|
||||
"name": "JUCE message and event handling classes",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.2",
|
||||
"description": "Classes for running an application's main event loop and sending/receiving messages, timers, etc.",
|
||||
"website": "http://www.juce.com/juce",
|
||||
"license": "GPL/Commercial",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "juce_graphics",
|
||||
"name": "JUCE graphics classes",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.2",
|
||||
"description": "Classes for 2D vector graphics, image loading/saving, font handling, etc.",
|
||||
"website": "http://www.juce.com/juce",
|
||||
"license": "GPL/Commercial",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "juce_gui_basics",
|
||||
"name": "JUCE GUI core classes",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.2",
|
||||
"description": "Basic user-interface components and related classes.",
|
||||
"website": "http://www.juce.com/juce",
|
||||
"license": "GPL/Commercial",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "juce_gui_extra",
|
||||
"name": "JUCE extended GUI classes",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.2",
|
||||
"description": "Miscellaneous GUI classes for specialised tasks.",
|
||||
"website": "http://www.juce.com/juce",
|
||||
"license": "GPL/Commercial",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "juce_opengl",
|
||||
"name": "JUCE OpenGL classes",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.2",
|
||||
"description": "Classes for rendering OpenGL in a JUCE window.",
|
||||
"website": "http://www.juce.com/juce",
|
||||
"license": "GPL/Commercial",
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"id": "juce_video",
|
||||
"name": "JUCE video playback and capture classes",
|
||||
"version": "2.0.1",
|
||||
"version": "2.0.2",
|
||||
"description": "Classes for playing video and capturing camera input.",
|
||||
"website": "http://www.juce.com/juce",
|
||||
"license": "GPL/Commercial",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue