<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<br><div><div>On Oct 9, 2007, at 1:14 AM, Enrique Osuna wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">Also, I had to do a quick hack to the core's media_descriptor struct.  I added a p_user_data field so that I could store, from within Cocoa, a pointer referencing back the VLCMedia object it's associated with.  Otherwise, we'd have to recreate that object every time we wanted to manipulate a media_descriptor -- or we would have to maintain a local copy of generated media descriptors. </blockquote><div><br class="webkit-block-placeholder"></div><div>We've talked about that on IRC. As we've seen we just need to track the media_descriptor's destruction.</div><br><blockquote type="cite"><div><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div style=""><div><span class="q"><blockquote type="cite">My initial thoughts were to do that, however, I wanted to create a mechanism that allowed for other programmers to use this framework and use the VLCMediaPlayer instance for playback strictly.  I know there are a few projects out there ( e.g. <a href="http://centerstageproject.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">centerstageproject.com</a>) that have their own playlist manager if you will and would want to use VLC just as a playback engine versus a playlist manipulation one. <br></blockquote><div><br></div></span><div>True enough. Isn't</div><div><br></div><div>[aMediaPlayer initWithMedia: aMedia];</div><div>[aMediaPlayer setVideoView: aVideoView];</div><div>[aMediaPlayer play];</div><div> <br></div><div>Simple enough?</div></div></div></blockquote><div><br>Yeah it is.  But if we want to go that simplistic, wouldn't we just integrate the VLCMediaPlayer's methods into VLCMedia it self? <br><br>[aMedia initWithURL:@"~/Movies/test.avi"]; <br>[aMedia setVideoView:aVideoView];<br>[aMedia play]</div></div></blockquote><div><br class="webkit-block-placeholder"></div><div>I better like the MVC abstraction you've just wrote. But if we want shortcut, what about implementing the -play and -setMedia: to the VideoView: We can play the same VLCMedia in multiple VideoView, but we can't really play multiple VLCMedia in one VLCVideoView.</div><div><br class="webkit-block-placeholder"></div><div><br class="webkit-block-placeholder"></div><blockquote type="cite"><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div style=""><div><span class="q"><blockquote type="cite"><span class="Apple-style-span" style="-webkit-text-stroke-width: -1; ">[aMediaListPlayer initWithMediaList: aMediaList];</span></blockquote></span><div>[aMediaListPlayer setVideoView: aVideoView];</div> <div>[aMediaPlayer play];</div></div></div></blockquote><div><br>I know we talked about this the other night, but how much different would this implementation be as compared to VLCMediaControl?  If I remember correctly, VLCMediaListPlayer should just be a wrapper around the core's implementation? </div></div></blockquote><div><br class="webkit-block-placeholder"></div><div>Sure.</div><br><blockquote type="cite"><div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div style=""><div><span class="q"><blockquote type="cite"><br></blockquote></span></div></div></blockquote><div>Private headers are stored in Headers/Internal and public are stored in Headers/Public. </div></div></blockquote><div><br class="webkit-block-placeholder"></div><div>Nice.</div><br><blockquote type="cite"><div><div>Also, I need to fix the some of the private binding categories.</div></div></blockquote><div><br class="webkit-block-placeholder"></div><div>What do you mean?</div><br><blockquote type="cite"><div><div>The interfaces are declared in the same spot that they are implemented.</div></div></blockquote><div><br class="webkit-block-placeholder"></div><div>Do you mean the @interface VLCxxx (Private)? They should be placed along with their VLCxxx.m file, as they should be really considered as 'private' function, belonging to that class.</div><br><blockquote type="cite"><div><div> We should implement a VLCInternal header file or something of the sort. </div></div></blockquote><div><br class="webkit-block-placeholder"></div><div>Yes, for -[VLCMedia setLength]. We may also want a VLCLibVLCBridging.h header.</div><div><br class="webkit-block-placeholder"></div><blockquote type="cite"><div><div>We need to declare the interfaces (like [VLCMedia setLength]) but implement them in a public place.</div></div></blockquote><br></div><div>I don't get the 'implement in a public place' problem. -setLenght: should be defined internally, and the implementation should go in VLCMedia.m.</div><div><br class="webkit-block-placeholder"></div><div>Pierre.</div><div><br class="webkit-block-placeholder"></div></body></html>