Re: [MacRuby-devel] Request for feedback on new tutorial
Hi Emil!
That's very awesome work, thanks for the dedication of making a tutorial!
I would simply want to add, maybe you should launch macirb with
--simple-prompt, it makes the output a little nicer and clearer I think (at
least for that kind of examples where line numbers are not really needed).
Thank you again!
--
Thibault Martin-Lagardette
On Aug 22, 2010, at 12:46, Nick Ludlam wrote:
>
> Fantastic feedback, thanks again. I've included comments inline below, and
> I've updated the preview at
> http://recoil.org/~nick/macruby/documentation/realworld-dynamic-bundles.h
>
> On 20 Aug 2010, at 14:51, Emil Tin wrote:
>
>> progress!
>> I downloaded your project, and it builds without problems. Comparing them I
>> found out that:
>>
>> 1. my project was missing the 'Copy Headers' build phase.
>
> You're right, I've added this into the text.
>
>
>> 2. after adding a 'copy headers' phase, and using the get info.. then
>> checkbox method to add headers files from the taglib target to the
>> taglibbundle target, it still couldn't build because my project had list.tcc
>> and tmap.tcc in the 'compile sources' build phase. for some reason, it seems
>> that when i use 'get info' method, files with the .tcc extension are added
>> to the 'compile source' phase isntead of the 'copy headers' phase.
>
> Yeah it seems XCode gets confused with that suffix. I've simplified the
> method of cloning the header and source settings by getting the reader to
> drag and drop the files from the existing folders directly into the new.
>
>
>> after moving the two .tcc files to the 'copy headers phase', my project
>> builds. moving on i found.
>>
>>
>> 3. TagLib.h needs #import
>
> Linking to should be all thats needed, but the
> template uses Cocoa, so I'll add a step to edit this from Cocoa to Foundation.
>
>
>> 4. TagLib.m needs #import "tag_c.h"
>
> Correct, and fixed!
>
>
>> 5. the copy script at the end failed. the reason was i copied it from the
>> webpage, which had a line break. you might add a "\" to the code at the
>> webapge:
>>
>> cp -v "${TARGET_BUILD_DIR}/${EXECUTABLE_PATH}" \
>> "${SOURCE_ROOT}/${FULL_PRODUCT_NAME}"
>
> I've now added the backslash to help with the line wrapping.
>
>
>> 6. i need to require the full path to the bundle (or modify load paths).
>> simply using require 'TagLibBundle' fails even if i'm inside the folder the
>> bundle is?
>
> I think this is because I missed a step where you give the project the
> '.bundle' suffix, so you end up with a 'TagLibBundle.bundle' filename. I've
> added it to the tutorial text.
>
>
>> 7. it works! i can use test.tags[:title] and get the title af an mp3.
>>
>> 8. if i call test.tags i get a segmentation fault:
>>
>> ~/Desktop/MacRuby/TagLib.framework$ macirb
>> Couldn't load Wirble: no such file to load -- wirble
>> irb(main):001:0> require
>> '/Users/emiltin/Desktop/MacRuby/TagLib.framework/TagLibBundle.bundle'
>> => true
>> irb(main):002:0> test =
>> TagLib.alloc.initWithFileAtPath("/Users/emiltin/Music/Elysium\
>> etc/Celestial_Sounds_and_Tribal_Beats_mp3/05.Wisdom.mp3")
>> => #
>> irb(main):003:0> test.tags[:title]=> "Wisdom"
>> irb(main):004:0> test.tagsSegmentation fault
>
> Ok this is a weird one, and I think related to reference counting and release
> pools. I've now altered the way the wrapper works, and it now uses discreet
> ivars and getters instead of a dictionary, which is a little more verbose,
> but nicer from the Ruby side of things.
>
>
>>
>> On 20/08/2010, at 14.42, Nick Ludlam wrote:
>>
>>> Thanks very much Emil. I'll go through the points:
>>>
>>> 1. Good catch. I'll replace this with 'curl' since it's part of the base
>>> system.
>>>
>>> 2. I'll describe this step in a little more detail, perhaps with a
>>> screenshot. There is a reasonable familiarity with XCode that's assumed,
>>> though.
>>>
>>> 3. I suspect this is related to build setting change that I may have missed
>>> out. If you have time, could you grab the project from
>>> http://github.com/nickludlam/TagLib.framework and try compiling ?
>>>
>>>
>>> Nick
>>>
>>>
>>> On 20 Aug 2010, at 12:42, Emil Tin wrote:
>>>
nice tutorials!
i tried following the tutorial but ran into a few problems:
1.
wget command was not found. wget is not installed by default in os x, it
seems.
2.
linking agains foundation and libz: as an xcode beginner, i had to guess a
bit to figure out how to do this. i suppose you mean adding items in the
'linked libraries' area of the taglibbundle target info pane. maybe
describe in a sentence the simple steps involved.
3.
can't compile. when i try to build the project, i get a lot of errors.
here's the first:
CompileC
/Users/emiltin/Desktop/builds/TagLib.build/Debug/TagLibBundle.build/Objects-normal/x86_64/tlist.o
taglib-src/taglib/toolkit/tlist.tcc normal x86_64 c+
Re: [MacRuby-devel] CVImageBufferRef vs __NSCFType
Hi! Can you add a little more information to the issue maybe? What is the problem exactly? Do you have a sample script we could try? Thank you :-) -- Thibault Martin-Lagardette On Aug 21, 2010, at 16:04, Steven Parkes wrote: > I've got a callback for QTCaptureVideoPreviewOutput > -captureOutput:didOutputVideoFrame:withSampleBuffer:fromConnection getting > called in 0.6, but the result type for didOutputVideoFrame is coming is > __NSCFType rather than CVImageBufferRef. > > Looks like the CV types are supposed to work? > ___ > MacRuby-devel mailing list > [email protected] > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel ___ MacRuby-devel mailing list [email protected] http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
Re: [MacRuby-devel] CVImageBufferRef vs __NSCFType
> Can you add a little more information to the issue maybe? The callback is getting most of its parameters typed correctly, but one of them seems to be not. Not only does #inspect show this, but trying to pass it to a framework function fails with 2010-08-23 11:09:11.789 macruby[77790:9207] *** Ignoring exception: expected instance of Pointer, got `#<__NSCFType:0x2004d4a80>' (__NSCFType) (TypeError) > Do you have a sample script we could try? Sure. http://gist.github.com/545987. I can submit a trac issue if it's not me doing something stupid ... ___ MacRuby-devel mailing list [email protected] http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
Re: [MacRuby-devel] Request for feedback on new tutorial
Hi Thibault, it's actually me who wrote the tutorial, and Emil who gave me
really solid feedback on some required steps I managed to miss out first time
round.
I've done what you've recommended and changed the example irb session to use
simple-prompt mode. It's now pushed to
http://github.com/nickludlam/macruby_website/tree/bundle-tutorial and awaiting
a merge from Matt.
Nick
On 23 Aug 2010, at 18:58, Thibault Martin-Lagardette wrote:
> Hi Emil!
>
> That's very awesome work, thanks for the dedication of making a tutorial!
>
> I would simply want to add, maybe you should launch macirb with
> --simple-prompt, it makes the output a little nicer and clearer I think (at
> least for that kind of examples where line numbers are not really needed).
>
> Thank you again!
> --
> Thibault Martin-Lagardette
>
>
>
> On Aug 22, 2010, at 12:46, Nick Ludlam wrote:
>
>>
>> Fantastic feedback, thanks again. I've included comments inline below, and
>> I've updated the preview at
>> http://recoil.org/~nick/macruby/documentation/realworld-dynamic-bundles.h
>>
>> On 20 Aug 2010, at 14:51, Emil Tin wrote:
>>
>>> progress!
>>> I downloaded your project, and it builds without problems. Comparing them I
>>> found out that:
>>>
>>> 1. my project was missing the 'Copy Headers' build phase.
>>
>> You're right, I've added this into the text.
>>
>>
>>> 2. after adding a 'copy headers' phase, and using the get info.. then
>>> checkbox method to add headers files from the taglib target to the
>>> taglibbundle target, it still couldn't build because my project had
>>> list.tcc and tmap.tcc in the 'compile sources' build phase. for some
>>> reason, it seems that when i use 'get info' method, files with the .tcc
>>> extension are added to the 'compile source' phase isntead of the 'copy
>>> headers' phase.
>>
>> Yeah it seems XCode gets confused with that suffix. I've simplified the
>> method of cloning the header and source settings by getting the reader to
>> drag and drop the files from the existing folders directly into the new.
>>
>>
>>> after moving the two .tcc files to the 'copy headers phase', my project
>>> builds. moving on i found.
>>>
>>>
>>> 3. TagLib.h needs #import
>>
>> Linking to should be all thats needed, but the
>> template uses Cocoa, so I'll add a step to edit this from Cocoa to
>> Foundation.
>>
>>
>>> 4. TagLib.m needs #import "tag_c.h"
>>
>> Correct, and fixed!
>>
>>
>>> 5. the copy script at the end failed. the reason was i copied it from the
>>> webpage, which had a line break. you might add a "\" to the code at the
>>> webapge:
>>>
>>> cp -v "${TARGET_BUILD_DIR}/${EXECUTABLE_PATH}" \
>>> "${SOURCE_ROOT}/${FULL_PRODUCT_NAME}"
>>
>> I've now added the backslash to help with the line wrapping.
>>
>>
>>> 6. i need to require the full path to the bundle (or modify load paths).
>>> simply using require 'TagLibBundle' fails even if i'm inside the folder the
>>> bundle is?
>>
>> I think this is because I missed a step where you give the project the
>> '.bundle' suffix, so you end up with a 'TagLibBundle.bundle' filename. I've
>> added it to the tutorial text.
>>
>>
>>> 7. it works! i can use test.tags[:title] and get the title af an mp3.
>>>
>>> 8. if i call test.tags i get a segmentation fault:
>>>
>>> ~/Desktop/MacRuby/TagLib.framework$ macirb
>>> Couldn't load Wirble: no such file to load -- wirble
>>> irb(main):001:0> require
>>> '/Users/emiltin/Desktop/MacRuby/TagLib.framework/TagLibBundle.bundle'
>>> => true
>>> irb(main):002:0> test =
>>> TagLib.alloc.initWithFileAtPath("/Users/emiltin/Music/Elysium\
>>> etc/Celestial_Sounds_and_Tribal_Beats_mp3/05.Wisdom.mp3")
>>> => #
>>> irb(main):003:0> test.tags[:title]=> "Wisdom"
>>> irb(main):004:0> test.tagsSegmentation fault
>>
>> Ok this is a weird one, and I think related to reference counting and
>> release pools. I've now altered the way the wrapper works, and it now uses
>> discreet ivars and getters instead of a dictionary, which is a little more
>> verbose, but nicer from the Ruby side of things.
>>
>>
>>>
>>> On 20/08/2010, at 14.42, Nick Ludlam wrote:
>>>
Thanks very much Emil. I'll go through the points:
1. Good catch. I'll replace this with 'curl' since it's part of the base
system.
2. I'll describe this step in a little more detail, perhaps with a
screenshot. There is a reasonable familiarity with XCode that's assumed,
though.
3. I suspect this is related to build setting change that I may have
missed out. If you have time, could you grab the project from
http://github.com/nickludlam/TagLib.framework and try compiling ?
Nick
On 20 Aug 2010, at 12:42, Emil Tin wrote:
>
> nice tutorials!
>
> i tried following the tutorial but ran into a few problems:
>
> 1.
> wget command was not found. wget is not installed by default in os x, it
> seems.
>
Re: [MacRuby-devel] CVImageBufferRef vs __NSCFType
It is a problem in the QTKit bridgesupport, where `captureOutput:didOutputVideoFrame:withSampleBuffer:fromConnection` is not defined. This means it's defintely not something you are doing wrong (and it's not MacRuby's fault either – it has no way, without proper BridgeSupport support, to know the actual type of the parameter) This has been fixed in BridgeSupport already, and should be released soon(-ish). However, I don't think there is any workaround in the meantime, except waiting for the BridgeSupport update. Thanks for giving more details btw :-) -- Thibault Martin-Lagardette On Aug 23, 2010, at 11:12, Steven Parkes wrote: >> Can you add a little more information to the issue maybe? > > The callback is getting most of its parameters typed correctly, but one of > them seems to be not. Not only does #inspect show this, but trying to pass it > to a framework function fails with > > 2010-08-23 11:09:11.789 macruby[77790:9207] *** Ignoring exception: expected > instance of Pointer, got `#<__NSCFType:0x2004d4a80>' (__NSCFType) (TypeError) > >> Do you have a sample script we could try? > > Sure. http://gist.github.com/545987. > > I can submit a trac issue if it's not me doing something stupid ... > ___ > MacRuby-devel mailing list > [email protected] > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel ___ MacRuby-devel mailing list [email protected] http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
Re: [MacRuby-devel] Request for feedback on new tutorial
Hi Nick,
Weirdly I did know that it was you, but you know, when you read something,
sometimes you end up typing / saying whatever you're reading when doing both at
the same time. Haha :D.
I'm really sorry I wrote the wrong name. Let me thank you again for your work
:-)
--
Thibault Martin-Lagardette
On Aug 23, 2010, at 14:22, Nick Ludlam wrote:
> Hi Thibault, it's actually me who wrote the tutorial, and Emil who gave me
> really solid feedback on some required steps I managed to miss out first time
> round.
>
> I've done what you've recommended and changed the example irb session to use
> simple-prompt mode. It's now pushed to
> http://github.com/nickludlam/macruby_website/tree/bundle-tutorial and
> awaiting a merge from Matt.
>
> Nick
>
> On 23 Aug 2010, at 18:58, Thibault Martin-Lagardette wrote:
>
>> Hi Emil!
>>
>> That's very awesome work, thanks for the dedication of making a tutorial!
>>
>> I would simply want to add, maybe you should launch macirb with
>> --simple-prompt, it makes the output a little nicer and clearer I think (at
>> least for that kind of examples where line numbers are not really needed).
>>
>> Thank you again!
>> --
>> Thibault Martin-Lagardette
>>
>>
>>
>> On Aug 22, 2010, at 12:46, Nick Ludlam wrote:
>>
>>>
>>> Fantastic feedback, thanks again. I've included comments inline below, and
>>> I've updated the preview at
>>> http://recoil.org/~nick/macruby/documentation/realworld-dynamic-bundles.h
>>>
>>> On 20 Aug 2010, at 14:51, Emil Tin wrote:
>>>
progress!
I downloaded your project, and it builds without problems. Comparing them
I found out that:
1. my project was missing the 'Copy Headers' build phase.
>>>
>>> You're right, I've added this into the text.
>>>
>>>
2. after adding a 'copy headers' phase, and using the get info.. then
checkbox method to add headers files from the taglib target to the
taglibbundle target, it still couldn't build because my project had
list.tcc and tmap.tcc in the 'compile sources' build phase. for some
reason, it seems that when i use 'get info' method, files with the .tcc
extension are added to the 'compile source' phase isntead of the 'copy
headers' phase.
>>>
>>> Yeah it seems XCode gets confused with that suffix. I've simplified the
>>> method of cloning the header and source settings by getting the reader to
>>> drag and drop the files from the existing folders directly into the new.
>>>
>>>
after moving the two .tcc files to the 'copy headers phase', my project
builds. moving on i found.
3. TagLib.h needs #import
>>>
>>> Linking to should be all thats needed, but the
>>> template uses Cocoa, so I'll add a step to edit this from Cocoa to
>>> Foundation.
>>>
>>>
4. TagLib.m needs #import "tag_c.h"
>>>
>>> Correct, and fixed!
>>>
>>>
5. the copy script at the end failed. the reason was i copied it from the
webpage, which had a line break. you might add a "\" to the code at the
webapge:
cp -v "${TARGET_BUILD_DIR}/${EXECUTABLE_PATH}" \
"${SOURCE_ROOT}/${FULL_PRODUCT_NAME}"
>>>
>>> I've now added the backslash to help with the line wrapping.
>>>
>>>
6. i need to require the full path to the bundle (or modify load paths).
simply using require 'TagLibBundle' fails even if i'm inside the folder
the bundle is?
>>>
>>> I think this is because I missed a step where you give the project the
>>> '.bundle' suffix, so you end up with a 'TagLibBundle.bundle' filename. I've
>>> added it to the tutorial text.
>>>
>>>
7. it works! i can use test.tags[:title] and get the title af an mp3.
8. if i call test.tags i get a segmentation fault:
~/Desktop/MacRuby/TagLib.framework$ macirb
Couldn't load Wirble: no such file to load -- wirble
irb(main):001:0> require
'/Users/emiltin/Desktop/MacRuby/TagLib.framework/TagLibBundle.bundle'
=> true
irb(main):002:0> test =
TagLib.alloc.initWithFileAtPath("/Users/emiltin/Music/Elysium\
etc/Celestial_Sounds_and_Tribal_Beats_mp3/05.Wisdom.mp3")
=> #
irb(main):003:0> test.tags[:title]=> "Wisdom"
irb(main):004:0> test.tagsSegmentation fault
>>>
>>> Ok this is a weird one, and I think related to reference counting and
>>> release pools. I've now altered the way the wrapper works, and it now uses
>>> discreet ivars and getters instead of a dictionary, which is a little more
>>> verbose, but nicer from the Ruby side of things.
>>>
>>>
On 20/08/2010, at 14.42, Nick Ludlam wrote:
> Thanks very much Emil. I'll go through the points:
>
> 1. Good catch. I'll replace this with 'curl' since it's part of the base
> system.
>
> 2. I'll describe this step in a little more detail, perhaps with a
> screenshot. There is a reasonable familiarity with XCode that's assumed,
> though.
>
> 3. I suspe
Re: [MacRuby-devel] Request for feedback on new tutorial
Heh, no problem! I'm planning to write a followup tutorial, using the mp3
bundle from the first tutorial to make Podcast RSS feeds with ControlTower,
which should be fun.
On 23 Aug 2010, at 23:50, Thibault Martin-Lagardette wrote:
> Hi Nick,
>
> Weirdly I did know that it was you, but you know, when you read something,
> sometimes you end up typing / saying whatever you're reading when doing both
> at the same time. Haha :D.
>
> I'm really sorry I wrote the wrong name. Let me thank you again for your work
> :-)
>
> --
> Thibault Martin-Lagardette
>
>
>
> On Aug 23, 2010, at 14:22, Nick Ludlam wrote:
>
>> Hi Thibault, it's actually me who wrote the tutorial, and Emil who gave me
>> really solid feedback on some required steps I managed to miss out first
>> time round.
>>
>> I've done what you've recommended and changed the example irb session to use
>> simple-prompt mode. It's now pushed to
>> http://github.com/nickludlam/macruby_website/tree/bundle-tutorial and
>> awaiting a merge from Matt.
>>
>> Nick
>>
>> On 23 Aug 2010, at 18:58, Thibault Martin-Lagardette wrote:
>>
>>> Hi Emil!
>>>
>>> That's very awesome work, thanks for the dedication of making a tutorial!
>>>
>>> I would simply want to add, maybe you should launch macirb with
>>> --simple-prompt, it makes the output a little nicer and clearer I think (at
>>> least for that kind of examples where line numbers are not really needed).
>>>
>>> Thank you again!
>>> --
>>> Thibault Martin-Lagardette
>>>
>>>
>>>
>>> On Aug 22, 2010, at 12:46, Nick Ludlam wrote:
>>>
Fantastic feedback, thanks again. I've included comments inline below, and
I've updated the preview at
http://recoil.org/~nick/macruby/documentation/realworld-dynamic-bundles.h
On 20 Aug 2010, at 14:51, Emil Tin wrote:
> progress!
> I downloaded your project, and it builds without problems. Comparing them
> I found out that:
>
> 1. my project was missing the 'Copy Headers' build phase.
You're right, I've added this into the text.
> 2. after adding a 'copy headers' phase, and using the get info.. then
> checkbox method to add headers files from the taglib target to the
> taglibbundle target, it still couldn't build because my project had
> list.tcc and tmap.tcc in the 'compile sources' build phase. for some
> reason, it seems that when i use 'get info' method, files with the .tcc
> extension are added to the 'compile source' phase isntead of the 'copy
> headers' phase.
Yeah it seems XCode gets confused with that suffix. I've simplified the
method of cloning the header and source settings by getting the reader to
drag and drop the files from the existing folders directly into the new.
> after moving the two .tcc files to the 'copy headers phase', my project
> builds. moving on i found.
>
>
> 3. TagLib.h needs #import
Linking to should be all thats needed, but the
template uses Cocoa, so I'll add a step to edit this from Cocoa to
Foundation.
> 4. TagLib.m needs #import "tag_c.h"
Correct, and fixed!
> 5. the copy script at the end failed. the reason was i copied it from the
> webpage, which had a line break. you might add a "\" to the code at the
> webapge:
>
> cp -v "${TARGET_BUILD_DIR}/${EXECUTABLE_PATH}" \
> "${SOURCE_ROOT}/${FULL_PRODUCT_NAME}"
I've now added the backslash to help with the line wrapping.
> 6. i need to require the full path to the bundle (or modify load paths).
> simply using require 'TagLibBundle' fails even if i'm inside the folder
> the bundle is?
I think this is because I missed a step where you give the project the
'.bundle' suffix, so you end up with a 'TagLibBundle.bundle' filename.
I've added it to the tutorial text.
> 7. it works! i can use test.tags[:title] and get the title af an mp3.
>
> 8. if i call test.tags i get a segmentation fault:
>
> ~/Desktop/MacRuby/TagLib.framework$ macirb
> Couldn't load Wirble: no such file to load -- wirble
> irb(main):001:0> require
> '/Users/emiltin/Desktop/MacRuby/TagLib.framework/TagLibBundle.bundle'
> => true
> irb(main):002:0> test =
> TagLib.alloc.initWithFileAtPath("/Users/emiltin/Music/Elysium\
> etc/Celestial_Sounds_and_Tribal_Beats_mp3/05.Wisdom.mp3")
> => #
> irb(main):003:0> test.tags[:title]=> "Wisdom"
> irb(main):004:0> test.tagsSegmentation fault
Ok this is a weird one, and I think related to reference counting and
release pools. I've now altered the way the wrapper works, and it now uses
discreet ivars and getters instead of a dictionary, which is a little more
verbose, but nicer from the Ruby side of things.
>
> On 20/08/2010, at 14.42
[MacRuby-devel] planning 0.7 release
Hi guys, With more than 100 tickets fixed, many improvements and fixes, I think it's time to make a new release of MacRuby. MacRuby trunk does not meet all the plans I had in mind for 0.7 (like full Rails support), but I think it's important to make a release now. We can continue working on Ruby compatibility in 0.8. For 0.6 we announced that MacRuby was stable for Cocoa development, and the Cocoa layer of MacRuby hasn't changed that much since, which is a good sign. If you have a MacRuby Cocoa app, please try it with MacRuby trunk (you can pick a nightly build) and let us know soon if you have any problem. I will go through the tracker and identify release blockers (feel free to reply to this e-mail if you have one in mind). Hopefully 0.7 can ship somewhere in September. Laurent ___ MacRuby-devel mailing list [email protected] http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
Re: [MacRuby-devel] planning 0.7 release
On Aug 23, 2010, at 7:20 PM, Laurent Sansonetti wrote: > I will go through the tracker and identify release blockers (feel free to > reply to this e-mail if you have one in mind). Actually, I started tagging some tickets using the 0.7-blocker keyword. You can attach the same keyword to tickets you think should be fixed in 0.7 and we will work on these in priority :) Laurent ___ MacRuby-devel mailing list [email protected] http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
